rhp.c.013t.cfg.gml 254 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331
  1. # graph generated with GCC 10.1
  2. graph
  3. [
  4. directed 1
  5. # function number 2
  6. node [ id 1 graphics [ fill "#ffffff" ] label "rhp_version ()
  7. ENTRY" ]
  8. node [ id 2 graphics [ fill "#ffffff" ] label "rhp_version ()
  9. EXIT" ]
  10. node [ id 3 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  11. D.4340 = "1.6";
  12. " ]
  13. node [ id 4 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  14. <L0>:
  15. return D.4340;
  16. " ]
  17. edge [ source 1 target 3 graphics [ fill "#0000ff" ] ]
  18. edge [ source 3 target 4 graphics [ fill "#0000ff" ] ]
  19. edge [ source 4 target 2 graphics [ fill "#000000" ] ]
  20. # function number 3
  21. node [ id 5 graphics [ fill "#ffffff" ] label "rhp_init ()
  22. ENTRY" ]
  23. node [ id 6 graphics [ fill "#ffffff" ] label "rhp_init ()
  24. EXIT" ]
  25. node [ id 7 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  26. rhp_inited.0_1 = rhp_inited;
  27. if (rhp_inited.0_1 != 0)
  28. goto <bb 3>; [INV]
  29. else
  30. goto <bb 4>; [INV]
  31. " ]
  32. node [ id 8 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  33. rhp_log ("%s(): rhp_deinit() not done and doing it now shouldnothappen!\n", &__FUNCTION__);
  34. rhp_deinit ();
  35. " ]
  36. node [ id 9 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  37. rhp_logstream = 0B;
  38. rhp_dolog = 0;
  39. rhp_logname = 0B;
  40. if (logname != 0B)
  41. goto <bb 5>; [INV]
  42. else
  43. goto <bb 10>; [INV]
  44. " ]
  45. node [ id 10 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  46. _2 = MEM[(const char *)logname];
  47. if (_2 == 0)
  48. goto <bb 6>; [INV]
  49. else
  50. goto <bb 7>; [INV]
  51. " ]
  52. node [ id 11 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  53. stdout.1_3 = stdout;
  54. rhp_logstream = stdout.1_3;
  55. goto <bb 9>; [INV]
  56. " ]
  57. node [ id 12 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  58. _4 = fopen (logname, "wb");
  59. rhp_logstream = _4;
  60. rhp_logstream.2_5 = rhp_logstream;
  61. if (rhp_logstream.2_5 == 0B)
  62. goto <bb 8>; [INV]
  63. else
  64. goto <bb 9>; [INV]
  65. " ]
  66. node [ id 13 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  67. stdout.3_6 = stdout;
  68. rhp_logstream = stdout.3_6;
  69. " ]
  70. node [ id 14 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  71. rhp_dolog = loglevel;
  72. rhp_log ("%s(): starting logfile!\n", &__FUNCTION__);
  73. " ]
  74. node [ id 15 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  75. _7 = rhp_sp_new (1);
  76. rhp_sp_master_node_list = _7;
  77. _8 = rhp_sp_new (1);
  78. rhp_sp_master_edge_list = _8;
  79. rhp_uniq_nodenum = 0;
  80. rhp_uniq_edgenum = 0;
  81. rhp_number_of_nodes = 0;
  82. rhp_number_of_edges = 0;
  83. rhp_number_of_isolated_nodes = 0;
  84. _9 = rhp_sp_new (1);
  85. rhp_sp_between_layers = _9;
  86. rhp_maxlevel = 0;
  87. rhp_nlevels = 0;
  88. rhp_crossings = -1;
  89. rhp_start_crossings = -1;
  90. rhp_best_crossings_order = 0B;
  91. rhp_getlayoutdata = 0B;
  92. rhp_improvements = 0;
  93. rhp_notimprovements = 0;
  94. rhp_log ("%s(): sizeof (int) is %d bytes (expect 4)\n", &__FUNCTION__, 4);
  95. rhp_log ("%s(): sizeof (long long) is %d bytes (expect 8)\n", &__FUNCTION__, 8);
  96. rhp_log ("%s(): sizeof (int64_t) is %d bytes (expect 8)\n", &__FUNCTION__, 8);
  97. rhp_log ("%s(): sizeof (intptr_t) is %d bytes (expect 8)\n", &__FUNCTION__, 8);
  98. rhp_log ("%s(): sizeof (struct rhp_spn) is %d bytes\n", &__FUNCTION__, 32);
  99. rhp_log ("%s(): sizeof (struct rhp_sp) is %d bytes\n", &__FUNCTION__, 16);
  100. rhp_log ("%s(): sizeof (struct rhpnode) is %d bytes\n", &__FUNCTION__, 80);
  101. rhp_log ("%s(): sizeof (struct rhpedge) is %d bytes\n", &__FUNCTION__, 56);
  102. rhp_log ("%s(): sizeof (struct rhplevel) is %d bytes\n", &__FUNCTION__, 16);
  103. rhp_log ("%s(): sizeof (struct rhp_inter_layer_struct) is %d bytes\n", &__FUNCTION__, 24);
  104. rhp_log ("%s(): sizeof (struct rhp_order_struct) is %d bytes\n", &__FUNCTION__, 24);
  105. rhp_inited = 1;
  106. " ]
  107. node [ id 16 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  108. <L9>:
  109. return;
  110. " ]
  111. edge [ source 5 target 7 graphics [ fill "#0000ff" ] ]
  112. edge [ source 7 target 8 graphics [ fill "#000000" ] ]
  113. edge [ source 7 target 9 graphics [ fill "#000000" ] ]
  114. edge [ source 8 target 9 graphics [ fill "#0000ff" ] ]
  115. edge [ source 9 target 10 graphics [ fill "#000000" ] ]
  116. edge [ source 9 target 15 graphics [ fill "#000000" ] ]
  117. edge [ source 10 target 11 graphics [ fill "#000000" ] ]
  118. edge [ source 10 target 12 graphics [ fill "#000000" ] ]
  119. edge [ source 11 target 14 graphics [ fill "#0000ff" ] ]
  120. edge [ source 12 target 13 graphics [ fill "#000000" ] ]
  121. edge [ source 12 target 14 graphics [ fill "#000000" ] ]
  122. edge [ source 13 target 14 graphics [ fill "#0000ff" ] ]
  123. edge [ source 14 target 15 graphics [ fill "#0000ff" ] ]
  124. edge [ source 15 target 16 graphics [ fill "#0000ff" ] ]
  125. edge [ source 16 target 6 graphics [ fill "#000000" ] ]
  126. # function number 4
  127. node [ id 29 graphics [ fill "#ffffff" ] label "rhp_deinit ()
  128. ENTRY" ]
  129. node [ id 30 graphics [ fill "#ffffff" ] label "rhp_deinit ()
  130. EXIT" ]
  131. node [ id 31 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  132. rhp_inited.4_1 = rhp_inited;
  133. if (rhp_inited.4_1 == 0)
  134. goto <bb 3>; [INV]
  135. else
  136. goto <bb 4>; [INV]
  137. " ]
  138. node [ id 32 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  139. rhp_log ("%s(): first rhp_init() must be done shouldnothappen!\n", &__FUNCTION__);
  140. // predicted unlikely by early return (on trees) predictor.
  141. goto <bb 13>; [INV]
  142. " ]
  143. node [ id 33 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  144. rhp_log ("%s():\n", &__FUNCTION__);
  145. rhp_empty_best_crossings_order ();
  146. rhp_empty_sp_layers ();
  147. rhp_empty_sp_between_layers ();
  148. rhp_empty_sp_master_node_list ();
  149. rhp_empty_sp_master_edge_list ();
  150. rhp_sp_layers.5_2 = rhp_sp_layers;
  151. _3 = rhp_sp_delete (rhp_sp_layers.5_2);
  152. rhp_sp_layers = _3;
  153. rhp_best_crossings_order.6_4 = rhp_best_crossings_order;
  154. if (rhp_best_crossings_order.6_4 != 0B)
  155. goto <bb 5>; [INV]
  156. else
  157. goto <bb 6>; [INV]
  158. " ]
  159. node [ id 34 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  160. rhp_best_crossings_order.7_5 = rhp_best_crossings_order;
  161. _6 = rhp_free (rhp_best_crossings_order.7_5, &__FUNCTION__, 735);
  162. rhp_best_crossings_order = _6;
  163. " ]
  164. node [ id 35 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  165. rhp_sp_master_node_list.8_7 = rhp_sp_master_node_list;
  166. _8 = rhp_sp_delete (rhp_sp_master_node_list.8_7);
  167. rhp_sp_master_node_list = _8;
  168. rhp_sp_master_edge_list.9_9 = rhp_sp_master_edge_list;
  169. _10 = rhp_sp_delete (rhp_sp_master_edge_list.9_9);
  170. rhp_sp_master_edge_list = _10;
  171. rhp_sp_master_node_list_sorted.10_11 = rhp_sp_master_node_list_sorted;
  172. _12 = rhp_sp_delete (rhp_sp_master_node_list_sorted.10_11);
  173. rhp_sp_master_node_list_sorted = _12;
  174. rhp_sp_between_layers.11_13 = rhp_sp_between_layers;
  175. _14 = rhp_sp_delete (rhp_sp_between_layers.11_13);
  176. rhp_sp_between_layers = _14;
  177. rhp_uniq_nodenum = 0;
  178. rhp_uniq_edgenum = 0;
  179. rhp_number_of_nodes = 0;
  180. rhp_number_of_edges = 0;
  181. rhp_number_of_isolated_nodes = 0;
  182. rhp_maxlevel = 0;
  183. rhp_nlevels = 0;
  184. rhp_crossings = -1;
  185. rhp_start_crossings = -1;
  186. rhp_getlayoutdata = 0B;
  187. rhp_improvements = 0;
  188. rhp_notimprovements = 0;
  189. rhp_n_malloc.12_15 = rhp_n_malloc;
  190. rhp_n_free.13_16 = rhp_n_free;
  191. if (rhp_n_malloc.12_15 != rhp_n_free.13_16)
  192. goto <bb 7>; [INV]
  193. else
  194. goto <bb 9>; [INV]
  195. " ]
  196. node [ id 36 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  197. rhp_dolog.14_17 = rhp_dolog;
  198. if (rhp_dolog.14_17 > 1)
  199. goto <bb 8>; [INV]
  200. else
  201. goto <bb 9>; [INV]
  202. " ]
  203. node [ id 37 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  204. rhp_n_malloc.15_18 = rhp_n_malloc;
  205. rhp_n_free.16_19 = rhp_n_free;
  206. _20 = rhp_n_malloc.15_18 - rhp_n_free.16_19;
  207. rhp_n_free.17_21 = rhp_n_free;
  208. rhp_n_malloc.18_22 = rhp_n_malloc;
  209. rhp_log ("%s(): done %lu malloc and %lu free and delta is %li shouldnothappen!\n", &__FUNCTION__, rhp_n_malloc.18_22, rhp_n_free.17_21, _20);
  210. " ]
  211. node [ id 38 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  212. rhp_n_malloc = 0;
  213. rhp_n_free = 0;
  214. rhp_dolog.19_23 = rhp_dolog;
  215. if (rhp_dolog.19_23 != 0)
  216. goto <bb 10>; [INV]
  217. else
  218. goto <bb 12>; [INV]
  219. " ]
  220. node [ id 39 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  221. rhp_log ("%s(): closing logfile\n", &__FUNCTION__);
  222. rhp_logname.20_24 = rhp_logname;
  223. if (rhp_logname.20_24 != 0B)
  224. goto <bb 11>; [INV]
  225. else
  226. goto <bb 12>; [INV]
  227. " ]
  228. node [ id 40 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  229. rhp_logstream.21_25 = rhp_logstream;
  230. fclose (rhp_logstream.21_25);
  231. rhp_logname = 0B;
  232. " ]
  233. node [ id 41 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  234. rhp_dolog = 0;
  235. rhp_inited = 0;
  236. " ]
  237. node [ id 42 graphics [ fill "#d3d3d3" ] label "<bb 13>:
  238. <L12>:
  239. return;
  240. " ]
  241. edge [ source 29 target 31 graphics [ fill "#0000ff" ] ]
  242. edge [ source 31 target 32 graphics [ fill "#000000" ] ]
  243. edge [ source 31 target 33 graphics [ fill "#000000" ] ]
  244. edge [ source 32 target 42 graphics [ fill "#0000ff" ] ]
  245. edge [ source 33 target 34 graphics [ fill "#000000" ] ]
  246. edge [ source 33 target 35 graphics [ fill "#000000" ] ]
  247. edge [ source 34 target 35 graphics [ fill "#0000ff" ] ]
  248. edge [ source 35 target 36 graphics [ fill "#000000" ] ]
  249. edge [ source 35 target 38 graphics [ fill "#000000" ] ]
  250. edge [ source 36 target 37 graphics [ fill "#000000" ] ]
  251. edge [ source 36 target 38 graphics [ fill "#000000" ] ]
  252. edge [ source 37 target 38 graphics [ fill "#0000ff" ] ]
  253. edge [ source 38 target 39 graphics [ fill "#000000" ] ]
  254. edge [ source 38 target 41 graphics [ fill "#000000" ] ]
  255. edge [ source 39 target 40 graphics [ fill "#000000" ] ]
  256. edge [ source 39 target 41 graphics [ fill "#000000" ] ]
  257. edge [ source 40 target 41 graphics [ fill "#0000ff" ] ]
  258. edge [ source 41 target 42 graphics [ fill "#0000ff" ] ]
  259. edge [ source 42 target 30 graphics [ fill "#000000" ] ]
  260. # function number 5
  261. node [ id 57 graphics [ fill "#ffffff" ] label "rhp_addnode ()
  262. ENTRY" ]
  263. node [ id 58 graphics [ fill "#ffffff" ] label "rhp_addnode ()
  264. EXIT" ]
  265. node [ id 59 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  266. spn = 0B;
  267. nn = 0B;
  268. rhp_inited.22_1 = rhp_inited;
  269. if (rhp_inited.22_1 == 0)
  270. goto <bb 3>; [INV]
  271. else
  272. goto <bb 4>; [INV]
  273. " ]
  274. node [ id 60 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  275. rhp_log ("%s(): first rhp_init() mus be done shouldnothappen!\n", &__FUNCTION__);
  276. D.4367 = 1;
  277. // predicted unlikely by early return (on trees) predictor.
  278. goto <bb 13>; [INV]
  279. " ]
  280. node [ id 61 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  281. if (num < 0)
  282. goto <bb 5>; [INV]
  283. else
  284. goto <bb 6>; [INV]
  285. " ]
  286. node [ id 62 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  287. rhp_log ("%s(): number %d is below zero and node skipped shouldnothappen!\n", &__FUNCTION__, num);
  288. D.4367 = 1;
  289. // predicted unlikely by early return (on trees) predictor.
  290. goto <bb 13>; [INV]
  291. " ]
  292. node [ id 63 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  293. if (level < 0)
  294. goto <bb 7>; [INV]
  295. else
  296. goto <bb 8>; [INV]
  297. " ]
  298. node [ id 64 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  299. rhp_log ("%s(): level %d is below zero and node skipped shouldnothappen!\n", &__FUNCTION__, level);
  300. D.4367 = 1;
  301. // predicted unlikely by early return (on trees) predictor.
  302. goto <bb 13>; [INV]
  303. " ]
  304. node [ id 65 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  305. _2 = (long long int) num;
  306. rhp_sp_master_node_list.23_3 = rhp_sp_master_node_list;
  307. spn = rhp_sp_lookup (rhp_sp_master_node_list.23_3, _2);
  308. if (spn != 0B)
  309. goto <bb 9>; [INV]
  310. else
  311. goto <bb 10>; [INV]
  312. " ]
  313. node [ id 66 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  314. rhp_log ("%s(): node number %d already existed, skipped this add shouldnothappen!\n", &__FUNCTION__, num);
  315. D.4367 = 1;
  316. // predicted unlikely by early return (on trees) predictor.
  317. goto <bb 13>; [INV]
  318. " ]
  319. node [ id 67 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  320. nn = rhp_malloc (80, &__FUNCTION__, 842);
  321. rhp_uniq_nodenum.24_4 = rhp_uniq_nodenum;
  322. nn->num = rhp_uniq_nodenum.24_4;
  323. rhp_uniq_nodenum.25_5 = rhp_uniq_nodenum;
  324. _6 = rhp_uniq_nodenum.25_5 + 1;
  325. rhp_uniq_nodenum = _6;
  326. nn->innum = num;
  327. nn->level = level;
  328. nn->data = data;
  329. nn.26_7 = (long long int) nn;
  330. _8 = (long long int) num;
  331. rhp_sp_master_node_list.27_9 = rhp_sp_master_node_list;
  332. rhp_sp_insert (rhp_sp_master_node_list.27_9, _8, nn.26_7);
  333. rhp_maxlevel.28_10 = rhp_maxlevel;
  334. if (level >= rhp_maxlevel.28_10)
  335. goto <bb 11>; [INV]
  336. else
  337. goto <bb 12>; [INV]
  338. " ]
  339. node [ id 68 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  340. rhp_maxlevel = level;
  341. rhp_maxlevel.29_11 = rhp_maxlevel;
  342. _12 = rhp_maxlevel.29_11 + 1;
  343. rhp_nlevels = _12;
  344. " ]
  345. node [ id 69 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  346. rhp_maxlevel.30_13 = rhp_maxlevel;
  347. rhp_log ("%s(): added node %d level %d data=%p now maxlevel=%d\n", &__FUNCTION__, num, level, data, rhp_maxlevel.30_13);
  348. D.4367 = 0;
  349. " ]
  350. node [ id 70 graphics [ fill "#d3d3d3" ] label "<bb 13>:
  351. <L10>:
  352. return D.4367;
  353. " ]
  354. edge [ source 57 target 59 graphics [ fill "#0000ff" ] ]
  355. edge [ source 59 target 60 graphics [ fill "#000000" ] ]
  356. edge [ source 59 target 61 graphics [ fill "#000000" ] ]
  357. edge [ source 60 target 70 graphics [ fill "#0000ff" ] ]
  358. edge [ source 61 target 62 graphics [ fill "#000000" ] ]
  359. edge [ source 61 target 63 graphics [ fill "#000000" ] ]
  360. edge [ source 62 target 70 graphics [ fill "#0000ff" ] ]
  361. edge [ source 63 target 64 graphics [ fill "#000000" ] ]
  362. edge [ source 63 target 65 graphics [ fill "#000000" ] ]
  363. edge [ source 64 target 70 graphics [ fill "#0000ff" ] ]
  364. edge [ source 65 target 66 graphics [ fill "#000000" ] ]
  365. edge [ source 65 target 67 graphics [ fill "#000000" ] ]
  366. edge [ source 66 target 70 graphics [ fill "#0000ff" ] ]
  367. edge [ source 67 target 68 graphics [ fill "#000000" ] ]
  368. edge [ source 67 target 69 graphics [ fill "#000000" ] ]
  369. edge [ source 68 target 69 graphics [ fill "#0000ff" ] ]
  370. edge [ source 69 target 70 graphics [ fill "#0000ff" ] ]
  371. edge [ source 70 target 58 graphics [ fill "#000000" ] ]
  372. # function number 6
  373. node [ id 85 graphics [ fill "#ffffff" ] label "rhp_addedge ()
  374. ENTRY" ]
  375. node [ id 86 graphics [ fill "#ffffff" ] label "rhp_addedge ()
  376. EXIT" ]
  377. node [ id 87 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  378. spn = 0B;
  379. spnf = 0B;
  380. spnt = 0B;
  381. fn = 0B;
  382. tn = 0B;
  383. ne = 0B;
  384. edgelen = 0;
  385. rhp_inited.31_1 = rhp_inited;
  386. if (rhp_inited.31_1 == 0)
  387. goto <bb 3>; [INV]
  388. else
  389. goto <bb 4>; [INV]
  390. " ]
  391. node [ id 88 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  392. rhp_log ("%s(): first rhp_init() mus be done shouldnothappen!\n", &__FUNCTION__);
  393. D.4379 = 1;
  394. // predicted unlikely by early return (on trees) predictor.
  395. goto <bb 23>; [INV]
  396. " ]
  397. node [ id 89 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  398. rhp_sp_master_node_list.32_2 = rhp_sp_master_node_list;
  399. _3 = rhp_sp_has_data (rhp_sp_master_node_list.32_2);
  400. if (_3 == 0)
  401. goto <bb 5>; [INV]
  402. else
  403. goto <bb 6>; [INV]
  404. " ]
  405. node [ id 90 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  406. rhp_log ("%s(): there are no nodes in database skipping edge %d->%d shouldnothappen!\n", &__FUNCTION__, fnode, tnode);
  407. D.4379 = 1;
  408. // predicted unlikely by early return (on trees) predictor.
  409. goto <bb 23>; [INV]
  410. " ]
  411. node [ id 91 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  412. if (num < 0)
  413. goto <bb 7>; [INV]
  414. else
  415. goto <bb 8>; [INV]
  416. " ]
  417. node [ id 92 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  418. rhp_log ("%s(): number %d is below zero and edge skipped shouldnothappen!\n", &__FUNCTION__, num);
  419. D.4379 = 1;
  420. // predicted unlikely by early return (on trees) predictor.
  421. goto <bb 23>; [INV]
  422. " ]
  423. node [ id 93 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  424. if (fnode < 0)
  425. goto <bb 9>; [INV]
  426. else
  427. goto <bb 10>; [INV]
  428. " ]
  429. node [ id 94 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  430. rhp_log ("%s(): from node number %d is below zero and edge skipped shouldnothappen!\n", &__FUNCTION__, fnode);
  431. D.4379 = 1;
  432. // predicted unlikely by early return (on trees) predictor.
  433. goto <bb 23>; [INV]
  434. " ]
  435. node [ id 95 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  436. if (tnode < 0)
  437. goto <bb 11>; [INV]
  438. else
  439. goto <bb 12>; [INV]
  440. " ]
  441. node [ id 96 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  442. rhp_log ("%s(): to node number %d is below zero and edge skipped shouldnothappen!\n", &__FUNCTION__, tnode);
  443. D.4379 = 1;
  444. // predicted unlikely by early return (on trees) predictor.
  445. goto <bb 23>; [INV]
  446. " ]
  447. node [ id 97 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  448. _4 = (long long int) num;
  449. rhp_sp_master_edge_list.33_5 = rhp_sp_master_edge_list;
  450. spn = rhp_sp_lookup (rhp_sp_master_edge_list.33_5, _4);
  451. if (spn != 0B)
  452. goto <bb 13>; [INV]
  453. else
  454. goto <bb 14>; [INV]
  455. " ]
  456. node [ id 98 graphics [ fill "#d3d3d3" ] label "<bb 13>:
  457. rhp_log ("%s(): edge number %d does already exists from %d->%d and skipped shouldnothappen!\n", &__FUNCTION__, num, fnode, tnode);
  458. D.4379 = 1;
  459. // predicted unlikely by early return (on trees) predictor.
  460. goto <bb 23>; [INV]
  461. " ]
  462. node [ id 99 graphics [ fill "#d3d3d3" ] label "<bb 14>:
  463. _6 = (long long int) fnode;
  464. rhp_sp_master_node_list.34_7 = rhp_sp_master_node_list;
  465. spnf = rhp_sp_lookup (rhp_sp_master_node_list.34_7, _6);
  466. if (spnf == 0B)
  467. goto <bb 15>; [INV]
  468. else
  469. goto <bb 16>; [INV]
  470. " ]
  471. node [ id 100 graphics [ fill "#d3d3d3" ] label "<bb 15>:
  472. rhp_log ("%s(): from node %d is not in database in edge from %d->%d and skipped shouldnothappen!\n", &__FUNCTION__, fnode, fnode, tnode);
  473. D.4379 = 1;
  474. // predicted unlikely by early return (on trees) predictor.
  475. goto <bb 23>; [INV]
  476. " ]
  477. node [ id 101 graphics [ fill "#d3d3d3" ] label "<bb 16>:
  478. _8 = spnf->value;
  479. fn = (struct rhpnode *) _8;
  480. _9 = (long long int) tnode;
  481. rhp_sp_master_node_list.35_10 = rhp_sp_master_node_list;
  482. spnt = rhp_sp_lookup (rhp_sp_master_node_list.35_10, _9);
  483. if (spnt == 0B)
  484. goto <bb 17>; [INV]
  485. else
  486. goto <bb 18>; [INV]
  487. " ]
  488. node [ id 102 graphics [ fill "#d3d3d3" ] label "<bb 17>:
  489. rhp_log ("%s(): to node %d is not in database in edge from %d->%d and skipped shouldnothappen!\n", &__FUNCTION__, tnode, fnode, tnode);
  490. D.4379 = 1;
  491. // predicted unlikely by early return (on trees) predictor.
  492. goto <bb 23>; [INV]
  493. " ]
  494. node [ id 103 graphics [ fill "#d3d3d3" ] label "<bb 18>:
  495. _11 = spnt->value;
  496. tn = (struct rhpnode *) _11;
  497. _12 = tn->level;
  498. _13 = fn->level;
  499. edgelen = _12 - _13;
  500. if (edgelen != 1)
  501. goto <bb 19>; [INV]
  502. else
  503. goto <bb 20>; [INV]
  504. " ]
  505. node [ id 104 graphics [ fill "#d3d3d3" ] label "<bb 19>:
  506. _14 = tn->level;
  507. _15 = fn->level;
  508. rhp_log ("%s(): edge len is %d at %d->%d from level %d->%d and should be 1 shouldnothappen!\n", &__FUNCTION__, edgelen, fnode, tnode, _15, _14);
  509. D.4379 = 1;
  510. // predicted unlikely by early return (on trees) predictor.
  511. goto <bb 23>; [INV]
  512. " ]
  513. node [ id 105 graphics [ fill "#d3d3d3" ] label "<bb 20>:
  514. _16 = tn->level;
  515. _17 = fn->level;
  516. if (_16 < _17)
  517. goto <bb 21>; [INV]
  518. else
  519. goto <bb 22>; [INV]
  520. " ]
  521. node [ id 106 graphics [ fill "#d3d3d3" ] label "<bb 21>:
  522. _18 = tn->level;
  523. _19 = fn->level;
  524. rhp_log ("%s(): edge len %d at %d->%d from level %d->%d should be downward shouldnothappen!\n", &__FUNCTION__, edgelen, fnode, tnode, _19, _18);
  525. D.4379 = 1;
  526. // predicted unlikely by early return (on trees) predictor.
  527. goto <bb 23>; [INV]
  528. " ]
  529. node [ id 107 graphics [ fill "#d3d3d3" ] label "<bb 22>:
  530. ne = rhp_malloc (56, &__FUNCTION__, 962);
  531. rhp_uniq_edgenum.36_20 = rhp_uniq_edgenum;
  532. ne->num = rhp_uniq_edgenum.36_20;
  533. rhp_uniq_edgenum.37_21 = rhp_uniq_edgenum;
  534. _22 = rhp_uniq_edgenum.37_21 + 1;
  535. rhp_uniq_edgenum = _22;
  536. ne->innum = num;
  537. ne->fn = fn;
  538. ne->tn = tn;
  539. ne->data = data;
  540. ne->up_node = tn;
  541. ne->down_node = fn;
  542. ne->crossings = 0;
  543. ne.38_23 = (long long int) ne;
  544. _24 = (long long int) num;
  545. rhp_sp_master_edge_list.39_25 = rhp_sp_master_edge_list;
  546. rhp_sp_insert (rhp_sp_master_edge_list.39_25, _24, ne.38_23);
  547. rhp_log ("%s(): added edge %d from node %d to node %d data=%p\n", &__FUNCTION__, num, fnode, tnode, data);
  548. D.4379 = 0;
  549. " ]
  550. node [ id 108 graphics [ fill "#d3d3d3" ] label "<bb 23>:
  551. <L20>:
  552. return D.4379;
  553. " ]
  554. edge [ source 85 target 87 graphics [ fill "#0000ff" ] ]
  555. edge [ source 87 target 88 graphics [ fill "#000000" ] ]
  556. edge [ source 87 target 89 graphics [ fill "#000000" ] ]
  557. edge [ source 88 target 108 graphics [ fill "#0000ff" ] ]
  558. edge [ source 89 target 90 graphics [ fill "#000000" ] ]
  559. edge [ source 89 target 91 graphics [ fill "#000000" ] ]
  560. edge [ source 90 target 108 graphics [ fill "#0000ff" ] ]
  561. edge [ source 91 target 92 graphics [ fill "#000000" ] ]
  562. edge [ source 91 target 93 graphics [ fill "#000000" ] ]
  563. edge [ source 92 target 108 graphics [ fill "#0000ff" ] ]
  564. edge [ source 93 target 94 graphics [ fill "#000000" ] ]
  565. edge [ source 93 target 95 graphics [ fill "#000000" ] ]
  566. edge [ source 94 target 108 graphics [ fill "#0000ff" ] ]
  567. edge [ source 95 target 96 graphics [ fill "#000000" ] ]
  568. edge [ source 95 target 97 graphics [ fill "#000000" ] ]
  569. edge [ source 96 target 108 graphics [ fill "#0000ff" ] ]
  570. edge [ source 97 target 98 graphics [ fill "#000000" ] ]
  571. edge [ source 97 target 99 graphics [ fill "#000000" ] ]
  572. edge [ source 98 target 108 graphics [ fill "#0000ff" ] ]
  573. edge [ source 99 target 100 graphics [ fill "#000000" ] ]
  574. edge [ source 99 target 101 graphics [ fill "#000000" ] ]
  575. edge [ source 100 target 108 graphics [ fill "#0000ff" ] ]
  576. edge [ source 101 target 102 graphics [ fill "#000000" ] ]
  577. edge [ source 101 target 103 graphics [ fill "#000000" ] ]
  578. edge [ source 102 target 108 graphics [ fill "#0000ff" ] ]
  579. edge [ source 103 target 104 graphics [ fill "#000000" ] ]
  580. edge [ source 103 target 105 graphics [ fill "#000000" ] ]
  581. edge [ source 104 target 108 graphics [ fill "#0000ff" ] ]
  582. edge [ source 105 target 106 graphics [ fill "#000000" ] ]
  583. edge [ source 105 target 107 graphics [ fill "#000000" ] ]
  584. edge [ source 106 target 108 graphics [ fill "#0000ff" ] ]
  585. edge [ source 107 target 108 graphics [ fill "#0000ff" ] ]
  586. edge [ source 108 target 86 graphics [ fill "#000000" ] ]
  587. # function number 7
  588. node [ id 133 graphics [ fill "#ffffff" ] label "rhp_layout ()
  589. ENTRY" ]
  590. node [ id 134 graphics [ fill "#ffffff" ] label "rhp_layout ()
  591. EXIT" ]
  592. node [ id 135 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  593. redu = 0;
  594. " ]
  595. node [ id 136 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  596. if (nodeweightadjust != 0)
  597. goto <bb 4>; [INV]
  598. else
  599. goto <bb 5>; [INV]
  600. " ]
  601. node [ id 137 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  602. rhp_adjustweight = 1;
  603. goto <bb 6>; [INV]
  604. " ]
  605. node [ id 138 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  606. rhp_adjustweight = 0;
  607. " ]
  608. node [ id 139 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  609. rhp_adjustweight.40_1 = rhp_adjustweight;
  610. rhp_log ("%s(): start with rhp_adjustweight %d\n", &__FUNCTION__, rhp_adjustweight.40_1);
  611. rhp_inited.41_2 = rhp_inited;
  612. if (rhp_inited.41_2 == 0)
  613. goto <bb 7>; [INV]
  614. else
  615. goto <bb 8>; [INV]
  616. " ]
  617. node [ id 140 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  618. rhp_log ("%s(): first rhp_init() must be done shouldnothappen!\n", &__FUNCTION__);
  619. // predicted unlikely by early return (on trees) predictor.
  620. goto <bb 16>; [INV]
  621. " ]
  622. node [ id 141 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  623. rhp_sp_master_node_list.42_3 = rhp_sp_master_node_list;
  624. _4 = rhp_sp_has_data (rhp_sp_master_node_list.42_3);
  625. if (_4 == 0)
  626. goto <bb 9>; [INV]
  627. else
  628. goto <bb 10>; [INV]
  629. " ]
  630. node [ id 142 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  631. rhp_log ("%s(): there is no node data shouldnothappen!\n", &__FUNCTION__);
  632. // predicted unlikely by early return (on trees) predictor.
  633. goto <bb 16>; [INV]
  634. " ]
  635. node [ id 143 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  636. rhp_improvements = 0;
  637. rhp_notimprovements = 0;
  638. rhp_crossings.43_5 = rhp_crossings;
  639. rhp_start_crossings.44_6 = rhp_start_crossings;
  640. rhp_log ("%s(): setting initial edge crossings is %li %li\n", &__FUNCTION__, rhp_start_crossings.44_6, rhp_crossings.43_5);
  641. _7 = rhp_initial_crossings ();
  642. rhp_crossings = _7;
  643. rhp_crossings.45_8 = rhp_crossings;
  644. rhp_start_crossings.46_9 = rhp_start_crossings;
  645. rhp_log ("%s(): configured initial edge crossings is %li %li\n", &__FUNCTION__, rhp_start_crossings.46_9, rhp_crossings.45_8);
  646. rhp_order_init ();
  647. rhp_start_crossings.47_10 = rhp_start_crossings;
  648. if (rhp_start_crossings.47_10 != 0)
  649. goto <bb 11>; [INV]
  650. else
  651. goto <bb 12>; [INV]
  652. " ]
  653. node [ id 144 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  654. rhp_barycenter ();
  655. " ]
  656. node [ id 145 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  657. rhp_start_crossings.48_11 = rhp_start_crossings;
  658. if (rhp_start_crossings.48_11 != 0)
  659. goto <bb 13>; [INV]
  660. else
  661. goto <bb 14>; [INV]
  662. " ]
  663. node [ id 146 graphics [ fill "#d3d3d3" ] label "<bb 13>:
  664. rhp_crossings.49_12 = rhp_crossings;
  665. _13 = rhp_crossings.49_12 * 100;
  666. rhp_start_crossings.50_14 = rhp_start_crossings;
  667. redu = _13 / rhp_start_crossings.50_14;
  668. redu = 100 - redu;
  669. goto <bb 15>; [INV]
  670. " ]
  671. node [ id 147 graphics [ fill "#d3d3d3" ] label "<bb 14>:
  672. redu = 0;
  673. " ]
  674. node [ id 148 graphics [ fill "#d3d3d3" ] label "<bb 15>:
  675. rhp_sorted_nodelist ();
  676. rhp_start_crossings.51_15 = rhp_start_crossings;
  677. rhp_iter.52_16 = rhp_iter;
  678. rhp_crossings.53_17 = rhp_crossings;
  679. rhp_log ("%s(): end and final edge crossings is %li after %d iterations and started with %li crossings reducing edge crossings with %lu percent\n", &__FUNCTION__, rhp_crossings.53_17, rhp_iter.52_16, rhp_start_crossings.51_15, redu);
  680. " ]
  681. node [ id 149 graphics [ fill "#d3d3d3" ] label "<bb 16>:
  682. <L14>:
  683. return;
  684. " ]
  685. edge [ source 133 target 135 graphics [ fill "#0000ff" ] ]
  686. edge [ source 135 target 136 graphics [ fill "#0000ff" ] ]
  687. edge [ source 136 target 137 graphics [ fill "#000000" ] ]
  688. edge [ source 136 target 138 graphics [ fill "#000000" ] ]
  689. edge [ source 137 target 139 graphics [ fill "#0000ff" ] ]
  690. edge [ source 138 target 139 graphics [ fill "#0000ff" ] ]
  691. edge [ source 139 target 140 graphics [ fill "#000000" ] ]
  692. edge [ source 139 target 141 graphics [ fill "#000000" ] ]
  693. edge [ source 140 target 149 graphics [ fill "#0000ff" ] ]
  694. edge [ source 141 target 142 graphics [ fill "#000000" ] ]
  695. edge [ source 141 target 143 graphics [ fill "#000000" ] ]
  696. edge [ source 142 target 149 graphics [ fill "#0000ff" ] ]
  697. edge [ source 143 target 144 graphics [ fill "#000000" ] ]
  698. edge [ source 143 target 145 graphics [ fill "#000000" ] ]
  699. edge [ source 144 target 145 graphics [ fill "#0000ff" ] ]
  700. edge [ source 145 target 146 graphics [ fill "#000000" ] ]
  701. edge [ source 145 target 147 graphics [ fill "#000000" ] ]
  702. edge [ source 146 target 148 graphics [ fill "#0000ff" ] ]
  703. edge [ source 147 target 148 graphics [ fill "#0000ff" ] ]
  704. edge [ source 148 target 149 graphics [ fill "#0000ff" ] ]
  705. edge [ source 149 target 134 graphics [ fill "#000000" ] ]
  706. # function number 8
  707. node [ id 167 graphics [ fill "#ffffff" ] label "rhp_layout_callback ()
  708. ENTRY" ]
  709. node [ id 168 graphics [ fill "#ffffff" ] label "rhp_layout_callback ()
  710. EXIT" ]
  711. node [ id 169 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  712. if (getlayoutdata == 0B)
  713. goto <bb 3>; [INV]
  714. else
  715. goto <bb 4>; [INV]
  716. " ]
  717. node [ id 170 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  718. rhp_log ("%s(): no callback routine shouldnothappen!\n", &__FUNCTION__);
  719. // predicted unlikely by early return (on trees) predictor.
  720. goto <bb 5>; [INV]
  721. " ]
  722. node [ id 171 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  723. rhp_getlayoutdata = getlayoutdata;
  724. " ]
  725. node [ id 172 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  726. <L2>:
  727. return;
  728. " ]
  729. edge [ source 167 target 169 graphics [ fill "#0000ff" ] ]
  730. edge [ source 169 target 170 graphics [ fill "#000000" ] ]
  731. edge [ source 169 target 171 graphics [ fill "#000000" ] ]
  732. edge [ source 170 target 172 graphics [ fill "#0000ff" ] ]
  733. edge [ source 171 target 172 graphics [ fill "#0000ff" ] ]
  734. edge [ source 172 target 168 graphics [ fill "#000000" ] ]
  735. node [ id 179 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  736. if (spn != 0B)
  737. goto <bb 9>; [INV]
  738. else
  739. goto <bb 13>; [INV]
  740. " ]
  741. node [ id 180 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  742. _5 = spn->value;
  743. nd = (struct rhpnode *) _5;
  744. _6 = nd->position;
  745. _7 = nd->level;
  746. _8 = nd->innum;
  747. rhp_log ("%s(): node %d level %d pos %d\n", &__FUNCTION__, _8, _7, _6);
  748. _9 = nd->data;
  749. _10 = nd->position;
  750. _11 = nd->level;
  751. _12 = nd->innum;
  752. status = getnodedata (_12, _11, _10, _9);
  753. if (status != 0)
  754. goto <bb 10>; [INV]
  755. else
  756. goto <bb 11>; [INV]
  757. " ]
  758. node [ id 181 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  759. _13 = spn->key;
  760. rhp_sp_master_node_list_sorted.57_14 = rhp_sp_master_node_list_sorted;
  761. spn = rhp_sp_next (rhp_sp_master_node_list_sorted.57_14, _13);
  762. " ]
  763. # function number 9
  764. node [ id 182 graphics [ fill "#ffffff" ] label "rhp_node_foreach ()
  765. ENTRY" ]
  766. node [ id 183 graphics [ fill "#ffffff" ] label "rhp_node_foreach ()
  767. EXIT" ]
  768. node [ id 184 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  769. spn = 0B;
  770. nd = 0B;
  771. status = 0;
  772. rhp_inited.54_1 = rhp_inited;
  773. if (rhp_inited.54_1 == 0)
  774. goto <bb 3>; [INV]
  775. else
  776. goto <bb 4>; [INV]
  777. " ]
  778. node [ id 185 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  779. rhp_log ("%s(): first rhp_init() must be done shouldnothappen!\n", &__FUNCTION__);
  780. D.4419 = 0;
  781. // predicted unlikely by early return (on trees) predictor.
  782. goto <bb 14>; [INV]
  783. " ]
  784. node [ id 186 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  785. if (getnodedata == 0B)
  786. goto <bb 5>; [INV]
  787. else
  788. goto <bb 6>; [INV]
  789. " ]
  790. node [ id 187 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  791. D.4419 = 0;
  792. // predicted unlikely by early return (on trees) predictor.
  793. goto <bb 14>; [INV]
  794. " ]
  795. node [ id 188 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  796. rhp_sp_master_node_list_sorted.55_2 = rhp_sp_master_node_list_sorted;
  797. _3 = rhp_sp_has_data (rhp_sp_master_node_list_sorted.55_2);
  798. if (_3 == 0)
  799. goto <bb 7>; [INV]
  800. else
  801. goto <bb 8>; [INV]
  802. " ]
  803. node [ id 189 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  804. D.4419 = 0;
  805. // predicted unlikely by early return (on trees) predictor.
  806. goto <bb 14>; [INV]
  807. " ]
  808. node [ id 190 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  809. status = 0;
  810. rhp_sp_master_node_list_sorted.56_4 = rhp_sp_master_node_list_sorted;
  811. spn = rhp_sp_min (rhp_sp_master_node_list_sorted.56_4);
  812. goto <bb 12>; [INV]
  813. " ]
  814. node [ id 191 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  815. goto <bb 13>; [INV]
  816. " ]
  817. node [ id 192 graphics [ fill "#d3d3d3" ] label "<bb 13>:
  818. D.4419 = status;
  819. " ]
  820. node [ id 193 graphics [ fill "#d3d3d3" ] label "<bb 14>:
  821. <L11>:
  822. return D.4419;
  823. " ]
  824. edge [ source 182 target 184 graphics [ fill "#0000ff" ] ]
  825. edge [ source 184 target 185 graphics [ fill "#000000" ] ]
  826. edge [ source 184 target 186 graphics [ fill "#000000" ] ]
  827. edge [ source 185 target 193 graphics [ fill "#0000ff" ] ]
  828. edge [ source 186 target 187 graphics [ fill "#000000" ] ]
  829. edge [ source 186 target 188 graphics [ fill "#000000" ] ]
  830. edge [ source 187 target 193 graphics [ fill "#0000ff" ] ]
  831. edge [ source 188 target 189 graphics [ fill "#000000" ] ]
  832. edge [ source 188 target 190 graphics [ fill "#000000" ] ]
  833. edge [ source 189 target 193 graphics [ fill "#0000ff" ] ]
  834. edge [ source 190 target 179 graphics [ fill "#0000ff" ] ]
  835. edge [ source 180 target 191 graphics [ fill "#000000" ] ]
  836. edge [ source 180 target 181 graphics [ fill "#000000" ] ]
  837. edge [ source 191 target 192 graphics [ fill "#0000ff" ] ]
  838. edge [ source 181 target 179 graphics [ fill "#0000ff" ] ]
  839. edge [ source 179 target 180 graphics [ fill "#000000" ] ]
  840. edge [ source 179 target 192 graphics [ fill "#000000" ] ]
  841. edge [ source 192 target 193 graphics [ fill "#0000ff" ] ]
  842. edge [ source 193 target 183 graphics [ fill "#000000" ] ]
  843. # function number 10
  844. node [ id 209 graphics [ fill "#ffffff" ] label "rhp_node_get_level ()
  845. ENTRY" ]
  846. node [ id 210 graphics [ fill "#ffffff" ] label "rhp_node_get_level ()
  847. EXIT" ]
  848. node [ id 211 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  849. spn = 0B;
  850. nd = 0B;
  851. rhp_inited.58_1 = rhp_inited;
  852. if (rhp_inited.58_1 == 0)
  853. goto <bb 3>; [INV]
  854. else
  855. goto <bb 4>; [INV]
  856. " ]
  857. node [ id 212 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  858. rhp_log ("%s(): first rhp_init() must be done shouldnothappen!\n", &__FUNCTION__);
  859. D.4429 = -1;
  860. // predicted unlikely by early return (on trees) predictor.
  861. goto <bb 9>; [INV]
  862. " ]
  863. node [ id 213 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  864. rhp_sp_master_node_list.59_2 = rhp_sp_master_node_list;
  865. _3 = rhp_sp_has_data (rhp_sp_master_node_list.59_2);
  866. if (_3 == 0)
  867. goto <bb 5>; [INV]
  868. else
  869. goto <bb 6>; [INV]
  870. " ]
  871. node [ id 214 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  872. D.4429 = -1;
  873. // predicted unlikely by early return (on trees) predictor.
  874. goto <bb 9>; [INV]
  875. " ]
  876. node [ id 215 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  877. _4 = (long long int) num;
  878. rhp_sp_master_node_list.60_5 = rhp_sp_master_node_list;
  879. spn = rhp_sp_lookup (rhp_sp_master_node_list.60_5, _4);
  880. if (spn == 0B)
  881. goto <bb 7>; [INV]
  882. else
  883. goto <bb 8>; [INV]
  884. " ]
  885. node [ id 216 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  886. rhp_log ("%s(): could not find node %d in master_node_list!\n", &__FUNCTION__, num);
  887. D.4429 = -1;
  888. // predicted unlikely by early return (on trees) predictor.
  889. goto <bb 9>; [INV]
  890. " ]
  891. node [ id 217 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  892. _6 = spn->value;
  893. nd = (struct rhpnode *) _6;
  894. _7 = nd->position;
  895. _8 = nd->level;
  896. _9 = nd->innum;
  897. rhp_log ("%s(): node %d level %d pos %d\n", &__FUNCTION__, _9, _8, _7);
  898. D.4429 = nd->level;
  899. " ]
  900. node [ id 218 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  901. <L6>:
  902. return D.4429;
  903. " ]
  904. edge [ source 209 target 211 graphics [ fill "#0000ff" ] ]
  905. edge [ source 211 target 212 graphics [ fill "#000000" ] ]
  906. edge [ source 211 target 213 graphics [ fill "#000000" ] ]
  907. edge [ source 212 target 218 graphics [ fill "#0000ff" ] ]
  908. edge [ source 213 target 214 graphics [ fill "#000000" ] ]
  909. edge [ source 213 target 215 graphics [ fill "#000000" ] ]
  910. edge [ source 214 target 218 graphics [ fill "#0000ff" ] ]
  911. edge [ source 215 target 216 graphics [ fill "#000000" ] ]
  912. edge [ source 215 target 217 graphics [ fill "#000000" ] ]
  913. edge [ source 216 target 218 graphics [ fill "#0000ff" ] ]
  914. edge [ source 217 target 218 graphics [ fill "#0000ff" ] ]
  915. edge [ source 218 target 210 graphics [ fill "#000000" ] ]
  916. # function number 11
  917. node [ id 229 graphics [ fill "#ffffff" ] label "rhp_node_get_position ()
  918. ENTRY" ]
  919. node [ id 230 graphics [ fill "#ffffff" ] label "rhp_node_get_position ()
  920. EXIT" ]
  921. node [ id 231 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  922. spn = 0B;
  923. nd = 0B;
  924. rhp_inited.61_1 = rhp_inited;
  925. if (rhp_inited.61_1 == 0)
  926. goto <bb 3>; [INV]
  927. else
  928. goto <bb 4>; [INV]
  929. " ]
  930. node [ id 232 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  931. rhp_log ("%s(): first rhp_init() must be done shouldnothappen!\n", &__FUNCTION__);
  932. D.4437 = -1;
  933. // predicted unlikely by early return (on trees) predictor.
  934. goto <bb 9>; [INV]
  935. " ]
  936. node [ id 233 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  937. rhp_sp_master_node_list.62_2 = rhp_sp_master_node_list;
  938. _3 = rhp_sp_has_data (rhp_sp_master_node_list.62_2);
  939. if (_3 == 0)
  940. goto <bb 5>; [INV]
  941. else
  942. goto <bb 6>; [INV]
  943. " ]
  944. node [ id 234 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  945. D.4437 = -1;
  946. // predicted unlikely by early return (on trees) predictor.
  947. goto <bb 9>; [INV]
  948. " ]
  949. node [ id 235 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  950. _4 = (long long int) num;
  951. rhp_sp_master_node_list.63_5 = rhp_sp_master_node_list;
  952. spn = rhp_sp_lookup (rhp_sp_master_node_list.63_5, _4);
  953. if (spn == 0B)
  954. goto <bb 7>; [INV]
  955. else
  956. goto <bb 8>; [INV]
  957. " ]
  958. node [ id 236 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  959. rhp_log ("%s(): could not find node %d in master_node_list!\n", &__FUNCTION__, num);
  960. D.4437 = -1;
  961. // predicted unlikely by early return (on trees) predictor.
  962. goto <bb 9>; [INV]
  963. " ]
  964. node [ id 237 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  965. _6 = spn->value;
  966. nd = (struct rhpnode *) _6;
  967. _7 = nd->position;
  968. _8 = nd->level;
  969. _9 = nd->innum;
  970. rhp_log ("%s(): node %d level %d pos %d\n", &__FUNCTION__, _9, _8, _7);
  971. D.4437 = nd->position;
  972. " ]
  973. node [ id 238 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  974. <L6>:
  975. return D.4437;
  976. " ]
  977. edge [ source 229 target 231 graphics [ fill "#0000ff" ] ]
  978. edge [ source 231 target 232 graphics [ fill "#000000" ] ]
  979. edge [ source 231 target 233 graphics [ fill "#000000" ] ]
  980. edge [ source 232 target 238 graphics [ fill "#0000ff" ] ]
  981. edge [ source 233 target 234 graphics [ fill "#000000" ] ]
  982. edge [ source 233 target 235 graphics [ fill "#000000" ] ]
  983. edge [ source 234 target 238 graphics [ fill "#0000ff" ] ]
  984. edge [ source 235 target 236 graphics [ fill "#000000" ] ]
  985. edge [ source 235 target 237 graphics [ fill "#000000" ] ]
  986. edge [ source 236 target 238 graphics [ fill "#0000ff" ] ]
  987. edge [ source 237 target 238 graphics [ fill "#0000ff" ] ]
  988. edge [ source 238 target 230 graphics [ fill "#000000" ] ]
  989. # function number 12
  990. node [ id 249 graphics [ fill "#ffffff" ] label "rhp_node_get_data ()
  991. ENTRY" ]
  992. node [ id 250 graphics [ fill "#ffffff" ] label "rhp_node_get_data ()
  993. EXIT" ]
  994. node [ id 251 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  995. spn = 0B;
  996. nd = 0B;
  997. rhp_inited.64_1 = rhp_inited;
  998. if (rhp_inited.64_1 == 0)
  999. goto <bb 3>; [INV]
  1000. else
  1001. goto <bb 4>; [INV]
  1002. " ]
  1003. node [ id 252 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  1004. rhp_log ("%s(): first rhp_init() must be done shouldnothappen!\n", &__FUNCTION__);
  1005. D.4445 = -1B;
  1006. // predicted unlikely by early return (on trees) predictor.
  1007. goto <bb 9>; [INV]
  1008. " ]
  1009. node [ id 253 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  1010. rhp_sp_master_node_list.65_2 = rhp_sp_master_node_list;
  1011. _3 = rhp_sp_has_data (rhp_sp_master_node_list.65_2);
  1012. if (_3 == 0)
  1013. goto <bb 5>; [INV]
  1014. else
  1015. goto <bb 6>; [INV]
  1016. " ]
  1017. node [ id 254 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  1018. D.4445 = -1B;
  1019. // predicted unlikely by early return (on trees) predictor.
  1020. goto <bb 9>; [INV]
  1021. " ]
  1022. node [ id 255 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  1023. _4 = (long long int) num;
  1024. rhp_sp_master_node_list.66_5 = rhp_sp_master_node_list;
  1025. spn = rhp_sp_lookup (rhp_sp_master_node_list.66_5, _4);
  1026. if (spn == 0B)
  1027. goto <bb 7>; [INV]
  1028. else
  1029. goto <bb 8>; [INV]
  1030. " ]
  1031. node [ id 256 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  1032. rhp_log ("%s(): could not find node %d in master_node_list!\n", &__FUNCTION__, num);
  1033. D.4445 = -1B;
  1034. // predicted unlikely by early return (on trees) predictor.
  1035. goto <bb 9>; [INV]
  1036. " ]
  1037. node [ id 257 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  1038. _6 = spn->value;
  1039. nd = (struct rhpnode *) _6;
  1040. _7 = nd->position;
  1041. _8 = nd->level;
  1042. _9 = nd->innum;
  1043. rhp_log ("%s(): node %d level %d pos %d\n", &__FUNCTION__, _9, _8, _7);
  1044. D.4445 = nd->data;
  1045. " ]
  1046. node [ id 258 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  1047. <L6>:
  1048. return D.4445;
  1049. " ]
  1050. edge [ source 249 target 251 graphics [ fill "#0000ff" ] ]
  1051. edge [ source 251 target 252 graphics [ fill "#000000" ] ]
  1052. edge [ source 251 target 253 graphics [ fill "#000000" ] ]
  1053. edge [ source 252 target 258 graphics [ fill "#0000ff" ] ]
  1054. edge [ source 253 target 254 graphics [ fill "#000000" ] ]
  1055. edge [ source 253 target 255 graphics [ fill "#000000" ] ]
  1056. edge [ source 254 target 258 graphics [ fill "#0000ff" ] ]
  1057. edge [ source 255 target 256 graphics [ fill "#000000" ] ]
  1058. edge [ source 255 target 257 graphics [ fill "#000000" ] ]
  1059. edge [ source 256 target 258 graphics [ fill "#0000ff" ] ]
  1060. edge [ source 257 target 258 graphics [ fill "#0000ff" ] ]
  1061. edge [ source 258 target 250 graphics [ fill "#000000" ] ]
  1062. node [ id 269 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  1063. if (spn != 0B)
  1064. goto <bb 9>; [INV]
  1065. else
  1066. goto <bb 13>; [INV]
  1067. " ]
  1068. node [ id 270 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  1069. _5 = spn->value;
  1070. ed = (struct rhpedge *) _5;
  1071. _6 = ed->data;
  1072. _7 = ed->crossings;
  1073. _8 = ed->tn;
  1074. _9 = _8->position;
  1075. _10 = ed->tn;
  1076. _11 = _10->level;
  1077. _12 = ed->tn;
  1078. _13 = _12->innum;
  1079. _14 = ed->fn;
  1080. _15 = _14->position;
  1081. _16 = ed->fn;
  1082. _17 = _16->level;
  1083. _18 = ed->fn;
  1084. _19 = _18->innum;
  1085. _20 = ed->innum;
  1086. status = getedgedata (_20, _19, _17, _15, _13, _11, _9, _7, _6);
  1087. if (status != 0)
  1088. goto <bb 10>; [INV]
  1089. else
  1090. goto <bb 11>; [INV]
  1091. " ]
  1092. node [ id 271 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  1093. _21 = spn->key;
  1094. rhp_sp_master_edge_list.70_22 = rhp_sp_master_edge_list;
  1095. spn = rhp_sp_next (rhp_sp_master_edge_list.70_22, _21);
  1096. " ]
  1097. # function number 13
  1098. node [ id 272 graphics [ fill "#ffffff" ] label "rhp_edge_foreach ()
  1099. ENTRY" ]
  1100. node [ id 273 graphics [ fill "#ffffff" ] label "rhp_edge_foreach ()
  1101. EXIT" ]
  1102. node [ id 274 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  1103. spn = 0B;
  1104. ed = 0B;
  1105. status = 0;
  1106. rhp_inited.67_1 = rhp_inited;
  1107. if (rhp_inited.67_1 == 0)
  1108. goto <bb 3>; [INV]
  1109. else
  1110. goto <bb 4>; [INV]
  1111. " ]
  1112. node [ id 275 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  1113. rhp_log ("%s(): first rhp_init() must be done shouldnothappen!\n", &__FUNCTION__);
  1114. D.4453 = 0;
  1115. // predicted unlikely by early return (on trees) predictor.
  1116. goto <bb 14>; [INV]
  1117. " ]
  1118. node [ id 276 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  1119. if (getedgedata == 0B)
  1120. goto <bb 5>; [INV]
  1121. else
  1122. goto <bb 6>; [INV]
  1123. " ]
  1124. node [ id 277 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  1125. D.4453 = 0;
  1126. // predicted unlikely by early return (on trees) predictor.
  1127. goto <bb 14>; [INV]
  1128. " ]
  1129. node [ id 278 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  1130. rhp_sp_master_edge_list.68_2 = rhp_sp_master_edge_list;
  1131. _3 = rhp_sp_has_data (rhp_sp_master_edge_list.68_2);
  1132. if (_3 == 0)
  1133. goto <bb 7>; [INV]
  1134. else
  1135. goto <bb 8>; [INV]
  1136. " ]
  1137. node [ id 279 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  1138. D.4453 = 0;
  1139. // predicted unlikely by early return (on trees) predictor.
  1140. goto <bb 14>; [INV]
  1141. " ]
  1142. node [ id 280 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  1143. status = 0;
  1144. rhp_sp_master_edge_list.69_4 = rhp_sp_master_edge_list;
  1145. spn = rhp_sp_min (rhp_sp_master_edge_list.69_4);
  1146. goto <bb 12>; [INV]
  1147. " ]
  1148. node [ id 281 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  1149. goto <bb 13>; [INV]
  1150. " ]
  1151. node [ id 282 graphics [ fill "#d3d3d3" ] label "<bb 13>:
  1152. D.4453 = status;
  1153. " ]
  1154. node [ id 283 graphics [ fill "#d3d3d3" ] label "<bb 14>:
  1155. <L11>:
  1156. return D.4453;
  1157. " ]
  1158. edge [ source 272 target 274 graphics [ fill "#0000ff" ] ]
  1159. edge [ source 274 target 275 graphics [ fill "#000000" ] ]
  1160. edge [ source 274 target 276 graphics [ fill "#000000" ] ]
  1161. edge [ source 275 target 283 graphics [ fill "#0000ff" ] ]
  1162. edge [ source 276 target 277 graphics [ fill "#000000" ] ]
  1163. edge [ source 276 target 278 graphics [ fill "#000000" ] ]
  1164. edge [ source 277 target 283 graphics [ fill "#0000ff" ] ]
  1165. edge [ source 278 target 279 graphics [ fill "#000000" ] ]
  1166. edge [ source 278 target 280 graphics [ fill "#000000" ] ]
  1167. edge [ source 279 target 283 graphics [ fill "#0000ff" ] ]
  1168. edge [ source 280 target 269 graphics [ fill "#0000ff" ] ]
  1169. edge [ source 270 target 281 graphics [ fill "#000000" ] ]
  1170. edge [ source 270 target 271 graphics [ fill "#000000" ] ]
  1171. edge [ source 281 target 282 graphics [ fill "#0000ff" ] ]
  1172. edge [ source 271 target 269 graphics [ fill "#0000ff" ] ]
  1173. edge [ source 269 target 270 graphics [ fill "#000000" ] ]
  1174. edge [ source 269 target 282 graphics [ fill "#000000" ] ]
  1175. edge [ source 282 target 283 graphics [ fill "#0000ff" ] ]
  1176. edge [ source 283 target 273 graphics [ fill "#000000" ] ]
  1177. # function number 14
  1178. node [ id 299 graphics [ fill "#ffffff" ] label "rhp_initial_crossings ()
  1179. ENTRY" ]
  1180. node [ id 300 graphics [ fill "#ffffff" ] label "rhp_initial_crossings ()
  1181. EXIT" ]
  1182. node [ id 301 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  1183. rhp_start_crossings.71_1 = rhp_start_crossings;
  1184. rhp_log ("%s(): start crossings %li\n", &__FUNCTION__, rhp_start_crossings.71_1);
  1185. rhp_inited.72_2 = rhp_inited;
  1186. if (rhp_inited.72_2 == 0)
  1187. goto <bb 3>; [INV]
  1188. else
  1189. goto <bb 4>; [INV]
  1190. " ]
  1191. node [ id 302 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  1192. rhp_log ("%s(): first rhp_init() must be done shouldnothappen!\n", &__FUNCTION__);
  1193. D.4463 = 0;
  1194. // predicted unlikely by early return (on trees) predictor.
  1195. goto <bb 11>; [INV]
  1196. " ]
  1197. node [ id 303 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  1198. rhp_sp_master_node_list.73_3 = rhp_sp_master_node_list;
  1199. _4 = rhp_sp_has_data (rhp_sp_master_node_list.73_3);
  1200. if (_4 == 0)
  1201. goto <bb 5>; [INV]
  1202. else
  1203. goto <bb 6>; [INV]
  1204. " ]
  1205. node [ id 304 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  1206. rhp_log ("%s(): no nodes shouldnothappen!\n", &__FUNCTION__);
  1207. rhp_start_crossings = 0;
  1208. D.4463 = rhp_start_crossings;
  1209. // predicted unlikely by early return (on trees) predictor.
  1210. goto <bb 11>; [INV]
  1211. " ]
  1212. node [ id 305 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  1213. rhp_sp_master_edge_list.74_5 = rhp_sp_master_edge_list;
  1214. _6 = rhp_sp_has_data (rhp_sp_master_edge_list.74_5);
  1215. if (_6 == 0)
  1216. goto <bb 7>; [INV]
  1217. else
  1218. goto <bb 8>; [INV]
  1219. " ]
  1220. node [ id 306 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  1221. rhp_start_crossings = 0;
  1222. " ]
  1223. node [ id 307 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  1224. rhp_start_crossings.75_7 = rhp_start_crossings;
  1225. if (rhp_start_crossings.75_7 >= 0)
  1226. goto <bb 9>; [INV]
  1227. else
  1228. goto <bb 10>; [INV]
  1229. " ]
  1230. node [ id 308 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  1231. rhp_start_crossings.76_8 = rhp_start_crossings;
  1232. rhp_log ("%s(): already inited start crossings %li\n", &__FUNCTION__, rhp_start_crossings.76_8);
  1233. D.4463 = rhp_start_crossings;
  1234. // predicted unlikely by early return (on trees) predictor.
  1235. goto <bb 11>; [INV]
  1236. " ]
  1237. node [ id 309 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  1238. rhp_log ("%s(): allocate layers\n", &__FUNCTION__);
  1239. rhp_allocatelayers ();
  1240. rhp_allocateadjacencylists ();
  1241. _9 = rhp_countisolatednodes ();
  1242. rhp_number_of_isolated_nodes = _9;
  1243. rhp_number_of_isolated_nodes.77_10 = rhp_number_of_isolated_nodes;
  1244. _11 = (long int) rhp_number_of_isolated_nodes.77_10;
  1245. rhp_log ("%s(): %li single nodes\n", &__FUNCTION__, _11);
  1246. rhp_initcrossings ();
  1247. rhp_updateallcrossings ();
  1248. _12 = rhp_numberofcrossings ();
  1249. rhp_start_crossings = _12;
  1250. rhp_number_of_nodes.78_13 = rhp_number_of_nodes;
  1251. _14 = (long unsigned int) rhp_number_of_nodes.78_13;
  1252. _15 = _14 * 80;
  1253. rhp_log ("%s(): using %lu bytes for the node data core part\n", &__FUNCTION__, _15);
  1254. rhp_number_of_edges.79_16 = rhp_number_of_edges;
  1255. _17 = (long unsigned int) rhp_number_of_edges.79_16;
  1256. _18 = _17 * 56;
  1257. rhp_log ("%s(): using %lu bytes for the edge data\n", &__FUNCTION__, _18);
  1258. D.4463 = rhp_start_crossings;
  1259. " ]
  1260. node [ id 310 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  1261. <L8>:
  1262. return D.4463;
  1263. " ]
  1264. edge [ source 299 target 301 graphics [ fill "#0000ff" ] ]
  1265. edge [ source 301 target 302 graphics [ fill "#000000" ] ]
  1266. edge [ source 301 target 303 graphics [ fill "#000000" ] ]
  1267. edge [ source 302 target 310 graphics [ fill "#0000ff" ] ]
  1268. edge [ source 303 target 304 graphics [ fill "#000000" ] ]
  1269. edge [ source 303 target 305 graphics [ fill "#000000" ] ]
  1270. edge [ source 304 target 310 graphics [ fill "#0000ff" ] ]
  1271. edge [ source 305 target 306 graphics [ fill "#000000" ] ]
  1272. edge [ source 305 target 307 graphics [ fill "#000000" ] ]
  1273. edge [ source 306 target 307 graphics [ fill "#0000ff" ] ]
  1274. edge [ source 307 target 308 graphics [ fill "#000000" ] ]
  1275. edge [ source 307 target 309 graphics [ fill "#000000" ] ]
  1276. edge [ source 308 target 310 graphics [ fill "#0000ff" ] ]
  1277. edge [ source 309 target 310 graphics [ fill "#0000ff" ] ]
  1278. edge [ source 310 target 300 graphics [ fill "#000000" ] ]
  1279. # function number 15
  1280. node [ id 323 graphics [ fill "#ffffff" ] label "rhp_current_crossings ()
  1281. ENTRY" ]
  1282. node [ id 324 graphics [ fill "#ffffff" ] label "rhp_current_crossings ()
  1283. EXIT" ]
  1284. node [ id 325 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  1285. rhp_inited.80_1 = rhp_inited;
  1286. if (rhp_inited.80_1 == 0)
  1287. goto <bb 3>; [INV]
  1288. else
  1289. goto <bb 4>; [INV]
  1290. " ]
  1291. node [ id 326 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  1292. rhp_log ("%s(): first rhp_init() must be done shouldnothappen!\n", &__FUNCTION__);
  1293. D.4473 = 0;
  1294. // predicted unlikely by early return (on trees) predictor.
  1295. goto <bb 14>; [INV]
  1296. " ]
  1297. node [ id 327 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  1298. rhp_sp_master_node_list.81_2 = rhp_sp_master_node_list;
  1299. _3 = rhp_sp_has_data (rhp_sp_master_node_list.81_2);
  1300. if (_3 == 0)
  1301. goto <bb 5>; [INV]
  1302. else
  1303. goto <bb 6>; [INV]
  1304. " ]
  1305. node [ id 328 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  1306. rhp_log ("%s(): no nodes shouldnothappen!\n", &__FUNCTION__);
  1307. rhp_crossings = 0;
  1308. D.4473 = rhp_crossings;
  1309. // predicted unlikely by early return (on trees) predictor.
  1310. goto <bb 14>; [INV]
  1311. " ]
  1312. node [ id 329 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  1313. rhp_sp_master_edge_list.82_4 = rhp_sp_master_edge_list;
  1314. _5 = rhp_sp_has_data (rhp_sp_master_edge_list.82_4);
  1315. if (_5 == 0)
  1316. goto <bb 7>; [INV]
  1317. else
  1318. goto <bb 8>; [INV]
  1319. " ]
  1320. node [ id 330 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  1321. rhp_crossings = 0;
  1322. D.4473 = rhp_crossings;
  1323. // predicted unlikely by early return (on trees) predictor.
  1324. goto <bb 14>; [INV]
  1325. " ]
  1326. node [ id 331 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  1327. rhp_start_crossings.83_6 = rhp_start_crossings;
  1328. if (rhp_start_crossings.83_6 < 0)
  1329. goto <bb 9>; [INV]
  1330. else
  1331. goto <bb 10>; [INV]
  1332. " ]
  1333. node [ id 332 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  1334. _7 = rhp_initial_crossings ();
  1335. rhp_crossings = _7;
  1336. goto <bb 13>; [INV]
  1337. " ]
  1338. node [ id 333 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  1339. rhp_number_of_edges.84_8 = rhp_number_of_edges;
  1340. if (rhp_number_of_edges.84_8 == 1)
  1341. goto <bb 11>; [INV]
  1342. else
  1343. goto <bb 12>; [INV]
  1344. " ]
  1345. node [ id 334 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  1346. rhp_crossings = 0;
  1347. goto <bb 13>; [INV]
  1348. " ]
  1349. node [ id 335 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  1350. rhp_crossings = 0;
  1351. rhp_updateallcrossings ();
  1352. _9 = rhp_numberofcrossings ();
  1353. rhp_crossings = _9;
  1354. " ]
  1355. node [ id 336 graphics [ fill "#d3d3d3" ] label "<bb 13>:
  1356. D.4473 = rhp_crossings;
  1357. " ]
  1358. node [ id 337 graphics [ fill "#d3d3d3" ] label "<bb 14>:
  1359. <L12>:
  1360. return D.4473;
  1361. " ]
  1362. edge [ source 323 target 325 graphics [ fill "#0000ff" ] ]
  1363. edge [ source 325 target 326 graphics [ fill "#000000" ] ]
  1364. edge [ source 325 target 327 graphics [ fill "#000000" ] ]
  1365. edge [ source 326 target 337 graphics [ fill "#0000ff" ] ]
  1366. edge [ source 327 target 328 graphics [ fill "#000000" ] ]
  1367. edge [ source 327 target 329 graphics [ fill "#000000" ] ]
  1368. edge [ source 328 target 337 graphics [ fill "#0000ff" ] ]
  1369. edge [ source 329 target 330 graphics [ fill "#000000" ] ]
  1370. edge [ source 329 target 331 graphics [ fill "#000000" ] ]
  1371. edge [ source 330 target 337 graphics [ fill "#0000ff" ] ]
  1372. edge [ source 331 target 332 graphics [ fill "#000000" ] ]
  1373. edge [ source 331 target 333 graphics [ fill "#000000" ] ]
  1374. edge [ source 332 target 336 graphics [ fill "#0000ff" ] ]
  1375. edge [ source 333 target 334 graphics [ fill "#000000" ] ]
  1376. edge [ source 333 target 335 graphics [ fill "#000000" ] ]
  1377. edge [ source 334 target 336 graphics [ fill "#0000ff" ] ]
  1378. edge [ source 335 target 336 graphics [ fill "#0000ff" ] ]
  1379. edge [ source 336 target 337 graphics [ fill "#0000ff" ] ]
  1380. edge [ source 337 target 324 graphics [ fill "#000000" ] ]
  1381. # function number 16
  1382. node [ id 353 graphics [ fill "#ffffff" ] label "rhp_current_crossings_at_level ()
  1383. ENTRY" ]
  1384. node [ id 354 graphics [ fill "#ffffff" ] label "rhp_current_crossings_at_level ()
  1385. EXIT" ]
  1386. node [ id 355 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  1387. spn = 0B;
  1388. is = 0B;
  1389. rhp_inited.85_1 = rhp_inited;
  1390. if (rhp_inited.85_1 == 0)
  1391. goto <bb 3>; [INV]
  1392. else
  1393. goto <bb 4>; [INV]
  1394. " ]
  1395. node [ id 356 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  1396. rhp_log ("%s(): first rhp_init() must be done shouldnothappen!\n", &__FUNCTION__);
  1397. D.4487 = 0;
  1398. // predicted unlikely by early return (on trees) predictor.
  1399. goto <bb 17>; [INV]
  1400. " ]
  1401. node [ id 357 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  1402. rhp_sp_master_node_list.86_2 = rhp_sp_master_node_list;
  1403. _3 = rhp_sp_has_data (rhp_sp_master_node_list.86_2);
  1404. if (_3 == 0)
  1405. goto <bb 5>; [INV]
  1406. else
  1407. goto <bb 6>; [INV]
  1408. " ]
  1409. node [ id 358 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  1410. rhp_log ("%s(): no nodes shouldnothappen!\n", &__FUNCTION__);
  1411. D.4487 = 0;
  1412. // predicted unlikely by early return (on trees) predictor.
  1413. goto <bb 17>; [INV]
  1414. " ]
  1415. node [ id 359 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  1416. if (level < 0)
  1417. goto <bb 7>; [INV]
  1418. else
  1419. goto <bb 8>; [INV]
  1420. " ]
  1421. node [ id 360 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  1422. rhp_log ("%s(): level %d is below 0 shouldnothappen!\n", &__FUNCTION__, level);
  1423. D.4487 = 0;
  1424. // predicted unlikely by early return (on trees) predictor.
  1425. goto <bb 17>; [INV]
  1426. " ]
  1427. node [ id 361 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  1428. rhp_maxlevel.87_4 = rhp_maxlevel;
  1429. if (level > rhp_maxlevel.87_4)
  1430. goto <bb 9>; [INV]
  1431. else
  1432. goto <bb 10>; [INV]
  1433. " ]
  1434. node [ id 362 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  1435. rhp_maxlevel.88_5 = rhp_maxlevel;
  1436. rhp_log ("%s(): level %d is above max level %dshouldnothappen!\n", &__FUNCTION__, level, rhp_maxlevel.88_5);
  1437. D.4487 = 0;
  1438. // predicted unlikely by early return (on trees) predictor.
  1439. goto <bb 17>; [INV]
  1440. " ]
  1441. node [ id 363 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  1442. rhp_sp_between_layers.89_6 = rhp_sp_between_layers;
  1443. _7 = rhp_sp_has_data (rhp_sp_between_layers.89_6);
  1444. if (_7 == 0)
  1445. goto <bb 11>; [INV]
  1446. else
  1447. goto <bb 12>; [INV]
  1448. " ]
  1449. node [ id 364 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  1450. D.4487 = 0;
  1451. // predicted unlikely by early return (on trees) predictor.
  1452. goto <bb 17>; [INV]
  1453. " ]
  1454. node [ id 365 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  1455. rhp_nlevels.90_8 = rhp_nlevels;
  1456. if (rhp_nlevels.90_8 == 0)
  1457. goto <bb 13>; [INV]
  1458. else
  1459. goto <bb 14>; [INV]
  1460. " ]
  1461. node [ id 366 graphics [ fill "#d3d3d3" ] label "<bb 13>:
  1462. rhp_log ("%s(): no levels shouldnothappen!\n", &__FUNCTION__);
  1463. D.4487 = 0;
  1464. // predicted unlikely by early return (on trees) predictor.
  1465. goto <bb 17>; [INV]
  1466. " ]
  1467. node [ id 367 graphics [ fill "#d3d3d3" ] label "<bb 14>:
  1468. _9 = (long long int) level;
  1469. rhp_sp_between_layers.91_10 = rhp_sp_between_layers;
  1470. spn = rhp_sp_lookup (rhp_sp_between_layers.91_10, _9);
  1471. if (spn != 0B)
  1472. goto <bb 15>; [INV]
  1473. else
  1474. goto <bb 16>; [INV]
  1475. " ]
  1476. node [ id 368 graphics [ fill "#d3d3d3" ] label "<bb 15>:
  1477. _11 = spn->value;
  1478. is = (struct rhp_inter_layer_struct *) _11;
  1479. D.4487 = is->number_of_crossings;
  1480. // predicted unlikely by early return (on trees) predictor.
  1481. goto <bb 17>; [INV]
  1482. " ]
  1483. node [ id 369 graphics [ fill "#d3d3d3" ] label "<bb 16>:
  1484. rhp_log ("%s(): could not get data for level %d shouldnothappen!\n", &__FUNCTION__, level);
  1485. D.4487 = 0;
  1486. " ]
  1487. node [ id 370 graphics [ fill "#d3d3d3" ] label "<bb 17>:
  1488. <L14>:
  1489. return D.4487;
  1490. " ]
  1491. edge [ source 353 target 355 graphics [ fill "#0000ff" ] ]
  1492. edge [ source 355 target 356 graphics [ fill "#000000" ] ]
  1493. edge [ source 355 target 357 graphics [ fill "#000000" ] ]
  1494. edge [ source 356 target 370 graphics [ fill "#0000ff" ] ]
  1495. edge [ source 357 target 358 graphics [ fill "#000000" ] ]
  1496. edge [ source 357 target 359 graphics [ fill "#000000" ] ]
  1497. edge [ source 358 target 370 graphics [ fill "#0000ff" ] ]
  1498. edge [ source 359 target 360 graphics [ fill "#000000" ] ]
  1499. edge [ source 359 target 361 graphics [ fill "#000000" ] ]
  1500. edge [ source 360 target 370 graphics [ fill "#0000ff" ] ]
  1501. edge [ source 361 target 362 graphics [ fill "#000000" ] ]
  1502. edge [ source 361 target 363 graphics [ fill "#000000" ] ]
  1503. edge [ source 362 target 370 graphics [ fill "#0000ff" ] ]
  1504. edge [ source 363 target 364 graphics [ fill "#000000" ] ]
  1505. edge [ source 363 target 365 graphics [ fill "#000000" ] ]
  1506. edge [ source 364 target 370 graphics [ fill "#0000ff" ] ]
  1507. edge [ source 365 target 366 graphics [ fill "#000000" ] ]
  1508. edge [ source 365 target 367 graphics [ fill "#000000" ] ]
  1509. edge [ source 366 target 370 graphics [ fill "#0000ff" ] ]
  1510. edge [ source 367 target 368 graphics [ fill "#000000" ] ]
  1511. edge [ source 367 target 369 graphics [ fill "#000000" ] ]
  1512. edge [ source 368 target 370 graphics [ fill "#0000ff" ] ]
  1513. edge [ source 369 target 370 graphics [ fill "#0000ff" ] ]
  1514. edge [ source 370 target 354 graphics [ fill "#000000" ] ]
  1515. # function number 17
  1516. node [ id 389 graphics [ fill "#ffffff" ] label "rhp_nodes_in_level ()
  1517. ENTRY" ]
  1518. node [ id 390 graphics [ fill "#ffffff" ] label "rhp_nodes_in_level ()
  1519. EXIT" ]
  1520. node [ id 391 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  1521. spn = 0B;
  1522. rl = 0B;
  1523. rhp_inited.92_1 = rhp_inited;
  1524. if (rhp_inited.92_1 == 0)
  1525. goto <bb 3>; [INV]
  1526. else
  1527. goto <bb 4>; [INV]
  1528. " ]
  1529. node [ id 392 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  1530. rhp_log ("%s(): first rhp_init() must be done shouldnothappen!\n", &__FUNCTION__);
  1531. D.4503 = 0;
  1532. // predicted unlikely by early return (on trees) predictor.
  1533. goto <bb 15>; [INV]
  1534. " ]
  1535. node [ id 393 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  1536. rhp_sp_master_node_list.93_2 = rhp_sp_master_node_list;
  1537. _3 = rhp_sp_has_data (rhp_sp_master_node_list.93_2);
  1538. if (_3 == 0)
  1539. goto <bb 5>; [INV]
  1540. else
  1541. goto <bb 6>; [INV]
  1542. " ]
  1543. node [ id 394 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  1544. rhp_log ("%s(): no nodes shouldnothappen!\n", &__FUNCTION__);
  1545. D.4503 = 0;
  1546. // predicted unlikely by early return (on trees) predictor.
  1547. goto <bb 15>; [INV]
  1548. " ]
  1549. node [ id 395 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  1550. if (level < 0)
  1551. goto <bb 7>; [INV]
  1552. else
  1553. goto <bb 8>; [INV]
  1554. " ]
  1555. node [ id 396 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  1556. rhp_log ("%s(): level %d is below 0 shouldnothappen!\n", &__FUNCTION__, level);
  1557. D.4503 = 0;
  1558. // predicted unlikely by early return (on trees) predictor.
  1559. goto <bb 15>; [INV]
  1560. " ]
  1561. node [ id 397 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  1562. rhp_maxlevel.94_4 = rhp_maxlevel;
  1563. if (level > rhp_maxlevel.94_4)
  1564. goto <bb 9>; [INV]
  1565. else
  1566. goto <bb 10>; [INV]
  1567. " ]
  1568. node [ id 398 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  1569. rhp_maxlevel.95_5 = rhp_maxlevel;
  1570. rhp_log ("%s(): level %d is above max level %dshouldnothappen!\n", &__FUNCTION__, level, rhp_maxlevel.95_5);
  1571. D.4503 = 0;
  1572. // predicted unlikely by early return (on trees) predictor.
  1573. goto <bb 15>; [INV]
  1574. " ]
  1575. node [ id 399 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  1576. rhp_sp_layers.96_6 = rhp_sp_layers;
  1577. _7 = rhp_sp_has_data (rhp_sp_layers.96_6);
  1578. if (_7 == 0)
  1579. goto <bb 11>; [INV]
  1580. else
  1581. goto <bb 12>; [INV]
  1582. " ]
  1583. node [ id 400 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  1584. D.4503 = 0;
  1585. // predicted unlikely by early return (on trees) predictor.
  1586. goto <bb 15>; [INV]
  1587. " ]
  1588. node [ id 401 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  1589. _8 = (long long int) level;
  1590. rhp_sp_layers.97_9 = rhp_sp_layers;
  1591. spn = rhp_sp_lookup (rhp_sp_layers.97_9, _8);
  1592. if (spn != 0B)
  1593. goto <bb 13>; [INV]
  1594. else
  1595. goto <bb 14>; [INV]
  1596. " ]
  1597. node [ id 402 graphics [ fill "#d3d3d3" ] label "<bb 13>:
  1598. _10 = spn->value;
  1599. rl = (struct rhplevel *) _10;
  1600. D.4503 = rl->number_of_nodes;
  1601. // predicted unlikely by early return (on trees) predictor.
  1602. goto <bb 15>; [INV]
  1603. " ]
  1604. node [ id 403 graphics [ fill "#d3d3d3" ] label "<bb 14>:
  1605. rhp_log ("%s(): could not find data for level %d shouldnothappen!\n", &__FUNCTION__, level);
  1606. D.4503 = 0;
  1607. " ]
  1608. node [ id 404 graphics [ fill "#d3d3d3" ] label "<bb 15>:
  1609. <L12>:
  1610. return D.4503;
  1611. " ]
  1612. edge [ source 389 target 391 graphics [ fill "#0000ff" ] ]
  1613. edge [ source 391 target 392 graphics [ fill "#000000" ] ]
  1614. edge [ source 391 target 393 graphics [ fill "#000000" ] ]
  1615. edge [ source 392 target 404 graphics [ fill "#0000ff" ] ]
  1616. edge [ source 393 target 394 graphics [ fill "#000000" ] ]
  1617. edge [ source 393 target 395 graphics [ fill "#000000" ] ]
  1618. edge [ source 394 target 404 graphics [ fill "#0000ff" ] ]
  1619. edge [ source 395 target 396 graphics [ fill "#000000" ] ]
  1620. edge [ source 395 target 397 graphics [ fill "#000000" ] ]
  1621. edge [ source 396 target 404 graphics [ fill "#0000ff" ] ]
  1622. edge [ source 397 target 398 graphics [ fill "#000000" ] ]
  1623. edge [ source 397 target 399 graphics [ fill "#000000" ] ]
  1624. edge [ source 398 target 404 graphics [ fill "#0000ff" ] ]
  1625. edge [ source 399 target 400 graphics [ fill "#000000" ] ]
  1626. edge [ source 399 target 401 graphics [ fill "#000000" ] ]
  1627. edge [ source 400 target 404 graphics [ fill "#0000ff" ] ]
  1628. edge [ source 401 target 402 graphics [ fill "#000000" ] ]
  1629. edge [ source 401 target 403 graphics [ fill "#000000" ] ]
  1630. edge [ source 402 target 404 graphics [ fill "#0000ff" ] ]
  1631. edge [ source 403 target 404 graphics [ fill "#0000ff" ] ]
  1632. edge [ source 404 target 390 graphics [ fill "#000000" ] ]
  1633. node [ id 421 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  1634. if (spn != 0B)
  1635. goto <bb 7>; [INV]
  1636. else
  1637. goto <bb 9>; [INV]
  1638. " ]
  1639. node [ id 422 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  1640. c = c + 1;
  1641. _5 = spn->key;
  1642. rhp_sp_master_node_list.101_6 = rhp_sp_master_node_list;
  1643. spn = rhp_sp_next (rhp_sp_master_node_list.101_6, _5);
  1644. " ]
  1645. # function number 18
  1646. node [ id 423 graphics [ fill "#ffffff" ] label "rhp_nodes_in_layout ()
  1647. ENTRY" ]
  1648. node [ id 424 graphics [ fill "#ffffff" ] label "rhp_nodes_in_layout ()
  1649. EXIT" ]
  1650. node [ id 425 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  1651. c = 0;
  1652. spn = 0B;
  1653. rhp_inited.98_1 = rhp_inited;
  1654. if (rhp_inited.98_1 == 0)
  1655. goto <bb 3>; [INV]
  1656. else
  1657. goto <bb 4>; [INV]
  1658. " ]
  1659. node [ id 426 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  1660. rhp_log ("%s(): first rhp_init() must be done shouldnothappen!\n", &__FUNCTION__);
  1661. D.4517 = 0;
  1662. // predicted unlikely by early return (on trees) predictor.
  1663. goto <bb 10>; [INV]
  1664. " ]
  1665. node [ id 427 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  1666. rhp_sp_master_node_list.99_2 = rhp_sp_master_node_list;
  1667. _3 = rhp_sp_has_data (rhp_sp_master_node_list.99_2);
  1668. if (_3 == 0)
  1669. goto <bb 5>; [INV]
  1670. else
  1671. goto <bb 6>; [INV]
  1672. " ]
  1673. node [ id 428 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  1674. D.4517 = 0;
  1675. // predicted unlikely by early return (on trees) predictor.
  1676. goto <bb 10>; [INV]
  1677. " ]
  1678. node [ id 429 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  1679. c = 0;
  1680. rhp_sp_master_node_list.100_4 = rhp_sp_master_node_list;
  1681. spn = rhp_sp_min (rhp_sp_master_node_list.100_4);
  1682. goto <bb 8>; [INV]
  1683. " ]
  1684. node [ id 430 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  1685. D.4517 = c;
  1686. " ]
  1687. node [ id 431 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  1688. <L7>:
  1689. return D.4517;
  1690. " ]
  1691. edge [ source 423 target 425 graphics [ fill "#0000ff" ] ]
  1692. edge [ source 425 target 426 graphics [ fill "#000000" ] ]
  1693. edge [ source 425 target 427 graphics [ fill "#000000" ] ]
  1694. edge [ source 426 target 431 graphics [ fill "#0000ff" ] ]
  1695. edge [ source 427 target 428 graphics [ fill "#000000" ] ]
  1696. edge [ source 427 target 429 graphics [ fill "#000000" ] ]
  1697. edge [ source 428 target 431 graphics [ fill "#0000ff" ] ]
  1698. edge [ source 429 target 421 graphics [ fill "#0000ff" ] ]
  1699. edge [ source 422 target 421 graphics [ fill "#0000ff" ] ]
  1700. edge [ source 421 target 422 graphics [ fill "#000000" ] ]
  1701. edge [ source 421 target 430 graphics [ fill "#000000" ] ]
  1702. edge [ source 430 target 431 graphics [ fill "#0000ff" ] ]
  1703. edge [ source 431 target 424 graphics [ fill "#000000" ] ]
  1704. node [ id 443 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  1705. if (spn != 0B)
  1706. goto <bb 7>; [INV]
  1707. else
  1708. goto <bb 9>; [INV]
  1709. " ]
  1710. node [ id 444 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  1711. c = c + 1;
  1712. _5 = spn->key;
  1713. rhp_sp_master_edge_list.105_6 = rhp_sp_master_edge_list;
  1714. spn = rhp_sp_next (rhp_sp_master_edge_list.105_6, _5);
  1715. " ]
  1716. # function number 19
  1717. node [ id 445 graphics [ fill "#ffffff" ] label "rhp_edges_in_layout ()
  1718. ENTRY" ]
  1719. node [ id 446 graphics [ fill "#ffffff" ] label "rhp_edges_in_layout ()
  1720. EXIT" ]
  1721. node [ id 447 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  1722. c = 0;
  1723. spn = 0B;
  1724. rhp_inited.102_1 = rhp_inited;
  1725. if (rhp_inited.102_1 == 0)
  1726. goto <bb 3>; [INV]
  1727. else
  1728. goto <bb 4>; [INV]
  1729. " ]
  1730. node [ id 448 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  1731. rhp_log ("%s(): first rhp_init() must be done shouldnothappen!\n", &__FUNCTION__);
  1732. D.4523 = 0;
  1733. // predicted unlikely by early return (on trees) predictor.
  1734. goto <bb 10>; [INV]
  1735. " ]
  1736. node [ id 449 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  1737. rhp_sp_master_edge_list.103_2 = rhp_sp_master_edge_list;
  1738. _3 = rhp_sp_has_data (rhp_sp_master_edge_list.103_2);
  1739. if (_3 == 0)
  1740. goto <bb 5>; [INV]
  1741. else
  1742. goto <bb 6>; [INV]
  1743. " ]
  1744. node [ id 450 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  1745. D.4523 = 0;
  1746. // predicted unlikely by early return (on trees) predictor.
  1747. goto <bb 10>; [INV]
  1748. " ]
  1749. node [ id 451 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  1750. c = 0;
  1751. rhp_sp_master_edge_list.104_4 = rhp_sp_master_edge_list;
  1752. spn = rhp_sp_min (rhp_sp_master_edge_list.104_4);
  1753. goto <bb 8>; [INV]
  1754. " ]
  1755. node [ id 452 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  1756. D.4523 = c;
  1757. " ]
  1758. node [ id 453 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  1759. <L7>:
  1760. return D.4523;
  1761. " ]
  1762. edge [ source 445 target 447 graphics [ fill "#0000ff" ] ]
  1763. edge [ source 447 target 448 graphics [ fill "#000000" ] ]
  1764. edge [ source 447 target 449 graphics [ fill "#000000" ] ]
  1765. edge [ source 448 target 453 graphics [ fill "#0000ff" ] ]
  1766. edge [ source 449 target 450 graphics [ fill "#000000" ] ]
  1767. edge [ source 449 target 451 graphics [ fill "#000000" ] ]
  1768. edge [ source 450 target 453 graphics [ fill "#0000ff" ] ]
  1769. edge [ source 451 target 443 graphics [ fill "#0000ff" ] ]
  1770. edge [ source 444 target 443 graphics [ fill "#0000ff" ] ]
  1771. edge [ source 443 target 444 graphics [ fill "#000000" ] ]
  1772. edge [ source 443 target 452 graphics [ fill "#000000" ] ]
  1773. edge [ source 452 target 453 graphics [ fill "#0000ff" ] ]
  1774. edge [ source 453 target 446 graphics [ fill "#000000" ] ]
  1775. # function number 20
  1776. node [ id 465 graphics [ fill "#ffffff" ] label "rhp_free ()
  1777. ENTRY" ]
  1778. node [ id 466 graphics [ fill "#ffffff" ] label "rhp_free ()
  1779. EXIT" ]
  1780. node [ id 467 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  1781. if (ptr == 0B)
  1782. goto <bb 3>; [INV]
  1783. else
  1784. goto <bb 4>; [INV]
  1785. " ]
  1786. node [ id 468 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  1787. rhp_log ("%s(): nil ptr from %s line %d shouldnothappen!\n", &__FUNCTION__, func, line);
  1788. D.4529 = 0B;
  1789. // predicted unlikely by early return (on trees) predictor.
  1790. goto <bb 8>; [INV]
  1791. " ]
  1792. node [ id 469 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  1793. if (ptr != 0B)
  1794. goto <bb 5>; [INV]
  1795. else
  1796. goto <bb 7>; [INV]
  1797. " ]
  1798. node [ id 470 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  1799. myfree (ptr, func, line);
  1800. rhp_n_free.106_1 = rhp_n_free;
  1801. _2 = rhp_n_free.106_1 + 1;
  1802. rhp_n_free = _2;
  1803. rhp_dolog.107_3 = rhp_dolog;
  1804. if (rhp_dolog.107_3 > 1)
  1805. goto <bb 6>; [INV]
  1806. else
  1807. goto <bb 7>; [INV]
  1808. " ]
  1809. node [ id 471 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  1810. rhp_log ("%p\t%s\tline %d\trhp_free()\tmemtrace\n", ptr, func, line);
  1811. " ]
  1812. node [ id 472 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  1813. D.4529 = 0B;
  1814. " ]
  1815. node [ id 473 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  1816. <L6>:
  1817. return D.4529;
  1818. " ]
  1819. edge [ source 465 target 467 graphics [ fill "#0000ff" ] ]
  1820. edge [ source 467 target 468 graphics [ fill "#000000" ] ]
  1821. edge [ source 467 target 469 graphics [ fill "#000000" ] ]
  1822. edge [ source 468 target 473 graphics [ fill "#0000ff" ] ]
  1823. edge [ source 469 target 470 graphics [ fill "#000000" ] ]
  1824. edge [ source 469 target 472 graphics [ fill "#000000" ] ]
  1825. edge [ source 470 target 471 graphics [ fill "#000000" ] ]
  1826. edge [ source 470 target 472 graphics [ fill "#000000" ] ]
  1827. edge [ source 471 target 472 graphics [ fill "#0000ff" ] ]
  1828. edge [ source 472 target 473 graphics [ fill "#0000ff" ] ]
  1829. edge [ source 473 target 466 graphics [ fill "#000000" ] ]
  1830. # function number 21
  1831. node [ id 483 graphics [ fill "#ffffff" ] label "rhp_malloc ()
  1832. ENTRY" ]
  1833. node [ id 484 graphics [ fill "#ffffff" ] label "rhp_malloc ()
  1834. EXIT" ]
  1835. node [ id 485 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  1836. ptr = 0B;
  1837. if (n == 0)
  1838. goto <bb 3>; [INV]
  1839. else
  1840. goto <bb 4>; [INV]
  1841. " ]
  1842. node [ id 486 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  1843. rhp_log ("%s(): 0 bytes to malloc from %s line %d shouldnothappen!\n", &__FUNCTION__, func, line);
  1844. D.4537 = 0B;
  1845. // predicted unlikely by early return (on trees) predictor.
  1846. goto <bb 7>; [INV]
  1847. " ]
  1848. node [ id 487 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  1849. rhp_n_malloc.108_1 = rhp_n_malloc;
  1850. _2 = rhp_n_malloc.108_1 + 1;
  1851. rhp_n_malloc = _2;
  1852. ptr = mymalloc (n, func, line);
  1853. rhp_dolog.109_3 = rhp_dolog;
  1854. if (rhp_dolog.109_3 > 1)
  1855. goto <bb 5>; [INV]
  1856. else
  1857. goto <bb 6>; [INV]
  1858. " ]
  1859. node [ id 488 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  1860. rhp_log ("%p\t%s\tline %d\trhp_malloc(%lu)\tmemtrace\n", ptr, func, line, n);
  1861. " ]
  1862. node [ id 489 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  1863. D.4537 = ptr;
  1864. " ]
  1865. node [ id 490 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  1866. <L4>:
  1867. return D.4537;
  1868. " ]
  1869. edge [ source 483 target 485 graphics [ fill "#0000ff" ] ]
  1870. edge [ source 485 target 486 graphics [ fill "#000000" ] ]
  1871. edge [ source 485 target 487 graphics [ fill "#000000" ] ]
  1872. edge [ source 486 target 490 graphics [ fill "#0000ff" ] ]
  1873. edge [ source 487 target 488 graphics [ fill "#000000" ] ]
  1874. edge [ source 487 target 489 graphics [ fill "#000000" ] ]
  1875. edge [ source 488 target 489 graphics [ fill "#0000ff" ] ]
  1876. edge [ source 489 target 490 graphics [ fill "#0000ff" ] ]
  1877. edge [ source 490 target 484 graphics [ fill "#000000" ] ]
  1878. # function number 22
  1879. node [ id 499 graphics [ fill "#ffffff" ] label "rhp_sp_new ()
  1880. ENTRY" ]
  1881. node [ id 500 graphics [ fill "#ffffff" ] label "rhp_sp_new ()
  1882. EXIT" ]
  1883. node [ id 501 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  1884. newsp = 0B;
  1885. newsp = rhp_malloc (16, &__FUNCTION__, 1651);
  1886. newsp->root = 0B;
  1887. newsp->delval = delval;
  1888. D.4541 = newsp;
  1889. " ]
  1890. node [ id 502 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  1891. <L0>:
  1892. return D.4541;
  1893. " ]
  1894. edge [ source 499 target 501 graphics [ fill "#0000ff" ] ]
  1895. edge [ source 501 target 502 graphics [ fill "#0000ff" ] ]
  1896. edge [ source 502 target 500 graphics [ fill "#000000" ] ]
  1897. # function number 23
  1898. node [ id 507 graphics [ fill "#ffffff" ] label "rhp_sp_has_data ()
  1899. ENTRY" ]
  1900. node [ id 508 graphics [ fill "#ffffff" ] label "rhp_sp_has_data ()
  1901. EXIT" ]
  1902. node [ id 509 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  1903. if (sp == 0B)
  1904. goto <bb 3>; [INV]
  1905. else
  1906. goto <bb 4>; [INV]
  1907. " ]
  1908. node [ id 510 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  1909. D.4545 = 0;
  1910. // predicted unlikely by early return (on trees) predictor.
  1911. goto <bb 7>; [INV]
  1912. " ]
  1913. node [ id 511 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  1914. _1 = sp->root;
  1915. if (_1 == 0B)
  1916. goto <bb 5>; [INV]
  1917. else
  1918. goto <bb 6>; [INV]
  1919. " ]
  1920. node [ id 512 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  1921. D.4545 = 0;
  1922. // predicted unlikely by early return (on trees) predictor.
  1923. goto <bb 7>; [INV]
  1924. " ]
  1925. node [ id 513 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  1926. D.4545 = 1;
  1927. " ]
  1928. node [ id 514 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  1929. <L4>:
  1930. return D.4545;
  1931. " ]
  1932. edge [ source 507 target 509 graphics [ fill "#0000ff" ] ]
  1933. edge [ source 509 target 510 graphics [ fill "#000000" ] ]
  1934. edge [ source 509 target 511 graphics [ fill "#000000" ] ]
  1935. edge [ source 510 target 514 graphics [ fill "#0000ff" ] ]
  1936. edge [ source 511 target 512 graphics [ fill "#000000" ] ]
  1937. edge [ source 511 target 513 graphics [ fill "#000000" ] ]
  1938. edge [ source 512 target 514 graphics [ fill "#0000ff" ] ]
  1939. edge [ source 513 target 514 graphics [ fill "#0000ff" ] ]
  1940. edge [ source 514 target 508 graphics [ fill "#000000" ] ]
  1941. node [ id 523 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  1942. _2 = nspn->l;
  1943. if (_2 != 0B)
  1944. goto <bb 8>; [INV]
  1945. else
  1946. goto <bb 10>; [INV]
  1947. " ]
  1948. node [ id 524 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  1949. nspn = nspn->l;
  1950. " ]
  1951. # function number 24
  1952. node [ id 525 graphics [ fill "#ffffff" ] label "rhp_sp_min ()
  1953. ENTRY" ]
  1954. node [ id 526 graphics [ fill "#ffffff" ] label "rhp_sp_min ()
  1955. EXIT" ]
  1956. node [ id 527 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  1957. nspn = 0B;
  1958. if (sp == 0B)
  1959. goto <bb 3>; [INV]
  1960. else
  1961. goto <bb 4>; [INV]
  1962. " ]
  1963. node [ id 528 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  1964. D.4551 = 0B;
  1965. // predicted unlikely by early return (on trees) predictor.
  1966. goto <bb 11>; [INV]
  1967. " ]
  1968. node [ id 529 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  1969. _1 = sp->root;
  1970. if (_1 == 0B)
  1971. goto <bb 5>; [INV]
  1972. else
  1973. goto <bb 6>; [INV]
  1974. " ]
  1975. node [ id 530 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  1976. D.4551 = 0B;
  1977. // predicted unlikely by early return (on trees) predictor.
  1978. goto <bb 11>; [INV]
  1979. " ]
  1980. node [ id 531 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  1981. nspn = sp->root;
  1982. if (nspn != 0B)
  1983. goto <bb 7>; [INV]
  1984. else
  1985. goto <bb 10>; [INV]
  1986. " ]
  1987. node [ id 532 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  1988. goto <bb 9>; [INV]
  1989. " ]
  1990. node [ id 533 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  1991. D.4551 = nspn;
  1992. " ]
  1993. node [ id 534 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  1994. <L9>:
  1995. return D.4551;
  1996. " ]
  1997. edge [ source 525 target 527 graphics [ fill "#0000ff" ] ]
  1998. edge [ source 527 target 528 graphics [ fill "#000000" ] ]
  1999. edge [ source 527 target 529 graphics [ fill "#000000" ] ]
  2000. edge [ source 528 target 534 graphics [ fill "#0000ff" ] ]
  2001. edge [ source 529 target 530 graphics [ fill "#000000" ] ]
  2002. edge [ source 529 target 531 graphics [ fill "#000000" ] ]
  2003. edge [ source 530 target 534 graphics [ fill "#0000ff" ] ]
  2004. edge [ source 531 target 532 graphics [ fill "#000000" ] ]
  2005. edge [ source 531 target 533 graphics [ fill "#000000" ] ]
  2006. edge [ source 532 target 523 graphics [ fill "#0000ff" ] ]
  2007. edge [ source 524 target 523 graphics [ fill "#0000ff" ] ]
  2008. edge [ source 523 target 524 graphics [ fill "#000000" ] ]
  2009. edge [ source 523 target 533 graphics [ fill "#000000" ] ]
  2010. edge [ source 533 target 534 graphics [ fill "#0000ff" ] ]
  2011. edge [ source 534 target 526 graphics [ fill "#000000" ] ]
  2012. # function number 25
  2013. node [ id 547 graphics [ fill "#ffffff" ] label "rhp_sp_insert ()
  2014. ENTRY" ]
  2015. node [ id 548 graphics [ fill "#ffffff" ] label "rhp_sp_insert ()
  2016. EXIT" ]
  2017. node [ id 549 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  2018. newspn = 0B;
  2019. if (sp == 0B)
  2020. goto <bb 3>; [INV]
  2021. else
  2022. goto <bb 4>; [INV]
  2023. " ]
  2024. node [ id 550 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  2025. // predicted unlikely by early return (on trees) predictor.
  2026. goto <bb 19>; [INV]
  2027. " ]
  2028. node [ id 551 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  2029. _1 = sp->root;
  2030. if (_1 == 0B)
  2031. goto <bb 5>; [INV]
  2032. else
  2033. goto <bb 8>; [INV]
  2034. " ]
  2035. node [ id 552 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  2036. newspn = rhp_malloc (32, &__FUNCTION__, 1731);
  2037. sp->root = newspn;
  2038. _2 = sp->root;
  2039. _2->l = 0B;
  2040. _3 = sp->root;
  2041. _3->r = 0B;
  2042. _4 = sp->root;
  2043. _4->key = key;
  2044. _5 = sp->root;
  2045. _5->value = value;
  2046. rhp_verbose.110_6 = rhp_verbose;
  2047. if (rhp_verbose.110_6 != 0)
  2048. goto <bb 6>; [INV]
  2049. else
  2050. goto <bb 7>; [INV]
  2051. " ]
  2052. node [ id 553 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  2053. _7 = sp->root;
  2054. _8 = _7->key;
  2055. _9 = (long unsigned int) _8;
  2056. _10 = sp->root;
  2057. rhp_log ("%s(): sp (%p) sp->root (%p) is %li at first entry\n", &__FUNCTION__, sp, _10, _9);
  2058. " ]
  2059. node [ id 554 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  2060. // predicted unlikely by early return (on trees) predictor.
  2061. goto <bb 19>; [INV]
  2062. " ]
  2063. node [ id 555 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  2064. rhp_sp_sp (sp, key);
  2065. _11 = sp->root;
  2066. _12 = _11->key;
  2067. if (key == _12)
  2068. goto <bb 9>; [INV]
  2069. else
  2070. goto <bb 13>; [INV]
  2071. " ]
  2072. node [ id 556 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  2073. _13 = sp->delval;
  2074. if (_13 != 0)
  2075. goto <bb 10>; [INV]
  2076. else
  2077. goto <bb 12>; [INV]
  2078. " ]
  2079. node [ id 557 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  2080. _14 = sp->root;
  2081. _15 = _14->value;
  2082. if (_15 != 0)
  2083. goto <bb 11>; [INV]
  2084. else
  2085. goto <bb 12>; [INV]
  2086. " ]
  2087. node [ id 558 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  2088. _16 = sp->root;
  2089. _17 = _16->value;
  2090. _18 = (void *) _17;
  2091. rhp_free (_18, &__FUNCTION__, 1758);
  2092. _19 = sp->root;
  2093. _19->value = 0;
  2094. " ]
  2095. node [ id 559 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  2096. _20 = sp->root;
  2097. _20->value = value;
  2098. // predicted unlikely by early return (on trees) predictor.
  2099. goto <bb 19>; [INV]
  2100. " ]
  2101. node [ id 560 graphics [ fill "#d3d3d3" ] label "<bb 13>:
  2102. newspn = rhp_malloc (32, &__FUNCTION__, 1766);
  2103. newspn->key = key;
  2104. newspn->value = value;
  2105. _21 = sp->root;
  2106. _22 = _21->key;
  2107. if (key > _22)
  2108. goto <bb 14>; [INV]
  2109. else
  2110. goto <bb 15>; [INV]
  2111. " ]
  2112. node [ id 561 graphics [ fill "#d3d3d3" ] label "<bb 14>:
  2113. _23 = sp->root;
  2114. newspn->l = _23;
  2115. _24 = newspn->l;
  2116. _25 = _24->r;
  2117. newspn->r = _25;
  2118. _26 = newspn->l;
  2119. _26->r = 0B;
  2120. goto <bb 16>; [INV]
  2121. " ]
  2122. node [ id 562 graphics [ fill "#d3d3d3" ] label "<bb 15>:
  2123. _27 = sp->root;
  2124. newspn->r = _27;
  2125. _28 = newspn->r;
  2126. _29 = _28->l;
  2127. newspn->l = _29;
  2128. _30 = newspn->r;
  2129. _30->l = 0B;
  2130. " ]
  2131. node [ id 563 graphics [ fill "#d3d3d3" ] label "<bb 16>:
  2132. sp->root = newspn;
  2133. rhp_verbose.111_31 = rhp_verbose;
  2134. if (rhp_verbose.111_31 != 0)
  2135. goto <bb 17>; [INV]
  2136. else
  2137. goto <bb 18>; [INV]
  2138. " ]
  2139. node [ id 564 graphics [ fill "#d3d3d3" ] label "<bb 17>:
  2140. _32 = sp->root;
  2141. _33 = _32->key;
  2142. _34 = (long unsigned int) _33;
  2143. _35 = sp->root;
  2144. rhp_log ("%s(): sp (%p) sp->root (%p) is %li at next entry\n", &__FUNCTION__, sp, _35, _34);
  2145. " ]
  2146. node [ id 565 graphics [ fill "#d3d3d3" ] label "<bb 18>:
  2147. " ]
  2148. node [ id 566 graphics [ fill "#d3d3d3" ] label "<bb 19>:
  2149. <L17>:
  2150. return;
  2151. " ]
  2152. edge [ source 547 target 549 graphics [ fill "#0000ff" ] ]
  2153. edge [ source 549 target 550 graphics [ fill "#000000" ] ]
  2154. edge [ source 549 target 551 graphics [ fill "#000000" ] ]
  2155. edge [ source 550 target 566 graphics [ fill "#0000ff" ] ]
  2156. edge [ source 551 target 552 graphics [ fill "#000000" ] ]
  2157. edge [ source 551 target 555 graphics [ fill "#000000" ] ]
  2158. edge [ source 552 target 553 graphics [ fill "#000000" ] ]
  2159. edge [ source 552 target 554 graphics [ fill "#000000" ] ]
  2160. edge [ source 553 target 554 graphics [ fill "#0000ff" ] ]
  2161. edge [ source 554 target 566 graphics [ fill "#0000ff" ] ]
  2162. edge [ source 555 target 556 graphics [ fill "#000000" ] ]
  2163. edge [ source 555 target 560 graphics [ fill "#000000" ] ]
  2164. edge [ source 556 target 557 graphics [ fill "#000000" ] ]
  2165. edge [ source 556 target 559 graphics [ fill "#000000" ] ]
  2166. edge [ source 557 target 558 graphics [ fill "#000000" ] ]
  2167. edge [ source 557 target 559 graphics [ fill "#000000" ] ]
  2168. edge [ source 558 target 559 graphics [ fill "#0000ff" ] ]
  2169. edge [ source 559 target 566 graphics [ fill "#0000ff" ] ]
  2170. edge [ source 560 target 561 graphics [ fill "#000000" ] ]
  2171. edge [ source 560 target 562 graphics [ fill "#000000" ] ]
  2172. edge [ source 561 target 563 graphics [ fill "#0000ff" ] ]
  2173. edge [ source 562 target 563 graphics [ fill "#0000ff" ] ]
  2174. edge [ source 563 target 564 graphics [ fill "#000000" ] ]
  2175. edge [ source 563 target 565 graphics [ fill "#000000" ] ]
  2176. edge [ source 564 target 565 graphics [ fill "#0000ff" ] ]
  2177. edge [ source 565 target 566 graphics [ fill "#0000ff" ] ]
  2178. edge [ source 566 target 548 graphics [ fill "#000000" ] ]
  2179. node [ id 587 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  2180. _5 = left->r;
  2181. if (_5 != 0B)
  2182. goto <bb 11>; [INV]
  2183. else
  2184. goto <bb 13>; [INV]
  2185. " ]
  2186. node [ id 588 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  2187. left = left->r;
  2188. " ]
  2189. # function number 26
  2190. node [ id 589 graphics [ fill "#ffffff" ] label "rhp_sp_remove ()
  2191. ENTRY" ]
  2192. node [ id 590 graphics [ fill "#ffffff" ] label "rhp_sp_remove ()
  2193. EXIT" ]
  2194. node [ id 591 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  2195. spn = 0B;
  2196. node = 0B;
  2197. left = 0B;
  2198. right = 0B;
  2199. if (sp == 0B)
  2200. goto <bb 3>; [INV]
  2201. else
  2202. goto <bb 4>; [INV]
  2203. " ]
  2204. node [ id 592 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  2205. // predicted unlikely by early return (on trees) predictor.
  2206. goto <bb 19>; [INV]
  2207. " ]
  2208. node [ id 593 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  2209. _1 = sp->root;
  2210. if (_1 == 0B)
  2211. goto <bb 5>; [INV]
  2212. else
  2213. goto <bb 6>; [INV]
  2214. " ]
  2215. node [ id 594 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  2216. // predicted unlikely by early return (on trees) predictor.
  2217. goto <bb 19>; [INV]
  2218. " ]
  2219. node [ id 595 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  2220. spn = rhp_sp_lookup (sp, key);
  2221. if (spn == 0B)
  2222. goto <bb 7>; [INV]
  2223. else
  2224. goto <bb 8>; [INV]
  2225. " ]
  2226. node [ id 596 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  2227. key.112_2 = (void *) key;
  2228. printf ("%s(): key %p not found\n", &__FUNCTION__, key.112_2);
  2229. // predicted unlikely by early return (on trees) predictor.
  2230. goto <bb 19>; [INV]
  2231. " ]
  2232. node [ id 597 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  2233. node = sp->root;
  2234. _3 = sp->root;
  2235. left = _3->l;
  2236. _4 = sp->root;
  2237. right = _4->r;
  2238. if (left != 0B)
  2239. goto <bb 9>; [INV]
  2240. else
  2241. goto <bb 14>; [INV]
  2242. " ]
  2243. node [ id 598 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  2244. sp->root = left;
  2245. if (right != 0B)
  2246. goto <bb 10>; [INV]
  2247. else
  2248. goto <bb 15>; [INV]
  2249. " ]
  2250. node [ id 599 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  2251. goto <bb 12>; [INV]
  2252. " ]
  2253. node [ id 600 graphics [ fill "#d3d3d3" ] label "<bb 13>:
  2254. left->r = right;
  2255. goto <bb 15>; [INV]
  2256. " ]
  2257. node [ id 601 graphics [ fill "#d3d3d3" ] label "<bb 14>:
  2258. sp->root = right;
  2259. " ]
  2260. node [ id 602 graphics [ fill "#d3d3d3" ] label "<bb 15>:
  2261. _6 = sp->delval;
  2262. if (_6 != 0)
  2263. goto <bb 16>; [INV]
  2264. else
  2265. goto <bb 18>; [INV]
  2266. " ]
  2267. node [ id 603 graphics [ fill "#d3d3d3" ] label "<bb 16>:
  2268. _7 = node->value;
  2269. if (_7 != 0)
  2270. goto <bb 17>; [INV]
  2271. else
  2272. goto <bb 18>; [INV]
  2273. " ]
  2274. node [ id 604 graphics [ fill "#d3d3d3" ] label "<bb 17>:
  2275. _8 = node->value;
  2276. _9 = (void *) _8;
  2277. rhp_free (_9, &__FUNCTION__, 1857);
  2278. node->value = 0;
  2279. " ]
  2280. node [ id 605 graphics [ fill "#d3d3d3" ] label "<bb 18>:
  2281. node->l = 0B;
  2282. node->r = 0B;
  2283. rhp_free (node, &__FUNCTION__, 1866);
  2284. " ]
  2285. node [ id 606 graphics [ fill "#d3d3d3" ] label "<bb 19>:
  2286. <L18>:
  2287. return;
  2288. " ]
  2289. edge [ source 589 target 591 graphics [ fill "#0000ff" ] ]
  2290. edge [ source 591 target 592 graphics [ fill "#000000" ] ]
  2291. edge [ source 591 target 593 graphics [ fill "#000000" ] ]
  2292. edge [ source 592 target 606 graphics [ fill "#0000ff" ] ]
  2293. edge [ source 593 target 594 graphics [ fill "#000000" ] ]
  2294. edge [ source 593 target 595 graphics [ fill "#000000" ] ]
  2295. edge [ source 594 target 606 graphics [ fill "#0000ff" ] ]
  2296. edge [ source 595 target 596 graphics [ fill "#000000" ] ]
  2297. edge [ source 595 target 597 graphics [ fill "#000000" ] ]
  2298. edge [ source 596 target 606 graphics [ fill "#0000ff" ] ]
  2299. edge [ source 597 target 598 graphics [ fill "#000000" ] ]
  2300. edge [ source 597 target 601 graphics [ fill "#000000" ] ]
  2301. edge [ source 598 target 599 graphics [ fill "#000000" ] ]
  2302. edge [ source 598 target 602 graphics [ fill "#000000" ] ]
  2303. edge [ source 599 target 587 graphics [ fill "#0000ff" ] ]
  2304. edge [ source 588 target 587 graphics [ fill "#0000ff" ] ]
  2305. edge [ source 587 target 588 graphics [ fill "#000000" ] ]
  2306. edge [ source 587 target 600 graphics [ fill "#000000" ] ]
  2307. edge [ source 600 target 602 graphics [ fill "#0000ff" ] ]
  2308. edge [ source 601 target 602 graphics [ fill "#0000ff" ] ]
  2309. edge [ source 602 target 603 graphics [ fill "#000000" ] ]
  2310. edge [ source 602 target 605 graphics [ fill "#000000" ] ]
  2311. edge [ source 603 target 604 graphics [ fill "#000000" ] ]
  2312. edge [ source 603 target 605 graphics [ fill "#000000" ] ]
  2313. edge [ source 604 target 605 graphics [ fill "#0000ff" ] ]
  2314. edge [ source 605 target 606 graphics [ fill "#0000ff" ] ]
  2315. edge [ source 606 target 590 graphics [ fill "#000000" ] ]
  2316. node [ id 627 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  2317. if (spn != 0B)
  2318. goto <bb 7>; [INV]
  2319. else
  2320. goto <bb 9>; [INV]
  2321. " ]
  2322. node [ id 628 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  2323. _2 = spn->key;
  2324. spn2 = rhp_sp_next (sp, _2);
  2325. _3 = spn->key;
  2326. rhp_sp_remove (sp, _3);
  2327. spn = spn2;
  2328. " ]
  2329. # function number 27
  2330. node [ id 629 graphics [ fill "#ffffff" ] label "rhp_sp_delete ()
  2331. ENTRY" ]
  2332. node [ id 630 graphics [ fill "#ffffff" ] label "rhp_sp_delete ()
  2333. EXIT" ]
  2334. node [ id 631 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  2335. spp = 0B;
  2336. spn = 0B;
  2337. spn2 = 0B;
  2338. if (sp == 0B)
  2339. goto <bb 3>; [INV]
  2340. else
  2341. goto <bb 4>; [INV]
  2342. " ]
  2343. node [ id 632 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  2344. D.4593 = 0B;
  2345. // predicted unlikely by early return (on trees) predictor.
  2346. goto <bb 10>; [INV]
  2347. " ]
  2348. node [ id 633 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  2349. spp = sp;
  2350. _1 = spp->root;
  2351. if (_1 == 0B)
  2352. goto <bb 5>; [INV]
  2353. else
  2354. goto <bb 6>; [INV]
  2355. " ]
  2356. node [ id 634 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  2357. spp = rhp_free (spp, &__FUNCTION__, 1891);
  2358. D.4593 = 0B;
  2359. // predicted unlikely by early return (on trees) predictor.
  2360. goto <bb 10>; [INV]
  2361. " ]
  2362. node [ id 635 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  2363. spn = rhp_sp_min (sp);
  2364. goto <bb 8>; [INV]
  2365. " ]
  2366. node [ id 636 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  2367. spp = sp;
  2368. spp = rhp_free (spp, &__FUNCTION__, 1909);
  2369. D.4593 = 0B;
  2370. " ]
  2371. node [ id 637 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  2372. <L7>:
  2373. return D.4593;
  2374. " ]
  2375. edge [ source 629 target 631 graphics [ fill "#0000ff" ] ]
  2376. edge [ source 631 target 632 graphics [ fill "#000000" ] ]
  2377. edge [ source 631 target 633 graphics [ fill "#000000" ] ]
  2378. edge [ source 632 target 637 graphics [ fill "#0000ff" ] ]
  2379. edge [ source 633 target 634 graphics [ fill "#000000" ] ]
  2380. edge [ source 633 target 635 graphics [ fill "#000000" ] ]
  2381. edge [ source 634 target 637 graphics [ fill "#0000ff" ] ]
  2382. edge [ source 635 target 627 graphics [ fill "#0000ff" ] ]
  2383. edge [ source 628 target 627 graphics [ fill "#0000ff" ] ]
  2384. edge [ source 627 target 628 graphics [ fill "#000000" ] ]
  2385. edge [ source 627 target 636 graphics [ fill "#000000" ] ]
  2386. edge [ source 636 target 637 graphics [ fill "#0000ff" ] ]
  2387. edge [ source 637 target 630 graphics [ fill "#000000" ] ]
  2388. node [ id 649 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  2389. _5 = n->l;
  2390. if (_5 != 0B)
  2391. goto <bb 10>; [INV]
  2392. else
  2393. goto <bb 12>; [INV]
  2394. " ]
  2395. node [ id 650 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  2396. n = n->l;
  2397. " ]
  2398. # function number 28
  2399. node [ id 651 graphics [ fill "#ffffff" ] label "rhp_sp_next ()
  2400. ENTRY" ]
  2401. node [ id 652 graphics [ fill "#ffffff" ] label "rhp_sp_next ()
  2402. EXIT" ]
  2403. node [ id 653 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  2404. n = 0B;
  2405. if (sp == 0B)
  2406. goto <bb 3>; [INV]
  2407. else
  2408. goto <bb 4>; [INV]
  2409. " ]
  2410. node [ id 654 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  2411. D.4599 = 0B;
  2412. // predicted unlikely by early return (on trees) predictor.
  2413. goto <bb 13>; [INV]
  2414. " ]
  2415. node [ id 655 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  2416. _1 = sp->root;
  2417. if (_1 == 0B)
  2418. goto <bb 5>; [INV]
  2419. else
  2420. goto <bb 6>; [INV]
  2421. " ]
  2422. node [ id 656 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  2423. D.4599 = 0B;
  2424. // predicted unlikely by early return (on trees) predictor.
  2425. goto <bb 13>; [INV]
  2426. " ]
  2427. node [ id 657 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  2428. rhp_sp_sp (sp, key);
  2429. _2 = sp->root;
  2430. _3 = _2->key;
  2431. if (key < _3)
  2432. goto <bb 7>; [INV]
  2433. else
  2434. goto <bb 8>; [INV]
  2435. " ]
  2436. node [ id 658 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  2437. D.4599 = sp->root;
  2438. // predicted unlikely by early return (on trees) predictor.
  2439. goto <bb 13>; [INV]
  2440. " ]
  2441. node [ id 659 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  2442. _4 = sp->root;
  2443. n = _4->r;
  2444. if (n != 0B)
  2445. goto <bb 9>; [INV]
  2446. else
  2447. goto <bb 12>; [INV]
  2448. " ]
  2449. node [ id 660 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  2450. goto <bb 11>; [INV]
  2451. " ]
  2452. node [ id 661 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  2453. D.4599 = n;
  2454. " ]
  2455. node [ id 662 graphics [ fill "#d3d3d3" ] label "<bb 13>:
  2456. <L11>:
  2457. return D.4599;
  2458. " ]
  2459. edge [ source 651 target 653 graphics [ fill "#0000ff" ] ]
  2460. edge [ source 653 target 654 graphics [ fill "#000000" ] ]
  2461. edge [ source 653 target 655 graphics [ fill "#000000" ] ]
  2462. edge [ source 654 target 662 graphics [ fill "#0000ff" ] ]
  2463. edge [ source 655 target 656 graphics [ fill "#000000" ] ]
  2464. edge [ source 655 target 657 graphics [ fill "#000000" ] ]
  2465. edge [ source 656 target 662 graphics [ fill "#0000ff" ] ]
  2466. edge [ source 657 target 658 graphics [ fill "#000000" ] ]
  2467. edge [ source 657 target 659 graphics [ fill "#000000" ] ]
  2468. edge [ source 658 target 662 graphics [ fill "#0000ff" ] ]
  2469. edge [ source 659 target 660 graphics [ fill "#000000" ] ]
  2470. edge [ source 659 target 661 graphics [ fill "#000000" ] ]
  2471. edge [ source 660 target 649 graphics [ fill "#0000ff" ] ]
  2472. edge [ source 650 target 649 graphics [ fill "#0000ff" ] ]
  2473. edge [ source 649 target 650 graphics [ fill "#000000" ] ]
  2474. edge [ source 649 target 661 graphics [ fill "#000000" ] ]
  2475. edge [ source 661 target 662 graphics [ fill "#0000ff" ] ]
  2476. edge [ source 662 target 652 graphics [ fill "#000000" ] ]
  2477. # function number 29
  2478. node [ id 677 graphics [ fill "#ffffff" ] label "rhp_sp_lookup ()
  2479. ENTRY" ]
  2480. node [ id 678 graphics [ fill "#ffffff" ] label "rhp_sp_lookup ()
  2481. EXIT" ]
  2482. node [ id 679 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  2483. s = "not-found";
  2484. if (sp == 0B)
  2485. goto <bb 3>; [INV]
  2486. else
  2487. goto <bb 4>; [INV]
  2488. " ]
  2489. node [ id 680 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  2490. D.4609 = 0B;
  2491. // predicted unlikely by early return (on trees) predictor.
  2492. goto <bb 18>; [INV]
  2493. " ]
  2494. node [ id 681 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  2495. _1 = sp->root;
  2496. if (_1 == 0B)
  2497. goto <bb 5>; [INV]
  2498. else
  2499. goto <bb 6>; [INV]
  2500. " ]
  2501. node [ id 682 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  2502. D.4609 = 0B;
  2503. // predicted unlikely by early return (on trees) predictor.
  2504. goto <bb 18>; [INV]
  2505. " ]
  2506. node [ id 683 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  2507. _2 = sp->root;
  2508. _3 = _2->key;
  2509. if (key == _3)
  2510. goto <bb 7>; [INV]
  2511. else
  2512. goto <bb 8>; [INV]
  2513. " ]
  2514. node [ id 684 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  2515. D.4609 = sp->root;
  2516. // predicted unlikely by early return (on trees) predictor.
  2517. goto <bb 18>; [INV]
  2518. " ]
  2519. node [ id 685 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  2520. rhp_sp_sp (sp, key);
  2521. _4 = sp->root;
  2522. if (_4 == 0B)
  2523. goto <bb 9>; [INV]
  2524. else
  2525. goto <bb 10>; [INV]
  2526. " ]
  2527. node [ id 686 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  2528. D.4609 = 0B;
  2529. // predicted unlikely by early return (on trees) predictor.
  2530. goto <bb 18>; [INV]
  2531. " ]
  2532. node [ id 687 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  2533. _5 = sp->root;
  2534. _6 = _5->key;
  2535. if (key == _6)
  2536. goto <bb 11>; [INV]
  2537. else
  2538. goto <bb 12>; [INV]
  2539. " ]
  2540. node [ id 688 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  2541. s = "found";
  2542. goto <bb 13>; [INV]
  2543. " ]
  2544. node [ id 689 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  2545. s = "not-found";
  2546. " ]
  2547. node [ id 690 graphics [ fill "#d3d3d3" ] label "<bb 13>:
  2548. rhp_verbose.113_7 = rhp_verbose;
  2549. if (rhp_verbose.113_7 != 0)
  2550. goto <bb 14>; [INV]
  2551. else
  2552. goto <bb 15>; [INV]
  2553. " ]
  2554. node [ id 691 graphics [ fill "#d3d3d3" ] label "<bb 14>:
  2555. key.114_8 = (long unsigned int) key;
  2556. _9 = sp->root;
  2557. _10 = _9->key;
  2558. _11 = (long unsigned int) _10;
  2559. rhp_log ("%s(): %s in sp (%p) at %li when search for %li\n", &__FUNCTION__, s, sp, _11, key.114_8);
  2560. " ]
  2561. node [ id 692 graphics [ fill "#d3d3d3" ] label "<bb 15>:
  2562. _12 = sp->root;
  2563. _13 = _12->key;
  2564. if (key == _13)
  2565. goto <bb 16>; [INV]
  2566. else
  2567. goto <bb 17>; [INV]
  2568. " ]
  2569. node [ id 693 graphics [ fill "#d3d3d3" ] label "<bb 16>:
  2570. D.4609 = sp->root;
  2571. // predicted unlikely by early return (on trees) predictor.
  2572. goto <bb 18>; [INV]
  2573. " ]
  2574. node [ id 694 graphics [ fill "#d3d3d3" ] label "<bb 17>:
  2575. D.4609 = 0B;
  2576. " ]
  2577. node [ id 695 graphics [ fill "#d3d3d3" ] label "<bb 18>:
  2578. <L15>:
  2579. return D.4609;
  2580. " ]
  2581. edge [ source 677 target 679 graphics [ fill "#0000ff" ] ]
  2582. edge [ source 679 target 680 graphics [ fill "#000000" ] ]
  2583. edge [ source 679 target 681 graphics [ fill "#000000" ] ]
  2584. edge [ source 680 target 695 graphics [ fill "#0000ff" ] ]
  2585. edge [ source 681 target 682 graphics [ fill "#000000" ] ]
  2586. edge [ source 681 target 683 graphics [ fill "#000000" ] ]
  2587. edge [ source 682 target 695 graphics [ fill "#0000ff" ] ]
  2588. edge [ source 683 target 684 graphics [ fill "#000000" ] ]
  2589. edge [ source 683 target 685 graphics [ fill "#000000" ] ]
  2590. edge [ source 684 target 695 graphics [ fill "#0000ff" ] ]
  2591. edge [ source 685 target 686 graphics [ fill "#000000" ] ]
  2592. edge [ source 685 target 687 graphics [ fill "#000000" ] ]
  2593. edge [ source 686 target 695 graphics [ fill "#0000ff" ] ]
  2594. edge [ source 687 target 688 graphics [ fill "#000000" ] ]
  2595. edge [ source 687 target 689 graphics [ fill "#000000" ] ]
  2596. edge [ source 688 target 690 graphics [ fill "#0000ff" ] ]
  2597. edge [ source 689 target 690 graphics [ fill "#0000ff" ] ]
  2598. edge [ source 690 target 691 graphics [ fill "#000000" ] ]
  2599. edge [ source 690 target 692 graphics [ fill "#000000" ] ]
  2600. edge [ source 691 target 692 graphics [ fill "#0000ff" ] ]
  2601. edge [ source 692 target 693 graphics [ fill "#000000" ] ]
  2602. edge [ source 692 target 694 graphics [ fill "#000000" ] ]
  2603. edge [ source 693 target 695 graphics [ fill "#0000ff" ] ]
  2604. edge [ source 694 target 695 graphics [ fill "#0000ff" ] ]
  2605. edge [ source 695 target 678 graphics [ fill "#000000" ] ]
  2606. node [ id 715 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  2607. label:
  2608. n = sp->root;
  2609. if (n == 0B)
  2610. goto <bb 7>; [INV]
  2611. else
  2612. goto <bb 8>; [INV]
  2613. " ]
  2614. node [ id 716 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  2615. rhp_verbose.115_2 = rhp_verbose;
  2616. if (rhp_verbose.115_2 != 0)
  2617. goto <bb 9>; [INV]
  2618. else
  2619. goto <bb 10>; [INV]
  2620. " ]
  2621. node [ id 717 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  2622. key.116_3 = (long unsigned int) key;
  2623. _4 = n->key;
  2624. _5 = (long unsigned int) _4;
  2625. rhp_log ("%s(): at %li when search for %li\n", &__FUNCTION__, _5, key.116_3);
  2626. " ]
  2627. node [ id 718 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  2628. _6 = n->key;
  2629. if (key == _6)
  2630. goto <bb 11>; [INV]
  2631. else
  2632. goto <bb 12>; [INV]
  2633. " ]
  2634. node [ id 719 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  2635. _7 = n->key;
  2636. if (key < _7)
  2637. goto <bb 13>; [INV]
  2638. else
  2639. goto <bb 14>; [INV]
  2640. " ]
  2641. node [ id 720 graphics [ fill "#d3d3d3" ] label "<bb 13>:
  2642. c = n->l;
  2643. goto <bb 15>; [INV]
  2644. " ]
  2645. node [ id 721 graphics [ fill "#d3d3d3" ] label "<bb 14>:
  2646. c = n->r;
  2647. " ]
  2648. node [ id 722 graphics [ fill "#d3d3d3" ] label "<bb 15>:
  2649. if (c == 0B)
  2650. goto <bb 16>; [INV]
  2651. else
  2652. goto <bb 19>; [INV]
  2653. " ]
  2654. node [ id 723 graphics [ fill "#d3d3d3" ] label "<bb 19>:
  2655. _13 = c->key;
  2656. if (key == _13)
  2657. goto <bb 24>; [INV]
  2658. else
  2659. goto <bb 20>; [INV]
  2660. " ]
  2661. node [ id 724 graphics [ fill "#d3d3d3" ] label "<bb 20>:
  2662. _14 = c->key;
  2663. if (key < _14)
  2664. goto <bb 21>; [INV]
  2665. else
  2666. goto <bb 22>; [INV]
  2667. " ]
  2668. node [ id 725 graphics [ fill "#d3d3d3" ] label "<bb 21>:
  2669. _15 = c->l;
  2670. if (_15 == 0B)
  2671. goto <bb 24>; [INV]
  2672. else
  2673. goto <bb 22>; [INV]
  2674. " ]
  2675. node [ id 726 graphics [ fill "#d3d3d3" ] label "<bb 22>:
  2676. _16 = c->key;
  2677. if (key > _16)
  2678. goto <bb 23>; [INV]
  2679. else
  2680. goto <bb 28>; [INV]
  2681. " ]
  2682. node [ id 727 graphics [ fill "#d3d3d3" ] label "<bb 23>:
  2683. _17 = c->r;
  2684. if (_17 == 0B)
  2685. goto <bb 24>; [INV]
  2686. else
  2687. goto <bb 28>; [INV]
  2688. " ]
  2689. node [ id 728 graphics [ fill "#d3d3d3" ] label "<bb 28>:
  2690. _21 = n->key;
  2691. if (key < _21)
  2692. goto <bb 29>; [INV]
  2693. else
  2694. goto <bb 31>; [INV]
  2695. " ]
  2696. node [ id 729 graphics [ fill "#d3d3d3" ] label "<bb 29>:
  2697. _22 = c->key;
  2698. if (key < _22)
  2699. goto <bb 30>; [INV]
  2700. else
  2701. goto <bb 31>; [INV]
  2702. " ]
  2703. node [ id 730 graphics [ fill "#d3d3d3" ] label "<bb 31>:
  2704. _27 = n->key;
  2705. if (key > _27)
  2706. goto <bb 32>; [INV]
  2707. else
  2708. goto <bb 34>; [INV]
  2709. " ]
  2710. node [ id 731 graphics [ fill "#d3d3d3" ] label "<bb 30>:
  2711. _23 = c->l;
  2712. _24 = &n->l;
  2713. rhp_sp_sp_rl (_24, c, _23);
  2714. _25 = n->l;
  2715. _26 = &sp->root;
  2716. rhp_sp_sp_rl (_26, n, _25);
  2717. goto <bb 40>; [INV]
  2718. " ]
  2719. node [ id 732 graphics [ fill "#d3d3d3" ] label "<bb 32>:
  2720. _28 = c->key;
  2721. if (key > _28)
  2722. goto <bb 33>; [INV]
  2723. else
  2724. goto <bb 34>; [INV]
  2725. " ]
  2726. node [ id 733 graphics [ fill "#d3d3d3" ] label "<bb 34>:
  2727. _33 = n->key;
  2728. if (key < _33)
  2729. goto <bb 35>; [INV]
  2730. else
  2731. goto <bb 37>; [INV]
  2732. " ]
  2733. node [ id 734 graphics [ fill "#d3d3d3" ] label "<bb 40>:
  2734. // predicted unlikely by goto predictor.
  2735. goto <bb 6>; [INV]
  2736. " ]
  2737. node [ id 735 graphics [ fill "#d3d3d3" ] label "<bb 33>:
  2738. _29 = c->r;
  2739. _30 = &n->r;
  2740. rhp_sp_sp_rr (_30, c, _29);
  2741. _31 = n->r;
  2742. _32 = &sp->root;
  2743. rhp_sp_sp_rr (_32, n, _31);
  2744. goto <bb 40>; [INV]
  2745. " ]
  2746. node [ id 736 graphics [ fill "#d3d3d3" ] label "<bb 35>:
  2747. _34 = c->key;
  2748. if (key > _34)
  2749. goto <bb 36>; [INV]
  2750. else
  2751. goto <bb 37>; [INV]
  2752. " ]
  2753. node [ id 737 graphics [ fill "#d3d3d3" ] label "<bb 37>:
  2754. _39 = n->key;
  2755. if (key > _39)
  2756. goto <bb 38>; [INV]
  2757. else
  2758. goto <bb 40>; [INV]
  2759. " ]
  2760. node [ id 738 graphics [ fill "#d3d3d3" ] label "<bb 36>:
  2761. _35 = c->r;
  2762. _36 = &n->l;
  2763. rhp_sp_sp_rr (_36, c, _35);
  2764. _37 = n->l;
  2765. _38 = &sp->root;
  2766. rhp_sp_sp_rl (_38, n, _37);
  2767. goto <bb 40>; [INV]
  2768. " ]
  2769. node [ id 739 graphics [ fill "#d3d3d3" ] label "<bb 38>:
  2770. _40 = c->key;
  2771. if (key < _40)
  2772. goto <bb 39>; [INV]
  2773. else
  2774. goto <bb 40>; [INV]
  2775. " ]
  2776. node [ id 740 graphics [ fill "#d3d3d3" ] label "<bb 39>:
  2777. _41 = c->l;
  2778. _42 = &n->r;
  2779. rhp_sp_sp_rl (_42, c, _41);
  2780. _43 = n->r;
  2781. _44 = &sp->root;
  2782. rhp_sp_sp_rr (_44, n, _43);
  2783. " ]
  2784. # function number 32
  2785. node [ id 741 graphics [ fill "#ffffff" ] label "rhp_sp_sp ()
  2786. ENTRY" ]
  2787. node [ id 742 graphics [ fill "#ffffff" ] label "rhp_sp_sp ()
  2788. EXIT" ]
  2789. node [ id 743 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  2790. n = 0B;
  2791. c = 0B;
  2792. if (sp == 0B)
  2793. goto <bb 3>; [INV]
  2794. else
  2795. goto <bb 4>; [INV]
  2796. " ]
  2797. node [ id 744 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  2798. // predicted unlikely by early return (on trees) predictor.
  2799. goto <bb 41>; [INV]
  2800. " ]
  2801. node [ id 745 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  2802. _1 = sp->root;
  2803. if (_1 == 0B)
  2804. goto <bb 5>; [INV]
  2805. else
  2806. goto <bb 6>; [INV]
  2807. " ]
  2808. node [ id 746 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  2809. // predicted unlikely by early return (on trees) predictor.
  2810. goto <bb 41>; [INV]
  2811. " ]
  2812. node [ id 747 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  2813. // predicted unlikely by early return (on trees) predictor.
  2814. goto <bb 41>; [INV]
  2815. " ]
  2816. node [ id 748 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  2817. // predicted unlikely by early return (on trees) predictor.
  2818. goto <bb 41>; [INV]
  2819. " ]
  2820. node [ id 749 graphics [ fill "#d3d3d3" ] label "<bb 16>:
  2821. rhp_verbose.117_8 = rhp_verbose;
  2822. if (rhp_verbose.117_8 != 0)
  2823. goto <bb 17>; [INV]
  2824. else
  2825. goto <bb 18>; [INV]
  2826. " ]
  2827. node [ id 750 graphics [ fill "#d3d3d3" ] label "<bb 17>:
  2828. key.118_9 = (long unsigned int) key;
  2829. _10 = sp->root;
  2830. _11 = _10->key;
  2831. _12 = (long unsigned int) _11;
  2832. rhp_log ("%s(): c=<nil> at %li when search for %li\n", &__FUNCTION__, _12, key.118_9);
  2833. " ]
  2834. node [ id 751 graphics [ fill "#d3d3d3" ] label "<bb 18>:
  2835. // predicted unlikely by early return (on trees) predictor.
  2836. goto <bb 41>; [INV]
  2837. " ]
  2838. node [ id 752 graphics [ fill "#d3d3d3" ] label "<bb 24>:
  2839. _18 = n->key;
  2840. if (key < _18)
  2841. goto <bb 25>; [INV]
  2842. else
  2843. goto <bb 26>; [INV]
  2844. " ]
  2845. node [ id 753 graphics [ fill "#d3d3d3" ] label "<bb 25>:
  2846. _19 = &sp->root;
  2847. rhp_sp_sp_rl (_19, n, c);
  2848. goto <bb 27>; [INV]
  2849. " ]
  2850. node [ id 754 graphics [ fill "#d3d3d3" ] label "<bb 26>:
  2851. _20 = &sp->root;
  2852. rhp_sp_sp_rr (_20, n, c);
  2853. " ]
  2854. node [ id 755 graphics [ fill "#d3d3d3" ] label "<bb 27>:
  2855. // predicted unlikely by early return (on trees) predictor.
  2856. goto <bb 41>; [INV]
  2857. " ]
  2858. node [ id 756 graphics [ fill "#d3d3d3" ] label "<bb 41>:
  2859. <L44>:
  2860. return;
  2861. " ]
  2862. edge [ source 741 target 743 graphics [ fill "#0000ff" ] ]
  2863. edge [ source 743 target 744 graphics [ fill "#000000" ] ]
  2864. edge [ source 743 target 745 graphics [ fill "#000000" ] ]
  2865. edge [ source 744 target 756 graphics [ fill "#0000ff" ] ]
  2866. edge [ source 745 target 746 graphics [ fill "#000000" ] ]
  2867. edge [ source 745 target 715 graphics [ fill "#000000" ] ]
  2868. edge [ source 746 target 756 graphics [ fill "#0000ff" ] ]
  2869. edge [ source 715 target 747 graphics [ fill "#000000" ] ]
  2870. edge [ source 715 target 716 graphics [ fill "#000000" ] ]
  2871. edge [ source 747 target 756 graphics [ fill "#0000ff" ] ]
  2872. edge [ source 716 target 717 graphics [ fill "#000000" ] ]
  2873. edge [ source 716 target 718 graphics [ fill "#000000" ] ]
  2874. edge [ source 717 target 718 graphics [ fill "#0000ff" ] ]
  2875. edge [ source 718 target 748 graphics [ fill "#000000" ] ]
  2876. edge [ source 718 target 719 graphics [ fill "#000000" ] ]
  2877. edge [ source 748 target 756 graphics [ fill "#0000ff" ] ]
  2878. edge [ source 719 target 720 graphics [ fill "#000000" ] ]
  2879. edge [ source 719 target 721 graphics [ fill "#000000" ] ]
  2880. edge [ source 720 target 722 graphics [ fill "#0000ff" ] ]
  2881. edge [ source 721 target 722 graphics [ fill "#0000ff" ] ]
  2882. edge [ source 722 target 749 graphics [ fill "#000000" ] ]
  2883. edge [ source 722 target 723 graphics [ fill "#000000" ] ]
  2884. edge [ source 749 target 750 graphics [ fill "#000000" ] ]
  2885. edge [ source 749 target 751 graphics [ fill "#000000" ] ]
  2886. edge [ source 750 target 751 graphics [ fill "#0000ff" ] ]
  2887. edge [ source 751 target 756 graphics [ fill "#0000ff" ] ]
  2888. edge [ source 723 target 752 graphics [ fill "#000000" ] ]
  2889. edge [ source 723 target 724 graphics [ fill "#000000" ] ]
  2890. edge [ source 724 target 725 graphics [ fill "#000000" ] ]
  2891. edge [ source 724 target 726 graphics [ fill "#000000" ] ]
  2892. edge [ source 725 target 752 graphics [ fill "#000000" ] ]
  2893. edge [ source 725 target 726 graphics [ fill "#000000" ] ]
  2894. edge [ source 726 target 727 graphics [ fill "#000000" ] ]
  2895. edge [ source 726 target 728 graphics [ fill "#000000" ] ]
  2896. edge [ source 727 target 752 graphics [ fill "#000000" ] ]
  2897. edge [ source 727 target 728 graphics [ fill "#000000" ] ]
  2898. edge [ source 752 target 753 graphics [ fill "#000000" ] ]
  2899. edge [ source 752 target 754 graphics [ fill "#000000" ] ]
  2900. edge [ source 753 target 755 graphics [ fill "#0000ff" ] ]
  2901. edge [ source 754 target 755 graphics [ fill "#0000ff" ] ]
  2902. edge [ source 755 target 756 graphics [ fill "#0000ff" ] ]
  2903. edge [ source 728 target 729 graphics [ fill "#000000" ] ]
  2904. edge [ source 728 target 730 graphics [ fill "#000000" ] ]
  2905. edge [ source 729 target 731 graphics [ fill "#000000" ] ]
  2906. edge [ source 729 target 730 graphics [ fill "#000000" ] ]
  2907. edge [ source 731 target 734 graphics [ fill "#0000ff" ] ]
  2908. edge [ source 730 target 732 graphics [ fill "#000000" ] ]
  2909. edge [ source 730 target 733 graphics [ fill "#000000" ] ]
  2910. edge [ source 732 target 735 graphics [ fill "#000000" ] ]
  2911. edge [ source 732 target 733 graphics [ fill "#000000" ] ]
  2912. edge [ source 735 target 734 graphics [ fill "#0000ff" ] ]
  2913. edge [ source 733 target 736 graphics [ fill "#000000" ] ]
  2914. edge [ source 733 target 737 graphics [ fill "#000000" ] ]
  2915. edge [ source 736 target 738 graphics [ fill "#000000" ] ]
  2916. edge [ source 736 target 737 graphics [ fill "#000000" ] ]
  2917. edge [ source 738 target 734 graphics [ fill "#0000ff" ] ]
  2918. edge [ source 737 target 739 graphics [ fill "#000000" ] ]
  2919. edge [ source 737 target 734 graphics [ fill "#000000" ] ]
  2920. edge [ source 739 target 740 graphics [ fill "#000000" ] ]
  2921. edge [ source 739 target 734 graphics [ fill "#000000" ] ]
  2922. edge [ source 740 target 734 graphics [ fill "#0000ff" ] ]
  2923. edge [ source 734 target 715 graphics [ fill "#0000ff" ] ]
  2924. edge [ source 756 target 742 graphics [ fill "#000000" ] ]
  2925. # function number 30
  2926. node [ id 799 graphics [ fill "#ffffff" ] label "rhp_sp_sp_rl ()
  2927. ENTRY" ]
  2928. node [ id 800 graphics [ fill "#ffffff" ] label "rhp_sp_sp_rl ()
  2929. EXIT" ]
  2930. node [ id 801 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  2931. tmp = 0B;
  2932. tmp = n->r;
  2933. n->r = p;
  2934. p->l = tmp;
  2935. *pp = n;
  2936. " ]
  2937. node [ id 802 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  2938. <L0>:
  2939. return;
  2940. " ]
  2941. edge [ source 799 target 801 graphics [ fill "#0000ff" ] ]
  2942. edge [ source 801 target 802 graphics [ fill "#0000ff" ] ]
  2943. edge [ source 802 target 800 graphics [ fill "#000000" ] ]
  2944. # function number 31
  2945. node [ id 807 graphics [ fill "#ffffff" ] label "rhp_sp_sp_rr ()
  2946. ENTRY" ]
  2947. node [ id 808 graphics [ fill "#ffffff" ] label "rhp_sp_sp_rr ()
  2948. EXIT" ]
  2949. node [ id 809 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  2950. tmp = 0B;
  2951. tmp = n->l;
  2952. n->l = p;
  2953. p->r = tmp;
  2954. *pp = n;
  2955. " ]
  2956. node [ id 810 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  2957. <L0>:
  2958. return;
  2959. " ]
  2960. edge [ source 807 target 809 graphics [ fill "#0000ff" ] ]
  2961. edge [ source 809 target 810 graphics [ fill "#0000ff" ] ]
  2962. edge [ source 810 target 808 graphics [ fill "#000000" ] ]
  2963. node [ id 815 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  2964. _2 = *p;
  2965. if (_2 != 0)
  2966. goto <bb 3>; [INV]
  2967. else
  2968. goto <bb 7>; [INV]
  2969. " ]
  2970. node [ id 816 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  2971. _1 = *p;
  2972. if (_1 == 33)
  2973. goto <bb 4>; [INV]
  2974. else
  2975. goto <bb 5>; [INV]
  2976. " ]
  2977. node [ id 817 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  2978. q = p;
  2979. " ]
  2980. node [ id 818 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  2981. p = p + 1;
  2982. " ]
  2983. # function number 33
  2984. node [ id 819 graphics [ fill "#ffffff" ] label "rhp_log ()
  2985. ENTRY" ]
  2986. node [ id 820 graphics [ fill "#ffffff" ] label "rhp_log ()
  2987. EXIT" ]
  2988. node [ id 821 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  2989. p = 0B;
  2990. q = 0B;
  2991. p = format;
  2992. q = 0B;
  2993. goto <bb 6>; [INV]
  2994. " ]
  2995. node [ id 822 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  2996. if (q != 0B)
  2997. goto <bb 8>; [INV]
  2998. else
  2999. goto <bb 9>; [INV]
  3000. " ]
  3001. node [ id 823 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  3002. __builtin_va_start (&ap, 0);
  3003. stderr.119_3 = stderr;
  3004. vfprintf (stderr.119_3, format, &ap);
  3005. __builtin_va_end (&ap);
  3006. stderr.120_4 = stderr;
  3007. fflush (stderr.120_4);
  3008. " ]
  3009. node [ id 824 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  3010. rhp_dolog.121_5 = rhp_dolog;
  3011. if (rhp_dolog.121_5 == 0)
  3012. goto <bb 10>; [INV]
  3013. else
  3014. goto <bb 11>; [INV]
  3015. " ]
  3016. node [ id 825 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  3017. // predicted unlikely by early return (on trees) predictor.
  3018. goto <bb 14>; [INV]
  3019. " ]
  3020. node [ id 826 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  3021. rhp_logstream.122_6 = rhp_logstream;
  3022. if (rhp_logstream.122_6 == 0B)
  3023. goto <bb 12>; [INV]
  3024. else
  3025. goto <bb 13>; [INV]
  3026. " ]
  3027. node [ id 827 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  3028. // predicted unlikely by early return (on trees) predictor.
  3029. goto <bb 14>; [INV]
  3030. " ]
  3031. node [ id 828 graphics [ fill "#d3d3d3" ] label "<bb 13>:
  3032. __builtin_va_start (&ap, 0);
  3033. rhp_logstream.123_7 = rhp_logstream;
  3034. vfprintf (rhp_logstream.123_7, format, &ap);
  3035. __builtin_va_end (&ap);
  3036. rhp_logstream.124_8 = rhp_logstream;
  3037. fflush (rhp_logstream.124_8);
  3038. " ]
  3039. node [ id 829 graphics [ fill "#d3d3d3" ] label "<bb 14>:
  3040. ap = {CLOBBER};
  3041. " ]
  3042. node [ id 830 graphics [ fill "#d3d3d3" ] label "<bb 15>:
  3043. <L12>:
  3044. return;
  3045. " ]
  3046. edge [ source 819 target 821 graphics [ fill "#0000ff" ] ]
  3047. edge [ source 821 target 815 graphics [ fill "#0000ff" ] ]
  3048. edge [ source 816 target 817 graphics [ fill "#000000" ] ]
  3049. edge [ source 816 target 818 graphics [ fill "#000000" ] ]
  3050. edge [ source 817 target 818 graphics [ fill "#0000ff" ] ]
  3051. edge [ source 818 target 815 graphics [ fill "#0000ff" ] ]
  3052. edge [ source 815 target 816 graphics [ fill "#000000" ] ]
  3053. edge [ source 815 target 822 graphics [ fill "#000000" ] ]
  3054. edge [ source 822 target 823 graphics [ fill "#000000" ] ]
  3055. edge [ source 822 target 824 graphics [ fill "#000000" ] ]
  3056. edge [ source 823 target 824 graphics [ fill "#0000ff" ] ]
  3057. edge [ source 824 target 825 graphics [ fill "#000000" ] ]
  3058. edge [ source 824 target 826 graphics [ fill "#000000" ] ]
  3059. edge [ source 825 target 829 graphics [ fill "#0000ff" ] ]
  3060. edge [ source 826 target 827 graphics [ fill "#000000" ] ]
  3061. edge [ source 826 target 828 graphics [ fill "#000000" ] ]
  3062. edge [ source 827 target 829 graphics [ fill "#0000ff" ] ]
  3063. edge [ source 828 target 829 graphics [ fill "#0000ff" ] ]
  3064. edge [ source 829 target 830 graphics [ fill "#0000ff" ] ]
  3065. edge [ source 830 target 820 graphics [ fill "#000000" ] ]
  3066. node [ id 847 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  3067. rhp_nlevels.131_24 = rhp_nlevels;
  3068. if (level < rhp_nlevels.131_24)
  3069. goto <bb 5>; [INV]
  3070. else
  3071. goto <bb 9>; [INV]
  3072. " ]
  3073. node [ id 848 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  3074. rhp_best_crossings_order.128_6 = rhp_best_crossings_order;
  3075. _7 = rhp_best_crossings_order.128_6->node_ptr_on_layer;
  3076. _8 = (long unsigned int) level;
  3077. _9 = _8 * 8;
  3078. _10 = _7 + _9;
  3079. _11 = *_10;
  3080. if (_11 != 0B)
  3081. goto <bb 6>; [INV]
  3082. else
  3083. goto <bb 7>; [INV]
  3084. " ]
  3085. node [ id 849 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  3086. rhp_best_crossings_order.129_12 = rhp_best_crossings_order;
  3087. _13 = rhp_best_crossings_order.129_12->node_ptr_on_layer;
  3088. _14 = (long unsigned int) level;
  3089. _15 = _14 * 8;
  3090. _16 = _13 + _15;
  3091. _17 = *_16;
  3092. rhp_best_crossings_order.130_18 = rhp_best_crossings_order;
  3093. _19 = rhp_best_crossings_order.130_18->node_ptr_on_layer;
  3094. _20 = (long unsigned int) level;
  3095. _21 = _20 * 8;
  3096. _22 = _19 + _21;
  3097. _23 = rhp_free (_17, &__FUNCTION__, 2195);
  3098. *_22 = _23;
  3099. " ]
  3100. node [ id 850 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  3101. level = level + 1;
  3102. " ]
  3103. # function number 34
  3104. node [ id 851 graphics [ fill "#ffffff" ] label "rhp_empty_best_crossings_order ()
  3105. ENTRY" ]
  3106. node [ id 852 graphics [ fill "#ffffff" ] label "rhp_empty_best_crossings_order ()
  3107. EXIT" ]
  3108. node [ id 853 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  3109. level = 0;
  3110. rhp_log ("%s():\n", &__FUNCTION__);
  3111. rhp_best_crossings_order.125_1 = rhp_best_crossings_order;
  3112. if (rhp_best_crossings_order.125_1 == 0B)
  3113. goto <bb 3>; [INV]
  3114. else
  3115. goto <bb 4>; [INV]
  3116. " ]
  3117. node [ id 854 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  3118. rhp_log ("%s(): no data\n", &__FUNCTION__);
  3119. // predicted unlikely by early return (on trees) predictor.
  3120. goto <bb 12>; [INV]
  3121. " ]
  3122. node [ id 855 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  3123. rhp_best_crossings_order.126_2 = rhp_best_crossings_order;
  3124. _3 = rhp_best_crossings_order.126_2->num_nodes_on_layer;
  3125. rhp_best_crossings_order.127_4 = rhp_best_crossings_order;
  3126. _5 = rhp_free (_3, &__FUNCTION__, 2187);
  3127. rhp_best_crossings_order.127_4->num_nodes_on_layer = _5;
  3128. level = 0;
  3129. goto <bb 8>; [INV]
  3130. " ]
  3131. node [ id 856 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  3132. rhp_best_crossings_order.132_25 = rhp_best_crossings_order;
  3133. _26 = rhp_best_crossings_order.132_25->node_ptr_on_layer;
  3134. if (_26 != 0B)
  3135. goto <bb 10>; [INV]
  3136. else
  3137. goto <bb 11>; [INV]
  3138. " ]
  3139. node [ id 857 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  3140. rhp_best_crossings_order.133_27 = rhp_best_crossings_order;
  3141. _28 = rhp_best_crossings_order.133_27->node_ptr_on_layer;
  3142. rhp_best_crossings_order.134_29 = rhp_best_crossings_order;
  3143. _30 = rhp_free (_28, &__FUNCTION__, 2203);
  3144. rhp_best_crossings_order.134_29->node_ptr_on_layer = _30;
  3145. " ]
  3146. node [ id 858 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  3147. " ]
  3148. node [ id 859 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  3149. <L9>:
  3150. return;
  3151. " ]
  3152. edge [ source 851 target 853 graphics [ fill "#0000ff" ] ]
  3153. edge [ source 853 target 854 graphics [ fill "#000000" ] ]
  3154. edge [ source 853 target 855 graphics [ fill "#000000" ] ]
  3155. edge [ source 854 target 859 graphics [ fill "#0000ff" ] ]
  3156. edge [ source 855 target 847 graphics [ fill "#0000ff" ] ]
  3157. edge [ source 848 target 849 graphics [ fill "#000000" ] ]
  3158. edge [ source 848 target 850 graphics [ fill "#000000" ] ]
  3159. edge [ source 849 target 850 graphics [ fill "#0000ff" ] ]
  3160. edge [ source 850 target 847 graphics [ fill "#0000ff" ] ]
  3161. edge [ source 847 target 848 graphics [ fill "#000000" ] ]
  3162. edge [ source 847 target 856 graphics [ fill "#000000" ] ]
  3163. edge [ source 856 target 857 graphics [ fill "#000000" ] ]
  3164. edge [ source 856 target 858 graphics [ fill "#000000" ] ]
  3165. edge [ source 857 target 858 graphics [ fill "#0000ff" ] ]
  3166. edge [ source 858 target 859 graphics [ fill "#0000ff" ] ]
  3167. edge [ source 859 target 852 graphics [ fill "#000000" ] ]
  3168. node [ id 873 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  3169. if (spn != 0B)
  3170. goto <bb 10>; [INV]
  3171. else
  3172. goto <bb 12>; [INV]
  3173. " ]
  3174. node [ id 874 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  3175. _12 = spn->value;
  3176. _13 = (void *) _12;
  3177. rhp_free (_13, &__FUNCTION__, 2245);
  3178. spn->value = 0;
  3179. _14 = spn->key;
  3180. rhp_sp_master_node_list_sorted.138_15 = rhp_sp_master_node_list_sorted;
  3181. spn = rhp_sp_next (rhp_sp_master_node_list_sorted.138_15, _14);
  3182. " ]
  3183. node [ id 875 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  3184. if (spn != 0B)
  3185. goto <bb 3>; [INV]
  3186. else
  3187. goto <bb 9>; [INV]
  3188. " ]
  3189. node [ id 876 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  3190. _2 = spn->value;
  3191. nd = (struct rhpnode *) _2;
  3192. _3 = nd->up_edges;
  3193. if (_3 != 0B)
  3194. goto <bb 4>; [INV]
  3195. else
  3196. goto <bb 5>; [INV]
  3197. " ]
  3198. node [ id 877 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  3199. _4 = nd->up_edges;
  3200. _5 = rhp_free (_4, &__FUNCTION__, 2227);
  3201. nd->up_edges = _5;
  3202. nd->up_degree = 0;
  3203. " ]
  3204. node [ id 878 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  3205. _6 = nd->down_edges;
  3206. if (_6 != 0B)
  3207. goto <bb 6>; [INV]
  3208. else
  3209. goto <bb 7>; [INV]
  3210. " ]
  3211. node [ id 879 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  3212. _7 = nd->down_edges;
  3213. _8 = rhp_free (_7, &__FUNCTION__, 2233);
  3214. nd->down_edges = _8;
  3215. nd->down_degree = 0;
  3216. " ]
  3217. node [ id 880 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  3218. _9 = spn->key;
  3219. rhp_sp_master_node_list.136_10 = rhp_sp_master_node_list;
  3220. spn = rhp_sp_next (rhp_sp_master_node_list.136_10, _9);
  3221. " ]
  3222. # function number 35
  3223. node [ id 881 graphics [ fill "#ffffff" ] label "rhp_empty_sp_master_node_list ()
  3224. ENTRY" ]
  3225. node [ id 882 graphics [ fill "#ffffff" ] label "rhp_empty_sp_master_node_list ()
  3226. EXIT" ]
  3227. node [ id 883 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  3228. spn = 0B;
  3229. nd = 0B;
  3230. rhp_log ("%s():\n", &__FUNCTION__);
  3231. rhp_sp_master_node_list.135_1 = rhp_sp_master_node_list;
  3232. spn = rhp_sp_min (rhp_sp_master_node_list.135_1);
  3233. goto <bb 8>; [INV]
  3234. " ]
  3235. node [ id 884 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  3236. rhp_sp_master_node_list_sorted.137_11 = rhp_sp_master_node_list_sorted;
  3237. spn = rhp_sp_min (rhp_sp_master_node_list_sorted.137_11);
  3238. goto <bb 11>; [INV]
  3239. " ]
  3240. node [ id 885 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  3241. " ]
  3242. node [ id 886 graphics [ fill "#d3d3d3" ] label "<bb 13>:
  3243. <L10>:
  3244. return;
  3245. " ]
  3246. edge [ source 881 target 883 graphics [ fill "#0000ff" ] ]
  3247. edge [ source 883 target 875 graphics [ fill "#0000ff" ] ]
  3248. edge [ source 876 target 877 graphics [ fill "#000000" ] ]
  3249. edge [ source 876 target 878 graphics [ fill "#000000" ] ]
  3250. edge [ source 877 target 878 graphics [ fill "#0000ff" ] ]
  3251. edge [ source 878 target 879 graphics [ fill "#000000" ] ]
  3252. edge [ source 878 target 880 graphics [ fill "#000000" ] ]
  3253. edge [ source 879 target 880 graphics [ fill "#0000ff" ] ]
  3254. edge [ source 880 target 875 graphics [ fill "#0000ff" ] ]
  3255. edge [ source 875 target 876 graphics [ fill "#000000" ] ]
  3256. edge [ source 875 target 884 graphics [ fill "#000000" ] ]
  3257. edge [ source 884 target 873 graphics [ fill "#0000ff" ] ]
  3258. edge [ source 874 target 873 graphics [ fill "#0000ff" ] ]
  3259. edge [ source 873 target 874 graphics [ fill "#000000" ] ]
  3260. edge [ source 873 target 885 graphics [ fill "#000000" ] ]
  3261. edge [ source 885 target 886 graphics [ fill "#0000ff" ] ]
  3262. edge [ source 886 target 882 graphics [ fill "#000000" ] ]
  3263. # function number 36
  3264. node [ id 901 graphics [ fill "#ffffff" ] label "rhp_empty_sp_master_edge_list ()
  3265. ENTRY" ]
  3266. node [ id 902 graphics [ fill "#ffffff" ] label "rhp_empty_sp_master_edge_list ()
  3267. EXIT" ]
  3268. node [ id 903 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  3269. rhp_log ("%s():\n", &__FUNCTION__);
  3270. " ]
  3271. node [ id 904 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  3272. <L0>:
  3273. return;
  3274. " ]
  3275. edge [ source 901 target 903 graphics [ fill "#0000ff" ] ]
  3276. edge [ source 903 target 904 graphics [ fill "#0000ff" ] ]
  3277. edge [ source 904 target 902 graphics [ fill "#000000" ] ]
  3278. node [ id 909 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  3279. if (spn != 0B)
  3280. goto <bb 3>; [INV]
  3281. else
  3282. goto <bb 7>; [INV]
  3283. " ]
  3284. node [ id 910 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  3285. _4 = spn->value;
  3286. is = (struct rhp_inter_layer_struct *) _4;
  3287. _5 = is->eedges;
  3288. rhp_log ("%s(): free eedges %p\n", &__FUNCTION__, _5);
  3289. _6 = is->eedges;
  3290. if (_6 != 0B)
  3291. goto <bb 4>; [INV]
  3292. else
  3293. goto <bb 5>; [INV]
  3294. " ]
  3295. node [ id 911 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  3296. _7 = is->eedges;
  3297. _8 = rhp_free (_7, &__FUNCTION__, 2281);
  3298. is->eedges = _8;
  3299. " ]
  3300. node [ id 912 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  3301. _9 = spn->key;
  3302. rhp_sp_between_layers.141_10 = rhp_sp_between_layers;
  3303. spn = rhp_sp_next (rhp_sp_between_layers.141_10, _9);
  3304. " ]
  3305. # function number 37
  3306. node [ id 913 graphics [ fill "#ffffff" ] label "rhp_empty_sp_between_layers ()
  3307. ENTRY" ]
  3308. node [ id 914 graphics [ fill "#ffffff" ] label "rhp_empty_sp_between_layers ()
  3309. EXIT" ]
  3310. node [ id 915 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  3311. spn = 0B;
  3312. is = 0B;
  3313. rhp_sp_between_layers.139_1 = rhp_sp_between_layers;
  3314. _2 = rhp_sp_has_data (rhp_sp_between_layers.139_1);
  3315. rhp_log ("%s(): data is %d\n", &__FUNCTION__, _2);
  3316. rhp_sp_between_layers.140_3 = rhp_sp_between_layers;
  3317. spn = rhp_sp_min (rhp_sp_between_layers.140_3);
  3318. goto <bb 6>; [INV]
  3319. " ]
  3320. node [ id 916 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  3321. " ]
  3322. node [ id 917 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  3323. <L5>:
  3324. return;
  3325. " ]
  3326. edge [ source 913 target 915 graphics [ fill "#0000ff" ] ]
  3327. edge [ source 915 target 909 graphics [ fill "#0000ff" ] ]
  3328. edge [ source 910 target 911 graphics [ fill "#000000" ] ]
  3329. edge [ source 910 target 912 graphics [ fill "#000000" ] ]
  3330. edge [ source 911 target 912 graphics [ fill "#0000ff" ] ]
  3331. edge [ source 912 target 909 graphics [ fill "#0000ff" ] ]
  3332. edge [ source 909 target 910 graphics [ fill "#000000" ] ]
  3333. edge [ source 909 target 916 graphics [ fill "#000000" ] ]
  3334. edge [ source 916 target 917 graphics [ fill "#0000ff" ] ]
  3335. edge [ source 917 target 914 graphics [ fill "#000000" ] ]
  3336. node [ id 927 graphics [ fill "#d3d3d3" ] label "<bb 16>:
  3337. _21 = rl->number_of_nodes;
  3338. if (i < _21)
  3339. goto <bb 11>; [INV]
  3340. else
  3341. goto <bb 17>; [INV]
  3342. " ]
  3343. node [ id 928 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  3344. _11 = rl->nodes;
  3345. _12 = (long unsigned int) i;
  3346. _13 = _12 * 8;
  3347. _14 = _11 + _13;
  3348. nd = *_14;
  3349. _15 = nd->up_degree;
  3350. if (_15 != 0)
  3351. goto <bb 12>; [INV]
  3352. else
  3353. goto <bb 13>; [INV]
  3354. " ]
  3355. node [ id 929 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  3356. _16 = nd->up_edges;
  3357. _17 = rhp_free (_16, &__FUNCTION__, 2339);
  3358. nd->up_edges = _17;
  3359. nd->up_degree = 0;
  3360. " ]
  3361. node [ id 930 graphics [ fill "#d3d3d3" ] label "<bb 13>:
  3362. _18 = nd->down_degree;
  3363. if (_18 != 0)
  3364. goto <bb 14>; [INV]
  3365. else
  3366. goto <bb 15>; [INV]
  3367. " ]
  3368. node [ id 931 graphics [ fill "#d3d3d3" ] label "<bb 14>:
  3369. _19 = nd->down_edges;
  3370. _20 = rhp_free (_19, &__FUNCTION__, 2345);
  3371. nd->down_edges = _20;
  3372. nd->down_degree = 0;
  3373. " ]
  3374. node [ id 932 graphics [ fill "#d3d3d3" ] label "<bb 15>:
  3375. i = i + 1;
  3376. " ]
  3377. node [ id 933 graphics [ fill "#d3d3d3" ] label "<bb 19>:
  3378. rhp_nlevels.147_24 = rhp_nlevels;
  3379. if (level < rhp_nlevels.147_24)
  3380. goto <bb 5>; [INV]
  3381. else
  3382. goto <bb 20>; [INV]
  3383. " ]
  3384. node [ id 934 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  3385. _4 = (long long int) level;
  3386. rhp_sp_layers.145_5 = rhp_sp_layers;
  3387. spn = rhp_sp_lookup (rhp_sp_layers.145_5, _4);
  3388. if (spn == 0B)
  3389. goto <bb 6>; [INV]
  3390. else
  3391. goto <bb 9>; [INV]
  3392. " ]
  3393. node [ id 935 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  3394. rhp_nlevels.146_6 = rhp_nlevels;
  3395. if (rhp_nlevels.146_6 > 1)
  3396. goto <bb 7>; [INV]
  3397. else
  3398. goto <bb 8>; [INV]
  3399. " ]
  3400. node [ id 936 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  3401. _7 = spn->value;
  3402. rl = (struct rhplevel *) _7;
  3403. _8 = rl->nodes;
  3404. _9 = rl->number_of_nodes;
  3405. rhp_log ("%s(): clear level %d with %d nodes %p\n", &__FUNCTION__, level, _9, _8);
  3406. _10 = rl->nodes;
  3407. if (_10 != 0B)
  3408. goto <bb 10>; [INV]
  3409. else
  3410. goto <bb 18>; [INV]
  3411. " ]
  3412. node [ id 937 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  3413. rhp_log ("%s(): could not get data for level %d shouldnothappen!\n", &__FUNCTION__, level);
  3414. " ]
  3415. node [ id 938 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  3416. // predicted unlikely by continue predictor.
  3417. goto <bb 18>; [INV]
  3418. " ]
  3419. node [ id 939 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  3420. i = 0;
  3421. goto <bb 16>; [INV]
  3422. " ]
  3423. node [ id 940 graphics [ fill "#d3d3d3" ] label "<bb 18>:
  3424. level = level + 1;
  3425. " ]
  3426. node [ id 941 graphics [ fill "#d3d3d3" ] label "<bb 17>:
  3427. _22 = rl->nodes;
  3428. _23 = rhp_free (_22, &__FUNCTION__, 2350);
  3429. rl->nodes = _23;
  3430. rl->number_of_nodes = 0;
  3431. " ]
  3432. # function number 38
  3433. node [ id 942 graphics [ fill "#ffffff" ] label "rhp_empty_sp_layers ()
  3434. ENTRY" ]
  3435. node [ id 943 graphics [ fill "#ffffff" ] label "rhp_empty_sp_layers ()
  3436. EXIT" ]
  3437. node [ id 944 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  3438. spn = 0B;
  3439. rl = 0B;
  3440. nd = 0B;
  3441. level = 0;
  3442. i = 0;
  3443. rhp_sp_layers.142_1 = rhp_sp_layers;
  3444. rhp_nlevels.143_2 = rhp_nlevels;
  3445. rhp_log ("%s(): %d levels to clear in sp %p\n", &__FUNCTION__, rhp_nlevels.143_2, rhp_sp_layers.142_1);
  3446. rhp_sp_layers.144_3 = rhp_sp_layers;
  3447. if (rhp_sp_layers.144_3 == 0B)
  3448. goto <bb 3>; [INV]
  3449. else
  3450. goto <bb 4>; [INV]
  3451. " ]
  3452. node [ id 945 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  3453. // predicted unlikely by early return (on trees) predictor.
  3454. goto <bb 21>; [INV]
  3455. " ]
  3456. node [ id 946 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  3457. level = 0;
  3458. goto <bb 19>; [INV]
  3459. " ]
  3460. node [ id 947 graphics [ fill "#d3d3d3" ] label "<bb 20>:
  3461. " ]
  3462. node [ id 948 graphics [ fill "#d3d3d3" ] label "<bb 21>:
  3463. <L19>:
  3464. return;
  3465. " ]
  3466. edge [ source 942 target 944 graphics [ fill "#0000ff" ] ]
  3467. edge [ source 944 target 945 graphics [ fill "#000000" ] ]
  3468. edge [ source 944 target 946 graphics [ fill "#000000" ] ]
  3469. edge [ source 945 target 948 graphics [ fill "#0000ff" ] ]
  3470. edge [ source 946 target 933 graphics [ fill "#0000ff" ] ]
  3471. edge [ source 934 target 935 graphics [ fill "#000000" ] ]
  3472. edge [ source 934 target 936 graphics [ fill "#000000" ] ]
  3473. edge [ source 935 target 937 graphics [ fill "#000000" ] ]
  3474. edge [ source 935 target 938 graphics [ fill "#000000" ] ]
  3475. edge [ source 937 target 938 graphics [ fill "#0000ff" ] ]
  3476. edge [ source 938 target 940 graphics [ fill "#0000ff" ] ]
  3477. edge [ source 936 target 939 graphics [ fill "#000000" ] ]
  3478. edge [ source 936 target 940 graphics [ fill "#000000" ] ]
  3479. edge [ source 939 target 927 graphics [ fill "#0000ff" ] ]
  3480. edge [ source 928 target 929 graphics [ fill "#000000" ] ]
  3481. edge [ source 928 target 930 graphics [ fill "#000000" ] ]
  3482. edge [ source 929 target 930 graphics [ fill "#0000ff" ] ]
  3483. edge [ source 930 target 931 graphics [ fill "#000000" ] ]
  3484. edge [ source 930 target 932 graphics [ fill "#000000" ] ]
  3485. edge [ source 931 target 932 graphics [ fill "#0000ff" ] ]
  3486. edge [ source 932 target 927 graphics [ fill "#0000ff" ] ]
  3487. edge [ source 927 target 928 graphics [ fill "#000000" ] ]
  3488. edge [ source 927 target 941 graphics [ fill "#000000" ] ]
  3489. edge [ source 941 target 940 graphics [ fill "#0000ff" ] ]
  3490. edge [ source 940 target 933 graphics [ fill "#0000ff" ] ]
  3491. edge [ source 933 target 934 graphics [ fill "#000000" ] ]
  3492. edge [ source 933 target 947 graphics [ fill "#000000" ] ]
  3493. edge [ source 947 target 948 graphics [ fill "#0000ff" ] ]
  3494. edge [ source 948 target 943 graphics [ fill "#000000" ] ]
  3495. node [ id 971 graphics [ fill "#d3d3d3" ] label "<bb 34>:
  3496. _66 = rl->number_of_nodes;
  3497. if (ii < _66)
  3498. goto <bb 33>; [INV]
  3499. else
  3500. goto <bb 35>; [INV]
  3501. " ]
  3502. node [ id 972 graphics [ fill "#d3d3d3" ] label "<bb 33>:
  3503. _60 = rl->nodes;
  3504. _61 = (long unsigned int) ii;
  3505. _62 = _61 * 8;
  3506. _63 = _60 + _62;
  3507. _64 = *_63;
  3508. _65 = _64->innum;
  3509. rhp_log (" %d", _65);
  3510. ii = ii + 1;
  3511. " ]
  3512. node [ id 973 graphics [ fill "#d3d3d3" ] label "<bb 37>:
  3513. rhp_nlevels.166_68 = rhp_nlevels;
  3514. if (level < rhp_nlevels.166_68)
  3515. goto <bb 29>; [INV]
  3516. else
  3517. goto <bb 38>; [INV]
  3518. " ]
  3519. node [ id 974 graphics [ fill "#d3d3d3" ] label "<bb 29>:
  3520. _54 = (long long int) level;
  3521. rhp_sp_layers.165_55 = rhp_sp_layers;
  3522. spn = rhp_sp_lookup (rhp_sp_layers.165_55, _54);
  3523. _56 = spn->value;
  3524. rl = (struct rhplevel *) _56;
  3525. _57 = rl->number_of_nodes;
  3526. if (_57 == 0)
  3527. goto <bb 30>; [INV]
  3528. else
  3529. goto <bb 31>; [INV]
  3530. " ]
  3531. node [ id 975 graphics [ fill "#d3d3d3" ] label "<bb 30>:
  3532. rhp_log ("%s(): level %d has no nodes shouldnothappen!\n", &__FUNCTION__, level);
  3533. goto <bb 36>; [INV]
  3534. " ]
  3535. node [ id 976 graphics [ fill "#d3d3d3" ] label "<bb 31>:
  3536. _58 = rl->number_of_nodes;
  3537. rhp_log ("%s(): level %d has %d nodes", &__FUNCTION__, level, _58);
  3538. _59 = rl->nodes;
  3539. if (_59 != 0B)
  3540. goto <bb 32>; [INV]
  3541. else
  3542. goto <bb 35>; [INV]
  3543. " ]
  3544. node [ id 977 graphics [ fill "#d3d3d3" ] label "<bb 36>:
  3545. _67 = rl->number_of_nodes;
  3546. i = i + _67;
  3547. level = level + 1;
  3548. " ]
  3549. node [ id 978 graphics [ fill "#d3d3d3" ] label "<bb 32>:
  3550. rhp_log ("%s", " with numbers");
  3551. ii = 0;
  3552. goto <bb 34>; [INV]
  3553. " ]
  3554. node [ id 979 graphics [ fill "#d3d3d3" ] label "<bb 35>:
  3555. rhp_log ("%s", "\n");
  3556. " ]
  3557. node [ id 980 graphics [ fill "#d3d3d3" ] label "<bb 27>:
  3558. if (spnn != 0B)
  3559. goto <bb 21>; [INV]
  3560. else
  3561. goto <bb 28>; [INV]
  3562. " ]
  3563. node [ id 981 graphics [ fill "#d3d3d3" ] label "<bb 21>:
  3564. _38 = spnn->value;
  3565. nd = (struct rhpnode *) _38;
  3566. level = nd->level;
  3567. _39 = (long long int) level;
  3568. rhp_sp_layers.163_40 = rhp_sp_layers;
  3569. spn = rhp_sp_lookup (rhp_sp_layers.163_40, _39);
  3570. if (spn == 0B)
  3571. goto <bb 22>; [INV]
  3572. else
  3573. goto <bb 23>; [INV]
  3574. " ]
  3575. node [ id 982 graphics [ fill "#d3d3d3" ] label "<bb 23>:
  3576. _41 = spn->value;
  3577. rl = (struct rhplevel *) _41;
  3578. _42 = rl->nodes;
  3579. if (_42 != 0B)
  3580. goto <bb 24>; [INV]
  3581. else
  3582. goto <bb 25>; [INV]
  3583. " ]
  3584. node [ id 983 graphics [ fill "#d3d3d3" ] label "<bb 24>:
  3585. _43 = rl->nodes;
  3586. _44 = rl->number_of_nodes;
  3587. _45 = (long unsigned int) _44;
  3588. _46 = _45 * 8;
  3589. _47 = _43 + _46;
  3590. *_47 = nd;
  3591. _48 = rl->number_of_nodes;
  3592. _49 = _48 + 1;
  3593. rl->number_of_nodes = _49;
  3594. goto <bb 26>; [INV]
  3595. " ]
  3596. node [ id 984 graphics [ fill "#d3d3d3" ] label "<bb 25>:
  3597. _50 = nd->level;
  3598. _51 = nd->innum;
  3599. rhp_log ("%s(): should have been nodes[] for node %d level %d shouldnothappen!\n", &__FUNCTION__, _51, _50);
  3600. " ]
  3601. node [ id 985 graphics [ fill "#d3d3d3" ] label "<bb 26>:
  3602. _52 = spnn->key;
  3603. rhp_sp_master_node_list.164_53 = rhp_sp_master_node_list;
  3604. spnn = rhp_sp_next (rhp_sp_master_node_list.164_53, _52);
  3605. " ]
  3606. node [ id 986 graphics [ fill "#d3d3d3" ] label "<bb 19>:
  3607. rhp_nlevels.161_36 = rhp_nlevels;
  3608. if (i < rhp_nlevels.161_36)
  3609. goto <bb 15>; [INV]
  3610. else
  3611. goto <bb 20>; [INV]
  3612. " ]
  3613. node [ id 987 graphics [ fill "#d3d3d3" ] label "<bb 15>:
  3614. _24 = (long long int) i;
  3615. rhp_sp_layers.160_25 = rhp_sp_layers;
  3616. spn = rhp_sp_lookup (rhp_sp_layers.160_25, _24);
  3617. _26 = spn->value;
  3618. rl = (struct rhplevel *) _26;
  3619. _27 = rl->number_of_nodes;
  3620. if (_27 != 0)
  3621. goto <bb 16>; [INV]
  3622. else
  3623. goto <bb 17>; [INV]
  3624. " ]
  3625. node [ id 988 graphics [ fill "#d3d3d3" ] label "<bb 16>:
  3626. _28 = rl->number_of_nodes;
  3627. rhp_log ("%s(): there are %d nodes in level %d\n", &__FUNCTION__, _28, i);
  3628. _29 = rl->number_of_nodes;
  3629. _30 = (long unsigned int) _29;
  3630. _31 = _30 * 8;
  3631. _32 = rhp_malloc (_31, &__FUNCTION__, 2442);
  3632. rl->nodes = _32;
  3633. _33 = rl->number_of_nodes;
  3634. _34 = (long unsigned int) _33;
  3635. _35 = _34 * 8;
  3636. bt = bt + _35;
  3637. goto <bb 18>; [INV]
  3638. " ]
  3639. node [ id 989 graphics [ fill "#d3d3d3" ] label "<bb 17>:
  3640. rhp_log ("%s(): there are no nodes in level %d\n", &__FUNCTION__, i);
  3641. " ]
  3642. node [ id 990 graphics [ fill "#d3d3d3" ] label "<bb 18>:
  3643. rl->number_of_nodes = 0;
  3644. i = i + 1;
  3645. " ]
  3646. node [ id 991 graphics [ fill "#d3d3d3" ] label "<bb 13>:
  3647. if (spnn != 0B)
  3648. goto <bb 12>; [INV]
  3649. else
  3650. goto <bb 14>; [INV]
  3651. " ]
  3652. node [ id 992 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  3653. _12 = spnn->value;
  3654. nd = (struct rhpnode *) _12;
  3655. level = nd->level;
  3656. _13 = (long long int) level;
  3657. rhp_sp_layers.156_14 = rhp_sp_layers;
  3658. spn = rhp_sp_lookup (rhp_sp_layers.156_14, _13);
  3659. _15 = spn->value;
  3660. rl = (struct rhplevel *) _15;
  3661. _16 = rl->number_of_nodes;
  3662. _17 = _16 + 1;
  3663. rl->number_of_nodes = _17;
  3664. rhp_number_of_nodes.157_18 = rhp_number_of_nodes;
  3665. _19 = rhp_number_of_nodes.157_18 + 1;
  3666. rhp_number_of_nodes = _19;
  3667. rhp_number_of_nodes.158_20 = rhp_number_of_nodes;
  3668. _21 = rl->number_of_nodes;
  3669. rhp_log ("%s(): now counted %d nodes in level %d total %d\n", &__FUNCTION__, _21, i, rhp_number_of_nodes.158_20);
  3670. _22 = spnn->key;
  3671. rhp_sp_master_node_list.159_23 = rhp_sp_master_node_list;
  3672. spnn = rhp_sp_next (rhp_sp_master_node_list.159_23, _22);
  3673. " ]
  3674. node [ id 993 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  3675. rhp_nlevels.154_10 = rhp_nlevels;
  3676. if (i < rhp_nlevels.154_10)
  3677. goto <bb 9>; [INV]
  3678. else
  3679. goto <bb 11>; [INV]
  3680. " ]
  3681. node [ id 994 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  3682. rl = rhp_malloc (16, &__FUNCTION__, 2398);
  3683. bt = bt + 16;
  3684. rl->number_of_nodes = 0;
  3685. rl->nodes = 0B;
  3686. rhp_log ("%s(): creating entry for level %d\n", &__FUNCTION__, i);
  3687. rl.152_7 = (long long int) rl;
  3688. _8 = (long long int) i;
  3689. rhp_sp_layers.153_9 = rhp_sp_layers;
  3690. rhp_sp_insert (rhp_sp_layers.153_9, _8, rl.152_7);
  3691. i = i + 1;
  3692. " ]
  3693. # function number 39
  3694. node [ id 995 graphics [ fill "#ffffff" ] label "rhp_allocatelayers ()
  3695. ENTRY" ]
  3696. node [ id 996 graphics [ fill "#ffffff" ] label "rhp_allocatelayers ()
  3697. EXIT" ]
  3698. node [ id 997 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  3699. i = 0;
  3700. ii = 0;
  3701. rl = 0B;
  3702. spn = 0B;
  3703. spnn = 0B;
  3704. nd = 0B;
  3705. level = 0;
  3706. bt = 0;
  3707. rhp_number_of_nodes = 0;
  3708. rhp_sp_master_node_list.148_1 = rhp_sp_master_node_list;
  3709. _2 = rhp_sp_has_data (rhp_sp_master_node_list.148_1);
  3710. if (_2 == 0)
  3711. goto <bb 3>; [INV]
  3712. else
  3713. goto <bb 4>; [INV]
  3714. " ]
  3715. node [ id 998 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  3716. rhp_log ("%s(): no nodes shouldnothappen!\n", &__FUNCTION__);
  3717. // predicted unlikely by early return (on trees) predictor.
  3718. goto <bb 39>; [INV]
  3719. " ]
  3720. node [ id 999 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  3721. rhp_nlevels.149_3 = rhp_nlevels;
  3722. if (rhp_nlevels.149_3 == 0)
  3723. goto <bb 5>; [INV]
  3724. else
  3725. goto <bb 6>; [INV]
  3726. " ]
  3727. node [ id 1000 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  3728. rhp_log ("%s(): no levels shouldnothappen!\n", &__FUNCTION__);
  3729. // predicted unlikely by early return (on trees) predictor.
  3730. goto <bb 39>; [INV]
  3731. " ]
  3732. node [ id 1001 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  3733. rhp_sp_layers.150_4 = rhp_sp_layers;
  3734. if (rhp_sp_layers.150_4 != 0B)
  3735. goto <bb 7>; [INV]
  3736. else
  3737. goto <bb 8>; [INV]
  3738. " ]
  3739. node [ id 1002 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  3740. rhp_sp_layers.151_5 = rhp_sp_layers;
  3741. rhp_log ("%s(): rhp_sp_layers %p shouldnothappen!\n", &__FUNCTION__, rhp_sp_layers.151_5);
  3742. " ]
  3743. node [ id 1003 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  3744. _6 = rhp_sp_new (1);
  3745. rhp_sp_layers = _6;
  3746. i = 0;
  3747. goto <bb 10>; [INV]
  3748. " ]
  3749. node [ id 1004 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  3750. rhp_sp_master_node_list.155_11 = rhp_sp_master_node_list;
  3751. spnn = rhp_sp_min (rhp_sp_master_node_list.155_11);
  3752. goto <bb 13>; [INV]
  3753. " ]
  3754. node [ id 1005 graphics [ fill "#d3d3d3" ] label "<bb 14>:
  3755. i = 0;
  3756. goto <bb 19>; [INV]
  3757. " ]
  3758. node [ id 1006 graphics [ fill "#d3d3d3" ] label "<bb 20>:
  3759. rhp_sp_master_node_list.162_37 = rhp_sp_master_node_list;
  3760. spnn = rhp_sp_min (rhp_sp_master_node_list.162_37);
  3761. goto <bb 27>; [INV]
  3762. " ]
  3763. node [ id 1007 graphics [ fill "#d3d3d3" ] label "<bb 22>:
  3764. rhp_log ("%s(): no spn level %d shouldnothappen!\n", &__FUNCTION__, level);
  3765. // predicted unlikely by early return (on trees) predictor.
  3766. goto <bb 39>; [INV]
  3767. " ]
  3768. node [ id 1008 graphics [ fill "#d3d3d3" ] label "<bb 28>:
  3769. i = 0;
  3770. level = 0;
  3771. goto <bb 37>; [INV]
  3772. " ]
  3773. node [ id 1009 graphics [ fill "#d3d3d3" ] label "<bb 38>:
  3774. rhp_number_of_nodes.167_69 = rhp_number_of_nodes;
  3775. rhp_maxlevel.168_70 = rhp_maxlevel;
  3776. rhp_nlevels.169_71 = rhp_nlevels;
  3777. rhp_log ("%s(): in %d levels (0...%d) are %d nodes and %d number_of_nodes\n", &__FUNCTION__, rhp_nlevels.169_71, rhp_maxlevel.168_70, i, rhp_number_of_nodes.167_69);
  3778. rhp_log ("%s(): using %lu bytes for the level data\n", &__FUNCTION__, bt);
  3779. " ]
  3780. node [ id 1010 graphics [ fill "#d3d3d3" ] label "<bb 39>:
  3781. <L37>:
  3782. return;
  3783. " ]
  3784. edge [ source 995 target 997 graphics [ fill "#0000ff" ] ]
  3785. edge [ source 997 target 998 graphics [ fill "#000000" ] ]
  3786. edge [ source 997 target 999 graphics [ fill "#000000" ] ]
  3787. edge [ source 998 target 1010 graphics [ fill "#0000ff" ] ]
  3788. edge [ source 999 target 1000 graphics [ fill "#000000" ] ]
  3789. edge [ source 999 target 1001 graphics [ fill "#000000" ] ]
  3790. edge [ source 1000 target 1010 graphics [ fill "#0000ff" ] ]
  3791. edge [ source 1001 target 1002 graphics [ fill "#000000" ] ]
  3792. edge [ source 1001 target 1003 graphics [ fill "#000000" ] ]
  3793. edge [ source 1002 target 1003 graphics [ fill "#0000ff" ] ]
  3794. edge [ source 1003 target 993 graphics [ fill "#0000ff" ] ]
  3795. edge [ source 994 target 993 graphics [ fill "#0000ff" ] ]
  3796. edge [ source 993 target 994 graphics [ fill "#000000" ] ]
  3797. edge [ source 993 target 1004 graphics [ fill "#000000" ] ]
  3798. edge [ source 1004 target 991 graphics [ fill "#0000ff" ] ]
  3799. edge [ source 992 target 991 graphics [ fill "#0000ff" ] ]
  3800. edge [ source 991 target 992 graphics [ fill "#000000" ] ]
  3801. edge [ source 991 target 1005 graphics [ fill "#000000" ] ]
  3802. edge [ source 1005 target 986 graphics [ fill "#0000ff" ] ]
  3803. edge [ source 987 target 988 graphics [ fill "#000000" ] ]
  3804. edge [ source 987 target 989 graphics [ fill "#000000" ] ]
  3805. edge [ source 988 target 990 graphics [ fill "#0000ff" ] ]
  3806. edge [ source 989 target 990 graphics [ fill "#0000ff" ] ]
  3807. edge [ source 990 target 986 graphics [ fill "#0000ff" ] ]
  3808. edge [ source 986 target 987 graphics [ fill "#000000" ] ]
  3809. edge [ source 986 target 1006 graphics [ fill "#000000" ] ]
  3810. edge [ source 1006 target 980 graphics [ fill "#0000ff" ] ]
  3811. edge [ source 981 target 1007 graphics [ fill "#000000" ] ]
  3812. edge [ source 981 target 982 graphics [ fill "#000000" ] ]
  3813. edge [ source 1007 target 1010 graphics [ fill "#0000ff" ] ]
  3814. edge [ source 982 target 983 graphics [ fill "#000000" ] ]
  3815. edge [ source 982 target 984 graphics [ fill "#000000" ] ]
  3816. edge [ source 983 target 985 graphics [ fill "#0000ff" ] ]
  3817. edge [ source 984 target 985 graphics [ fill "#0000ff" ] ]
  3818. edge [ source 985 target 980 graphics [ fill "#0000ff" ] ]
  3819. edge [ source 980 target 981 graphics [ fill "#000000" ] ]
  3820. edge [ source 980 target 1008 graphics [ fill "#000000" ] ]
  3821. edge [ source 1008 target 973 graphics [ fill "#0000ff" ] ]
  3822. edge [ source 974 target 975 graphics [ fill "#000000" ] ]
  3823. edge [ source 974 target 976 graphics [ fill "#000000" ] ]
  3824. edge [ source 975 target 977 graphics [ fill "#0000ff" ] ]
  3825. edge [ source 976 target 978 graphics [ fill "#000000" ] ]
  3826. edge [ source 976 target 979 graphics [ fill "#000000" ] ]
  3827. edge [ source 978 target 971 graphics [ fill "#0000ff" ] ]
  3828. edge [ source 972 target 971 graphics [ fill "#0000ff" ] ]
  3829. edge [ source 971 target 972 graphics [ fill "#000000" ] ]
  3830. edge [ source 971 target 979 graphics [ fill "#000000" ] ]
  3831. edge [ source 979 target 977 graphics [ fill "#0000ff" ] ]
  3832. edge [ source 977 target 973 graphics [ fill "#0000ff" ] ]
  3833. edge [ source 973 target 974 graphics [ fill "#000000" ] ]
  3834. edge [ source 973 target 1009 graphics [ fill "#000000" ] ]
  3835. edge [ source 1009 target 1010 graphics [ fill "#0000ff" ] ]
  3836. edge [ source 1010 target 996 graphics [ fill "#000000" ] ]
  3837. node [ id 1051 graphics [ fill "#d3d3d3" ] label "<bb 37>:
  3838. _93 = nd->down_degree;
  3839. if (i < _93)
  3840. goto <bb 36>; [INV]
  3841. else
  3842. goto <bb 38>; [INV]
  3843. " ]
  3844. node [ id 1052 graphics [ fill "#d3d3d3" ] label "<bb 36>:
  3845. _88 = nd->down_edges;
  3846. _89 = (long unsigned int) i;
  3847. _90 = _89 * 8;
  3848. _91 = _88 + _90;
  3849. re = *_91;
  3850. _92 = re->innum;
  3851. rhp_log (" %d", _92);
  3852. i = i + 1;
  3853. " ]
  3854. node [ id 1053 graphics [ fill "#d3d3d3" ] label "<bb 33>:
  3855. _86 = nd->up_degree;
  3856. if (i < _86)
  3857. goto <bb 32>; [INV]
  3858. else
  3859. goto <bb 34>; [INV]
  3860. " ]
  3861. node [ id 1054 graphics [ fill "#d3d3d3" ] label "<bb 32>:
  3862. _81 = nd->up_edges;
  3863. _82 = (long unsigned int) i;
  3864. _83 = _82 * 8;
  3865. _84 = _81 + _83;
  3866. re = *_84;
  3867. _85 = re->innum;
  3868. rhp_log (" %d", _85);
  3869. i = i + 1;
  3870. " ]
  3871. node [ id 1055 graphics [ fill "#d3d3d3" ] label "<bb 39>:
  3872. if (spn != 0B)
  3873. goto <bb 30>; [INV]
  3874. else
  3875. goto <bb 40>; [INV]
  3876. " ]
  3877. node [ id 1056 graphics [ fill "#d3d3d3" ] label "<bb 30>:
  3878. _76 = spn->value;
  3879. nd = (struct rhpnode *) _76;
  3880. _77 = nd->down_degree;
  3881. _78 = nd->up_degree;
  3882. _79 = nd->innum;
  3883. rhp_log ("%s(): node %d has up/down degree %d/%d", &__FUNCTION__, _79, _78, _77);
  3884. _80 = nd->up_edges;
  3885. if (_80 != 0B)
  3886. goto <bb 31>; [INV]
  3887. else
  3888. goto <bb 34>; [INV]
  3889. " ]
  3890. node [ id 1057 graphics [ fill "#d3d3d3" ] label "<bb 31>:
  3891. rhp_log (" up connected with edge number");
  3892. i = 0;
  3893. goto <bb 33>; [INV]
  3894. " ]
  3895. node [ id 1058 graphics [ fill "#d3d3d3" ] label "<bb 34>:
  3896. _87 = nd->down_edges;
  3897. if (_87 != 0B)
  3898. goto <bb 35>; [INV]
  3899. else
  3900. goto <bb 38>; [INV]
  3901. " ]
  3902. node [ id 1059 graphics [ fill "#d3d3d3" ] label "<bb 35>:
  3903. rhp_log (" down connected with edge number");
  3904. i = 0;
  3905. goto <bb 37>; [INV]
  3906. " ]
  3907. node [ id 1060 graphics [ fill "#d3d3d3" ] label "<bb 38>:
  3908. rhp_log ("%s", "\n");
  3909. _94 = spn->key;
  3910. rhp_sp_master_node_list.182_95 = rhp_sp_master_node_list;
  3911. spn = rhp_sp_next (rhp_sp_master_node_list.182_95, _94);
  3912. " ]
  3913. node [ id 1061 graphics [ fill "#d3d3d3" ] label "<bb 28>:
  3914. if (spn != 0B)
  3915. goto <bb 24>; [INV]
  3916. else
  3917. goto <bb 29>; [INV]
  3918. " ]
  3919. node [ id 1062 graphics [ fill "#d3d3d3" ] label "<bb 24>:
  3920. _53 = spn->value;
  3921. re = (struct rhpedge *) _53;
  3922. _54 = re->fn;
  3923. _55 = _54->level;
  3924. _56 = re->tn;
  3925. _57 = _56->level;
  3926. if (_55 > _57)
  3927. goto <bb 25>; [INV]
  3928. else
  3929. goto <bb 26>; [INV]
  3930. " ]
  3931. node [ id 1063 graphics [ fill "#d3d3d3" ] label "<bb 25>:
  3932. rhp_log ("%s(): uppernode is above lowernode shouldnothappen!\n", &__FUNCTION__);
  3933. upper_node = re->fn;
  3934. lower_node = re->tn;
  3935. goto <bb 27>; [INV]
  3936. " ]
  3937. node [ id 1064 graphics [ fill "#d3d3d3" ] label "<bb 26>:
  3938. upper_node = re->tn;
  3939. lower_node = re->fn;
  3940. " ]
  3941. node [ id 1065 graphics [ fill "#d3d3d3" ] label "<bb 27>:
  3942. _58 = upper_node->down_edges;
  3943. _59 = upper_node->down_degree;
  3944. _60 = (long unsigned int) _59;
  3945. _61 = _60 * 8;
  3946. _62 = _58 + _61;
  3947. *_62 = re;
  3948. _63 = upper_node->down_degree;
  3949. _64 = _63 + 1;
  3950. upper_node->down_degree = _64;
  3951. _65 = lower_node->up_edges;
  3952. _66 = lower_node->up_degree;
  3953. _67 = (long unsigned int) _66;
  3954. _68 = _67 * 8;
  3955. _69 = _65 + _68;
  3956. *_69 = re;
  3957. _70 = lower_node->up_degree;
  3958. _71 = _70 + 1;
  3959. lower_node->up_degree = _71;
  3960. _72 = spn->key;
  3961. rhp_sp_master_edge_list.179_73 = rhp_sp_master_edge_list;
  3962. spn = rhp_sp_next (rhp_sp_master_edge_list.179_73, _72);
  3963. " ]
  3964. node [ id 1066 graphics [ fill "#d3d3d3" ] label "<bb 20>:
  3965. _44 = rl->number_of_nodes;
  3966. if (i < _44)
  3967. goto <bb 15>; [INV]
  3968. else
  3969. goto <bb 21>; [INV]
  3970. " ]
  3971. node [ id 1067 graphics [ fill "#d3d3d3" ] label "<bb 15>:
  3972. _21 = rl->nodes;
  3973. _22 = (long unsigned int) i;
  3974. _23 = _22 * 8;
  3975. _24 = _21 + _23;
  3976. nd = *_24;
  3977. nd->position = pos;
  3978. _25 = nd->down_degree;
  3979. _26 = nd->up_degree;
  3980. _27 = nd->innum;
  3981. rhp_log ("%s(): node %d pos %d in level %d has up/down degree %d/%d\n", &__FUNCTION__, _27, pos, level, _26, _25);
  3982. _28 = nd->up_degree;
  3983. if (_28 != 0)
  3984. goto <bb 16>; [INV]
  3985. else
  3986. goto <bb 17>; [INV]
  3987. " ]
  3988. node [ id 1068 graphics [ fill "#d3d3d3" ] label "<bb 16>:
  3989. _29 = nd->up_degree;
  3990. _30 = (long unsigned int) _29;
  3991. _31 = _30 * 8;
  3992. _32 = rhp_malloc (_31, &__FUNCTION__, 2617);
  3993. nd->up_edges = _32;
  3994. _33 = nd->up_degree;
  3995. _34 = (long unsigned int) _33;
  3996. _35 = _34 * 8;
  3997. bt = bt + _35;
  3998. " ]
  3999. node [ id 1069 graphics [ fill "#d3d3d3" ] label "<bb 17>:
  4000. _36 = nd->down_degree;
  4001. if (_36 != 0)
  4002. goto <bb 18>; [INV]
  4003. else
  4004. goto <bb 19>; [INV]
  4005. " ]
  4006. node [ id 1070 graphics [ fill "#d3d3d3" ] label "<bb 18>:
  4007. _37 = nd->down_degree;
  4008. _38 = (long unsigned int) _37;
  4009. _39 = _38 * 8;
  4010. _40 = rhp_malloc (_39, &__FUNCTION__, 2623);
  4011. nd->down_edges = _40;
  4012. _41 = nd->down_degree;
  4013. _42 = (long unsigned int) _41;
  4014. _43 = _42 * 8;
  4015. bt = bt + _43;
  4016. " ]
  4017. node [ id 1071 graphics [ fill "#d3d3d3" ] label "<bb 19>:
  4018. pos = pos + 1;
  4019. nd->up_degree = 0;
  4020. nd->down_degree = 0;
  4021. i = i + 1;
  4022. " ]
  4023. node [ id 1072 graphics [ fill "#d3d3d3" ] label "<bb 22>:
  4024. rhp_nlevels.175_45 = rhp_nlevels;
  4025. if (level < rhp_nlevels.175_45)
  4026. goto <bb 11>; [INV]
  4027. else
  4028. goto <bb 23>; [INV]
  4029. " ]
  4030. node [ id 1073 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  4031. _17 = (long long int) level;
  4032. rhp_sp_layers.174_18 = rhp_sp_layers;
  4033. spn = rhp_sp_lookup (rhp_sp_layers.174_18, _17);
  4034. if (spn == 0B)
  4035. goto <bb 12>; [INV]
  4036. else
  4037. goto <bb 13>; [INV]
  4038. " ]
  4039. node [ id 1074 graphics [ fill "#d3d3d3" ] label "<bb 13>:
  4040. pos = 0;
  4041. _19 = spn->value;
  4042. rl = (struct rhplevel *) _19;
  4043. _20 = rl->nodes;
  4044. if (_20 != 0B)
  4045. goto <bb 14>; [INV]
  4046. else
  4047. goto <bb 21>; [INV]
  4048. " ]
  4049. node [ id 1075 graphics [ fill "#d3d3d3" ] label "<bb 14>:
  4050. i = 0;
  4051. goto <bb 20>; [INV]
  4052. " ]
  4053. node [ id 1076 graphics [ fill "#d3d3d3" ] label "<bb 21>:
  4054. level = level + 1;
  4055. " ]
  4056. node [ id 1077 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  4057. if (spn != 0B)
  4058. goto <bb 5>; [INV]
  4059. else
  4060. goto <bb 10>; [INV]
  4061. " ]
  4062. node [ id 1078 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  4063. _4 = spn->value;
  4064. re = (struct rhpedge *) _4;
  4065. rhp_number_of_edges.172_5 = rhp_number_of_edges;
  4066. _6 = rhp_number_of_edges.172_5 + 1;
  4067. rhp_number_of_edges = _6;
  4068. _7 = re->fn;
  4069. _8 = _7->level;
  4070. _9 = re->tn;
  4071. _10 = _9->level;
  4072. if (_8 > _10)
  4073. goto <bb 6>; [INV]
  4074. else
  4075. goto <bb 7>; [INV]
  4076. " ]
  4077. node [ id 1079 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  4078. rhp_log ("%s(): uppernode is above lowernode shouldnothappen!\n", &__FUNCTION__);
  4079. upper_node = re->fn;
  4080. lower_node = re->tn;
  4081. goto <bb 8>; [INV]
  4082. " ]
  4083. node [ id 1080 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  4084. upper_node = re->tn;
  4085. lower_node = re->fn;
  4086. " ]
  4087. node [ id 1081 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  4088. _11 = upper_node->down_degree;
  4089. _12 = _11 + 1;
  4090. upper_node->down_degree = _12;
  4091. _13 = lower_node->up_degree;
  4092. _14 = _13 + 1;
  4093. lower_node->up_degree = _14;
  4094. _15 = spn->key;
  4095. rhp_sp_master_edge_list.173_16 = rhp_sp_master_edge_list;
  4096. spn = rhp_sp_next (rhp_sp_master_edge_list.173_16, _15);
  4097. " ]
  4098. # function number 40
  4099. node [ id 1082 graphics [ fill "#ffffff" ] label "rhp_allocateadjacencylists ()
  4100. ENTRY" ]
  4101. node [ id 1083 graphics [ fill "#ffffff" ] label "rhp_allocateadjacencylists ()
  4102. EXIT" ]
  4103. node [ id 1084 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  4104. spn = 0B;
  4105. re = 0B;
  4106. upper_node = 0B;
  4107. lower_node = 0B;
  4108. nd = 0B;
  4109. rl = 0B;
  4110. level = 0;
  4111. pos = 0;
  4112. i = 0;
  4113. bt = 0;
  4114. rhp_number_of_edges = 0;
  4115. rhp_sp_master_edge_list.170_1 = rhp_sp_master_edge_list;
  4116. _2 = rhp_sp_has_data (rhp_sp_master_edge_list.170_1);
  4117. if (_2 == 0)
  4118. goto <bb 3>; [INV]
  4119. else
  4120. goto <bb 4>; [INV]
  4121. " ]
  4122. node [ id 1085 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  4123. // predicted unlikely by early return (on trees) predictor.
  4124. goto <bb 41>; [INV]
  4125. " ]
  4126. node [ id 1086 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  4127. rhp_sp_master_edge_list.171_3 = rhp_sp_master_edge_list;
  4128. spn = rhp_sp_min (rhp_sp_master_edge_list.171_3);
  4129. goto <bb 9>; [INV]
  4130. " ]
  4131. node [ id 1087 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  4132. bt = 0;
  4133. level = 0;
  4134. goto <bb 22>; [INV]
  4135. " ]
  4136. node [ id 1088 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  4137. rhp_log ("%s(): no spn level %d shouldnothappen!\n", &__FUNCTION__, level);
  4138. // predicted unlikely by early return (on trees) predictor.
  4139. goto <bb 41>; [INV]
  4140. " ]
  4141. node [ id 1089 graphics [ fill "#d3d3d3" ] label "<bb 23>:
  4142. rhp_number_of_nodes.176_46 = rhp_number_of_nodes;
  4143. _47 = (long unsigned int) rhp_number_of_nodes.176_46;
  4144. _48 = _47 * 80;
  4145. _49 = bt + _48;
  4146. _50 = (long long int) _49;
  4147. bt.177_51 = (long long int) bt;
  4148. rhp_log ("%s(): using %lu additional more bytes for the node data and total now %lu bytes\n", &__FUNCTION__, bt.177_51, _50);
  4149. rhp_sp_master_edge_list.178_52 = rhp_sp_master_edge_list;
  4150. spn = rhp_sp_min (rhp_sp_master_edge_list.178_52);
  4151. goto <bb 28>; [INV]
  4152. " ]
  4153. node [ id 1090 graphics [ fill "#d3d3d3" ] label "<bb 29>:
  4154. rhp_number_of_edges.180_74 = rhp_number_of_edges;
  4155. rhp_log ("%s(): number_of_edges is %d\n", &__FUNCTION__, rhp_number_of_edges.180_74);
  4156. rhp_sp_master_node_list.181_75 = rhp_sp_master_node_list;
  4157. spn = rhp_sp_min (rhp_sp_master_node_list.181_75);
  4158. goto <bb 39>; [INV]
  4159. " ]
  4160. node [ id 1091 graphics [ fill "#d3d3d3" ] label "<bb 40>:
  4161. " ]
  4162. node [ id 1092 graphics [ fill "#d3d3d3" ] label "<bb 41>:
  4163. <L41>:
  4164. return;
  4165. " ]
  4166. edge [ source 1082 target 1084 graphics [ fill "#0000ff" ] ]
  4167. edge [ source 1084 target 1085 graphics [ fill "#000000" ] ]
  4168. edge [ source 1084 target 1086 graphics [ fill "#000000" ] ]
  4169. edge [ source 1085 target 1092 graphics [ fill "#0000ff" ] ]
  4170. edge [ source 1086 target 1077 graphics [ fill "#0000ff" ] ]
  4171. edge [ source 1078 target 1079 graphics [ fill "#000000" ] ]
  4172. edge [ source 1078 target 1080 graphics [ fill "#000000" ] ]
  4173. edge [ source 1079 target 1081 graphics [ fill "#0000ff" ] ]
  4174. edge [ source 1080 target 1081 graphics [ fill "#0000ff" ] ]
  4175. edge [ source 1081 target 1077 graphics [ fill "#0000ff" ] ]
  4176. edge [ source 1077 target 1078 graphics [ fill "#000000" ] ]
  4177. edge [ source 1077 target 1087 graphics [ fill "#000000" ] ]
  4178. edge [ source 1087 target 1072 graphics [ fill "#0000ff" ] ]
  4179. edge [ source 1073 target 1088 graphics [ fill "#000000" ] ]
  4180. edge [ source 1073 target 1074 graphics [ fill "#000000" ] ]
  4181. edge [ source 1088 target 1092 graphics [ fill "#0000ff" ] ]
  4182. edge [ source 1074 target 1075 graphics [ fill "#000000" ] ]
  4183. edge [ source 1074 target 1076 graphics [ fill "#000000" ] ]
  4184. edge [ source 1075 target 1066 graphics [ fill "#0000ff" ] ]
  4185. edge [ source 1067 target 1068 graphics [ fill "#000000" ] ]
  4186. edge [ source 1067 target 1069 graphics [ fill "#000000" ] ]
  4187. edge [ source 1068 target 1069 graphics [ fill "#0000ff" ] ]
  4188. edge [ source 1069 target 1070 graphics [ fill "#000000" ] ]
  4189. edge [ source 1069 target 1071 graphics [ fill "#000000" ] ]
  4190. edge [ source 1070 target 1071 graphics [ fill "#0000ff" ] ]
  4191. edge [ source 1071 target 1066 graphics [ fill "#0000ff" ] ]
  4192. edge [ source 1066 target 1067 graphics [ fill "#000000" ] ]
  4193. edge [ source 1066 target 1076 graphics [ fill "#000000" ] ]
  4194. edge [ source 1076 target 1072 graphics [ fill "#0000ff" ] ]
  4195. edge [ source 1072 target 1073 graphics [ fill "#000000" ] ]
  4196. edge [ source 1072 target 1089 graphics [ fill "#000000" ] ]
  4197. edge [ source 1089 target 1061 graphics [ fill "#0000ff" ] ]
  4198. edge [ source 1062 target 1063 graphics [ fill "#000000" ] ]
  4199. edge [ source 1062 target 1064 graphics [ fill "#000000" ] ]
  4200. edge [ source 1063 target 1065 graphics [ fill "#0000ff" ] ]
  4201. edge [ source 1064 target 1065 graphics [ fill "#0000ff" ] ]
  4202. edge [ source 1065 target 1061 graphics [ fill "#0000ff" ] ]
  4203. edge [ source 1061 target 1062 graphics [ fill "#000000" ] ]
  4204. edge [ source 1061 target 1090 graphics [ fill "#000000" ] ]
  4205. edge [ source 1090 target 1055 graphics [ fill "#0000ff" ] ]
  4206. edge [ source 1056 target 1057 graphics [ fill "#000000" ] ]
  4207. edge [ source 1056 target 1058 graphics [ fill "#000000" ] ]
  4208. edge [ source 1057 target 1053 graphics [ fill "#0000ff" ] ]
  4209. edge [ source 1054 target 1053 graphics [ fill "#0000ff" ] ]
  4210. edge [ source 1053 target 1054 graphics [ fill "#000000" ] ]
  4211. edge [ source 1053 target 1058 graphics [ fill "#000000" ] ]
  4212. edge [ source 1058 target 1059 graphics [ fill "#000000" ] ]
  4213. edge [ source 1058 target 1060 graphics [ fill "#000000" ] ]
  4214. edge [ source 1059 target 1051 graphics [ fill "#0000ff" ] ]
  4215. edge [ source 1052 target 1051 graphics [ fill "#0000ff" ] ]
  4216. edge [ source 1051 target 1052 graphics [ fill "#000000" ] ]
  4217. edge [ source 1051 target 1060 graphics [ fill "#000000" ] ]
  4218. edge [ source 1060 target 1055 graphics [ fill "#0000ff" ] ]
  4219. edge [ source 1055 target 1056 graphics [ fill "#000000" ] ]
  4220. edge [ source 1055 target 1091 graphics [ fill "#000000" ] ]
  4221. edge [ source 1091 target 1092 graphics [ fill "#0000ff" ] ]
  4222. edge [ source 1092 target 1083 graphics [ fill "#000000" ] ]
  4223. node [ id 1135 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  4224. if (spn != 0B)
  4225. goto <bb 5>; [INV]
  4226. else
  4227. goto <bb 10>; [INV]
  4228. " ]
  4229. node [ id 1136 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  4230. _4 = spn->value;
  4231. nd = (struct rhpnode *) _4;
  4232. _5 = nd->up_degree;
  4233. if (_5 == 0)
  4234. goto <bb 6>; [INV]
  4235. else
  4236. goto <bb 8>; [INV]
  4237. " ]
  4238. node [ id 1137 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  4239. _6 = nd->down_degree;
  4240. if (_6 == 0)
  4241. goto <bb 7>; [INV]
  4242. else
  4243. goto <bb 8>; [INV]
  4244. " ]
  4245. node [ id 1138 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  4246. _7 = spn->key;
  4247. rhp_sp_master_node_list.185_8 = rhp_sp_master_node_list;
  4248. spn = rhp_sp_next (rhp_sp_master_node_list.185_8, _7);
  4249. " ]
  4250. node [ id 1139 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  4251. c = c + 1;
  4252. " ]
  4253. # function number 41
  4254. node [ id 1140 graphics [ fill "#ffffff" ] label "rhp_countisolatednodes ()
  4255. ENTRY" ]
  4256. node [ id 1141 graphics [ fill "#ffffff" ] label "rhp_countisolatednodes ()
  4257. EXIT" ]
  4258. node [ id 1142 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  4259. nd = 0B;
  4260. spn = 0B;
  4261. c = 0;
  4262. rhp_number_of_isolated_nodes = 0;
  4263. rhp_sp_master_node_list.183_1 = rhp_sp_master_node_list;
  4264. _2 = rhp_sp_has_data (rhp_sp_master_node_list.183_1);
  4265. if (_2 == 0)
  4266. goto <bb 3>; [INV]
  4267. else
  4268. goto <bb 4>; [INV]
  4269. " ]
  4270. node [ id 1143 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  4271. rhp_log ("%s(): no nodes shouldnothappen!\n", &__FUNCTION__);
  4272. D.4752 = 0;
  4273. // predicted unlikely by early return (on trees) predictor.
  4274. goto <bb 11>; [INV]
  4275. " ]
  4276. node [ id 1144 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  4277. rhp_sp_master_node_list.184_3 = rhp_sp_master_node_list;
  4278. spn = rhp_sp_min (rhp_sp_master_node_list.184_3);
  4279. goto <bb 9>; [INV]
  4280. " ]
  4281. node [ id 1145 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  4282. rhp_log ("%s(): %d nodes without edge connections found\n", &__FUNCTION__, c);
  4283. D.4752 = c;
  4284. " ]
  4285. node [ id 1146 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  4286. <L9>:
  4287. return D.4752;
  4288. " ]
  4289. edge [ source 1140 target 1142 graphics [ fill "#0000ff" ] ]
  4290. edge [ source 1142 target 1143 graphics [ fill "#000000" ] ]
  4291. edge [ source 1142 target 1144 graphics [ fill "#000000" ] ]
  4292. edge [ source 1143 target 1146 graphics [ fill "#0000ff" ] ]
  4293. edge [ source 1144 target 1135 graphics [ fill "#0000ff" ] ]
  4294. edge [ source 1136 target 1137 graphics [ fill "#000000" ] ]
  4295. edge [ source 1136 target 1138 graphics [ fill "#000000" ] ]
  4296. edge [ source 1137 target 1139 graphics [ fill "#000000" ] ]
  4297. edge [ source 1137 target 1138 graphics [ fill "#000000" ] ]
  4298. edge [ source 1139 target 1138 graphics [ fill "#0000ff" ] ]
  4299. edge [ source 1138 target 1135 graphics [ fill "#0000ff" ] ]
  4300. edge [ source 1135 target 1136 graphics [ fill "#000000" ] ]
  4301. edge [ source 1135 target 1145 graphics [ fill "#000000" ] ]
  4302. edge [ source 1145 target 1146 graphics [ fill "#0000ff" ] ]
  4303. edge [ source 1146 target 1141 graphics [ fill "#000000" ] ]
  4304. node [ id 1159 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  4305. rhp_nlevels.190_6 = rhp_nlevels;
  4306. if (i < rhp_nlevels.190_6)
  4307. goto <bb 5>; [INV]
  4308. else
  4309. goto <bb 7>; [INV]
  4310. " ]
  4311. node [ id 1160 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  4312. is = rhp_makeinterlayer (i);
  4313. is.188_3 = (long long int) is;
  4314. _4 = (long long int) i;
  4315. rhp_sp_between_layers.189_5 = rhp_sp_between_layers;
  4316. rhp_sp_insert (rhp_sp_between_layers.189_5, _4, is.188_3);
  4317. i = i + 1;
  4318. " ]
  4319. # function number 42
  4320. node [ id 1161 graphics [ fill "#ffffff" ] label "rhp_initcrossings ()
  4321. ENTRY" ]
  4322. node [ id 1162 graphics [ fill "#ffffff" ] label "rhp_initcrossings ()
  4323. EXIT" ]
  4324. node [ id 1163 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  4325. i = 0;
  4326. is = 0B;
  4327. rhp_nlevels.186_1 = rhp_nlevels;
  4328. rhp_log ("%s(): rhp_nlevels is %d\n", &__FUNCTION__, rhp_nlevels.186_1);
  4329. rhp_nlevels.187_2 = rhp_nlevels;
  4330. if (rhp_nlevels.187_2 == 0)
  4331. goto <bb 3>; [INV]
  4332. else
  4333. goto <bb 4>; [INV]
  4334. " ]
  4335. node [ id 1164 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  4336. rhp_log ("%s(): no levels shouldnothappen!\n", &__FUNCTION__);
  4337. // predicted unlikely by early return (on trees) predictor.
  4338. goto <bb 8>; [INV]
  4339. " ]
  4340. node [ id 1165 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  4341. i = 0;
  4342. goto <bb 6>; [INV]
  4343. " ]
  4344. node [ id 1166 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  4345. " ]
  4346. node [ id 1167 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  4347. <L5>:
  4348. return;
  4349. " ]
  4350. edge [ source 1161 target 1163 graphics [ fill "#0000ff" ] ]
  4351. edge [ source 1163 target 1164 graphics [ fill "#000000" ] ]
  4352. edge [ source 1163 target 1165 graphics [ fill "#000000" ] ]
  4353. edge [ source 1164 target 1167 graphics [ fill "#0000ff" ] ]
  4354. edge [ source 1165 target 1159 graphics [ fill "#0000ff" ] ]
  4355. edge [ source 1160 target 1159 graphics [ fill "#0000ff" ] ]
  4356. edge [ source 1159 target 1160 graphics [ fill "#000000" ] ]
  4357. edge [ source 1159 target 1166 graphics [ fill "#000000" ] ]
  4358. edge [ source 1166 target 1167 graphics [ fill "#0000ff" ] ]
  4359. edge [ source 1167 target 1162 graphics [ fill "#000000" ] ]
  4360. # function number 43
  4361. node [ id 1177 graphics [ fill "#ffffff" ] label "rhp_makeinterlayer ()
  4362. ENTRY" ]
  4363. node [ id 1178 graphics [ fill "#ffffff" ] label "rhp_makeinterlayer ()
  4364. EXIT" ]
  4365. node [ id 1179 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  4366. is = 0B;
  4367. bt = 0;
  4368. is = rhp_malloc (24, &__FUNCTION__, 2788);
  4369. bt = bt + 24;
  4370. _1 = rhp_count_down_edges (upper_layer);
  4371. is->number_of_edges = _1;
  4372. is->number_of_crossings = -1;
  4373. _2 = is->number_of_edges;
  4374. if (_2 != 0)
  4375. goto <bb 3>; [INV]
  4376. else
  4377. goto <bb 4>; [INV]
  4378. " ]
  4379. node [ id 1180 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  4380. _3 = is->number_of_edges;
  4381. _4 = (long unsigned int) _3;
  4382. _5 = _4 * 8;
  4383. _6 = rhp_malloc (_5, &__FUNCTION__, 2800);
  4384. is->eedges = _6;
  4385. _7 = is->number_of_edges;
  4386. _8 = (long unsigned int) _7;
  4387. _9 = _8 * 8;
  4388. bt = bt + _9;
  4389. " ]
  4390. node [ id 1181 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  4391. bt.191_10 = (long long int) bt;
  4392. rhp_log ("%s(): using %lu bytes for the interlevels\n", &__FUNCTION__, bt.191_10);
  4393. D.4763 = is;
  4394. " ]
  4395. node [ id 1182 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  4396. <L2>:
  4397. return D.4763;
  4398. " ]
  4399. edge [ source 1177 target 1179 graphics [ fill "#0000ff" ] ]
  4400. edge [ source 1179 target 1180 graphics [ fill "#000000" ] ]
  4401. edge [ source 1179 target 1181 graphics [ fill "#000000" ] ]
  4402. edge [ source 1180 target 1181 graphics [ fill "#0000ff" ] ]
  4403. edge [ source 1181 target 1182 graphics [ fill "#0000ff" ] ]
  4404. edge [ source 1182 target 1178 graphics [ fill "#000000" ] ]
  4405. node [ id 1189 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  4406. _11 = lv->number_of_nodes;
  4407. if (i < _11)
  4408. goto <bb 10>; [INV]
  4409. else
  4410. goto <bb 12>; [INV]
  4411. " ]
  4412. node [ id 1190 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  4413. _6 = lv->nodes;
  4414. _7 = (long unsigned int) i;
  4415. _8 = _7 * 8;
  4416. _9 = _6 + _8;
  4417. nd = *_9;
  4418. _10 = nd->down_degree;
  4419. count = count + _10;
  4420. i = i + 1;
  4421. " ]
  4422. # function number 44
  4423. node [ id 1191 graphics [ fill "#ffffff" ] label "rhp_count_down_edges ()
  4424. ENTRY" ]
  4425. node [ id 1192 graphics [ fill "#ffffff" ] label "rhp_count_down_edges ()
  4426. EXIT" ]
  4427. node [ id 1193 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  4428. spn = 0B;
  4429. lv = 0B;
  4430. nd = 0B;
  4431. count = 0;
  4432. i = 0;
  4433. _1 = (long long int) layer_number;
  4434. rhp_sp_layers.192_2 = rhp_sp_layers;
  4435. spn = rhp_sp_lookup (rhp_sp_layers.192_2, _1);
  4436. if (spn == 0B)
  4437. goto <bb 3>; [INV]
  4438. else
  4439. goto <bb 4>; [INV]
  4440. " ]
  4441. node [ id 1194 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  4442. rhp_log ("%s(): no data for level %d shouldnothappen!\n", &__FUNCTION__, layer_number);
  4443. D.4767 = 0;
  4444. // predicted unlikely by early return (on trees) predictor.
  4445. goto <bb 13>; [INV]
  4446. " ]
  4447. node [ id 1195 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  4448. _3 = spn->value;
  4449. lv = (struct rhplevel *) _3;
  4450. if (lv == 0B)
  4451. goto <bb 5>; [INV]
  4452. else
  4453. goto <bb 6>; [INV]
  4454. " ]
  4455. node [ id 1196 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  4456. rhp_log ("%s(): no nodes in level %d shouldnothappen!\n", &__FUNCTION__, layer_number);
  4457. D.4767 = 0;
  4458. // predicted unlikely by early return (on trees) predictor.
  4459. goto <bb 13>; [INV]
  4460. " ]
  4461. node [ id 1197 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  4462. _4 = lv->nodes;
  4463. if (_4 == 0B)
  4464. goto <bb 7>; [INV]
  4465. else
  4466. goto <bb 8>; [INV]
  4467. " ]
  4468. node [ id 1198 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  4469. rhp_log ("%s(): no data for nodes in level %d shouldnothappen!\n", &__FUNCTION__, layer_number);
  4470. D.4767 = 0;
  4471. // predicted unlikely by early return (on trees) predictor.
  4472. goto <bb 13>; [INV]
  4473. " ]
  4474. node [ id 1199 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  4475. count = 0;
  4476. _5 = lv->nodes;
  4477. if (_5 != 0B)
  4478. goto <bb 9>; [INV]
  4479. else
  4480. goto <bb 12>; [INV]
  4481. " ]
  4482. node [ id 1200 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  4483. i = 0;
  4484. goto <bb 11>; [INV]
  4485. " ]
  4486. node [ id 1201 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  4487. rhp_log ("%s(): down_degree count is %d at level %d\n", &__FUNCTION__, count, layer_number);
  4488. D.4767 = count;
  4489. " ]
  4490. node [ id 1202 graphics [ fill "#d3d3d3" ] label "<bb 13>:
  4491. <L11>:
  4492. return D.4767;
  4493. " ]
  4494. edge [ source 1191 target 1193 graphics [ fill "#0000ff" ] ]
  4495. edge [ source 1193 target 1194 graphics [ fill "#000000" ] ]
  4496. edge [ source 1193 target 1195 graphics [ fill "#000000" ] ]
  4497. edge [ source 1194 target 1202 graphics [ fill "#0000ff" ] ]
  4498. edge [ source 1195 target 1196 graphics [ fill "#000000" ] ]
  4499. edge [ source 1195 target 1197 graphics [ fill "#000000" ] ]
  4500. edge [ source 1196 target 1202 graphics [ fill "#0000ff" ] ]
  4501. edge [ source 1197 target 1198 graphics [ fill "#000000" ] ]
  4502. edge [ source 1197 target 1199 graphics [ fill "#000000" ] ]
  4503. edge [ source 1198 target 1202 graphics [ fill "#0000ff" ] ]
  4504. edge [ source 1199 target 1200 graphics [ fill "#000000" ] ]
  4505. edge [ source 1199 target 1201 graphics [ fill "#000000" ] ]
  4506. edge [ source 1200 target 1189 graphics [ fill "#0000ff" ] ]
  4507. edge [ source 1190 target 1189 graphics [ fill "#0000ff" ] ]
  4508. edge [ source 1189 target 1190 graphics [ fill "#000000" ] ]
  4509. edge [ source 1189 target 1201 graphics [ fill "#000000" ] ]
  4510. edge [ source 1201 target 1202 graphics [ fill "#0000ff" ] ]
  4511. edge [ source 1202 target 1192 graphics [ fill "#000000" ] ]
  4512. node [ id 1217 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  4513. rhp_nlevels.193_1 = rhp_nlevels;
  4514. if (i < rhp_nlevels.193_1)
  4515. goto <bb 3>; [INV]
  4516. else
  4517. goto <bb 5>; [INV]
  4518. " ]
  4519. node [ id 1218 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  4520. rhp_updatecrossingsbetweenlayers (i);
  4521. i = i + 1;
  4522. " ]
  4523. # function number 45
  4524. node [ id 1219 graphics [ fill "#ffffff" ] label "rhp_updateallcrossings ()
  4525. ENTRY" ]
  4526. node [ id 1220 graphics [ fill "#ffffff" ] label "rhp_updateallcrossings ()
  4527. EXIT" ]
  4528. node [ id 1221 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  4529. i = 0;
  4530. rhp_updateallpositions ();
  4531. i = 1;
  4532. goto <bb 4>; [INV]
  4533. " ]
  4534. node [ id 1222 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  4535. " ]
  4536. node [ id 1223 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  4537. <L3>:
  4538. return;
  4539. " ]
  4540. edge [ source 1219 target 1221 graphics [ fill "#0000ff" ] ]
  4541. edge [ source 1221 target 1217 graphics [ fill "#0000ff" ] ]
  4542. edge [ source 1218 target 1217 graphics [ fill "#0000ff" ] ]
  4543. edge [ source 1217 target 1218 graphics [ fill "#000000" ] ]
  4544. edge [ source 1217 target 1222 graphics [ fill "#000000" ] ]
  4545. edge [ source 1222 target 1223 graphics [ fill "#0000ff" ] ]
  4546. edge [ source 1223 target 1220 graphics [ fill "#000000" ] ]
  4547. node [ id 1231 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  4548. rhp_nlevels.195_2 = rhp_nlevels;
  4549. if (i < rhp_nlevels.195_2)
  4550. goto <bb 3>; [INV]
  4551. else
  4552. goto <bb 5>; [INV]
  4553. " ]
  4554. node [ id 1232 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  4555. rhp_updatenodepositions (i);
  4556. i = i + 1;
  4557. " ]
  4558. # function number 46
  4559. node [ id 1233 graphics [ fill "#ffffff" ] label "rhp_updateallpositions ()
  4560. ENTRY" ]
  4561. node [ id 1234 graphics [ fill "#ffffff" ] label "rhp_updateallpositions ()
  4562. EXIT" ]
  4563. node [ id 1235 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  4564. i = 0;
  4565. rhp_nlevels.194_1 = rhp_nlevels;
  4566. rhp_log ("%s(): updating all node positions in %d levels\n", &__FUNCTION__, rhp_nlevels.194_1);
  4567. i = 0;
  4568. goto <bb 4>; [INV]
  4569. " ]
  4570. node [ id 1236 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  4571. " ]
  4572. node [ id 1237 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  4573. <L3>:
  4574. return;
  4575. " ]
  4576. edge [ source 1233 target 1235 graphics [ fill "#0000ff" ] ]
  4577. edge [ source 1235 target 1231 graphics [ fill "#0000ff" ] ]
  4578. edge [ source 1232 target 1231 graphics [ fill "#0000ff" ] ]
  4579. edge [ source 1231 target 1232 graphics [ fill "#000000" ] ]
  4580. edge [ source 1231 target 1236 graphics [ fill "#000000" ] ]
  4581. edge [ source 1236 target 1237 graphics [ fill "#0000ff" ] ]
  4582. edge [ source 1237 target 1234 graphics [ fill "#000000" ] ]
  4583. node [ id 1245 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  4584. _13 = lv->number_of_nodes;
  4585. if (i < _13)
  4586. goto <bb 9>; [INV]
  4587. else
  4588. goto <bb 11>; [INV]
  4589. " ]
  4590. node [ id 1246 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  4591. _5 = lv->nodes;
  4592. _6 = (long unsigned int) i;
  4593. _7 = _6 * 8;
  4594. _8 = _5 + _7;
  4595. nd = *_8;
  4596. nd->position = pos;
  4597. _9 = nd->weight;
  4598. _10 = nd->position;
  4599. _11 = nd->level;
  4600. _12 = nd->innum;
  4601. rhp_log ("%s(): node %d level %d pos %d weight %d\n", &__FUNCTION__, _12, _11, _10, _9);
  4602. pos = pos + 1;
  4603. i = i + 1;
  4604. " ]
  4605. # function number 47
  4606. node [ id 1247 graphics [ fill "#ffffff" ] label "rhp_updatenodepositions ()
  4607. ENTRY" ]
  4608. node [ id 1248 graphics [ fill "#ffffff" ] label "rhp_updatenodepositions ()
  4609. EXIT" ]
  4610. node [ id 1249 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  4611. spn = 0B;
  4612. lv = 0B;
  4613. nd = 0B;
  4614. pos = 0;
  4615. i = 0;
  4616. rhp_log ("%s(): updating node positions for level %d\n", &__FUNCTION__, layer_number);
  4617. _1 = (long long int) layer_number;
  4618. rhp_sp_layers.196_2 = rhp_sp_layers;
  4619. spn = rhp_sp_lookup (rhp_sp_layers.196_2, _1);
  4620. if (spn == 0B)
  4621. goto <bb 3>; [INV]
  4622. else
  4623. goto <bb 4>; [INV]
  4624. " ]
  4625. node [ id 1250 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  4626. rhp_log ("%s(): no data for level %d shouldnothappen!\n", &__FUNCTION__, layer_number);
  4627. // predicted unlikely by early return (on trees) predictor.
  4628. goto <bb 12>; [INV]
  4629. " ]
  4630. node [ id 1251 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  4631. _3 = spn->value;
  4632. lv = (struct rhplevel *) _3;
  4633. if (lv == 0B)
  4634. goto <bb 5>; [INV]
  4635. else
  4636. goto <bb 6>; [INV]
  4637. " ]
  4638. node [ id 1252 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  4639. rhp_log ("%s(): no nodes in level %d shouldnothappen!\n", &__FUNCTION__, layer_number);
  4640. // predicted unlikely by early return (on trees) predictor.
  4641. goto <bb 12>; [INV]
  4642. " ]
  4643. node [ id 1253 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  4644. _4 = lv->nodes;
  4645. if (_4 == 0B)
  4646. goto <bb 7>; [INV]
  4647. else
  4648. goto <bb 8>; [INV]
  4649. " ]
  4650. node [ id 1254 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  4651. rhp_log ("%s(): no data for nodes in level %d shouldnothappen!\n", &__FUNCTION__, layer_number);
  4652. // predicted unlikely by early return (on trees) predictor.
  4653. goto <bb 12>; [INV]
  4654. " ]
  4655. node [ id 1255 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  4656. pos = 0;
  4657. i = 0;
  4658. goto <bb 10>; [INV]
  4659. " ]
  4660. node [ id 1256 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  4661. " ]
  4662. node [ id 1257 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  4663. <L9>:
  4664. return;
  4665. " ]
  4666. edge [ source 1247 target 1249 graphics [ fill "#0000ff" ] ]
  4667. edge [ source 1249 target 1250 graphics [ fill "#000000" ] ]
  4668. edge [ source 1249 target 1251 graphics [ fill "#000000" ] ]
  4669. edge [ source 1250 target 1257 graphics [ fill "#0000ff" ] ]
  4670. edge [ source 1251 target 1252 graphics [ fill "#000000" ] ]
  4671. edge [ source 1251 target 1253 graphics [ fill "#000000" ] ]
  4672. edge [ source 1252 target 1257 graphics [ fill "#0000ff" ] ]
  4673. edge [ source 1253 target 1254 graphics [ fill "#000000" ] ]
  4674. edge [ source 1253 target 1255 graphics [ fill "#000000" ] ]
  4675. edge [ source 1254 target 1257 graphics [ fill "#0000ff" ] ]
  4676. edge [ source 1255 target 1245 graphics [ fill "#0000ff" ] ]
  4677. edge [ source 1246 target 1245 graphics [ fill "#0000ff" ] ]
  4678. edge [ source 1245 target 1246 graphics [ fill "#000000" ] ]
  4679. edge [ source 1245 target 1256 graphics [ fill "#000000" ] ]
  4680. edge [ source 1256 target 1257 graphics [ fill "#0000ff" ] ]
  4681. edge [ source 1257 target 1248 graphics [ fill "#000000" ] ]
  4682. # function number 48
  4683. node [ id 1271 graphics [ fill "#ffffff" ] label "rhp_updatecrossingsforlayer ()
  4684. ENTRY" ]
  4685. node [ id 1272 graphics [ fill "#ffffff" ] label "rhp_updatecrossingsforlayer ()
  4686. EXIT" ]
  4687. node [ id 1273 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  4688. rhp_updatenodepositions (layer);
  4689. if (layer > 0)
  4690. goto <bb 3>; [INV]
  4691. else
  4692. goto <bb 4>; [INV]
  4693. " ]
  4694. node [ id 1274 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  4695. rhp_updatecrossingsbetweenlayers (layer);
  4696. " ]
  4697. node [ id 1275 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  4698. rhp_nlevels.197_1 = rhp_nlevels;
  4699. _2 = rhp_nlevels.197_1 + -1;
  4700. if (layer < _2)
  4701. goto <bb 5>; [INV]
  4702. else
  4703. goto <bb 6>; [INV]
  4704. " ]
  4705. node [ id 1276 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  4706. _3 = layer + 1;
  4707. rhp_updatecrossingsbetweenlayers (_3);
  4708. " ]
  4709. node [ id 1277 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  4710. " ]
  4711. node [ id 1278 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  4712. <L4>:
  4713. return;
  4714. " ]
  4715. edge [ source 1271 target 1273 graphics [ fill "#0000ff" ] ]
  4716. edge [ source 1273 target 1274 graphics [ fill "#000000" ] ]
  4717. edge [ source 1273 target 1275 graphics [ fill "#000000" ] ]
  4718. edge [ source 1274 target 1275 graphics [ fill "#0000ff" ] ]
  4719. edge [ source 1275 target 1276 graphics [ fill "#000000" ] ]
  4720. edge [ source 1275 target 1277 graphics [ fill "#000000" ] ]
  4721. edge [ source 1276 target 1277 graphics [ fill "#0000ff" ] ]
  4722. edge [ source 1277 target 1278 graphics [ fill "#0000ff" ] ]
  4723. edge [ source 1278 target 1272 graphics [ fill "#000000" ] ]
  4724. node [ id 1287 graphics [ fill "#d3d3d3" ] label "<bb 49>:
  4725. _80 = lv->number_of_nodes;
  4726. if (i < _80)
  4727. goto <bb 48>; [INV]
  4728. else
  4729. goto <bb 50>; [INV]
  4730. " ]
  4731. node [ id 1288 graphics [ fill "#d3d3d3" ] label "<bb 48>:
  4732. _75 = lv->nodes;
  4733. _76 = (long unsigned int) i;
  4734. _77 = _76 * 8;
  4735. _78 = _75 + _77;
  4736. nd = *_78;
  4737. _79 = nd->innum;
  4738. rhp_log (" %d", _79);
  4739. i = i + 1;
  4740. " ]
  4741. node [ id 1289 graphics [ fill "#d3d3d3" ] label "<bb 38>:
  4742. _63 = nd->down_degree;
  4743. if (ii < _63)
  4744. goto <bb 37>; [INV]
  4745. else
  4746. goto <bb 39>; [INV]
  4747. " ]
  4748. node [ id 1290 graphics [ fill "#d3d3d3" ] label "<bb 37>:
  4749. _57 = nd->down_edges;
  4750. _58 = (long unsigned int) ii;
  4751. _59 = _58 * 8;
  4752. _60 = _57 + _59;
  4753. _61 = *_60;
  4754. _62 = _61->innum;
  4755. rhp_log (" %d", _62);
  4756. ii = ii + 1;
  4757. " ]
  4758. node [ id 1291 graphics [ fill "#d3d3d3" ] label "<bb 40>:
  4759. _64 = lv->number_of_nodes;
  4760. if (i < _64)
  4761. goto <bb 35>; [INV]
  4762. else
  4763. goto <bb 41>; [INV]
  4764. " ]
  4765. node [ id 1292 graphics [ fill "#d3d3d3" ] label "<bb 35>:
  4766. _50 = lv->nodes;
  4767. _51 = (long unsigned int) i;
  4768. _52 = _51 * 8;
  4769. _53 = _50 + _52;
  4770. nd = *_53;
  4771. _54 = nd->down_degree;
  4772. _55 = nd->innum;
  4773. rhp_log ("%s(): node %d down-degree %d connected to edges:", &__FUNCTION__, _55, _54);
  4774. _56 = nd->down_degree;
  4775. if (_56 > 0)
  4776. goto <bb 36>; [INV]
  4777. else
  4778. goto <bb 39>; [INV]
  4779. " ]
  4780. node [ id 1293 graphics [ fill "#d3d3d3" ] label "<bb 36>:
  4781. ii = 0;
  4782. goto <bb 38>; [INV]
  4783. " ]
  4784. node [ id 1294 graphics [ fill "#d3d3d3" ] label "<bb 39>:
  4785. rhp_log ("%s", "\n");
  4786. i = i + 1;
  4787. " ]
  4788. node [ id 1295 graphics [ fill "#d3d3d3" ] label "<bb 31>:
  4789. _45 = lv->number_of_nodes;
  4790. if (i < _45)
  4791. goto <bb 30>; [INV]
  4792. else
  4793. goto <bb 32>; [INV]
  4794. " ]
  4795. node [ id 1296 graphics [ fill "#d3d3d3" ] label "<bb 30>:
  4796. _41 = lv->nodes;
  4797. _42 = (long unsigned int) i;
  4798. _43 = _42 * 8;
  4799. _44 = _41 + _43;
  4800. nd = *_44;
  4801. nd->up_crossings = 0;
  4802. i = i + 1;
  4803. " ]
  4804. node [ id 1297 graphics [ fill "#d3d3d3" ] label "<bb 20>:
  4805. _31 = nd->down_degree;
  4806. if (ii < _31)
  4807. goto <bb 19>; [INV]
  4808. else
  4809. goto <bb 21>; [INV]
  4810. " ]
  4811. node [ id 1298 graphics [ fill "#d3d3d3" ] label "<bb 19>:
  4812. _26 = nd->down_edges;
  4813. _27 = (long unsigned int) ii;
  4814. _28 = _27 * 8;
  4815. _29 = _26 + _28;
  4816. _30 = *_29;
  4817. _30->crossings = 0;
  4818. ii = ii + 1;
  4819. " ]
  4820. node [ id 1299 graphics [ fill "#d3d3d3" ] label "<bb 22>:
  4821. _32 = lv->number_of_nodes;
  4822. if (i < _32)
  4823. goto <bb 17>; [INV]
  4824. else
  4825. goto <bb 23>; [INV]
  4826. " ]
  4827. node [ id 1300 graphics [ fill "#d3d3d3" ] label "<bb 17>:
  4828. _21 = lv->nodes;
  4829. _22 = (long unsigned int) i;
  4830. _23 = _22 * 8;
  4831. _24 = _21 + _23;
  4832. nd = *_24;
  4833. nd->down_crossings = 0;
  4834. _25 = nd->down_degree;
  4835. if (_25 > 0)
  4836. goto <bb 18>; [INV]
  4837. else
  4838. goto <bb 21>; [INV]
  4839. " ]
  4840. node [ id 1301 graphics [ fill "#d3d3d3" ] label "<bb 18>:
  4841. ii = 0;
  4842. goto <bb 20>; [INV]
  4843. " ]
  4844. node [ id 1302 graphics [ fill "#d3d3d3" ] label "<bb 21>:
  4845. i = i + 1;
  4846. " ]
  4847. node [ id 1303 graphics [ fill "#d3d3d3" ] label "<bb 15>:
  4848. _20 = lv->number_of_nodes;
  4849. if (i < _20)
  4850. goto <bb 9>; [INV]
  4851. else
  4852. goto <bb 16>; [INV]
  4853. " ]
  4854. node [ id 1304 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  4855. _5 = lv->nodes;
  4856. _6 = (long unsigned int) i;
  4857. _7 = _6 * 8;
  4858. _8 = _5 + _7;
  4859. nd = *_8;
  4860. _9 = nd->down_degree;
  4861. if (_9 > 1)
  4862. goto <bb 10>; [INV]
  4863. else
  4864. goto <bb 11>; [INV]
  4865. " ]
  4866. node [ id 1305 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  4867. _10 = nd->down_degree;
  4868. _11 = nd->down_edges;
  4869. rhp_sortbydownnodeposition (_11, _10);
  4870. " ]
  4871. node [ id 1306 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  4872. _12 = nd->down_degree;
  4873. if (_12 > 0)
  4874. goto <bb 12>; [INV]
  4875. else
  4876. goto <bb 14>; [INV]
  4877. " ]
  4878. node [ id 1307 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  4879. _13 = (long long int) upper_layer;
  4880. rhp_sp_between_layers.199_14 = rhp_sp_between_layers;
  4881. spnb = rhp_sp_lookup (rhp_sp_between_layers.199_14, _13);
  4882. if (spnb != 0B)
  4883. goto <bb 13>; [INV]
  4884. else
  4885. goto <bb 14>; [INV]
  4886. " ]
  4887. node [ id 1308 graphics [ fill "#d3d3d3" ] label "<bb 14>:
  4888. _19 = nd->down_degree;
  4889. ix = ix + _19;
  4890. i = i + 1;
  4891. " ]
  4892. node [ id 1309 graphics [ fill "#d3d3d3" ] label "<bb 13>:
  4893. _15 = spnb->value;
  4894. is = (struct rhp_inter_layer_struct *) _15;
  4895. _16 = nd->down_degree;
  4896. _17 = nd->down_edges;
  4897. _18 = is->eedges;
  4898. rhp_add_edges_to_array (_18, _17, _16, ix);
  4899. " ]
  4900. # function number 49
  4901. node [ id 1310 graphics [ fill "#ffffff" ] label "rhp_updatecrossingsbetweenlayers ()
  4902. ENTRY" ]
  4903. node [ id 1311 graphics [ fill "#ffffff" ] label "rhp_updatecrossingsbetweenlayers ()
  4904. EXIT" ]
  4905. node [ id 1312 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  4906. spn = 0B;
  4907. spnb = 0B;
  4908. lv = 0B;
  4909. nd = 0B;
  4910. is = 0B;
  4911. ix = 0;
  4912. i = 0;
  4913. ii = 0;
  4914. ncross = 0;
  4915. _1 = (long long int) upper_layer;
  4916. rhp_sp_layers.198_2 = rhp_sp_layers;
  4917. spn = rhp_sp_lookup (rhp_sp_layers.198_2, _1);
  4918. if (spn == 0B)
  4919. goto <bb 3>; [INV]
  4920. else
  4921. goto <bb 4>; [INV]
  4922. " ]
  4923. node [ id 1313 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  4924. rhp_log ("%s(): no data for level %d shouldnothappen!\n", &__FUNCTION__, upper_layer);
  4925. // predicted unlikely by early return (on trees) predictor.
  4926. goto <bb 54>; [INV]
  4927. " ]
  4928. node [ id 1314 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  4929. _3 = spn->value;
  4930. lv = (struct rhplevel *) _3;
  4931. if (lv == 0B)
  4932. goto <bb 5>; [INV]
  4933. else
  4934. goto <bb 6>; [INV]
  4935. " ]
  4936. node [ id 1315 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  4937. rhp_log ("%s(): no nodes in level %d shouldnothappen!\n", &__FUNCTION__, upper_layer);
  4938. // predicted unlikely by early return (on trees) predictor.
  4939. goto <bb 54>; [INV]
  4940. " ]
  4941. node [ id 1316 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  4942. _4 = lv->nodes;
  4943. if (_4 == 0B)
  4944. goto <bb 7>; [INV]
  4945. else
  4946. goto <bb 8>; [INV]
  4947. " ]
  4948. node [ id 1317 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  4949. rhp_log ("%s(): no data for nodes in level %d shouldnothappen!\n", &__FUNCTION__, upper_layer);
  4950. // predicted unlikely by early return (on trees) predictor.
  4951. goto <bb 54>; [INV]
  4952. " ]
  4953. node [ id 1318 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  4954. i = 0;
  4955. goto <bb 15>; [INV]
  4956. " ]
  4957. node [ id 1319 graphics [ fill "#d3d3d3" ] label "<bb 16>:
  4958. i = 0;
  4959. goto <bb 22>; [INV]
  4960. " ]
  4961. node [ id 1320 graphics [ fill "#d3d3d3" ] label "<bb 23>:
  4962. _33 = upper_layer + -1;
  4963. _34 = (long long int) _33;
  4964. rhp_sp_layers.200_35 = rhp_sp_layers;
  4965. spn = rhp_sp_lookup (rhp_sp_layers.200_35, _34);
  4966. if (spn == 0B)
  4967. goto <bb 24>; [INV]
  4968. else
  4969. goto <bb 25>; [INV]
  4970. " ]
  4971. node [ id 1321 graphics [ fill "#d3d3d3" ] label "<bb 24>:
  4972. _36 = upper_layer + -1;
  4973. rhp_log ("%s(): no data for level %d shouldnothappen!\n", &__FUNCTION__, _36);
  4974. // predicted unlikely by early return (on trees) predictor.
  4975. goto <bb 54>; [INV]
  4976. " ]
  4977. node [ id 1322 graphics [ fill "#d3d3d3" ] label "<bb 25>:
  4978. _37 = spn->value;
  4979. lv = (struct rhplevel *) _37;
  4980. if (lv == 0B)
  4981. goto <bb 26>; [INV]
  4982. else
  4983. goto <bb 27>; [INV]
  4984. " ]
  4985. node [ id 1323 graphics [ fill "#d3d3d3" ] label "<bb 26>:
  4986. _38 = upper_layer + -1;
  4987. rhp_log ("%s(): no nodes in level %d shouldnothappen!\n", &__FUNCTION__, _38);
  4988. // predicted unlikely by early return (on trees) predictor.
  4989. goto <bb 54>; [INV]
  4990. " ]
  4991. node [ id 1324 graphics [ fill "#d3d3d3" ] label "<bb 27>:
  4992. _39 = lv->nodes;
  4993. if (_39 == 0B)
  4994. goto <bb 28>; [INV]
  4995. else
  4996. goto <bb 29>; [INV]
  4997. " ]
  4998. node [ id 1325 graphics [ fill "#d3d3d3" ] label "<bb 28>:
  4999. _40 = upper_layer + -1;
  5000. rhp_log ("%s(): no data for nodes in level %d shouldnothappen!\n", &__FUNCTION__, _40);
  5001. // predicted unlikely by early return (on trees) predictor.
  5002. goto <bb 54>; [INV]
  5003. " ]
  5004. node [ id 1326 graphics [ fill "#d3d3d3" ] label "<bb 29>:
  5005. i = 0;
  5006. goto <bb 31>; [INV]
  5007. " ]
  5008. node [ id 1327 graphics [ fill "#d3d3d3" ] label "<bb 32>:
  5009. _46 = (long long int) upper_layer;
  5010. rhp_sp_layers.201_47 = rhp_sp_layers;
  5011. spn = rhp_sp_lookup (rhp_sp_layers.201_47, _46);
  5012. if (spn == 0B)
  5013. goto <bb 33>; [INV]
  5014. else
  5015. goto <bb 34>; [INV]
  5016. " ]
  5017. node [ id 1328 graphics [ fill "#d3d3d3" ] label "<bb 33>:
  5018. rhp_log ("%s(): no data for level %d shouldnothappen!\n", upper_layer);
  5019. // predicted unlikely by early return (on trees) predictor.
  5020. goto <bb 54>; [INV]
  5021. " ]
  5022. node [ id 1329 graphics [ fill "#d3d3d3" ] label "<bb 34>:
  5023. _48 = spn->value;
  5024. lv = (struct rhplevel *) _48;
  5025. _49 = lv->number_of_nodes;
  5026. rhp_log ("%s(): level %d has %d nodes:\n", &__FUNCTION__, upper_layer, _49);
  5027. i = 0;
  5028. goto <bb 40>; [INV]
  5029. " ]
  5030. node [ id 1330 graphics [ fill "#d3d3d3" ] label "<bb 41>:
  5031. _65 = upper_layer + -1;
  5032. _66 = (long long int) _65;
  5033. rhp_sp_layers.202_67 = rhp_sp_layers;
  5034. spn = rhp_sp_lookup (rhp_sp_layers.202_67, _66);
  5035. if (spn == 0B)
  5036. goto <bb 42>; [INV]
  5037. else
  5038. goto <bb 43>; [INV]
  5039. " ]
  5040. node [ id 1331 graphics [ fill "#d3d3d3" ] label "<bb 42>:
  5041. _68 = upper_layer + -1;
  5042. rhp_log ("%s(): no data for level %d shouldnothappen!\n", _68);
  5043. // predicted unlikely by early return (on trees) predictor.
  5044. goto <bb 54>; [INV]
  5045. " ]
  5046. node [ id 1332 graphics [ fill "#d3d3d3" ] label "<bb 43>:
  5047. _69 = spn->value;
  5048. lv = (struct rhplevel *) _69;
  5049. if (lv == 0B)
  5050. goto <bb 44>; [INV]
  5051. else
  5052. goto <bb 45>; [INV]
  5053. " ]
  5054. node [ id 1333 graphics [ fill "#d3d3d3" ] label "<bb 44>:
  5055. _70 = upper_layer + -1;
  5056. rhp_log ("%s(): no nodes in level %d shouldnothappen!\n", _70);
  5057. // predicted unlikely by early return (on trees) predictor.
  5058. goto <bb 54>; [INV]
  5059. " ]
  5060. node [ id 1334 graphics [ fill "#d3d3d3" ] label "<bb 45>:
  5061. _71 = lv->nodes;
  5062. if (_71 == 0B)
  5063. goto <bb 46>; [INV]
  5064. else
  5065. goto <bb 47>; [INV]
  5066. " ]
  5067. node [ id 1335 graphics [ fill "#d3d3d3" ] label "<bb 46>:
  5068. _72 = upper_layer + -1;
  5069. rhp_log ("%s(): no data for nodes in level %d shouldnothappen!\n", _72);
  5070. // predicted unlikely by early return (on trees) predictor.
  5071. goto <bb 54>; [INV]
  5072. " ]
  5073. node [ id 1336 graphics [ fill "#d3d3d3" ] label "<bb 47>:
  5074. _73 = lv->number_of_nodes;
  5075. _74 = upper_layer + -1;
  5076. rhp_log ("%s(): level %d has %d nodes:", &__FUNCTION__, _74, _73);
  5077. i = 0;
  5078. goto <bb 49>; [INV]
  5079. " ]
  5080. node [ id 1337 graphics [ fill "#d3d3d3" ] label "<bb 50>:
  5081. rhp_log ("%s", "\n");
  5082. _81 = (long long int) upper_layer;
  5083. rhp_sp_between_layers.203_82 = rhp_sp_between_layers;
  5084. spnb = rhp_sp_lookup (rhp_sp_between_layers.203_82, _81);
  5085. if (spnb != 0B)
  5086. goto <bb 51>; [INV]
  5087. else
  5088. goto <bb 52>; [INV]
  5089. " ]
  5090. node [ id 1338 graphics [ fill "#d3d3d3" ] label "<bb 51>:
  5091. _83 = spnb->value;
  5092. is = (struct rhp_inter_layer_struct *) _83;
  5093. _84 = is->number_of_edges;
  5094. _85 = is->eedges;
  5095. ncross = rhp_count_inversions_down (_85, _84, 1);
  5096. is->number_of_crossings = ncross;
  5097. goto <bb 53>; [INV]
  5098. " ]
  5099. node [ id 1339 graphics [ fill "#d3d3d3" ] label "<bb 52>:
  5100. rhp_log ("%s(): could not find level %d in between_layers shouldnothappen!\n", &__FUNCTION__, upper_layer);
  5101. " ]
  5102. node [ id 1340 graphics [ fill "#d3d3d3" ] label "<bb 53>:
  5103. rhp_log ("%s(): %li crossings at level %d\n", &__FUNCTION__, ncross, upper_layer);
  5104. " ]
  5105. node [ id 1341 graphics [ fill "#d3d3d3" ] label "<bb 54>:
  5106. <L54>:
  5107. return;
  5108. " ]
  5109. edge [ source 1310 target 1312 graphics [ fill "#0000ff" ] ]
  5110. edge [ source 1312 target 1313 graphics [ fill "#000000" ] ]
  5111. edge [ source 1312 target 1314 graphics [ fill "#000000" ] ]
  5112. edge [ source 1313 target 1341 graphics [ fill "#0000ff" ] ]
  5113. edge [ source 1314 target 1315 graphics [ fill "#000000" ] ]
  5114. edge [ source 1314 target 1316 graphics [ fill "#000000" ] ]
  5115. edge [ source 1315 target 1341 graphics [ fill "#0000ff" ] ]
  5116. edge [ source 1316 target 1317 graphics [ fill "#000000" ] ]
  5117. edge [ source 1316 target 1318 graphics [ fill "#000000" ] ]
  5118. edge [ source 1317 target 1341 graphics [ fill "#0000ff" ] ]
  5119. edge [ source 1318 target 1303 graphics [ fill "#0000ff" ] ]
  5120. edge [ source 1304 target 1305 graphics [ fill "#000000" ] ]
  5121. edge [ source 1304 target 1306 graphics [ fill "#000000" ] ]
  5122. edge [ source 1305 target 1306 graphics [ fill "#0000ff" ] ]
  5123. edge [ source 1306 target 1307 graphics [ fill "#000000" ] ]
  5124. edge [ source 1306 target 1308 graphics [ fill "#000000" ] ]
  5125. edge [ source 1307 target 1309 graphics [ fill "#000000" ] ]
  5126. edge [ source 1307 target 1308 graphics [ fill "#000000" ] ]
  5127. edge [ source 1309 target 1308 graphics [ fill "#0000ff" ] ]
  5128. edge [ source 1308 target 1303 graphics [ fill "#0000ff" ] ]
  5129. edge [ source 1303 target 1304 graphics [ fill "#000000" ] ]
  5130. edge [ source 1303 target 1319 graphics [ fill "#000000" ] ]
  5131. edge [ source 1319 target 1299 graphics [ fill "#0000ff" ] ]
  5132. edge [ source 1300 target 1301 graphics [ fill "#000000" ] ]
  5133. edge [ source 1300 target 1302 graphics [ fill "#000000" ] ]
  5134. edge [ source 1301 target 1297 graphics [ fill "#0000ff" ] ]
  5135. edge [ source 1298 target 1297 graphics [ fill "#0000ff" ] ]
  5136. edge [ source 1297 target 1298 graphics [ fill "#000000" ] ]
  5137. edge [ source 1297 target 1302 graphics [ fill "#000000" ] ]
  5138. edge [ source 1302 target 1299 graphics [ fill "#0000ff" ] ]
  5139. edge [ source 1299 target 1300 graphics [ fill "#000000" ] ]
  5140. edge [ source 1299 target 1320 graphics [ fill "#000000" ] ]
  5141. edge [ source 1320 target 1321 graphics [ fill "#000000" ] ]
  5142. edge [ source 1320 target 1322 graphics [ fill "#000000" ] ]
  5143. edge [ source 1321 target 1341 graphics [ fill "#0000ff" ] ]
  5144. edge [ source 1322 target 1323 graphics [ fill "#000000" ] ]
  5145. edge [ source 1322 target 1324 graphics [ fill "#000000" ] ]
  5146. edge [ source 1323 target 1341 graphics [ fill "#0000ff" ] ]
  5147. edge [ source 1324 target 1325 graphics [ fill "#000000" ] ]
  5148. edge [ source 1324 target 1326 graphics [ fill "#000000" ] ]
  5149. edge [ source 1325 target 1341 graphics [ fill "#0000ff" ] ]
  5150. edge [ source 1326 target 1295 graphics [ fill "#0000ff" ] ]
  5151. edge [ source 1296 target 1295 graphics [ fill "#0000ff" ] ]
  5152. edge [ source 1295 target 1296 graphics [ fill "#000000" ] ]
  5153. edge [ source 1295 target 1327 graphics [ fill "#000000" ] ]
  5154. edge [ source 1327 target 1328 graphics [ fill "#000000" ] ]
  5155. edge [ source 1327 target 1329 graphics [ fill "#000000" ] ]
  5156. edge [ source 1328 target 1341 graphics [ fill "#0000ff" ] ]
  5157. edge [ source 1329 target 1291 graphics [ fill "#0000ff" ] ]
  5158. edge [ source 1292 target 1293 graphics [ fill "#000000" ] ]
  5159. edge [ source 1292 target 1294 graphics [ fill "#000000" ] ]
  5160. edge [ source 1293 target 1289 graphics [ fill "#0000ff" ] ]
  5161. edge [ source 1290 target 1289 graphics [ fill "#0000ff" ] ]
  5162. edge [ source 1289 target 1290 graphics [ fill "#000000" ] ]
  5163. edge [ source 1289 target 1294 graphics [ fill "#000000" ] ]
  5164. edge [ source 1294 target 1291 graphics [ fill "#0000ff" ] ]
  5165. edge [ source 1291 target 1292 graphics [ fill "#000000" ] ]
  5166. edge [ source 1291 target 1330 graphics [ fill "#000000" ] ]
  5167. edge [ source 1330 target 1331 graphics [ fill "#000000" ] ]
  5168. edge [ source 1330 target 1332 graphics [ fill "#000000" ] ]
  5169. edge [ source 1331 target 1341 graphics [ fill "#0000ff" ] ]
  5170. edge [ source 1332 target 1333 graphics [ fill "#000000" ] ]
  5171. edge [ source 1332 target 1334 graphics [ fill "#000000" ] ]
  5172. edge [ source 1333 target 1341 graphics [ fill "#0000ff" ] ]
  5173. edge [ source 1334 target 1335 graphics [ fill "#000000" ] ]
  5174. edge [ source 1334 target 1336 graphics [ fill "#000000" ] ]
  5175. edge [ source 1335 target 1341 graphics [ fill "#0000ff" ] ]
  5176. edge [ source 1336 target 1287 graphics [ fill "#0000ff" ] ]
  5177. edge [ source 1288 target 1287 graphics [ fill "#0000ff" ] ]
  5178. edge [ source 1287 target 1288 graphics [ fill "#000000" ] ]
  5179. edge [ source 1287 target 1337 graphics [ fill "#000000" ] ]
  5180. edge [ source 1337 target 1338 graphics [ fill "#000000" ] ]
  5181. edge [ source 1337 target 1339 graphics [ fill "#000000" ] ]
  5182. edge [ source 1338 target 1340 graphics [ fill "#0000ff" ] ]
  5183. edge [ source 1339 target 1340 graphics [ fill "#0000ff" ] ]
  5184. edge [ source 1340 target 1341 graphics [ fill "#0000ff" ] ]
  5185. edge [ source 1341 target 1311 graphics [ fill "#000000" ] ]
  5186. # function number 50
  5187. node [ id 1397 graphics [ fill "#ffffff" ] label "rhp_compare_down_edges ()
  5188. ENTRY" ]
  5189. node [ id 1398 graphics [ fill "#ffffff" ] label "rhp_compare_down_edges ()
  5190. EXIT" ]
  5191. node [ id 1399 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  5192. entry_ptr_i = 0B;
  5193. entry_ptr_j = 0B;
  5194. edge_i = 0B;
  5195. edge_j = 0B;
  5196. entry_ptr_i = ptr_i;
  5197. entry_ptr_j = ptr_j;
  5198. edge_i = *entry_ptr_i;
  5199. edge_j = *entry_ptr_j;
  5200. _1 = edge_i->down_node;
  5201. _2 = _1->position;
  5202. _3 = edge_j->down_node;
  5203. _4 = _3->position;
  5204. if (_2 > _4)
  5205. goto <bb 3>; [INV]
  5206. else
  5207. goto <bb 4>; [INV]
  5208. " ]
  5209. node [ id 1400 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  5210. D.4825 = 1;
  5211. // predicted unlikely by early return (on trees) predictor.
  5212. goto <bb 7>; [INV]
  5213. " ]
  5214. node [ id 1401 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  5215. _5 = edge_i->down_node;
  5216. _6 = _5->position;
  5217. _7 = edge_j->down_node;
  5218. _8 = _7->position;
  5219. if (_6 < _8)
  5220. goto <bb 5>; [INV]
  5221. else
  5222. goto <bb 6>; [INV]
  5223. " ]
  5224. node [ id 1402 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  5225. D.4825 = -1;
  5226. // predicted unlikely by early return (on trees) predictor.
  5227. goto <bb 7>; [INV]
  5228. " ]
  5229. node [ id 1403 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  5230. D.4825 = 0;
  5231. // predicted unlikely by early return (on trees) predictor.
  5232. " ]
  5233. node [ id 1404 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  5234. <L4>:
  5235. return D.4825;
  5236. " ]
  5237. edge [ source 1397 target 1399 graphics [ fill "#0000ff" ] ]
  5238. edge [ source 1399 target 1400 graphics [ fill "#000000" ] ]
  5239. edge [ source 1399 target 1401 graphics [ fill "#000000" ] ]
  5240. edge [ source 1400 target 1404 graphics [ fill "#0000ff" ] ]
  5241. edge [ source 1401 target 1402 graphics [ fill "#000000" ] ]
  5242. edge [ source 1401 target 1403 graphics [ fill "#000000" ] ]
  5243. edge [ source 1402 target 1404 graphics [ fill "#0000ff" ] ]
  5244. edge [ source 1403 target 1404 graphics [ fill "#0000ff" ] ]
  5245. edge [ source 1404 target 1398 graphics [ fill "#000000" ] ]
  5246. # function number 51
  5247. node [ id 1413 graphics [ fill "#ffffff" ] label "rhp_sortbydownnodeposition ()
  5248. ENTRY" ]
  5249. node [ id 1414 graphics [ fill "#ffffff" ] label "rhp_sortbydownnodeposition ()
  5250. EXIT" ]
  5251. node [ id 1415 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  5252. _1 = (long unsigned int) num_edges;
  5253. qsort (edge_array, _1, 8, rhp_compare_down_edges);
  5254. " ]
  5255. node [ id 1416 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  5256. <L0>:
  5257. return;
  5258. " ]
  5259. edge [ source 1413 target 1415 graphics [ fill "#0000ff" ] ]
  5260. edge [ source 1415 target 1416 graphics [ fill "#0000ff" ] ]
  5261. edge [ source 1416 target 1414 graphics [ fill "#000000" ] ]
  5262. node [ id 1421 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  5263. if (edges_added < num_edges)
  5264. goto <bb 5>; [INV]
  5265. else
  5266. goto <bb 7>; [INV]
  5267. " ]
  5268. node [ id 1422 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  5269. _1 = (long unsigned int) edges_added;
  5270. _2 = _1 * 8;
  5271. _3 = edges_to_add + _2;
  5272. _4 = start_pos + edges_added;
  5273. _5 = (long unsigned int) _4;
  5274. _6 = _5 * 8;
  5275. _7 = edge_array + _6;
  5276. _8 = *_3;
  5277. *_7 = _8;
  5278. edges_added = edges_added + 1;
  5279. " ]
  5280. # function number 52
  5281. node [ id 1423 graphics [ fill "#ffffff" ] label "rhp_add_edges_to_array ()
  5282. ENTRY" ]
  5283. node [ id 1424 graphics [ fill "#ffffff" ] label "rhp_add_edges_to_array ()
  5284. EXIT" ]
  5285. node [ id 1425 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  5286. edges_added = 0;
  5287. if (num_edges <= 0)
  5288. goto <bb 3>; [INV]
  5289. else
  5290. goto <bb 4>; [INV]
  5291. " ]
  5292. node [ id 1426 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  5293. rhp_log ("%s(): %d num_edges is too low shouldnothappen!\n", &__FUNCTION__, num_edges);
  5294. // predicted unlikely by early return (on trees) predictor.
  5295. goto <bb 8>; [INV]
  5296. " ]
  5297. node [ id 1427 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  5298. edges_added = 0;
  5299. goto <bb 6>; [INV]
  5300. " ]
  5301. node [ id 1428 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  5302. " ]
  5303. node [ id 1429 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  5304. <L5>:
  5305. return;
  5306. " ]
  5307. edge [ source 1423 target 1425 graphics [ fill "#0000ff" ] ]
  5308. edge [ source 1425 target 1426 graphics [ fill "#000000" ] ]
  5309. edge [ source 1425 target 1427 graphics [ fill "#000000" ] ]
  5310. edge [ source 1426 target 1429 graphics [ fill "#0000ff" ] ]
  5311. edge [ source 1427 target 1421 graphics [ fill "#0000ff" ] ]
  5312. edge [ source 1422 target 1421 graphics [ fill "#0000ff" ] ]
  5313. edge [ source 1421 target 1422 graphics [ fill "#000000" ] ]
  5314. edge [ source 1421 target 1428 graphics [ fill "#000000" ] ]
  5315. edge [ source 1428 target 1429 graphics [ fill "#0000ff" ] ]
  5316. edge [ source 1429 target 1424 graphics [ fill "#000000" ] ]
  5317. node [ id 1439 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  5318. if (i < num_of_edges)
  5319. goto <bb 3>; [INV]
  5320. else
  5321. goto <bb 5>; [INV]
  5322. " ]
  5323. node [ id 1440 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  5324. _1 = rhp_insert_and_count_inversions_down (edge_array, i, diff);
  5325. number_of_inversions = number_of_inversions + _1;
  5326. i = i + 1;
  5327. " ]
  5328. # function number 53
  5329. node [ id 1441 graphics [ fill "#ffffff" ] label "rhp_count_inversions_down ()
  5330. ENTRY" ]
  5331. node [ id 1442 graphics [ fill "#ffffff" ] label "rhp_count_inversions_down ()
  5332. EXIT" ]
  5333. node [ id 1443 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  5334. number_of_inversions = 0;
  5335. i = 0;
  5336. i = 1;
  5337. goto <bb 4>; [INV]
  5338. " ]
  5339. node [ id 1444 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  5340. D.4833 = number_of_inversions;
  5341. " ]
  5342. node [ id 1445 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  5343. <L3>:
  5344. return D.4833;
  5345. " ]
  5346. edge [ source 1441 target 1443 graphics [ fill "#0000ff" ] ]
  5347. edge [ source 1443 target 1439 graphics [ fill "#0000ff" ] ]
  5348. edge [ source 1440 target 1439 graphics [ fill "#0000ff" ] ]
  5349. edge [ source 1439 target 1440 graphics [ fill "#000000" ] ]
  5350. edge [ source 1439 target 1444 graphics [ fill "#000000" ] ]
  5351. edge [ source 1444 target 1445 graphics [ fill "#0000ff" ] ]
  5352. edge [ source 1445 target 1442 graphics [ fill "#000000" ] ]
  5353. node [ id 1453 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  5354. if (ix >= 0)
  5355. goto <bb 9>; [INV]
  5356. else
  5357. goto <bb 10>; [INV]
  5358. " ]
  5359. node [ id 1454 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  5360. _37 = (long unsigned int) ix;
  5361. _38 = _37 * 8;
  5362. _39 = edge_array + _38;
  5363. _40 = *_39;
  5364. _41 = _40->down_node;
  5365. _42 = _41->position;
  5366. _43 = edge_to_insert->down_node;
  5367. _44 = _43->position;
  5368. if (_42 > _44)
  5369. goto <bb 7>; [INV]
  5370. else
  5371. goto <bb 10>; [INV]
  5372. " ]
  5373. node [ id 1455 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  5374. number_of_crossings = number_of_crossings + 1;
  5375. _8 = (long unsigned int) ix;
  5376. _9 = _8 * 8;
  5377. _10 = edge_array + _9;
  5378. edge_one = *_10;
  5379. edge_two = edge_to_insert;
  5380. _11 = edge_one->crossings;
  5381. _12 = (long int) diff;
  5382. _13 = _11 + _12;
  5383. edge_one->crossings = _13;
  5384. _14 = edge_two->crossings;
  5385. _15 = (long int) diff;
  5386. _16 = _14 + _15;
  5387. edge_two->crossings = _16;
  5388. up_node_one = edge_one->up_node;
  5389. up_node_two = edge_two->up_node;
  5390. down_node_one = edge_one->down_node;
  5391. down_node_two = edge_two->down_node;
  5392. _17 = up_node_one->down_crossings;
  5393. _18 = (long int) diff;
  5394. _19 = _17 + _18;
  5395. up_node_one->down_crossings = _19;
  5396. _20 = up_node_two->down_crossings;
  5397. _21 = (long int) diff;
  5398. _22 = _20 + _21;
  5399. up_node_two->down_crossings = _22;
  5400. _23 = down_node_one->up_crossings;
  5401. _24 = (long int) diff;
  5402. _25 = _23 + _24;
  5403. down_node_one->up_crossings = _25;
  5404. _26 = down_node_two->up_crossings;
  5405. _27 = (long int) diff;
  5406. _28 = _26 + _27;
  5407. down_node_two->up_crossings = _28;
  5408. _29 = (long unsigned int) ix;
  5409. _30 = _29 * 8;
  5410. _31 = edge_array + _30;
  5411. _32 = (sizetype) ix;
  5412. _33 = _32 + 1;
  5413. _34 = _33 * 8;
  5414. _35 = edge_array + _34;
  5415. _36 = *_31;
  5416. *_35 = _36;
  5417. ix = ix + -1;
  5418. " ]
  5419. # function number 54
  5420. node [ id 1456 graphics [ fill "#ffffff" ] label "rhp_insert_and_count_inversions_down ()
  5421. ENTRY" ]
  5422. node [ id 1457 graphics [ fill "#ffffff" ] label "rhp_insert_and_count_inversions_down ()
  5423. EXIT" ]
  5424. node [ id 1458 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  5425. number_of_crossings = 0;
  5426. ix = 0;
  5427. edge_to_insert = 0B;
  5428. edge_one = 0B;
  5429. edge_two = 0B;
  5430. up_node_one = 0B;
  5431. up_node_two = 0B;
  5432. down_node_one = 0B;
  5433. down_node_two = 0B;
  5434. number_of_crossings = 0;
  5435. if (starting_index <= 0)
  5436. goto <bb 3>; [INV]
  5437. else
  5438. goto <bb 4>; [INV]
  5439. " ]
  5440. node [ id 1459 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  5441. rhp_log ("%s(): starting_index is %d shouldnothappen!\n", &__FUNCTION__, starting_index);
  5442. D.4837 = number_of_crossings;
  5443. // predicted unlikely by early return (on trees) predictor.
  5444. goto <bb 11>; [INV]
  5445. " ]
  5446. node [ id 1460 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  5447. ix = starting_index + -1;
  5448. _1 = (long unsigned int) starting_index;
  5449. _2 = _1 * 8;
  5450. _3 = edge_array + _2;
  5451. edge_to_insert = *_3;
  5452. _4 = (long unsigned int) ix;
  5453. _5 = _4 * 8;
  5454. _6 = edge_array + _5;
  5455. _7 = *_6;
  5456. if (_7 == 0B)
  5457. goto <bb 5>; [INV]
  5458. else
  5459. goto <bb 6>; [INV]
  5460. " ]
  5461. node [ id 1461 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  5462. rhp_log ("%s(): edge_array[%d] is nil and starting_index is %d shouldnothappen!\n", &__FUNCTION__, ix, starting_index);
  5463. D.4837 = number_of_crossings;
  5464. // predicted unlikely by early return (on trees) predictor.
  5465. goto <bb 11>; [INV]
  5466. " ]
  5467. node [ id 1462 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  5468. goto <bb 8>; [INV]
  5469. " ]
  5470. node [ id 1463 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  5471. _45 = (sizetype) ix;
  5472. _46 = _45 + 1;
  5473. _47 = _46 * 8;
  5474. _48 = edge_array + _47;
  5475. *_48 = edge_to_insert;
  5476. _49 = edge_to_insert->innum;
  5477. rhp_log ("%s() at edge %d are %li crossings\n", &__FUNCTION__, _49, number_of_crossings);
  5478. D.4837 = number_of_crossings;
  5479. " ]
  5480. node [ id 1464 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  5481. <L8>:
  5482. return D.4837;
  5483. " ]
  5484. edge [ source 1456 target 1458 graphics [ fill "#0000ff" ] ]
  5485. edge [ source 1458 target 1459 graphics [ fill "#000000" ] ]
  5486. edge [ source 1458 target 1460 graphics [ fill "#000000" ] ]
  5487. edge [ source 1459 target 1464 graphics [ fill "#0000ff" ] ]
  5488. edge [ source 1460 target 1461 graphics [ fill "#000000" ] ]
  5489. edge [ source 1460 target 1462 graphics [ fill "#000000" ] ]
  5490. edge [ source 1461 target 1464 graphics [ fill "#0000ff" ] ]
  5491. edge [ source 1462 target 1453 graphics [ fill "#0000ff" ] ]
  5492. edge [ source 1455 target 1453 graphics [ fill "#0000ff" ] ]
  5493. edge [ source 1453 target 1454 graphics [ fill "#000000" ] ]
  5494. edge [ source 1453 target 1463 graphics [ fill "#000000" ] ]
  5495. edge [ source 1454 target 1455 graphics [ fill "#000000" ] ]
  5496. edge [ source 1454 target 1463 graphics [ fill "#000000" ] ]
  5497. edge [ source 1463 target 1464 graphics [ fill "#0000ff" ] ]
  5498. edge [ source 1464 target 1457 graphics [ fill "#000000" ] ]
  5499. node [ id 1477 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  5500. rhp_nlevels.209_9 = rhp_nlevels;
  5501. if (i < rhp_nlevels.209_9)
  5502. goto <bb 7>; [INV]
  5503. else
  5504. goto <bb 12>; [INV]
  5505. " ]
  5506. node [ id 1478 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  5507. _5 = (long long int) i;
  5508. rhp_sp_between_layers.208_6 = rhp_sp_between_layers;
  5509. spnb = rhp_sp_lookup (rhp_sp_between_layers.208_6, _5);
  5510. if (spnb != 0B)
  5511. goto <bb 8>; [INV]
  5512. else
  5513. goto <bb 9>; [INV]
  5514. " ]
  5515. node [ id 1479 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  5516. _7 = spnb->value;
  5517. is = (struct rhp_inter_layer_struct *) _7;
  5518. _8 = is->number_of_crossings;
  5519. crossings = crossings + _8;
  5520. goto <bb 10>; [INV]
  5521. " ]
  5522. node [ id 1480 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  5523. rhp_log ("%s(): could not find level %d shouldnothappen!\n", &__FUNCTION__, i);
  5524. " ]
  5525. node [ id 1481 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  5526. i = i + 1;
  5527. " ]
  5528. # function number 55
  5529. node [ id 1482 graphics [ fill "#ffffff" ] label "rhp_numberofcrossings ()
  5530. ENTRY" ]
  5531. node [ id 1483 graphics [ fill "#ffffff" ] label "rhp_numberofcrossings ()
  5532. EXIT" ]
  5533. node [ id 1484 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  5534. spnb = 0B;
  5535. is = 0B;
  5536. i = 1;
  5537. crossings = 0;
  5538. rhp_nlevels.204_1 = rhp_nlevels;
  5539. if (rhp_nlevels.204_1 <= 1)
  5540. goto <bb 3>; [INV]
  5541. else
  5542. goto <bb 4>; [INV]
  5543. " ]
  5544. node [ id 1485 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  5545. rhp_nlevels.205_2 = rhp_nlevels;
  5546. rhp_log ("%s(): graph has no edge crossings because low number of levels which is %d\n", &__FUNCTION__, rhp_nlevels.205_2);
  5547. D.4844 = 0;
  5548. // predicted unlikely by early return (on trees) predictor.
  5549. goto <bb 13>; [INV]
  5550. " ]
  5551. node [ id 1486 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  5552. rhp_number_of_edges.206_3 = rhp_number_of_edges;
  5553. if (rhp_number_of_edges.206_3 <= 1)
  5554. goto <bb 5>; [INV]
  5555. else
  5556. goto <bb 6>; [INV]
  5557. " ]
  5558. node [ id 1487 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  5559. rhp_number_of_edges.207_4 = rhp_number_of_edges;
  5560. rhp_log ("%s(): graph has no edge crossings because low number of edge which is %d\n", &__FUNCTION__, rhp_number_of_edges.207_4);
  5561. D.4844 = 0;
  5562. // predicted unlikely by early return (on trees) predictor.
  5563. goto <bb 13>; [INV]
  5564. " ]
  5565. node [ id 1488 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  5566. i = 1;
  5567. goto <bb 11>; [INV]
  5568. " ]
  5569. node [ id 1489 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  5570. rhp_number_of_edges.210_10 = rhp_number_of_edges;
  5571. rhp_nlevels.211_11 = rhp_nlevels;
  5572. rhp_log ("%s(): graph has %li edge crossings in %d levels and %d edges\n", &__FUNCTION__, crossings, rhp_nlevels.211_11, rhp_number_of_edges.210_10);
  5573. D.4844 = crossings;
  5574. " ]
  5575. node [ id 1490 graphics [ fill "#d3d3d3" ] label "<bb 13>:
  5576. <L10>:
  5577. return D.4844;
  5578. " ]
  5579. edge [ source 1482 target 1484 graphics [ fill "#0000ff" ] ]
  5580. edge [ source 1484 target 1485 graphics [ fill "#000000" ] ]
  5581. edge [ source 1484 target 1486 graphics [ fill "#000000" ] ]
  5582. edge [ source 1485 target 1490 graphics [ fill "#0000ff" ] ]
  5583. edge [ source 1486 target 1487 graphics [ fill "#000000" ] ]
  5584. edge [ source 1486 target 1488 graphics [ fill "#000000" ] ]
  5585. edge [ source 1487 target 1490 graphics [ fill "#0000ff" ] ]
  5586. edge [ source 1488 target 1477 graphics [ fill "#0000ff" ] ]
  5587. edge [ source 1478 target 1479 graphics [ fill "#000000" ] ]
  5588. edge [ source 1478 target 1480 graphics [ fill "#000000" ] ]
  5589. edge [ source 1479 target 1481 graphics [ fill "#0000ff" ] ]
  5590. edge [ source 1480 target 1481 graphics [ fill "#0000ff" ] ]
  5591. edge [ source 1481 target 1477 graphics [ fill "#0000ff" ] ]
  5592. edge [ source 1477 target 1478 graphics [ fill "#000000" ] ]
  5593. edge [ source 1477 target 1489 graphics [ fill "#000000" ] ]
  5594. edge [ source 1489 target 1490 graphics [ fill "#0000ff" ] ]
  5595. edge [ source 1490 target 1483 graphics [ fill "#000000" ] ]
  5596. node [ id 1505 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  5597. rhp_nlevels.228_48 = rhp_nlevels;
  5598. if (level < rhp_nlevels.228_48)
  5599. goto <bb 7>; [INV]
  5600. else
  5601. goto <bb 13>; [INV]
  5602. " ]
  5603. node [ id 1506 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  5604. _25 = (long long int) level;
  5605. rhp_sp_layers.224_26 = rhp_sp_layers;
  5606. spn = rhp_sp_lookup (rhp_sp_layers.224_26, _25);
  5607. if (spn == 0B)
  5608. goto <bb 8>; [INV]
  5609. else
  5610. goto <bb 9>; [INV]
  5611. " ]
  5612. node [ id 1507 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  5613. rhp_sp_layers.225_27 = rhp_sp_layers;
  5614. rhp_log ("%s(): could not get data for level %d in sp_layers=%p shouldnothappen!\n", &__FUNCTION__, level, rhp_sp_layers.225_27);
  5615. // predicted unlikely by continue predictor.
  5616. goto <bb 11>; [INV]
  5617. " ]
  5618. node [ id 1508 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  5619. _28 = spn->value;
  5620. rl = (struct rhplevel *) _28;
  5621. rhp_best_crossings_order.226_29 = rhp_best_crossings_order;
  5622. _30 = rhp_best_crossings_order.226_29->num_nodes_on_layer;
  5623. _31 = (long unsigned int) level;
  5624. _32 = _31 * 4;
  5625. _33 = _30 + _32;
  5626. _34 = rl->number_of_nodes;
  5627. *_33 = _34;
  5628. _35 = rl->number_of_nodes;
  5629. if (_35 != 0)
  5630. goto <bb 10>; [INV]
  5631. else
  5632. goto <bb 11>; [INV]
  5633. " ]
  5634. node [ id 1509 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  5635. level = level + 1;
  5636. " ]
  5637. node [ id 1510 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  5638. _36 = rl->number_of_nodes;
  5639. _37 = (long unsigned int) _36;
  5640. _38 = _37 * 8;
  5641. rhp_best_crossings_order.227_39 = rhp_best_crossings_order;
  5642. _40 = rhp_best_crossings_order.227_39->node_ptr_on_layer;
  5643. _41 = (long unsigned int) level;
  5644. _42 = _41 * 8;
  5645. _43 = _40 + _42;
  5646. _44 = rhp_malloc (_38, &__FUNCTION__, 3434);
  5647. *_43 = _44;
  5648. _45 = rl->number_of_nodes;
  5649. _46 = (long unsigned int) _45;
  5650. _47 = _46 * 8;
  5651. tb = tb + _47;
  5652. " ]
  5653. # function number 56
  5654. node [ id 1511 graphics [ fill "#ffffff" ] label "rhp_order_init ()
  5655. ENTRY" ]
  5656. node [ id 1512 graphics [ fill "#ffffff" ] label "rhp_order_init ()
  5657. EXIT" ]
  5658. node [ id 1513 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  5659. spn = 0B;
  5660. rl = 0B;
  5661. level = 0;
  5662. tb = 0;
  5663. rhp_nlevels.212_1 = rhp_nlevels;
  5664. rhp_log ("%s(): rhp_nlevels is %d\n", &__FUNCTION__, rhp_nlevels.212_1);
  5665. _2 = rhp_malloc (24, &__FUNCTION__, 3388);
  5666. rhp_best_crossings_order = _2;
  5667. tb = tb + 24;
  5668. rhp_best_crossings_order.213_3 = rhp_best_crossings_order;
  5669. rhp_nlevels.214_4 = rhp_nlevels;
  5670. rhp_best_crossings_order.213_3->num_layers = rhp_nlevels.214_4;
  5671. rhp_nlevels.215_5 = rhp_nlevels;
  5672. _6 = (long unsigned int) rhp_nlevels.215_5;
  5673. _7 = _6 * 4;
  5674. rhp_best_crossings_order.216_8 = rhp_best_crossings_order;
  5675. _9 = rhp_malloc (_7, &__FUNCTION__, 3395);
  5676. rhp_best_crossings_order.216_8->num_nodes_on_layer = _9;
  5677. rhp_nlevels.217_10 = rhp_nlevels;
  5678. _11 = (long unsigned int) rhp_nlevels.217_10;
  5679. _12 = _11 * 4;
  5680. tb = tb + _12;
  5681. rhp_nlevels.218_13 = rhp_nlevels;
  5682. _14 = (long unsigned int) rhp_nlevels.218_13;
  5683. _15 = _14 * 8;
  5684. rhp_best_crossings_order.219_16 = rhp_best_crossings_order;
  5685. _17 = rhp_malloc (_15, &__FUNCTION__, 3399);
  5686. rhp_best_crossings_order.219_16->node_ptr_on_layer = _17;
  5687. rhp_nlevels.220_18 = rhp_nlevels;
  5688. _19 = (long unsigned int) rhp_nlevels.220_18;
  5689. _20 = _19 * 8;
  5690. tb = tb + _20;
  5691. rhp_sp_layers.221_21 = rhp_sp_layers;
  5692. _22 = rhp_sp_has_data (rhp_sp_layers.221_21);
  5693. if (_22 == 0)
  5694. goto <bb 3>; [INV]
  5695. else
  5696. goto <bb 6>; [INV]
  5697. " ]
  5698. node [ id 1514 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  5699. rhp_nlevels.222_23 = rhp_nlevels;
  5700. if (rhp_nlevels.222_23 > 1)
  5701. goto <bb 4>; [INV]
  5702. else
  5703. goto <bb 5>; [INV]
  5704. " ]
  5705. node [ id 1515 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  5706. rhp_nlevels.223_24 = rhp_nlevels;
  5707. rhp_log ("%s(): there is no level data for %d levels shouldnothappen!\n", &__FUNCTION__, rhp_nlevels.223_24);
  5708. " ]
  5709. node [ id 1516 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  5710. // predicted unlikely by early return (on trees) predictor.
  5711. goto <bb 14>; [INV]
  5712. " ]
  5713. node [ id 1517 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  5714. level = 0;
  5715. goto <bb 12>; [INV]
  5716. " ]
  5717. node [ id 1518 graphics [ fill "#d3d3d3" ] label "<bb 13>:
  5718. rhp_save_order ();
  5719. tb.229_49 = (long long int) tb;
  5720. rhp_log ("%s(): using %lu bytes for the order data\n", &__FUNCTION__, tb.229_49);
  5721. " ]
  5722. node [ id 1519 graphics [ fill "#d3d3d3" ] label "<bb 14>:
  5723. <L12>:
  5724. return;
  5725. " ]
  5726. edge [ source 1511 target 1513 graphics [ fill "#0000ff" ] ]
  5727. edge [ source 1513 target 1514 graphics [ fill "#000000" ] ]
  5728. edge [ source 1513 target 1517 graphics [ fill "#000000" ] ]
  5729. edge [ source 1514 target 1515 graphics [ fill "#000000" ] ]
  5730. edge [ source 1514 target 1516 graphics [ fill "#000000" ] ]
  5731. edge [ source 1515 target 1516 graphics [ fill "#0000ff" ] ]
  5732. edge [ source 1516 target 1519 graphics [ fill "#0000ff" ] ]
  5733. edge [ source 1517 target 1505 graphics [ fill "#0000ff" ] ]
  5734. edge [ source 1506 target 1507 graphics [ fill "#000000" ] ]
  5735. edge [ source 1506 target 1508 graphics [ fill "#000000" ] ]
  5736. edge [ source 1507 target 1509 graphics [ fill "#0000ff" ] ]
  5737. edge [ source 1508 target 1510 graphics [ fill "#000000" ] ]
  5738. edge [ source 1508 target 1509 graphics [ fill "#000000" ] ]
  5739. edge [ source 1510 target 1509 graphics [ fill "#0000ff" ] ]
  5740. edge [ source 1509 target 1505 graphics [ fill "#0000ff" ] ]
  5741. edge [ source 1505 target 1506 graphics [ fill "#000000" ] ]
  5742. edge [ source 1505 target 1518 graphics [ fill "#000000" ] ]
  5743. edge [ source 1518 target 1519 graphics [ fill "#0000ff" ] ]
  5744. edge [ source 1519 target 1512 graphics [ fill "#000000" ] ]
  5745. node [ id 1535 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  5746. _20 = rl->number_of_nodes;
  5747. if (i < _20)
  5748. goto <bb 6>; [INV]
  5749. else
  5750. goto <bb 8>; [INV]
  5751. " ]
  5752. node [ id 1536 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  5753. _6 = rl->nodes;
  5754. _7 = (long unsigned int) i;
  5755. _8 = _7 * 8;
  5756. _9 = _6 + _8;
  5757. nd = *_9;
  5758. rhp_best_crossings_order.233_10 = rhp_best_crossings_order;
  5759. _11 = rhp_best_crossings_order.233_10->node_ptr_on_layer;
  5760. _12 = (long unsigned int) level;
  5761. _13 = _12 * 8;
  5762. _14 = _11 + _13;
  5763. _15 = *_14;
  5764. _16 = (long unsigned int) i;
  5765. _17 = _16 * 8;
  5766. _18 = _15 + _17;
  5767. *_18 = nd;
  5768. _19 = nd->innum;
  5769. rhp_log (" %d", _19);
  5770. i = i + 1;
  5771. " ]
  5772. node [ id 1537 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  5773. rhp_nlevels.234_21 = rhp_nlevels;
  5774. if (level < rhp_nlevels.234_21)
  5775. goto <bb 3>; [INV]
  5776. else
  5777. goto <bb 11>; [INV]
  5778. " ]
  5779. node [ id 1538 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  5780. _3 = (long long int) level;
  5781. rhp_sp_layers.232_4 = rhp_sp_layers;
  5782. spn = rhp_sp_lookup (rhp_sp_layers.232_4, _3);
  5783. if (spn == 0B)
  5784. goto <bb 4>; [INV]
  5785. else
  5786. goto <bb 5>; [INV]
  5787. " ]
  5788. node [ id 1539 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  5789. rhp_log ("%s(): could not get data for level %d shouldnothappen!\n", &__FUNCTION__, level);
  5790. // predicted unlikely by continue predictor.
  5791. goto <bb 9>; [INV]
  5792. " ]
  5793. node [ id 1540 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  5794. _5 = spn->value;
  5795. rl = (struct rhplevel *) _5;
  5796. rhp_log ("%s(): level %d has nodes:", &__FUNCTION__, level);
  5797. i = 0;
  5798. goto <bb 7>; [INV]
  5799. " ]
  5800. node [ id 1541 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  5801. level = level + 1;
  5802. " ]
  5803. node [ id 1542 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  5804. rhp_log ("\n");
  5805. " ]
  5806. # function number 57
  5807. node [ id 1543 graphics [ fill "#ffffff" ] label "rhp_save_order ()
  5808. ENTRY" ]
  5809. node [ id 1544 graphics [ fill "#ffffff" ] label "rhp_save_order ()
  5810. EXIT" ]
  5811. node [ id 1545 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  5812. spn = 0B;
  5813. rl = 0B;
  5814. nd = 0B;
  5815. level = 0;
  5816. i = 0;
  5817. rhp_best_crossings_order.230_1 = rhp_best_crossings_order;
  5818. rhp_nlevels.231_2 = rhp_nlevels;
  5819. rhp_best_crossings_order.230_1->num_layers = rhp_nlevels.231_2;
  5820. level = 0;
  5821. goto <bb 10>; [INV]
  5822. " ]
  5823. node [ id 1546 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  5824. " ]
  5825. node [ id 1547 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  5826. <L9>:
  5827. return;
  5828. " ]
  5829. edge [ source 1543 target 1545 graphics [ fill "#0000ff" ] ]
  5830. edge [ source 1545 target 1537 graphics [ fill "#0000ff" ] ]
  5831. edge [ source 1538 target 1539 graphics [ fill "#000000" ] ]
  5832. edge [ source 1538 target 1540 graphics [ fill "#000000" ] ]
  5833. edge [ source 1539 target 1541 graphics [ fill "#0000ff" ] ]
  5834. edge [ source 1540 target 1535 graphics [ fill "#0000ff" ] ]
  5835. edge [ source 1536 target 1535 graphics [ fill "#0000ff" ] ]
  5836. edge [ source 1535 target 1536 graphics [ fill "#000000" ] ]
  5837. edge [ source 1535 target 1542 graphics [ fill "#000000" ] ]
  5838. edge [ source 1542 target 1541 graphics [ fill "#0000ff" ] ]
  5839. edge [ source 1541 target 1537 graphics [ fill "#0000ff" ] ]
  5840. edge [ source 1537 target 1538 graphics [ fill "#000000" ] ]
  5841. edge [ source 1537 target 1546 graphics [ fill "#000000" ] ]
  5842. edge [ source 1546 target 1547 graphics [ fill "#0000ff" ] ]
  5843. edge [ source 1547 target 1544 graphics [ fill "#000000" ] ]
  5844. node [ id 1561 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  5845. _19 = rl->number_of_nodes;
  5846. if (i < _19)
  5847. goto <bb 6>; [INV]
  5848. else
  5849. goto <bb 8>; [INV]
  5850. " ]
  5851. node [ id 1562 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  5852. rhp_best_crossings_order.238_6 = rhp_best_crossings_order;
  5853. _7 = rhp_best_crossings_order.238_6->node_ptr_on_layer;
  5854. _8 = (long unsigned int) level;
  5855. _9 = _8 * 8;
  5856. _10 = _7 + _9;
  5857. _11 = *_10;
  5858. _12 = (long unsigned int) i;
  5859. _13 = _12 * 8;
  5860. _14 = _11 + _13;
  5861. nd = *_14;
  5862. _15 = rl->nodes;
  5863. _16 = (long unsigned int) i;
  5864. _17 = _16 * 8;
  5865. _18 = _15 + _17;
  5866. *_18 = nd;
  5867. nd->position = i;
  5868. i = i + 1;
  5869. " ]
  5870. node [ id 1563 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  5871. rhp_nlevels.239_20 = rhp_nlevels;
  5872. if (level < rhp_nlevels.239_20)
  5873. goto <bb 3>; [INV]
  5874. else
  5875. goto <bb 10>; [INV]
  5876. " ]
  5877. node [ id 1564 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  5878. _3 = (long long int) level;
  5879. rhp_sp_layers.237_4 = rhp_sp_layers;
  5880. spn = rhp_sp_lookup (rhp_sp_layers.237_4, _3);
  5881. if (spn == 0B)
  5882. goto <bb 4>; [INV]
  5883. else
  5884. goto <bb 5>; [INV]
  5885. " ]
  5886. node [ id 1565 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  5887. rhp_log ("%s(): could not get data for level %d shouldnothappen!\n", &__FUNCTION__, level);
  5888. // predicted unlikely by continue predictor.
  5889. goto <bb 8>; [INV]
  5890. " ]
  5891. node [ id 1566 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  5892. _5 = spn->value;
  5893. rl = (struct rhplevel *) _5;
  5894. i = 0;
  5895. goto <bb 7>; [INV]
  5896. " ]
  5897. node [ id 1567 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  5898. level = level + 1;
  5899. " ]
  5900. # function number 58
  5901. node [ id 1568 graphics [ fill "#ffffff" ] label "rhp_restore_order ()
  5902. ENTRY" ]
  5903. node [ id 1569 graphics [ fill "#ffffff" ] label "rhp_restore_order ()
  5904. EXIT" ]
  5905. node [ id 1570 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  5906. spn = 0B;
  5907. rl = 0B;
  5908. nd = 0B;
  5909. level = 0;
  5910. i = 0;
  5911. rhp_log ("%s(): \n", &__FUNCTION__);
  5912. rhp_best_crossings_order.235_1 = rhp_best_crossings_order;
  5913. rhp_nlevels.236_2 = rhp_nlevels;
  5914. rhp_best_crossings_order.235_1->num_layers = rhp_nlevels.236_2;
  5915. level = 0;
  5916. goto <bb 9>; [INV]
  5917. " ]
  5918. node [ id 1571 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  5919. " ]
  5920. node [ id 1572 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  5921. <L9>:
  5922. return;
  5923. " ]
  5924. edge [ source 1568 target 1570 graphics [ fill "#0000ff" ] ]
  5925. edge [ source 1570 target 1563 graphics [ fill "#0000ff" ] ]
  5926. edge [ source 1564 target 1565 graphics [ fill "#000000" ] ]
  5927. edge [ source 1564 target 1566 graphics [ fill "#000000" ] ]
  5928. edge [ source 1565 target 1567 graphics [ fill "#0000ff" ] ]
  5929. edge [ source 1566 target 1561 graphics [ fill "#0000ff" ] ]
  5930. edge [ source 1562 target 1561 graphics [ fill "#0000ff" ] ]
  5931. edge [ source 1561 target 1562 graphics [ fill "#000000" ] ]
  5932. edge [ source 1561 target 1567 graphics [ fill "#000000" ] ]
  5933. edge [ source 1567 target 1563 graphics [ fill "#0000ff" ] ]
  5934. edge [ source 1563 target 1564 graphics [ fill "#000000" ] ]
  5935. edge [ source 1563 target 1571 graphics [ fill "#000000" ] ]
  5936. edge [ source 1571 target 1572 graphics [ fill "#0000ff" ] ]
  5937. edge [ source 1572 target 1569 graphics [ fill "#000000" ] ]
  5938. node [ id 1585 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  5939. rhp_nlevels.241_2 = rhp_nlevels;
  5940. _3 = rhp_nlevels.241_2 + -2;
  5941. _4 = rhp_barycenterupsweep (1, _3);
  5942. if (_4 != 0)
  5943. goto <bb 4>; [INV]
  5944. else
  5945. goto <bb 5>; [INV]
  5946. " ]
  5947. node [ id 1586 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  5948. rhp_nlevels.242_5 = rhp_nlevels;
  5949. _6 = rhp_nlevels.242_5 + -2;
  5950. _7 = rhp_barycenterdownsweep (1, _6);
  5951. if (_7 != 0)
  5952. goto <bb 6>; [INV]
  5953. else
  5954. goto <bb 7>; [INV]
  5955. " ]
  5956. node [ id 1587 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  5957. _8 = rhp_terminate ();
  5958. if (_8 == 0)
  5959. goto <bb 3>; [INV]
  5960. else
  5961. goto <bb 8>; [INV]
  5962. " ]
  5963. # function number 59
  5964. node [ id 1588 graphics [ fill "#ffffff" ] label "rhp_barycenter ()
  5965. ENTRY" ]
  5966. node [ id 1589 graphics [ fill "#ffffff" ] label "rhp_barycenter ()
  5967. EXIT" ]
  5968. node [ id 1590 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  5969. redu = 0;
  5970. rhp_iter = 0;
  5971. rhp_maxiter = 255;
  5972. rhp_start_crossings.240_1 = rhp_start_crossings;
  5973. rhp_log ("%s(): starting barycenter with %li edge crossings at start\n", &__FUNCTION__, rhp_start_crossings.240_1);
  5974. " ]
  5975. node [ id 1591 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  5976. // predicted unlikely by early return (on trees) predictor.
  5977. goto <bb 12>; [INV]
  5978. " ]
  5979. node [ id 1592 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  5980. // predicted unlikely by early return (on trees) predictor.
  5981. goto <bb 12>; [INV]
  5982. " ]
  5983. node [ id 1593 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  5984. rhp_start_crossings.243_9 = rhp_start_crossings;
  5985. rhp_crossings.244_10 = rhp_crossings;
  5986. rhp_log ("%s(): ending barycenter with %li edge crossings and started with %li edge crossings at start\n", &__FUNCTION__, rhp_crossings.244_10, rhp_start_crossings.243_9);
  5987. rhp_start_crossings.245_11 = rhp_start_crossings;
  5988. if (rhp_start_crossings.245_11 != 0)
  5989. goto <bb 9>; [INV]
  5990. else
  5991. goto <bb 10>; [INV]
  5992. " ]
  5993. node [ id 1594 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  5994. rhp_crossings.246_12 = rhp_crossings;
  5995. _13 = rhp_crossings.246_12 * 100;
  5996. rhp_start_crossings.247_14 = rhp_start_crossings;
  5997. redu = _13 / rhp_start_crossings.247_14;
  5998. redu = 100 - redu;
  5999. goto <bb 11>; [INV]
  6000. " ]
  6001. node [ id 1595 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  6002. redu = 0;
  6003. " ]
  6004. node [ id 1596 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  6005. rhp_crossings.248_15 = rhp_crossings;
  6006. rhp_start_crossings.249_16 = rhp_start_crossings;
  6007. rhp_log ("%s(): reduced edge crossings with %li percent from %li->%li\n", &__FUNCTION__, redu, rhp_start_crossings.249_16, rhp_crossings.248_15);
  6008. " ]
  6009. node [ id 1597 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  6010. <L9>:
  6011. return;
  6012. " ]
  6013. edge [ source 1588 target 1590 graphics [ fill "#0000ff" ] ]
  6014. edge [ source 1590 target 1585 graphics [ fill "#0000ff" ] ]
  6015. edge [ source 1585 target 1591 graphics [ fill "#000000" ] ]
  6016. edge [ source 1585 target 1586 graphics [ fill "#000000" ] ]
  6017. edge [ source 1591 target 1597 graphics [ fill "#0000ff" ] ]
  6018. edge [ source 1586 target 1592 graphics [ fill "#000000" ] ]
  6019. edge [ source 1586 target 1587 graphics [ fill "#000000" ] ]
  6020. edge [ source 1592 target 1597 graphics [ fill "#0000ff" ] ]
  6021. edge [ source 1587 target 1585 graphics [ fill "#0000ff" ] ]
  6022. edge [ source 1587 target 1593 graphics [ fill "#000000" ] ]
  6023. edge [ source 1593 target 1594 graphics [ fill "#000000" ] ]
  6024. edge [ source 1593 target 1595 graphics [ fill "#000000" ] ]
  6025. edge [ source 1594 target 1596 graphics [ fill "#0000ff" ] ]
  6026. edge [ source 1595 target 1596 graphics [ fill "#0000ff" ] ]
  6027. edge [ source 1596 target 1597 graphics [ fill "#0000ff" ] ]
  6028. edge [ source 1597 target 1589 graphics [ fill "#000000" ] ]
  6029. # function number 60
  6030. node [ id 1611 graphics [ fill "#ffffff" ] label "rhp_terminate ()
  6031. ENTRY" ]
  6032. node [ id 1612 graphics [ fill "#ffffff" ] label "rhp_terminate ()
  6033. EXIT" ]
  6034. node [ id 1613 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  6035. redu = 0;
  6036. rhp_cur_crossings = 0;
  6037. status = 0;
  6038. better = 0;
  6039. rhp_cur_crossings = rhp_numberofcrossings ();
  6040. rhp_iter.250_1 = rhp_iter;
  6041. _2 = rhp_iter.250_1 + 1;
  6042. rhp_iter = _2;
  6043. rhp_crossings.251_3 = rhp_crossings;
  6044. rhp_log ("%s(): changed from %li to %li crossings\n", &__FUNCTION__, rhp_crossings.251_3, rhp_cur_crossings);
  6045. rhp_crossings.252_4 = rhp_crossings;
  6046. if (rhp_cur_crossings < rhp_crossings.252_4)
  6047. goto <bb 3>; [INV]
  6048. else
  6049. goto <bb 4>; [INV]
  6050. " ]
  6051. node [ id 1614 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  6052. better = 1;
  6053. rhp_improvements.253_5 = rhp_improvements;
  6054. _6 = rhp_improvements.253_5 + 1;
  6055. rhp_improvements = _6;
  6056. goto <bb 5>; [INV]
  6057. " ]
  6058. node [ id 1615 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  6059. better = 0;
  6060. rhp_notimprovements.254_7 = rhp_notimprovements;
  6061. _8 = rhp_notimprovements.254_7 + 1;
  6062. rhp_notimprovements = _8;
  6063. " ]
  6064. node [ id 1616 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  6065. rhp_getlayoutdata.255_9 = rhp_getlayoutdata;
  6066. if (rhp_getlayoutdata.255_9 != 0B)
  6067. goto <bb 6>; [INV]
  6068. else
  6069. goto <bb 11>; [INV]
  6070. " ]
  6071. node [ id 1617 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  6072. rhp_crossings.256_10 = rhp_crossings;
  6073. if (rhp_crossings.256_10 != 0)
  6074. goto <bb 7>; [INV]
  6075. else
  6076. goto <bb 8>; [INV]
  6077. " ]
  6078. node [ id 1618 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  6079. _11 = rhp_cur_crossings * 100;
  6080. rhp_crossings.257_12 = rhp_crossings;
  6081. _13 = _11 / rhp_crossings.257_12;
  6082. redu = (uint64_t) _13;
  6083. redu = 100 - redu;
  6084. goto <bb 9>; [INV]
  6085. " ]
  6086. node [ id 1619 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  6087. redu = 0;
  6088. " ]
  6089. node [ id 1620 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  6090. rhp_getlayoutdata.258_14 = rhp_getlayoutdata;
  6091. rhp_notimprovements.259_15 = rhp_notimprovements;
  6092. rhp_improvements.260_16 = rhp_improvements;
  6093. rhp_crossings.261_17 = rhp_crossings;
  6094. rhp_crossings.262_18 = (long unsigned int) rhp_crossings.261_17;
  6095. rhp_cur_crossings.263_19 = (long unsigned int) rhp_cur_crossings;
  6096. rhp_maxiter.264_20 = rhp_maxiter;
  6097. rhp_iter.265_21 = rhp_iter;
  6098. status = rhp_getlayoutdata.258_14 (rhp_iter.265_21, rhp_maxiter.264_20, rhp_cur_crossings.263_19, rhp_crossings.262_18, redu, better, rhp_improvements.260_16, rhp_notimprovements.259_15);
  6099. if (status != 0)
  6100. goto <bb 10>; [INV]
  6101. else
  6102. goto <bb 11>; [INV]
  6103. " ]
  6104. node [ id 1621 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  6105. rhp_log ("%s(): stop barycenter because status %d from callback routine at %lu crossings\n", &__FUNCTION__, status, rhp_cur_crossings);
  6106. rhp_save_order ();
  6107. rhp_crossings = rhp_cur_crossings;
  6108. D.4884 = 1;
  6109. // predicted unlikely by early return (on trees) predictor.
  6110. goto <bb 26>; [INV]
  6111. " ]
  6112. node [ id 1622 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  6113. if (rhp_cur_crossings == 0)
  6114. goto <bb 13>; [INV]
  6115. else
  6116. goto <bb 12>; [INV]
  6117. " ]
  6118. node [ id 1623 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  6119. rhp_crossings.266_22 = rhp_crossings;
  6120. if (rhp_crossings.266_22 == 0)
  6121. goto <bb 13>; [INV]
  6122. else
  6123. goto <bb 14>; [INV]
  6124. " ]
  6125. node [ id 1624 graphics [ fill "#d3d3d3" ] label "<bb 13>:
  6126. rhp_crossings.267_23 = rhp_crossings;
  6127. rhp_log ("%s(): stop barycenter because of no edge crossings cur=%lu old=%lu\n", &__FUNCTION__, rhp_cur_crossings, rhp_crossings.267_23);
  6128. rhp_save_order ();
  6129. rhp_crossings = rhp_cur_crossings;
  6130. D.4884 = 1;
  6131. // predicted unlikely by early return (on trees) predictor.
  6132. goto <bb 26>; [INV]
  6133. " ]
  6134. node [ id 1625 graphics [ fill "#d3d3d3" ] label "<bb 14>:
  6135. rhp_crossings.268_24 = rhp_crossings;
  6136. if (rhp_cur_crossings < rhp_crossings.268_24)
  6137. goto <bb 15>; [INV]
  6138. else
  6139. goto <bb 20>; [INV]
  6140. " ]
  6141. node [ id 1626 graphics [ fill "#d3d3d3" ] label "<bb 15>:
  6142. rhp_save_order ();
  6143. rhp_crossings = rhp_cur_crossings;
  6144. rhp_crossings.269_25 = rhp_crossings;
  6145. if (rhp_crossings.269_25 == 0)
  6146. goto <bb 16>; [INV]
  6147. else
  6148. goto <bb 17>; [INV]
  6149. " ]
  6150. node [ id 1627 graphics [ fill "#d3d3d3" ] label "<bb 16>:
  6151. D.4884 = 1;
  6152. // predicted unlikely by early return (on trees) predictor.
  6153. goto <bb 26>; [INV]
  6154. " ]
  6155. node [ id 1628 graphics [ fill "#d3d3d3" ] label "<bb 17>:
  6156. rhp_iter.270_26 = rhp_iter;
  6157. rhp_maxiter.271_27 = rhp_maxiter;
  6158. if (rhp_iter.270_26 > rhp_maxiter.271_27)
  6159. goto <bb 18>; [INV]
  6160. else
  6161. goto <bb 19>; [INV]
  6162. " ]
  6163. node [ id 1629 graphics [ fill "#d3d3d3" ] label "<bb 18>:
  6164. D.4884 = 1;
  6165. // predicted unlikely by early return (on trees) predictor.
  6166. goto <bb 26>; [INV]
  6167. " ]
  6168. node [ id 1630 graphics [ fill "#d3d3d3" ] label "<bb 19>:
  6169. D.4884 = 0;
  6170. // predicted unlikely by early return (on trees) predictor.
  6171. goto <bb 26>; [INV]
  6172. " ]
  6173. node [ id 1631 graphics [ fill "#d3d3d3" ] label "<bb 20>:
  6174. rhp_crossings.272_28 = rhp_crossings;
  6175. if (rhp_cur_crossings != rhp_crossings.272_28)
  6176. goto <bb 21>; [INV]
  6177. else
  6178. goto <bb 22>; [INV]
  6179. " ]
  6180. node [ id 1632 graphics [ fill "#d3d3d3" ] label "<bb 21>:
  6181. rhp_restore_order ();
  6182. goto <bb 23>; [INV]
  6183. " ]
  6184. node [ id 1633 graphics [ fill "#d3d3d3" ] label "<bb 22>:
  6185. rhp_save_order ();
  6186. " ]
  6187. node [ id 1634 graphics [ fill "#d3d3d3" ] label "<bb 23>:
  6188. rhp_iter.273_29 = rhp_iter;
  6189. rhp_maxiter.274_30 = rhp_maxiter;
  6190. if (rhp_iter.273_29 > rhp_maxiter.274_30)
  6191. goto <bb 24>; [INV]
  6192. else
  6193. goto <bb 25>; [INV]
  6194. " ]
  6195. node [ id 1635 graphics [ fill "#d3d3d3" ] label "<bb 24>:
  6196. D.4884 = 1;
  6197. // predicted unlikely by early return (on trees) predictor.
  6198. goto <bb 26>; [INV]
  6199. " ]
  6200. node [ id 1636 graphics [ fill "#d3d3d3" ] label "<bb 25>:
  6201. D.4884 = 0;
  6202. // predicted unlikely by early return (on trees) predictor.
  6203. " ]
  6204. node [ id 1637 graphics [ fill "#d3d3d3" ] label "<bb 26>:
  6205. <L24>:
  6206. return D.4884;
  6207. " ]
  6208. edge [ source 1611 target 1613 graphics [ fill "#0000ff" ] ]
  6209. edge [ source 1613 target 1614 graphics [ fill "#000000" ] ]
  6210. edge [ source 1613 target 1615 graphics [ fill "#000000" ] ]
  6211. edge [ source 1614 target 1616 graphics [ fill "#0000ff" ] ]
  6212. edge [ source 1615 target 1616 graphics [ fill "#0000ff" ] ]
  6213. edge [ source 1616 target 1617 graphics [ fill "#000000" ] ]
  6214. edge [ source 1616 target 1622 graphics [ fill "#000000" ] ]
  6215. edge [ source 1617 target 1618 graphics [ fill "#000000" ] ]
  6216. edge [ source 1617 target 1619 graphics [ fill "#000000" ] ]
  6217. edge [ source 1618 target 1620 graphics [ fill "#0000ff" ] ]
  6218. edge [ source 1619 target 1620 graphics [ fill "#0000ff" ] ]
  6219. edge [ source 1620 target 1621 graphics [ fill "#000000" ] ]
  6220. edge [ source 1620 target 1622 graphics [ fill "#000000" ] ]
  6221. edge [ source 1621 target 1637 graphics [ fill "#0000ff" ] ]
  6222. edge [ source 1622 target 1624 graphics [ fill "#000000" ] ]
  6223. edge [ source 1622 target 1623 graphics [ fill "#000000" ] ]
  6224. edge [ source 1623 target 1624 graphics [ fill "#000000" ] ]
  6225. edge [ source 1623 target 1625 graphics [ fill "#000000" ] ]
  6226. edge [ source 1624 target 1637 graphics [ fill "#0000ff" ] ]
  6227. edge [ source 1625 target 1626 graphics [ fill "#000000" ] ]
  6228. edge [ source 1625 target 1631 graphics [ fill "#000000" ] ]
  6229. edge [ source 1626 target 1627 graphics [ fill "#000000" ] ]
  6230. edge [ source 1626 target 1628 graphics [ fill "#000000" ] ]
  6231. edge [ source 1627 target 1637 graphics [ fill "#0000ff" ] ]
  6232. edge [ source 1628 target 1629 graphics [ fill "#000000" ] ]
  6233. edge [ source 1628 target 1630 graphics [ fill "#000000" ] ]
  6234. edge [ source 1629 target 1637 graphics [ fill "#0000ff" ] ]
  6235. edge [ source 1630 target 1637 graphics [ fill "#0000ff" ] ]
  6236. edge [ source 1631 target 1632 graphics [ fill "#000000" ] ]
  6237. edge [ source 1631 target 1633 graphics [ fill "#000000" ] ]
  6238. edge [ source 1632 target 1634 graphics [ fill "#0000ff" ] ]
  6239. edge [ source 1633 target 1634 graphics [ fill "#0000ff" ] ]
  6240. edge [ source 1634 target 1635 graphics [ fill "#000000" ] ]
  6241. edge [ source 1634 target 1636 graphics [ fill "#000000" ] ]
  6242. edge [ source 1635 target 1637 graphics [ fill "#0000ff" ] ]
  6243. edge [ source 1636 target 1637 graphics [ fill "#0000ff" ] ]
  6244. edge [ source 1637 target 1612 graphics [ fill "#000000" ] ]
  6245. # function number 61
  6246. node [ id 1665 graphics [ fill "#ffffff" ] label "rhp_end_of_iteration ()
  6247. ENTRY" ]
  6248. node [ id 1666 graphics [ fill "#ffffff" ] label "rhp_end_of_iteration ()
  6249. EXIT" ]
  6250. node [ id 1667 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  6251. D.4900 = 0;
  6252. " ]
  6253. node [ id 1668 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  6254. <L0>:
  6255. return D.4900;
  6256. " ]
  6257. edge [ source 1665 target 1667 graphics [ fill "#0000ff" ] ]
  6258. edge [ source 1667 target 1668 graphics [ fill "#0000ff" ] ]
  6259. edge [ source 1668 target 1666 graphics [ fill "#000000" ] ]
  6260. node [ id 1673 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  6261. if (layer < hilevel)
  6262. goto <bb 3>; [INV]
  6263. else
  6264. goto <bb 9>; [INV]
  6265. " ]
  6266. node [ id 1674 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  6267. nadj = 0;
  6268. nadj = rhp_barycenterweights (layer, 0);
  6269. if (nadj != 0)
  6270. goto <bb 4>; [INV]
  6271. else
  6272. goto <bb 5>; [INV]
  6273. " ]
  6274. node [ id 1675 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  6275. rhp_barycenterweights_adjust (layer, 0);
  6276. " ]
  6277. node [ id 1676 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  6278. rhp_layersort (layer);
  6279. rhp_updatecrossingsforlayer (layer);
  6280. _1 = rhp_end_of_iteration ();
  6281. if (_1 != 0)
  6282. goto <bb 6>; [INV]
  6283. else
  6284. goto <bb 7>; [INV]
  6285. " ]
  6286. node [ id 1677 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  6287. layer = layer + 1;
  6288. " ]
  6289. # function number 62
  6290. node [ id 1678 graphics [ fill "#ffffff" ] label "rhp_barycenterupsweep ()
  6291. ENTRY" ]
  6292. node [ id 1679 graphics [ fill "#ffffff" ] label "rhp_barycenterupsweep ()
  6293. EXIT" ]
  6294. node [ id 1680 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  6295. layer = 0;
  6296. nadj = 0;
  6297. layer = lowlevel;
  6298. goto <bb 8>; [INV]
  6299. " ]
  6300. node [ id 1681 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  6301. D.4906 = 1;
  6302. // predicted unlikely by early return (on trees) predictor.
  6303. goto <bb 10>; [INV]
  6304. " ]
  6305. node [ id 1682 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  6306. D.4906 = 0;
  6307. " ]
  6308. node [ id 1683 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  6309. <L7>:
  6310. return D.4906;
  6311. " ]
  6312. edge [ source 1678 target 1680 graphics [ fill "#0000ff" ] ]
  6313. edge [ source 1680 target 1673 graphics [ fill "#0000ff" ] ]
  6314. edge [ source 1674 target 1675 graphics [ fill "#000000" ] ]
  6315. edge [ source 1674 target 1676 graphics [ fill "#000000" ] ]
  6316. edge [ source 1675 target 1676 graphics [ fill "#0000ff" ] ]
  6317. edge [ source 1676 target 1681 graphics [ fill "#000000" ] ]
  6318. edge [ source 1676 target 1677 graphics [ fill "#000000" ] ]
  6319. edge [ source 1681 target 1683 graphics [ fill "#0000ff" ] ]
  6320. edge [ source 1677 target 1673 graphics [ fill "#0000ff" ] ]
  6321. edge [ source 1673 target 1674 graphics [ fill "#000000" ] ]
  6322. edge [ source 1673 target 1682 graphics [ fill "#000000" ] ]
  6323. edge [ source 1682 target 1683 graphics [ fill "#0000ff" ] ]
  6324. edge [ source 1683 target 1679 graphics [ fill "#000000" ] ]
  6325. node [ id 1695 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  6326. _2 = lowlevel + -1;
  6327. if (layer >= _2)
  6328. goto <bb 3>; [INV]
  6329. else
  6330. goto <bb 9>; [INV]
  6331. " ]
  6332. node [ id 1696 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  6333. nadj = 0;
  6334. nadj = rhp_barycenterweights (layer, 1);
  6335. if (nadj != 0)
  6336. goto <bb 4>; [INV]
  6337. else
  6338. goto <bb 5>; [INV]
  6339. " ]
  6340. node [ id 1697 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  6341. rhp_barycenterweights_adjust (layer, 1);
  6342. " ]
  6343. node [ id 1698 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  6344. rhp_layersort (layer);
  6345. rhp_updatecrossingsforlayer (layer);
  6346. _1 = rhp_end_of_iteration ();
  6347. if (_1 != 0)
  6348. goto <bb 6>; [INV]
  6349. else
  6350. goto <bb 7>; [INV]
  6351. " ]
  6352. node [ id 1699 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  6353. layer = layer + -1;
  6354. " ]
  6355. # function number 63
  6356. node [ id 1700 graphics [ fill "#ffffff" ] label "rhp_barycenterdownsweep ()
  6357. ENTRY" ]
  6358. node [ id 1701 graphics [ fill "#ffffff" ] label "rhp_barycenterdownsweep ()
  6359. EXIT" ]
  6360. node [ id 1702 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  6361. layer = 0;
  6362. nadj = 0;
  6363. layer = hilevel;
  6364. goto <bb 8>; [INV]
  6365. " ]
  6366. node [ id 1703 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  6367. D.4912 = 1;
  6368. // predicted unlikely by early return (on trees) predictor.
  6369. goto <bb 10>; [INV]
  6370. " ]
  6371. node [ id 1704 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  6372. D.4912 = 0;
  6373. " ]
  6374. node [ id 1705 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  6375. <L7>:
  6376. return D.4912;
  6377. " ]
  6378. edge [ source 1700 target 1702 graphics [ fill "#0000ff" ] ]
  6379. edge [ source 1702 target 1695 graphics [ fill "#0000ff" ] ]
  6380. edge [ source 1696 target 1697 graphics [ fill "#000000" ] ]
  6381. edge [ source 1696 target 1698 graphics [ fill "#000000" ] ]
  6382. edge [ source 1697 target 1698 graphics [ fill "#0000ff" ] ]
  6383. edge [ source 1698 target 1703 graphics [ fill "#000000" ] ]
  6384. edge [ source 1698 target 1699 graphics [ fill "#000000" ] ]
  6385. edge [ source 1703 target 1705 graphics [ fill "#0000ff" ] ]
  6386. edge [ source 1699 target 1695 graphics [ fill "#0000ff" ] ]
  6387. edge [ source 1695 target 1696 graphics [ fill "#000000" ] ]
  6388. edge [ source 1695 target 1704 graphics [ fill "#000000" ] ]
  6389. edge [ source 1704 target 1705 graphics [ fill "#0000ff" ] ]
  6390. edge [ source 1705 target 1701 graphics [ fill "#000000" ] ]
  6391. node [ id 1717 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  6392. _16 = rl->number_of_nodes;
  6393. if (i < _16)
  6394. goto <bb 5>; [INV]
  6395. else
  6396. goto <bb 9>; [INV]
  6397. " ]
  6398. node [ id 1718 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  6399. _5 = rl->nodes;
  6400. _6 = (long unsigned int) i;
  6401. _7 = _6 * 8;
  6402. _8 = _5 + _7;
  6403. _9 = *_8;
  6404. rhp_node_weight (_9, orientation);
  6405. _10 = rl->nodes;
  6406. _11 = (long unsigned int) i;
  6407. _12 = _11 * 8;
  6408. _13 = _10 + _12;
  6409. _14 = *_13;
  6410. _15 = _14->weight;
  6411. if (_15 == -1)
  6412. goto <bb 6>; [INV]
  6413. else
  6414. goto <bb 7>; [INV]
  6415. " ]
  6416. node [ id 1719 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  6417. n_node_adjust = n_node_adjust + 1;
  6418. " ]
  6419. node [ id 1720 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  6420. i = i + 1;
  6421. " ]
  6422. # function number 64
  6423. node [ id 1721 graphics [ fill "#ffffff" ] label "rhp_barycenterweights ()
  6424. ENTRY" ]
  6425. node [ id 1722 graphics [ fill "#ffffff" ] label "rhp_barycenterweights ()
  6426. EXIT" ]
  6427. node [ id 1723 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  6428. spn = 0B;
  6429. rl = 0B;
  6430. i = 0;
  6431. n_node_adjust = 0;
  6432. _1 = (long long int) level;
  6433. rhp_sp_layers.275_2 = rhp_sp_layers;
  6434. spn = rhp_sp_lookup (rhp_sp_layers.275_2, _1);
  6435. if (spn == 0B)
  6436. goto <bb 3>; [INV]
  6437. else
  6438. goto <bb 4>; [INV]
  6439. " ]
  6440. node [ id 1724 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  6441. rhp_log ("%s(): could not find data for level %d shouldnothappen!\n", &__FUNCTION__, level);
  6442. D.4916 = 0;
  6443. // predicted unlikely by early return (on trees) predictor.
  6444. goto <bb 12>; [INV]
  6445. " ]
  6446. node [ id 1725 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  6447. _3 = spn->value;
  6448. rl = (struct rhplevel *) _3;
  6449. _4 = rl->number_of_nodes;
  6450. rhp_log ("%s(): weights for %d nodes in level %d mode %d\n", &__FUNCTION__, _4, level, orientation);
  6451. n_node_adjust = 0;
  6452. i = 0;
  6453. goto <bb 8>; [INV]
  6454. " ]
  6455. node [ id 1726 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  6456. if (n_node_adjust != 0)
  6457. goto <bb 10>; [INV]
  6458. else
  6459. goto <bb 11>; [INV]
  6460. " ]
  6461. node [ id 1727 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  6462. _17 = rl->number_of_nodes;
  6463. rhp_iter.276_18 = rhp_iter;
  6464. rhp_log ("%s(): iteration %d %d nodes need adjust from %d nodes in level %d mode %d\n", &__FUNCTION__, rhp_iter.276_18, n_node_adjust, _17, level, orientation);
  6465. " ]
  6466. node [ id 1728 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  6467. rl->number_adjustments = n_node_adjust;
  6468. D.4916 = n_node_adjust;
  6469. " ]
  6470. node [ id 1729 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  6471. <L9>:
  6472. return D.4916;
  6473. " ]
  6474. edge [ source 1721 target 1723 graphics [ fill "#0000ff" ] ]
  6475. edge [ source 1723 target 1724 graphics [ fill "#000000" ] ]
  6476. edge [ source 1723 target 1725 graphics [ fill "#000000" ] ]
  6477. edge [ source 1724 target 1729 graphics [ fill "#0000ff" ] ]
  6478. edge [ source 1725 target 1717 graphics [ fill "#0000ff" ] ]
  6479. edge [ source 1718 target 1719 graphics [ fill "#000000" ] ]
  6480. edge [ source 1718 target 1720 graphics [ fill "#000000" ] ]
  6481. edge [ source 1719 target 1720 graphics [ fill "#0000ff" ] ]
  6482. edge [ source 1720 target 1717 graphics [ fill "#0000ff" ] ]
  6483. edge [ source 1717 target 1718 graphics [ fill "#000000" ] ]
  6484. edge [ source 1717 target 1726 graphics [ fill "#000000" ] ]
  6485. edge [ source 1726 target 1727 graphics [ fill "#000000" ] ]
  6486. edge [ source 1726 target 1728 graphics [ fill "#000000" ] ]
  6487. edge [ source 1727 target 1728 graphics [ fill "#0000ff" ] ]
  6488. edge [ source 1728 target 1729 graphics [ fill "#0000ff" ] ]
  6489. edge [ source 1729 target 1722 graphics [ fill "#000000" ] ]
  6490. node [ id 1743 graphics [ fill "#d3d3d3" ] label "<bb 22>:
  6491. _51 = rl->number_of_nodes;
  6492. if (i < _51)
  6493. goto <bb 5>; [INV]
  6494. else
  6495. goto <bb 23>; [INV]
  6496. " ]
  6497. node [ id 1744 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  6498. _5 = rl->nodes;
  6499. _6 = (long unsigned int) i;
  6500. _7 = _6 * 8;
  6501. _8 = _5 + _7;
  6502. _9 = *_8;
  6503. _10 = _9->weight;
  6504. if (_10 == -1)
  6505. goto <bb 6>; [INV]
  6506. else
  6507. goto <bb 21>; [INV]
  6508. " ]
  6509. node [ id 1745 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  6510. _11 = rl->nodes;
  6511. _12 = (long unsigned int) i;
  6512. _13 = _12 * 8;
  6513. _14 = _11 + _13;
  6514. node = *_14;
  6515. rhp_adjustweight.278_15 = rhp_adjustweight;
  6516. if (rhp_adjustweight.278_15 != 0)
  6517. goto <bb 7>; [INV]
  6518. else
  6519. goto <bb 17>; [INV]
  6520. " ]
  6521. node [ id 1746 graphics [ fill "#d3d3d3" ] label "<bb 21>:
  6522. i = i + 1;
  6523. " ]
  6524. node [ id 1747 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  6525. number_of_weights = 0;
  6526. total_weight = 0;
  6527. " ]
  6528. node [ id 1748 graphics [ fill "#d3d3d3" ] label "<bb 17>:
  6529. if (i <= 0)
  6530. goto <bb 18>; [INV]
  6531. else
  6532. goto <bb 19>; [INV]
  6533. " ]
  6534. node [ id 1749 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  6535. if (i > 0)
  6536. goto <bb 9>; [INV]
  6537. else
  6538. goto <bb 10>; [INV]
  6539. " ]
  6540. node [ id 1750 graphics [ fill "#d3d3d3" ] label "<bb 18>:
  6541. node->weight = 0;
  6542. goto <bb 20>; [INV]
  6543. " ]
  6544. node [ id 1751 graphics [ fill "#d3d3d3" ] label "<bb 19>:
  6545. _43 = rl->nodes;
  6546. _44 = (long unsigned int) i;
  6547. _45 = _44 * 8;
  6548. _46 = _45 + 18446744073709551608;
  6549. _47 = _43 + _46;
  6550. _48 = *_47;
  6551. _49 = _48->weight;
  6552. node->weight = _49;
  6553. " ]
  6554. node [ id 1752 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  6555. number_of_weights = number_of_weights + 1;
  6556. _16 = rl->nodes;
  6557. _17 = (long unsigned int) i;
  6558. _18 = _17 * 8;
  6559. _19 = _18 + 18446744073709551608;
  6560. _20 = _16 + _19;
  6561. _21 = *_20;
  6562. _22 = _21->weight;
  6563. total_weight = total_weight + _22;
  6564. " ]
  6565. node [ id 1753 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  6566. _23 = rl->number_of_nodes;
  6567. _24 = _23 + -1;
  6568. if (i < _24)
  6569. goto <bb 11>; [INV]
  6570. else
  6571. goto <bb 13>; [INV]
  6572. " ]
  6573. node [ id 1754 graphics [ fill "#d3d3d3" ] label "<bb 20>:
  6574. _50 = node->weight;
  6575. rhp_log ("%s(): adjusted node[%d] weight from -1 to %d (leftish mode)\n", &__FUNCTION__, i, _50);
  6576. " ]
  6577. node [ id 1755 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  6578. _25 = rl->nodes;
  6579. _26 = (sizetype) i;
  6580. _27 = _26 + 1;
  6581. _28 = _27 * 8;
  6582. _29 = _25 + _28;
  6583. _30 = *_29;
  6584. _31 = _30->weight;
  6585. if (_31 >= 0)
  6586. goto <bb 12>; [INV]
  6587. else
  6588. goto <bb 13>; [INV]
  6589. " ]
  6590. node [ id 1756 graphics [ fill "#d3d3d3" ] label "<bb 13>:
  6591. if (number_of_weights > 0)
  6592. goto <bb 14>; [INV]
  6593. else
  6594. goto <bb 15>; [INV]
  6595. " ]
  6596. node [ id 1757 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  6597. number_of_weights = number_of_weights + 1;
  6598. _32 = rl->nodes;
  6599. _33 = (sizetype) i;
  6600. _34 = _33 + 1;
  6601. _35 = _34 * 8;
  6602. _36 = _32 + _35;
  6603. _37 = *_36;
  6604. _38 = _37->weight;
  6605. total_weight = total_weight + _38;
  6606. " ]
  6607. node [ id 1758 graphics [ fill "#d3d3d3" ] label "<bb 14>:
  6608. _39 = total_weight * 100;
  6609. node->weight = _39;
  6610. _40 = node->weight;
  6611. _41 = _40 / number_of_weights;
  6612. node->weight = _41;
  6613. goto <bb 16>; [INV]
  6614. " ]
  6615. node [ id 1759 graphics [ fill "#d3d3d3" ] label "<bb 15>:
  6616. node->weight = 0;
  6617. " ]
  6618. node [ id 1760 graphics [ fill "#d3d3d3" ] label "<bb 16>:
  6619. _42 = node->weight;
  6620. rhp_log ("%s(): adjusted node[%d] weight from -1 to %d (avg mode)\n", &__FUNCTION__, i, _42);
  6621. goto <bb 21>; [INV]
  6622. " ]
  6623. # function number 65
  6624. node [ id 1761 graphics [ fill "#ffffff" ] label "rhp_barycenterweights_adjust ()
  6625. ENTRY" ]
  6626. node [ id 1762 graphics [ fill "#ffffff" ] label "rhp_barycenterweights_adjust ()
  6627. EXIT" ]
  6628. node [ id 1763 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  6629. spn = 0B;
  6630. rl = 0B;
  6631. node = 0B;
  6632. number_of_weights = 0;
  6633. total_weight = 0;
  6634. i = 0;
  6635. _1 = (long long int) level;
  6636. rhp_sp_layers.277_2 = rhp_sp_layers;
  6637. spn = rhp_sp_lookup (rhp_sp_layers.277_2, _1);
  6638. if (spn == 0B)
  6639. goto <bb 3>; [INV]
  6640. else
  6641. goto <bb 4>; [INV]
  6642. " ]
  6643. node [ id 1764 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  6644. rhp_log ("%s(): could not find data for level %d shouldnothappen!\n", &__FUNCTION__, level);
  6645. // predicted unlikely by early return (on trees) predictor.
  6646. goto <bb 24>; [INV]
  6647. " ]
  6648. node [ id 1765 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  6649. _3 = spn->value;
  6650. rl = (struct rhplevel *) _3;
  6651. _4 = rl->number_of_nodes;
  6652. rhp_log ("%s(): to adjust %d weights for %d nodes in level %d orientation %d\n", &__FUNCTION__, number_of_weights, _4, level, orientation);
  6653. i = 0;
  6654. goto <bb 22>; [INV]
  6655. " ]
  6656. node [ id 1766 graphics [ fill "#d3d3d3" ] label "<bb 23>:
  6657. " ]
  6658. node [ id 1767 graphics [ fill "#d3d3d3" ] label "<bb 24>:
  6659. <L24>:
  6660. return;
  6661. " ]
  6662. edge [ source 1761 target 1763 graphics [ fill "#0000ff" ] ]
  6663. edge [ source 1763 target 1764 graphics [ fill "#000000" ] ]
  6664. edge [ source 1763 target 1765 graphics [ fill "#000000" ] ]
  6665. edge [ source 1764 target 1767 graphics [ fill "#0000ff" ] ]
  6666. edge [ source 1765 target 1743 graphics [ fill "#0000ff" ] ]
  6667. edge [ source 1744 target 1745 graphics [ fill "#000000" ] ]
  6668. edge [ source 1744 target 1746 graphics [ fill "#000000" ] ]
  6669. edge [ source 1745 target 1747 graphics [ fill "#000000" ] ]
  6670. edge [ source 1745 target 1748 graphics [ fill "#000000" ] ]
  6671. edge [ source 1747 target 1749 graphics [ fill "#0000ff" ] ]
  6672. edge [ source 1749 target 1752 graphics [ fill "#000000" ] ]
  6673. edge [ source 1749 target 1753 graphics [ fill "#000000" ] ]
  6674. edge [ source 1752 target 1753 graphics [ fill "#0000ff" ] ]
  6675. edge [ source 1753 target 1755 graphics [ fill "#000000" ] ]
  6676. edge [ source 1753 target 1756 graphics [ fill "#000000" ] ]
  6677. edge [ source 1755 target 1757 graphics [ fill "#000000" ] ]
  6678. edge [ source 1755 target 1756 graphics [ fill "#000000" ] ]
  6679. edge [ source 1757 target 1756 graphics [ fill "#0000ff" ] ]
  6680. edge [ source 1756 target 1758 graphics [ fill "#000000" ] ]
  6681. edge [ source 1756 target 1759 graphics [ fill "#000000" ] ]
  6682. edge [ source 1758 target 1760 graphics [ fill "#0000ff" ] ]
  6683. edge [ source 1759 target 1760 graphics [ fill "#0000ff" ] ]
  6684. edge [ source 1760 target 1746 graphics [ fill "#0000ff" ] ]
  6685. edge [ source 1748 target 1750 graphics [ fill "#000000" ] ]
  6686. edge [ source 1748 target 1751 graphics [ fill "#000000" ] ]
  6687. edge [ source 1750 target 1754 graphics [ fill "#0000ff" ] ]
  6688. edge [ source 1751 target 1754 graphics [ fill "#0000ff" ] ]
  6689. edge [ source 1754 target 1746 graphics [ fill "#0000ff" ] ]
  6690. edge [ source 1746 target 1743 graphics [ fill "#0000ff" ] ]
  6691. edge [ source 1743 target 1744 graphics [ fill "#000000" ] ]
  6692. edge [ source 1743 target 1766 graphics [ fill "#000000" ] ]
  6693. edge [ source 1766 target 1767 graphics [ fill "#0000ff" ] ]
  6694. edge [ source 1767 target 1762 graphics [ fill "#000000" ] ]
  6695. node [ id 1793 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  6696. _23 = node->up_degree;
  6697. if (adj_index < _23)
  6698. goto <bb 10>; [INV]
  6699. else
  6700. goto <bb 12>; [INV]
  6701. " ]
  6702. node [ id 1794 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  6703. _16 = node->up_edges;
  6704. _17 = (long unsigned int) adj_index;
  6705. _18 = _17 * 8;
  6706. _19 = _16 + _18;
  6707. _20 = *_19;
  6708. _21 = _20->up_node;
  6709. _22 = _21->position;
  6710. total_of_positions = total_of_positions + _22;
  6711. adj_index = adj_index + 1;
  6712. " ]
  6713. node [ id 1795 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  6714. _15 = node->down_degree;
  6715. if (adj_index < _15)
  6716. goto <bb 6>; [INV]
  6717. else
  6718. goto <bb 8>; [INV]
  6719. " ]
  6720. node [ id 1796 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  6721. _8 = node->down_edges;
  6722. _9 = (long unsigned int) adj_index;
  6723. _10 = _9 * 8;
  6724. _11 = _8 + _10;
  6725. _12 = *_11;
  6726. _13 = _12->down_node;
  6727. _14 = _13->position;
  6728. total_of_positions = total_of_positions + _14;
  6729. adj_index = adj_index + 1;
  6730. " ]
  6731. # function number 66
  6732. node [ id 1797 graphics [ fill "#ffffff" ] label "rhp_node_weight ()
  6733. ENTRY" ]
  6734. node [ id 1798 graphics [ fill "#ffffff" ] label "rhp_node_weight ()
  6735. EXIT" ]
  6736. node [ id 1799 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  6737. total_degree1 = 0;
  6738. total_degree2 = 0;
  6739. total_degree = 0;
  6740. total_of_positions = 0;
  6741. adj_index = 0;
  6742. _1 = node->down_degree;
  6743. _2 = node->up_degree;
  6744. _3 = node->innum;
  6745. rhp_log ("%s(): at node %d up degree %d down degree %d mode %d\n", &__FUNCTION__, _3, _2, _1, orientation);
  6746. _4 = node->up_degree;
  6747. _5 = node->down_degree;
  6748. _6 = _4 + _5;
  6749. if (_6 == 0)
  6750. goto <bb 3>; [INV]
  6751. else
  6752. goto <bb 4>; [INV]
  6753. " ]
  6754. node [ id 1800 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  6755. node->weight = 0;
  6756. _7 = node->innum;
  6757. rhp_log ("%s(): node %d has weight set (0) isolated node special mode %d\n", &__FUNCTION__, _7, orientation);
  6758. // predicted unlikely by early return (on trees) predictor.
  6759. goto <bb 16>; [INV]
  6760. " ]
  6761. node [ id 1801 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  6762. if (orientation != 1)
  6763. goto <bb 5>; [INV]
  6764. else
  6765. goto <bb 8>; [INV]
  6766. " ]
  6767. node [ id 1802 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  6768. total_degree1 = node->down_degree;
  6769. adj_index = 0;
  6770. goto <bb 7>; [INV]
  6771. " ]
  6772. node [ id 1803 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  6773. if (orientation != 0)
  6774. goto <bb 9>; [INV]
  6775. else
  6776. goto <bb 12>; [INV]
  6777. " ]
  6778. node [ id 1804 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  6779. total_degree2 = node->up_degree;
  6780. adj_index = 0;
  6781. goto <bb 11>; [INV]
  6782. " ]
  6783. node [ id 1805 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  6784. total_degree = total_degree1 + total_degree2;
  6785. if (total_degree > 0)
  6786. goto <bb 13>; [INV]
  6787. else
  6788. goto <bb 14>; [INV]
  6789. " ]
  6790. node [ id 1806 graphics [ fill "#d3d3d3" ] label "<bb 13>:
  6791. _24 = total_of_positions * 100;
  6792. node->weight = _24;
  6793. _25 = node->weight;
  6794. _26 = _25 / total_degree;
  6795. node->weight = _26;
  6796. goto <bb 15>; [INV]
  6797. " ]
  6798. node [ id 1807 graphics [ fill "#d3d3d3" ] label "<bb 14>:
  6799. node->weight = -1;
  6800. _27 = node->innum;
  6801. rhp_log ("%s(): node %d has weight set (-1) special degree=(%d+%d) mode %d\n", &__FUNCTION__, _27, total_degree1, total_degree2, orientation);
  6802. " ]
  6803. node [ id 1808 graphics [ fill "#d3d3d3" ] label "<bb 15>:
  6804. _28 = node->weight;
  6805. _29 = node->innum;
  6806. rhp_log ("%s(): node %d has now weight %d mode %d\n", &__FUNCTION__, _29, _28, orientation);
  6807. " ]
  6808. node [ id 1809 graphics [ fill "#d3d3d3" ] label "<bb 16>:
  6809. <L15>:
  6810. return;
  6811. " ]
  6812. edge [ source 1797 target 1799 graphics [ fill "#0000ff" ] ]
  6813. edge [ source 1799 target 1800 graphics [ fill "#000000" ] ]
  6814. edge [ source 1799 target 1801 graphics [ fill "#000000" ] ]
  6815. edge [ source 1800 target 1809 graphics [ fill "#0000ff" ] ]
  6816. edge [ source 1801 target 1802 graphics [ fill "#000000" ] ]
  6817. edge [ source 1801 target 1803 graphics [ fill "#000000" ] ]
  6818. edge [ source 1802 target 1795 graphics [ fill "#0000ff" ] ]
  6819. edge [ source 1796 target 1795 graphics [ fill "#0000ff" ] ]
  6820. edge [ source 1795 target 1796 graphics [ fill "#000000" ] ]
  6821. edge [ source 1795 target 1803 graphics [ fill "#000000" ] ]
  6822. edge [ source 1803 target 1804 graphics [ fill "#000000" ] ]
  6823. edge [ source 1803 target 1805 graphics [ fill "#000000" ] ]
  6824. edge [ source 1804 target 1793 graphics [ fill "#0000ff" ] ]
  6825. edge [ source 1794 target 1793 graphics [ fill "#0000ff" ] ]
  6826. edge [ source 1793 target 1794 graphics [ fill "#000000" ] ]
  6827. edge [ source 1793 target 1805 graphics [ fill "#000000" ] ]
  6828. edge [ source 1805 target 1806 graphics [ fill "#000000" ] ]
  6829. edge [ source 1805 target 1807 graphics [ fill "#000000" ] ]
  6830. edge [ source 1806 target 1808 graphics [ fill "#0000ff" ] ]
  6831. edge [ source 1807 target 1808 graphics [ fill "#0000ff" ] ]
  6832. edge [ source 1808 target 1809 graphics [ fill "#0000ff" ] ]
  6833. edge [ source 1809 target 1798 graphics [ fill "#000000" ] ]
  6834. # function number 67
  6835. node [ id 1827 graphics [ fill "#ffffff" ] label "rhp_compare_weights ()
  6836. ENTRY" ]
  6837. node [ id 1828 graphics [ fill "#ffffff" ] label "rhp_compare_weights ()
  6838. EXIT" ]
  6839. node [ id 1829 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  6840. entry_ptr_i = 0B;
  6841. entry_ptr_j = 0B;
  6842. node_i = 0B;
  6843. node_j = 0B;
  6844. diff = 0;
  6845. entry_ptr_i = ptr_i;
  6846. entry_ptr_j = ptr_j;
  6847. node_i = *entry_ptr_i;
  6848. node_j = *entry_ptr_j;
  6849. _1 = node_i->weight;
  6850. _2 = node_j->weight;
  6851. _3 = _1 > _2;
  6852. diff = (int) _3;
  6853. if (diff < 0)
  6854. goto <bb 3>; [INV]
  6855. else
  6856. goto <bb 4>; [INV]
  6857. " ]
  6858. node [ id 1830 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  6859. diff = -diff;
  6860. " ]
  6861. node [ id 1831 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  6862. if (diff <= 0)
  6863. goto <bb 5>; [INV]
  6864. else
  6865. goto <bb 6>; [INV]
  6866. " ]
  6867. node [ id 1832 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  6868. D.4958 = 0;
  6869. // predicted unlikely by early return (on trees) predictor.
  6870. goto <bb 11>; [INV]
  6871. " ]
  6872. node [ id 1833 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  6873. _4 = node_i->weight;
  6874. _5 = node_j->weight;
  6875. if (_4 > _5)
  6876. goto <bb 7>; [INV]
  6877. else
  6878. goto <bb 8>; [INV]
  6879. " ]
  6880. node [ id 1834 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  6881. D.4958 = 1;
  6882. // predicted unlikely by early return (on trees) predictor.
  6883. goto <bb 11>; [INV]
  6884. " ]
  6885. node [ id 1835 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  6886. _6 = node_i->weight;
  6887. _7 = node_j->weight;
  6888. if (_6 < _7)
  6889. goto <bb 9>; [INV]
  6890. else
  6891. goto <bb 10>; [INV]
  6892. " ]
  6893. node [ id 1836 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  6894. D.4958 = -1;
  6895. // predicted unlikely by early return (on trees) predictor.
  6896. goto <bb 11>; [INV]
  6897. " ]
  6898. node [ id 1837 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  6899. D.4958 = 0;
  6900. // predicted unlikely by early return (on trees) predictor.
  6901. " ]
  6902. node [ id 1838 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  6903. <L8>:
  6904. return D.4958;
  6905. " ]
  6906. edge [ source 1827 target 1829 graphics [ fill "#0000ff" ] ]
  6907. edge [ source 1829 target 1830 graphics [ fill "#000000" ] ]
  6908. edge [ source 1829 target 1831 graphics [ fill "#000000" ] ]
  6909. edge [ source 1830 target 1831 graphics [ fill "#0000ff" ] ]
  6910. edge [ source 1831 target 1832 graphics [ fill "#000000" ] ]
  6911. edge [ source 1831 target 1833 graphics [ fill "#000000" ] ]
  6912. edge [ source 1832 target 1838 graphics [ fill "#0000ff" ] ]
  6913. edge [ source 1833 target 1834 graphics [ fill "#000000" ] ]
  6914. edge [ source 1833 target 1835 graphics [ fill "#000000" ] ]
  6915. edge [ source 1834 target 1838 graphics [ fill "#0000ff" ] ]
  6916. edge [ source 1835 target 1836 graphics [ fill "#000000" ] ]
  6917. edge [ source 1835 target 1837 graphics [ fill "#000000" ] ]
  6918. edge [ source 1836 target 1838 graphics [ fill "#0000ff" ] ]
  6919. edge [ source 1837 target 1838 graphics [ fill "#0000ff" ] ]
  6920. edge [ source 1838 target 1828 graphics [ fill "#000000" ] ]
  6921. # function number 68
  6922. node [ id 1851 graphics [ fill "#ffffff" ] label "rhp_layersort ()
  6923. ENTRY" ]
  6924. node [ id 1852 graphics [ fill "#ffffff" ] label "rhp_layersort ()
  6925. EXIT" ]
  6926. node [ id 1853 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  6927. spn = 0B;
  6928. rl = 0B;
  6929. _1 = (long long int) level;
  6930. rhp_sp_layers.279_2 = rhp_sp_layers;
  6931. spn = rhp_sp_lookup (rhp_sp_layers.279_2, _1);
  6932. if (spn == 0B)
  6933. goto <bb 3>; [INV]
  6934. else
  6935. goto <bb 4>; [INV]
  6936. " ]
  6937. node [ id 1854 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  6938. rhp_log ("%s(): could not find data for level %d shouldnothappen!\n", &__FUNCTION__, level);
  6939. // predicted unlikely by early return (on trees) predictor.
  6940. goto <bb 5>; [INV]
  6941. " ]
  6942. node [ id 1855 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  6943. _3 = spn->value;
  6944. rl = (struct rhplevel *) _3;
  6945. _4 = rl->number_of_nodes;
  6946. _5 = (long unsigned int) _4;
  6947. _6 = rl->nodes;
  6948. qsort (_6, _5, 8, rhp_compare_weights);
  6949. rhp_updatenodepositions (level);
  6950. rhp_log ("%s(): sorted level %d and updated node positions\n", &__FUNCTION__, level);
  6951. " ]
  6952. node [ id 1856 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  6953. <L2>:
  6954. return;
  6955. " ]
  6956. edge [ source 1851 target 1853 graphics [ fill "#0000ff" ] ]
  6957. edge [ source 1853 target 1854 graphics [ fill "#000000" ] ]
  6958. edge [ source 1853 target 1855 graphics [ fill "#000000" ] ]
  6959. edge [ source 1854 target 1856 graphics [ fill "#0000ff" ] ]
  6960. edge [ source 1855 target 1856 graphics [ fill "#0000ff" ] ]
  6961. edge [ source 1856 target 1852 graphics [ fill "#000000" ] ]
  6962. node [ id 1863 graphics [ fill "#d3d3d3" ] label "<bb 9>:
  6963. if (spn != 0B)
  6964. goto <bb 8>; [INV]
  6965. else
  6966. goto <bb 10>; [INV]
  6967. " ]
  6968. node [ id 1864 graphics [ fill "#d3d3d3" ] label "<bb 8>:
  6969. _8 = spn->value;
  6970. nd = (struct rhpnode *) _8;
  6971. _9 = nd->position;
  6972. _10 = nd->level;
  6973. _11 = nd->innum;
  6974. rhp_log ("%s(): node %d level %d pos %d\n", &__FUNCTION__, _11, _10, _9);
  6975. nn = rhp_malloc (80, &__FUNCTION__, 4129);
  6976. nn->num = num;
  6977. _12 = nd->innum;
  6978. nn->innum = _12;
  6979. _13 = nd->level;
  6980. nn->level = _13;
  6981. _14 = nd->data;
  6982. nn->data = _14;
  6983. _15 = nd->position;
  6984. nn->position = _15;
  6985. _16 = nd->up_degree;
  6986. nn->up_degree = _16;
  6987. _17 = nd->down_degree;
  6988. nn->down_degree = _17;
  6989. _18 = nd->up_edges;
  6990. nn->up_edges = _18;
  6991. _19 = nd->down_edges;
  6992. nn->down_edges = _19;
  6993. _20 = nd->weight;
  6994. nn->weight = _20;
  6995. _21 = nd->up_crossings;
  6996. nn->up_crossings = _21;
  6997. _22 = nd->down_crossings;
  6998. nn->down_crossings = _22;
  6999. _23 = nd->weight;
  7000. _24 = nd->position;
  7001. _25 = nd->level;
  7002. _26 = nd->innum;
  7003. rhp_log ("%s(): node %d level %d pos %d weight %d at %d\n", &__FUNCTION__, _26, _25, _24, _23, num);
  7004. nn.285_27 = (long long int) nn;
  7005. _28 = (long long int) num;
  7006. rhp_sp_master_node_list_sorted.286_29 = rhp_sp_master_node_list_sorted;
  7007. rhp_sp_insert (rhp_sp_master_node_list_sorted.286_29, _28, nn.285_27);
  7008. num = num + 1;
  7009. _30 = spn->key;
  7010. rhp_sp_master_node_list.287_31 = rhp_sp_master_node_list;
  7011. spn = rhp_sp_next (rhp_sp_master_node_list.287_31, _30);
  7012. " ]
  7013. node [ id 1865 graphics [ fill "#d3d3d3" ] label "<bb 22>:
  7014. _60 = lv->number_of_nodes;
  7015. if (ii < _60)
  7016. goto <bb 21>; [INV]
  7017. else
  7018. goto <bb 23>; [INV]
  7019. " ]
  7020. node [ id 1866 graphics [ fill "#d3d3d3" ] label "<bb 21>:
  7021. _38 = lv->nodes;
  7022. _39 = (long unsigned int) ii;
  7023. _40 = _39 * 8;
  7024. _41 = _38 + _40;
  7025. nd = *_41;
  7026. nn = rhp_malloc (80, &__FUNCTION__, 4202);
  7027. nn->num = num;
  7028. _42 = nd->innum;
  7029. nn->innum = _42;
  7030. _43 = nd->level;
  7031. nn->level = _43;
  7032. _44 = nd->data;
  7033. nn->data = _44;
  7034. _45 = nd->position;
  7035. nn->position = _45;
  7036. _46 = nd->up_degree;
  7037. nn->up_degree = _46;
  7038. _47 = nd->down_degree;
  7039. nn->down_degree = _47;
  7040. _48 = nd->up_edges;
  7041. nn->up_edges = _48;
  7042. _49 = nd->down_edges;
  7043. nn->down_edges = _49;
  7044. _50 = nd->weight;
  7045. nn->weight = _50;
  7046. _51 = nd->up_crossings;
  7047. nn->up_crossings = _51;
  7048. _52 = nd->down_crossings;
  7049. nn->down_crossings = _52;
  7050. _53 = nd->weight;
  7051. _54 = nd->position;
  7052. _55 = nd->level;
  7053. _56 = nd->innum;
  7054. rhp_log ("%s(): node %d level %d pos %d weight %d at %d\n", &__FUNCTION__, _56, _55, _54, _53, num);
  7055. nn.289_57 = (long long int) nn;
  7056. _58 = (long long int) num;
  7057. rhp_sp_master_node_list_sorted.290_59 = rhp_sp_master_node_list_sorted;
  7058. rhp_sp_insert (rhp_sp_master_node_list_sorted.290_59, _58, nn.289_57);
  7059. num = num + 1;
  7060. ii = ii + 1;
  7061. " ]
  7062. node [ id 1867 graphics [ fill "#d3d3d3" ] label "<bb 24>:
  7063. rhp_nlevels.291_61 = rhp_nlevels;
  7064. if (i < rhp_nlevels.291_61)
  7065. goto <bb 12>; [INV]
  7066. else
  7067. goto <bb 25>; [INV]
  7068. " ]
  7069. node [ id 1868 graphics [ fill "#d3d3d3" ] label "<bb 12>:
  7070. _33 = (long long int) i;
  7071. rhp_sp_layers.288_34 = rhp_sp_layers;
  7072. spn = rhp_sp_lookup (rhp_sp_layers.288_34, _33);
  7073. if (spn == 0B)
  7074. goto <bb 13>; [INV]
  7075. else
  7076. goto <bb 14>; [INV]
  7077. " ]
  7078. node [ id 1869 graphics [ fill "#d3d3d3" ] label "<bb 13>:
  7079. rhp_log ("%s(): no data for level %d shouldnothappen!\n", &__FUNCTION__, i);
  7080. // predicted unlikely by continue predictor.
  7081. goto <bb 23>; [INV]
  7082. " ]
  7083. node [ id 1870 graphics [ fill "#d3d3d3" ] label "<bb 14>:
  7084. _35 = spn->value;
  7085. lv = (struct rhplevel *) _35;
  7086. if (lv == 0B)
  7087. goto <bb 15>; [INV]
  7088. else
  7089. goto <bb 16>; [INV]
  7090. " ]
  7091. node [ id 1871 graphics [ fill "#d3d3d3" ] label "<bb 23>:
  7092. i = i + 1;
  7093. " ]
  7094. node [ id 1872 graphics [ fill "#d3d3d3" ] label "<bb 15>:
  7095. rhp_log ("%s(): no nodes in level %d shouldnothappen!\n", &__FUNCTION__, i);
  7096. // predicted unlikely by continue predictor.
  7097. goto <bb 23>; [INV]
  7098. " ]
  7099. node [ id 1873 graphics [ fill "#d3d3d3" ] label "<bb 16>:
  7100. _36 = lv->nodes;
  7101. if (_36 == 0B)
  7102. goto <bb 17>; [INV]
  7103. else
  7104. goto <bb 18>; [INV]
  7105. " ]
  7106. node [ id 1874 graphics [ fill "#d3d3d3" ] label "<bb 17>:
  7107. rhp_log ("%s(): no data for nodes in level %d shouldnothappen!\n", &__FUNCTION__, i);
  7108. // predicted unlikely by continue predictor.
  7109. goto <bb 23>; [INV]
  7110. " ]
  7111. node [ id 1875 graphics [ fill "#d3d3d3" ] label "<bb 18>:
  7112. _37 = lv->number_of_nodes;
  7113. if (_37 == 0)
  7114. goto <bb 19>; [INV]
  7115. else
  7116. goto <bb 20>; [INV]
  7117. " ]
  7118. node [ id 1876 graphics [ fill "#d3d3d3" ] label "<bb 19>:
  7119. rhp_log ("%s(): no nodes in level %d shouldnothappen!\n", &__FUNCTION__, i);
  7120. // predicted unlikely by continue predictor.
  7121. goto <bb 23>; [INV]
  7122. " ]
  7123. node [ id 1877 graphics [ fill "#d3d3d3" ] label "<bb 20>:
  7124. ii = 0;
  7125. goto <bb 22>; [INV]
  7126. " ]
  7127. # function number 69
  7128. node [ id 1878 graphics [ fill "#ffffff" ] label "rhp_sorted_nodelist ()
  7129. ENTRY" ]
  7130. node [ id 1879 graphics [ fill "#ffffff" ] label "rhp_sorted_nodelist ()
  7131. EXIT" ]
  7132. node [ id 1880 graphics [ fill "#d3d3d3" ] label "<bb 2>:
  7133. spn = 0B;
  7134. lv = 0B;
  7135. nd = 0B;
  7136. nn = 0B;
  7137. i = 0;
  7138. ii = 0;
  7139. num = 0;
  7140. rhp_nlevels.280_1 = rhp_nlevels;
  7141. rhp_log ("%s(): %d levels\n", &__FUNCTION__, rhp_nlevels.280_1);
  7142. rhp_nlevels.281_2 = rhp_nlevels;
  7143. if (rhp_nlevels.281_2 == 0)
  7144. goto <bb 3>; [INV]
  7145. else
  7146. goto <bb 4>; [INV]
  7147. " ]
  7148. node [ id 1881 graphics [ fill "#d3d3d3" ] label "<bb 3>:
  7149. rhp_log ("%s(): no levels shouldnothappen!\n", &__FUNCTION__);
  7150. // predicted unlikely by early return (on trees) predictor.
  7151. goto <bb 26>; [INV]
  7152. " ]
  7153. node [ id 1882 graphics [ fill "#d3d3d3" ] label "<bb 4>:
  7154. rhp_sp_master_node_list.282_3 = rhp_sp_master_node_list;
  7155. _4 = rhp_sp_has_data (rhp_sp_master_node_list.282_3);
  7156. if (_4 == 0)
  7157. goto <bb 5>; [INV]
  7158. else
  7159. goto <bb 6>; [INV]
  7160. " ]
  7161. node [ id 1883 graphics [ fill "#d3d3d3" ] label "<bb 5>:
  7162. rhp_log ("%s(): no node data shouldnothappen!\n", &__FUNCTION__);
  7163. // predicted unlikely by early return (on trees) predictor.
  7164. goto <bb 26>; [INV]
  7165. " ]
  7166. node [ id 1884 graphics [ fill "#d3d3d3" ] label "<bb 6>:
  7167. rhp_nlevels.283_5 = rhp_nlevels;
  7168. if (rhp_nlevels.283_5 == 1)
  7169. goto <bb 7>; [INV]
  7170. else
  7171. goto <bb 11>; [INV]
  7172. " ]
  7173. node [ id 1885 graphics [ fill "#d3d3d3" ] label "<bb 7>:
  7174. num = 0;
  7175. _6 = rhp_sp_new (1);
  7176. rhp_sp_master_node_list_sorted = _6;
  7177. rhp_sp_master_node_list.284_7 = rhp_sp_master_node_list;
  7178. spn = rhp_sp_min (rhp_sp_master_node_list.284_7);
  7179. goto <bb 9>; [INV]
  7180. " ]
  7181. node [ id 1886 graphics [ fill "#d3d3d3" ] label "<bb 10>:
  7182. // predicted unlikely by early return (on trees) predictor.
  7183. goto <bb 26>; [INV]
  7184. " ]
  7185. node [ id 1887 graphics [ fill "#d3d3d3" ] label "<bb 11>:
  7186. num = 0;
  7187. _32 = rhp_sp_new (1);
  7188. rhp_sp_master_node_list_sorted = _32;
  7189. i = 0;
  7190. goto <bb 24>; [INV]
  7191. " ]
  7192. node [ id 1888 graphics [ fill "#d3d3d3" ] label "<bb 25>:
  7193. " ]
  7194. node [ id 1889 graphics [ fill "#d3d3d3" ] label "<bb 26>:
  7195. <L24>:
  7196. return;
  7197. " ]
  7198. edge [ source 1878 target 1880 graphics [ fill "#0000ff" ] ]
  7199. edge [ source 1880 target 1881 graphics [ fill "#000000" ] ]
  7200. edge [ source 1880 target 1882 graphics [ fill "#000000" ] ]
  7201. edge [ source 1881 target 1889 graphics [ fill "#0000ff" ] ]
  7202. edge [ source 1882 target 1883 graphics [ fill "#000000" ] ]
  7203. edge [ source 1882 target 1884 graphics [ fill "#000000" ] ]
  7204. edge [ source 1883 target 1889 graphics [ fill "#0000ff" ] ]
  7205. edge [ source 1884 target 1885 graphics [ fill "#000000" ] ]
  7206. edge [ source 1884 target 1887 graphics [ fill "#000000" ] ]
  7207. edge [ source 1885 target 1863 graphics [ fill "#0000ff" ] ]
  7208. edge [ source 1864 target 1863 graphics [ fill "#0000ff" ] ]
  7209. edge [ source 1863 target 1864 graphics [ fill "#000000" ] ]
  7210. edge [ source 1863 target 1886 graphics [ fill "#000000" ] ]
  7211. edge [ source 1886 target 1889 graphics [ fill "#0000ff" ] ]
  7212. edge [ source 1887 target 1867 graphics [ fill "#0000ff" ] ]
  7213. edge [ source 1868 target 1869 graphics [ fill "#000000" ] ]
  7214. edge [ source 1868 target 1870 graphics [ fill "#000000" ] ]
  7215. edge [ source 1869 target 1871 graphics [ fill "#0000ff" ] ]
  7216. edge [ source 1870 target 1872 graphics [ fill "#000000" ] ]
  7217. edge [ source 1870 target 1873 graphics [ fill "#000000" ] ]
  7218. edge [ source 1872 target 1871 graphics [ fill "#0000ff" ] ]
  7219. edge [ source 1873 target 1874 graphics [ fill "#000000" ] ]
  7220. edge [ source 1873 target 1875 graphics [ fill "#000000" ] ]
  7221. edge [ source 1874 target 1871 graphics [ fill "#0000ff" ] ]
  7222. edge [ source 1875 target 1876 graphics [ fill "#000000" ] ]
  7223. edge [ source 1875 target 1877 graphics [ fill "#000000" ] ]
  7224. edge [ source 1876 target 1871 graphics [ fill "#0000ff" ] ]
  7225. edge [ source 1877 target 1865 graphics [ fill "#0000ff" ] ]
  7226. edge [ source 1866 target 1865 graphics [ fill "#0000ff" ] ]
  7227. edge [ source 1865 target 1866 graphics [ fill "#000000" ] ]
  7228. edge [ source 1865 target 1871 graphics [ fill "#000000" ] ]
  7229. edge [ source 1871 target 1867 graphics [ fill "#0000ff" ] ]
  7230. edge [ source 1867 target 1868 graphics [ fill "#000000" ] ]
  7231. edge [ source 1867 target 1888 graphics [ fill "#000000" ] ]
  7232. edge [ source 1888 target 1889 graphics [ fill "#0000ff" ] ]
  7233. edge [ source 1889 target 1879 graphics [ fill "#000000" ] ]
  7234. ]