scheme48vm.c 551 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. #include "prescheme.h"
  5. #include "scheme48vm-prelude.h"
  6. static char add_more_channels(long);
  7. static char encode_scalar_value(long, long, char *, long, char*, char*, long*);
  8. static char decode_scalar_value(long, char *, long, char*, char*, long*, long*);
  9. static char integerLE(long, long);
  10. static char integerGE(long, long);
  11. static char shared_binding_undefinedP(long);
  12. static void enqueue_channelB(long, long, long);
  13. static void decode_utf_8B(char *, long, long);
  14. static void copy_vm_string_to_stringUlatin_1B(long, long, long, char*);
  15. static long close_channelB(long);
  16. static long make_blank_return_code(long, long, long, long, long);
  17. static long enter_stringAgc_n(char*, long);
  18. static long add_log_entryAgc(long, long, long, long, long, char);
  19. static long enter_bignum(char *);
  20. static char integerE(long, long);
  21. static long make_channel(long, long, long, long, long, long, long, long);
  22. static long write_vm_string(long, FILE *);
  23. static long Haction4940(long);
  24. static long current_code_vector(void);
  25. static void channel_close_error(long, long, long);
  26. static long integer_bit_count(long);
  27. static long integer_add(long, long);
  28. static long integer_subtract(long, long);
  29. static long integer_multiply(long, long);
  30. static long integer_bitwise_not(long);
  31. static long integer_bitwise_and(long, long);
  32. static long integer_bitwise_ior(long, long);
  33. static long integer_bitwise_xor(long, long);
  34. static long Hinteger_op8311(long, long);
  35. static long Hinteger_op8242(long, long);
  36. static char for_each_imported_binding(char(*)(long));
  37. static long really_preserve_continuation(long);
  38. static void push_exception_setupB(long, long);
  39. static long Hlookup2943(long, long, long);
  40. static long Hlookup2924(long, long, long);
  41. static void HtopD11565(void);
  42. static void HtopD11576(void);
  43. void s48_set_native_protocolB(long);
  44. void s48_set_extension_valueB(long);
  45. long s48_channel_count(void);
  46. long *s48_channels(void);
  47. char s48_os_signal_pending(void);
  48. long s48_imported_bindings(void);
  49. long s48_exported_bindings(void);
  50. long s48_symbol_table(void);
  51. char * s48_set_gc_roots_baseB(void);
  52. char s48_release_gc_roots_baseB(char *);
  53. void s48_reset_external_rootsB(void);
  54. void s48_note_event(void);
  55. void s48_reset_interruptsB(void);
  56. void s48_disable_interruptsB(void);
  57. void s48_add_os_signal(long);
  58. void s48_push_gc_rootsB(char *, long);
  59. char * s48_register_gc_rootB(char *);
  60. void s48_stack_setB(long, long);
  61. long s48_stack_ref(long);
  62. void s48_push(long);
  63. long s48_resetup_external_exception(long, long);
  64. char s48_pop_gc_rootsB(void);
  65. void s48_unregister_gc_rootB(char *);
  66. char * s48_shorten_bignum(char *, long);
  67. long s48_allocate_string(long);
  68. long s48_allocate_bignum(long);
  69. void s48_enable_interruptsB(void);
  70. long s48_set_channel_os_index(long, long);
  71. long s48_enter_string_utf_8(char *);
  72. long s48_enter_string_utf_8_n(char *, long);
  73. long s48_integer_or_floanum_L(long, long);
  74. long s48_integer_or_floanum_G(long, long);
  75. long s48_integer_or_floanum_LE(long, long);
  76. long s48_integer_or_floanum_GE(long, long);
  77. long s48_make_blank_return_code(long, long, long, long);
  78. long s48_enter_string_latin_1_n(char*, long);
  79. long s48_integer_or_floanum_E(long, long);
  80. void s48_close_channel(long);
  81. long s48_enter_string_latin_1(char*);
  82. void s48_string_set(long, long, long);
  83. long s48_string_ref(long, long);
  84. long s48_string_length(long);
  85. void s48_copy_latin_1_to_string_n(char*, long, long);
  86. void s48_copy_latin_1_to_string(char*, long);
  87. void s48_copy_string_to_latin_1(long, char*);
  88. void s48_copy_string_to_latin_1_n(long, long, long, char*);
  89. long s48_string_utf_8_length(long);
  90. long s48_string_utf_8_length_n(long, long, long);
  91. void s48_copy_string_to_utf_8(long, char *);
  92. void s48_copy_string_to_utf_8_n(long, long, long, char *);
  93. void check_stack(void);
  94. long s48_really_add_channel(long, long, long);
  95. long s48_integer_bit_count(long);
  96. long s48_enter_integer(long);
  97. long s48_integer_or_floanum_add(long, long);
  98. long s48_integer_or_floanum_sub(long, long);
  99. long s48_integer_or_floanum_mul(long, long);
  100. long s48_integer_bitwise_not(long);
  101. long s48_integer_bitwise_and(long, long);
  102. long s48_integer_bitwise_ior(long, long);
  103. long s48_integer_bitwise_xor(long, long);
  104. void s48_setup_external_exception(long, long);
  105. long s48_integer_quotient(long, long);
  106. long s48_integer_remainder(long, long);
  107. void s48_copy_stack_into_heap(void);
  108. long s48_get_imported_binding(char*);
  109. void s48_define_exported_binding(char*, long);
  110. void s48_initialize_vm(char *, long);
  111. void s48_post_gc_cleanup(void);
  112. void s48_gc_root(void);
  113. long s48_restart(long, long);
  114. long s48_call_startup_procedure(char**, long);
  115. static long Spending_interruptsS;
  116. static long Snumber_of_channelsS;
  117. static long *Svm_channelsS;
  118. static long Spending_channels_headS;
  119. static long Spending_channels_tailS;
  120. static long *Sutf_8_state_tableS;
  121. static long *Sutf_8_masksS;
  122. static long Stemp0S;
  123. static long Stemp1S;
  124. static char * Sstack_beginS;
  125. static char * Sstack_endS;
  126. static char * Sreal_stack_limitS;
  127. static char * Sbottom_of_stackS;
  128. static long Sheap_continuationS;
  129. static char Sstack_warningPS;
  130. static long Soldspace_beginS;
  131. static long Soldspace_endS;
  132. static long Sexception_handlersS;
  133. static long Sinterrupt_handlersS;
  134. static char * Slast_code_pointer_resumedS;
  135. static long Scurrent_threadS;
  136. static long Ssession_dataS;
  137. static long Sfinalizer_alistS;
  138. static long Sfinalize_theseS;
  139. static long Senabled_interruptsS;
  140. static long Sinterrupted_templateS;
  141. static long Sinterrupted_byte_opcode_return_codeS;
  142. static long Sinterrupted_native_call_return_codeS;
  143. static long Snative_poll_return_codeS;
  144. static long Sexception_return_codeS;
  145. static long Snative_exception_return_codeS;
  146. static long Scall_with_values_return_codeS;
  147. static long Ssaved_pcS;
  148. static long *Sos_signal_ringS;
  149. static long Sos_signal_ring_startS;
  150. static long Sos_signal_ring_readyS;
  151. static long Sos_signal_ring_endS;
  152. static char Sexternal_exceptionPS;
  153. static long Sexternal_exception_nargsS;
  154. static long Simported_bindingsS;
  155. static long Sexported_bindingsS;
  156. static long Sthe_symbol_tableS;
  157. static char * Sexternal_root_stackS;
  158. static char * Sexternal_root_stack_baseS;
  159. static char * Spermanent_external_rootsS;
  160. static long Sempty_logS;
  161. static void (*Spost_gc_cleanupS)(void);
  162. static void (*Sgc_root_procS)(void);
  163. char * SstackS;
  164. char * s48_Sstack_limitS;
  165. char * ScontS;
  166. char * Scode_pointerS;
  167. long SvalS;
  168. long Slast_code_calledS;
  169. char s48_Spending_interruptPS;
  170. long Snative_exception_contS;
  171. long s48_Snative_protocolS;
  172. long s48_Sextension_valueS;
  173. long s48_Scallback_return_stack_blockS;
  174. char s48_Spending_eventsPS;
  175. static char add_more_channels(long index_7X)
  176. {
  177. long arg0K0;
  178. long i_13X;
  179. long i_12X;
  180. long *new_vm_channels_11X;
  181. long new_count_10X;
  182. long y_9X;
  183. long x_8X;
  184. { x_8X = 1 + index_7X;
  185. y_9X = 8 + (Snumber_of_channelsS);
  186. if ((x_8X < y_9X)) {
  187. arg0K0 = y_9X;
  188. goto L3555;}
  189. else {
  190. arg0K0 = x_8X;
  191. goto L3555;}}
  192. L3555: {
  193. new_count_10X = arg0K0;
  194. new_vm_channels_11X = (long*)malloc(sizeof(long) * new_count_10X);
  195. if ((NULL == new_vm_channels_11X)) {
  196. return 0;}
  197. else {
  198. arg0K0 = 0;
  199. goto L3567;}}
  200. L3567: {
  201. i_12X = arg0K0;
  202. if ((i_12X == (Snumber_of_channelsS))) {
  203. arg0K0 = (Snumber_of_channelsS);
  204. goto L3640;}
  205. else {
  206. *(new_vm_channels_11X + i_12X) = (*((Svm_channelsS) + i_12X));
  207. arg0K0 = (1 + i_12X);
  208. goto L3567;}}
  209. L3640: {
  210. i_13X = arg0K0;
  211. if ((i_13X == new_count_10X)) {
  212. free((Svm_channelsS));
  213. Svm_channelsS = new_vm_channels_11X;
  214. Snumber_of_channelsS = new_count_10X;
  215. return 1;}
  216. else {
  217. *(new_vm_channels_11X + i_13X) = 1;
  218. arg0K0 = (1 + i_13X);
  219. goto L3640;}}
  220. }
  221. static char encode_scalar_value(long encoding_14X, long value_15X, char * buffer_16X, long count_17X, char *TT0, char *TT1, long *TT2)
  222. {
  223. long word_21X;
  224. long word_20X;
  225. long word_19X;
  226. long word_18X;
  227. { if ((0 == encoding_14X)) {
  228. if ((count_17X < 1)) {
  229. *TT0 = 1;
  230. *TT1 = 1;
  231. *TT2 = 1;
  232. return 1;}
  233. else {
  234. if ((value_15X < 128)) {
  235. *((unsigned char *) buffer_16X) = (unsigned char) (value_15X);
  236. *TT0 = 1;
  237. *TT1 = 0;
  238. *TT2 = 1;
  239. return 1;}
  240. else {
  241. *TT0 = 0;
  242. *TT1 = 0;
  243. *TT2 = 0;
  244. return 1;}}}
  245. else {
  246. if ((1 == encoding_14X)) {
  247. if ((count_17X < 1)) {
  248. *TT0 = 1;
  249. *TT1 = 1;
  250. *TT2 = 1;
  251. return 1;}
  252. else {
  253. if ((value_15X < 256)) {
  254. *((unsigned char *) buffer_16X) = (unsigned char) (value_15X);
  255. *TT0 = 1;
  256. *TT1 = 0;
  257. *TT2 = 1;
  258. return 1;}
  259. else {
  260. *TT0 = 0;
  261. *TT1 = 0;
  262. *TT2 = 0;
  263. return 1;}}}
  264. else {
  265. if ((2 == encoding_14X)) {
  266. if ((127 < value_15X)) {
  267. if ((2047 < value_15X)) {
  268. if ((65535 < value_15X)) {
  269. if ((count_17X < 4)) {
  270. *TT0 = 1;
  271. *TT1 = 1;
  272. *TT2 = 4;
  273. return 1;}
  274. else {
  275. *((unsigned char *) buffer_16X) = (unsigned char) ((240 + ((long)(((unsigned long)(1835008 & value_15X))>>18))));
  276. *((unsigned char *) (buffer_16X + 1)) = (unsigned char) ((128 + ((long)(((unsigned long)(258048 & value_15X))>>12))));
  277. *((unsigned char *) (buffer_16X + 2)) = (unsigned char) ((128 + ((long)(((unsigned long)(4032 & value_15X))>>6))));
  278. *((unsigned char *) (buffer_16X + 3)) = (unsigned char) ((128 + (63 & value_15X)));
  279. *TT0 = 1;
  280. *TT1 = 0;
  281. *TT2 = 4;
  282. return 1;}}
  283. else {
  284. if ((count_17X < 3)) {
  285. *TT0 = 1;
  286. *TT1 = 1;
  287. *TT2 = 3;
  288. return 1;}
  289. else {
  290. *((unsigned char *) buffer_16X) = (unsigned char) ((224 + ((long)(((unsigned long)(61440 & value_15X))>>12))));
  291. *((unsigned char *) (buffer_16X + 1)) = (unsigned char) ((128 + ((long)(((unsigned long)(4032 & value_15X))>>6))));
  292. *((unsigned char *) (buffer_16X + 2)) = (unsigned char) ((128 + (63 & value_15X)));
  293. *TT0 = 1;
  294. *TT1 = 0;
  295. *TT2 = 3;
  296. return 1;}}}
  297. else {
  298. if ((count_17X < 2)) {
  299. *TT0 = 1;
  300. *TT1 = 1;
  301. *TT2 = 2;
  302. return 1;}
  303. else {
  304. *((unsigned char *) buffer_16X) = (unsigned char) ((192 + ((long)(((unsigned long)(1984 & value_15X))>>6))));
  305. *((unsigned char *) (buffer_16X + 1)) = (unsigned char) ((128 + (63 & value_15X)));
  306. *TT0 = 1;
  307. *TT1 = 0;
  308. *TT2 = 2;
  309. return 1;}}}
  310. else {
  311. if ((count_17X < 1)) {
  312. *TT0 = 1;
  313. *TT1 = 1;
  314. *TT2 = 1;
  315. return 1;}
  316. else {
  317. *((unsigned char *) buffer_16X) = (unsigned char) (value_15X);
  318. *TT0 = 1;
  319. *TT1 = 0;
  320. *TT2 = 1;
  321. return 1;}}}
  322. else {
  323. if ((3 == encoding_14X)) {
  324. if ((65535 < value_15X)) {
  325. if ((count_17X < 4)) {
  326. *TT0 = 1;
  327. *TT1 = 1;
  328. *TT2 = 4;
  329. return 1;}
  330. else {
  331. word_18X = 55232 + ((long)(((unsigned long)value_15X)>>10));
  332. *((unsigned char *) buffer_16X) = (unsigned char) ((255 & word_18X));
  333. *((unsigned char *) (buffer_16X + 1)) = (unsigned char) (((long)(((unsigned long)word_18X)>>8)));
  334. word_19X = 56320 + (1023 & value_15X);
  335. *((unsigned char *) (buffer_16X + 2)) = (unsigned char) ((255 & word_19X));
  336. *((unsigned char *) (buffer_16X + 3)) = (unsigned char) (((long)(((unsigned long)word_19X)>>8)));
  337. *TT0 = 1;
  338. *TT1 = 0;
  339. *TT2 = 4;
  340. return 1;}}
  341. else {
  342. if ((count_17X < 2)) {
  343. *TT0 = 1;
  344. *TT1 = 1;
  345. *TT2 = 2;
  346. return 1;}
  347. else {
  348. *((unsigned char *) buffer_16X) = (unsigned char) ((255 & value_15X));
  349. *((unsigned char *) (buffer_16X + 1)) = (unsigned char) (((long)(((unsigned long)value_15X)>>8)));
  350. *TT0 = 1;
  351. *TT1 = 0;
  352. *TT2 = 2;
  353. return 1;}}}
  354. else {
  355. if ((4 == encoding_14X)) {
  356. if ((65535 < value_15X)) {
  357. if ((count_17X < 4)) {
  358. *TT0 = 1;
  359. *TT1 = 1;
  360. *TT2 = 4;
  361. return 1;}
  362. else {
  363. word_20X = 55232 + ((long)(((unsigned long)value_15X)>>10));
  364. *((unsigned char *) buffer_16X) = (unsigned char) (((long)(((unsigned long)word_20X)>>8)));
  365. *((unsigned char *) (buffer_16X + 1)) = (unsigned char) ((255 & word_20X));
  366. word_21X = 56320 + (1023 & value_15X);
  367. *((unsigned char *) (buffer_16X + 2)) = (unsigned char) (((long)(((unsigned long)word_21X)>>8)));
  368. *((unsigned char *) (buffer_16X + 3)) = (unsigned char) ((255 & word_21X));
  369. *TT0 = 1;
  370. *TT1 = 0;
  371. *TT2 = 4;
  372. return 1;}}
  373. else {
  374. if ((count_17X < 2)) {
  375. *TT0 = 1;
  376. *TT1 = 1;
  377. *TT2 = 2;
  378. return 1;}
  379. else {
  380. *((unsigned char *) buffer_16X) = (unsigned char) (((long)(((unsigned long)value_15X)>>8)));
  381. *((unsigned char *) (buffer_16X + 1)) = (unsigned char) ((255 & value_15X));
  382. *TT0 = 1;
  383. *TT1 = 0;
  384. *TT2 = 2;
  385. return 1;}}}
  386. else {
  387. if ((5 == encoding_14X)) {
  388. if ((count_17X < 4)) {
  389. *TT0 = 1;
  390. *TT1 = 1;
  391. *TT2 = 4;
  392. return 1;}
  393. else {
  394. *((unsigned char *) buffer_16X) = (unsigned char) ((255 & value_15X));
  395. *((unsigned char *) (buffer_16X + 1)) = (unsigned char) (((long)(((unsigned long)(65280 & value_15X))>>8)));
  396. *((unsigned char *) (buffer_16X + 2)) = (unsigned char) (((long)(((unsigned long)(16711680 & value_15X))>>16)));
  397. *((unsigned char *) (buffer_16X + 3)) = (unsigned char) (((long)(((unsigned long)value_15X)>>24)));
  398. *TT0 = 1;
  399. *TT1 = 0;
  400. *TT2 = 4;
  401. return 1;}}
  402. else {
  403. if ((6 == encoding_14X)) {
  404. if ((count_17X < 4)) {
  405. *TT0 = 1;
  406. *TT1 = 1;
  407. *TT2 = 4;
  408. return 1;}
  409. else {
  410. *((unsigned char *) buffer_16X) = (unsigned char) (((long)(((unsigned long)value_15X)>>24)));
  411. *((unsigned char *) (buffer_16X + 1)) = (unsigned char) (((long)(((unsigned long)(16711680 & value_15X))>>16)));
  412. *((unsigned char *) (buffer_16X + 2)) = (unsigned char) (((long)(((unsigned long)(65280 & value_15X))>>8)));
  413. *((unsigned char *) (buffer_16X + 3)) = (unsigned char) ((255 & value_15X));
  414. *TT0 = 1;
  415. *TT1 = 0;
  416. *TT2 = 4;
  417. return 1;}}
  418. else {
  419. *TT0 = 0;
  420. *TT1 = 0;
  421. *TT2 = 0;
  422. return 0;}}}}}}}}
  423. }
  424. static char decode_scalar_value(long encoding_22X, char * buffer_23X, long count_24X, char *TT0, char *TT1, long *TT2, long *TT3)
  425. {
  426. long arg0K3;
  427. long arg0K2;
  428. long arg0K1;
  429. long arg0K0;
  430. long v_38X;
  431. long scalar_value_37X;
  432. long state_36X;
  433. long c_35X;
  434. long scalar_value_34X;
  435. long mask_33X;
  436. long state_32X;
  437. long q_31X;
  438. long code_point_30X;
  439. long code_point_29X;
  440. long word1_28X;
  441. long word0_27X;
  442. long word1_26X;
  443. long word0_25X;
  444. { if ((0 == encoding_22X)) {
  445. *TT0 = 1;
  446. *TT1 = 0;
  447. *TT2 = (*((unsigned char *) buffer_23X));
  448. *TT3 = 1;
  449. return 1;}
  450. else {
  451. if ((1 == encoding_22X)) {
  452. *TT0 = 1;
  453. *TT1 = 0;
  454. *TT2 = (*((unsigned char *) buffer_23X));
  455. *TT3 = 1;
  456. return 1;}
  457. else {
  458. if ((2 == encoding_22X)) {
  459. arg0K0 = 0;
  460. arg0K1 = 0;
  461. arg0K2 = 0;
  462. arg0K3 = 0;
  463. goto L7186;}
  464. else {
  465. if ((3 == encoding_22X)) {
  466. if ((count_24X < 2)) {
  467. *TT0 = 1;
  468. *TT1 = 1;
  469. *TT2 = 0;
  470. *TT3 = 2;
  471. return 1;}
  472. else {
  473. word0_25X = (*((unsigned char *) buffer_23X)) + ((((*((unsigned char *) (buffer_23X + 1))))<<8));
  474. if ((word0_25X < 55296)) {
  475. *TT0 = 1;
  476. *TT1 = 0;
  477. *TT2 = word0_25X;
  478. *TT3 = 2;
  479. return 1;}
  480. else {
  481. if ((57343 < word0_25X)) {
  482. *TT0 = 1;
  483. *TT1 = 0;
  484. *TT2 = word0_25X;
  485. *TT3 = 2;
  486. return 1;}
  487. else {
  488. if ((count_24X < 4)) {
  489. *TT0 = 1;
  490. *TT1 = 1;
  491. *TT2 = 0;
  492. *TT3 = 4;
  493. return 1;}
  494. else {
  495. if ((56319 < word0_25X)) {
  496. *TT0 = 0;
  497. *TT1 = 0;
  498. *TT2 = 0;
  499. *TT3 = 0;
  500. return 1;}
  501. else {
  502. word1_26X = (*((unsigned char *) (buffer_23X + 2))) + ((((*((unsigned char *) (buffer_23X + 3))))<<8));
  503. if ((word1_26X < 56320)) {
  504. *TT0 = 0;
  505. *TT1 = 0;
  506. *TT2 = 0;
  507. *TT3 = 0;
  508. return 1;}
  509. else {
  510. if ((57343 < word1_26X)) {
  511. *TT0 = 0;
  512. *TT1 = 0;
  513. *TT2 = 0;
  514. *TT3 = 0;
  515. return 1;}
  516. else {
  517. *TT0 = 1;
  518. *TT1 = 0;
  519. *TT2 = ((-56557568 + (((word0_25X)<<10))) + (1023 & word1_26X));
  520. *TT3 = 4;
  521. return 1;}}}}}}}}
  522. else {
  523. if ((4 == encoding_22X)) {
  524. if ((count_24X < 2)) {
  525. *TT0 = 1;
  526. *TT1 = 1;
  527. *TT2 = 0;
  528. *TT3 = 2;
  529. return 1;}
  530. else {
  531. word0_27X = ((((*((unsigned char *) buffer_23X)))<<8)) + (*((unsigned char *) (buffer_23X + 1)));
  532. if ((word0_27X < 55296)) {
  533. *TT0 = 1;
  534. *TT1 = 0;
  535. *TT2 = word0_27X;
  536. *TT3 = 2;
  537. return 1;}
  538. else {
  539. if ((57343 < word0_27X)) {
  540. *TT0 = 1;
  541. *TT1 = 0;
  542. *TT2 = word0_27X;
  543. *TT3 = 2;
  544. return 1;}
  545. else {
  546. if ((count_24X < 4)) {
  547. *TT0 = 1;
  548. *TT1 = 1;
  549. *TT2 = 0;
  550. *TT3 = 4;
  551. return 1;}
  552. else {
  553. if ((56319 < word0_27X)) {
  554. *TT0 = 0;
  555. *TT1 = 0;
  556. *TT2 = 0;
  557. *TT3 = 0;
  558. return 1;}
  559. else {
  560. word1_28X = ((((*((unsigned char *) (buffer_23X + 2))))<<8)) + (*((unsigned char *) (buffer_23X + 3)));
  561. if ((word1_28X < 56320)) {
  562. *TT0 = 0;
  563. *TT1 = 0;
  564. *TT2 = 0;
  565. *TT3 = 0;
  566. return 1;}
  567. else {
  568. if ((57343 < word1_28X)) {
  569. *TT0 = 0;
  570. *TT1 = 0;
  571. *TT2 = 0;
  572. *TT3 = 0;
  573. return 1;}
  574. else {
  575. *TT0 = 1;
  576. *TT1 = 0;
  577. *TT2 = ((-56557568 + (((word0_27X)<<10))) + (1023 & word1_28X));
  578. *TT3 = 4;
  579. return 1;}}}}}}}}
  580. else {
  581. if ((5 == encoding_22X)) {
  582. if ((count_24X < 4)) {
  583. *TT0 = 1;
  584. *TT1 = 1;
  585. *TT2 = 0;
  586. *TT3 = 4;
  587. return 1;}
  588. else {
  589. code_point_29X = (((*((unsigned char *) buffer_23X)) + ((((*((unsigned char *) (buffer_23X + 1))))<<8))) + ((((*((unsigned char *) (buffer_23X + 2))))<<16))) + ((((*((unsigned char *) (buffer_23X + 3))))<<24));
  590. if ((code_point_29X < 0)) {
  591. *TT0 = 0;
  592. *TT1 = 0;
  593. *TT2 = 0;
  594. *TT3 = 0;
  595. return 1;}
  596. else {
  597. if ((55295 < code_point_29X)) {
  598. if ((code_point_29X < 57344)) {
  599. *TT0 = 0;
  600. *TT1 = 0;
  601. *TT2 = 0;
  602. *TT3 = 0;
  603. return 1;}
  604. else {
  605. if ((1114111 < code_point_29X)) {
  606. *TT0 = 0;
  607. *TT1 = 0;
  608. *TT2 = 0;
  609. *TT3 = 0;
  610. return 1;}
  611. else {
  612. *TT0 = 1;
  613. *TT1 = 0;
  614. *TT2 = code_point_29X;
  615. *TT3 = 4;
  616. return 1;}}}
  617. else {
  618. *TT0 = 1;
  619. *TT1 = 0;
  620. *TT2 = code_point_29X;
  621. *TT3 = 4;
  622. return 1;}}}}
  623. else {
  624. if ((6 == encoding_22X)) {
  625. if ((count_24X < 4)) {
  626. *TT0 = 1;
  627. *TT1 = 1;
  628. *TT2 = 0;
  629. *TT3 = 4;
  630. return 1;}
  631. else {
  632. code_point_30X = ((((((*((unsigned char *) buffer_23X)))<<24)) + ((((*((unsigned char *) (buffer_23X + 1))))<<16))) + ((((*((unsigned char *) (buffer_23X + 2))))<<8))) + (*((unsigned char *) (buffer_23X + 3)));
  633. if ((code_point_30X < 0)) {
  634. *TT0 = 0;
  635. *TT1 = 0;
  636. *TT2 = 0;
  637. *TT3 = 0;
  638. return 1;}
  639. else {
  640. if ((55295 < code_point_30X)) {
  641. if ((code_point_30X < 57344)) {
  642. *TT0 = 0;
  643. *TT1 = 0;
  644. *TT2 = 0;
  645. *TT3 = 0;
  646. return 1;}
  647. else {
  648. if ((1114111 < code_point_30X)) {
  649. *TT0 = 0;
  650. *TT1 = 0;
  651. *TT2 = 0;
  652. *TT3 = 0;
  653. return 1;}
  654. else {
  655. *TT0 = 1;
  656. *TT1 = 0;
  657. *TT2 = code_point_30X;
  658. *TT3 = 4;
  659. return 1;}}}
  660. else {
  661. *TT0 = 1;
  662. *TT1 = 0;
  663. *TT2 = code_point_30X;
  664. *TT3 = 4;
  665. return 1;}}}}
  666. else {
  667. *TT0 = 0;
  668. *TT1 = 0;
  669. *TT2 = 0;
  670. *TT3 = 0;
  671. return 0;}}}}}}}}
  672. L7186: {
  673. q_31X = arg0K0;
  674. state_32X = arg0K1;
  675. mask_33X = arg0K2;
  676. scalar_value_34X = arg0K3;
  677. if ((q_31X < count_24X)) {
  678. c_35X = *((unsigned char *) (buffer_23X + q_31X));
  679. state_36X = *(Sutf_8_state_tableS + ((((state_32X)<<5)) + (((c_35X)>>3))));
  680. if ((state_36X == 0)) {
  681. scalar_value_37X = scalar_value_34X + (127 & c_35X);
  682. if ((scalar_value_37X < 0)) {
  683. *TT0 = 0;
  684. *TT1 = 0;
  685. *TT2 = 0;
  686. *TT3 = 0;
  687. return 1;}
  688. else {
  689. if ((55295 < scalar_value_37X)) {
  690. if ((scalar_value_37X < 57344)) {
  691. *TT0 = 0;
  692. *TT1 = 0;
  693. *TT2 = 0;
  694. *TT3 = 0;
  695. return 1;}
  696. else {
  697. if ((1114111 < scalar_value_37X)) {
  698. *TT0 = 0;
  699. *TT1 = 0;
  700. *TT2 = 0;
  701. *TT3 = 0;
  702. return 1;}
  703. else {
  704. goto L7201;}}}
  705. else {
  706. goto L7201;}}}
  707. else {
  708. if ((state_36X == 1)) {
  709. goto L7212;}
  710. else {
  711. if ((state_36X == 2)) {
  712. goto L7212;}
  713. else {
  714. if ((state_36X == 3)) {
  715. goto L7212;}
  716. else {
  717. if ((state_36X == -2)) {
  718. *TT0 = 0;
  719. *TT1 = 0;
  720. *TT2 = 0;
  721. *TT3 = 0;
  722. return 1;}
  723. else {
  724. if ((state_36X == -1)) {
  725. *TT0 = 0;
  726. *TT1 = 0;
  727. *TT2 = 0;
  728. *TT3 = 0;
  729. return 1;}
  730. else {
  731. *TT0 = 0;
  732. *TT1 = 0;
  733. *TT2 = 0;
  734. *TT3 = 0;
  735. return 1;}}}}}}}
  736. else {
  737. *TT0 = 1;
  738. *TT1 = 1;
  739. *TT2 = 0;
  740. *TT3 = (1 + q_31X);
  741. return 1;}}
  742. L7201: {
  743. *TT0 = 1;
  744. *TT1 = 0;
  745. *TT2 = scalar_value_37X;
  746. *TT3 = (1 + q_31X);
  747. return 1;}
  748. L7212: {
  749. if ((0 == mask_33X)) {
  750. arg0K0 = (*(Sutf_8_masksS + state_36X));
  751. goto L7218;}
  752. else {
  753. arg0K0 = mask_33X;
  754. goto L7218;}}
  755. L7218: {
  756. v_38X = arg0K0;
  757. arg0K0 = (1 + q_31X);
  758. arg0K1 = state_36X;
  759. arg0K2 = 63;
  760. arg0K3 = ((((scalar_value_34X + (c_35X & v_38X)))<<6));
  761. goto L7186;}
  762. }
  763. static char integerLE(long x_39X, long y_40X)
  764. {
  765. long v_43X;
  766. long v_42X;
  767. long v_41X;
  768. { if ((0 == (3 & y_40X))) {
  769. if ((0 == (3 & x_39X))) {
  770. if ((y_40X < x_39X)) {
  771. return 0;}
  772. else {
  773. return 1;}}
  774. else {
  775. v_41X = s48_bignum_test((((char *) (-3 + x_39X))));
  776. if ((1 == v_41X)) {
  777. return 0;}
  778. else {
  779. return 1;}}}
  780. else {
  781. if ((0 == (3 & x_39X))) {
  782. v_42X = s48_bignum_test((((char *) (-3 + y_40X))));
  783. if ((1 == v_42X)) {
  784. return 1;}
  785. else {
  786. return 0;}}
  787. else {
  788. v_43X = s48_bignum_compare((((char *) (-3 + y_40X))), (((char *) (-3 + x_39X))));
  789. if ((-1 == v_43X)) {
  790. return 0;}
  791. else {
  792. return 1;}}}}
  793. }
  794. static char integerGE(long x_44X, long y_45X)
  795. {
  796. long v_48X;
  797. long v_47X;
  798. long v_46X;
  799. { if ((0 == (3 & x_44X))) {
  800. if ((0 == (3 & y_45X))) {
  801. if ((x_44X < y_45X)) {
  802. return 0;}
  803. else {
  804. return 1;}}
  805. else {
  806. v_46X = s48_bignum_test((((char *) (-3 + y_45X))));
  807. if ((1 == v_46X)) {
  808. return 0;}
  809. else {
  810. return 1;}}}
  811. else {
  812. if ((0 == (3 & y_45X))) {
  813. v_47X = s48_bignum_test((((char *) (-3 + x_44X))));
  814. if ((1 == v_47X)) {
  815. return 1;}
  816. else {
  817. return 0;}}
  818. else {
  819. v_48X = s48_bignum_compare((((char *) (-3 + x_44X))), (((char *) (-3 + y_45X))));
  820. if ((-1 == v_48X)) {
  821. return 0;}
  822. else {
  823. return 1;}}}}
  824. }
  825. static char shared_binding_undefinedP(long binding_49X)
  826. {
  827. { return (17 == (255 & (*((long *) ((((char *) (-3 + binding_49X))) + 8)))));}
  828. }
  829. static void enqueue_channelB(long index_50X, long status_51X, long errorP_52X)
  830. {
  831. char * addr_58X;
  832. long x_57X;
  833. char * addr_56X;
  834. char * addr_55X;
  835. long val_54X;
  836. long channel_53X;
  837. { channel_53X = *((Svm_channelsS) + index_50X);
  838. val_54X = ((status_51X)<<2);
  839. addr_55X = (((char *) (-3 + channel_53X))) + 20;S48_WRITE_BARRIER(channel_53X, addr_55X, val_54X);
  840. *((long *) addr_55X) = (long) (val_54X);
  841. addr_56X = (((char *) (-3 + channel_53X))) + 24;S48_WRITE_BARRIER(channel_53X, addr_56X, errorP_52X);
  842. *((long *) addr_56X) = (long) (errorP_52X);
  843. if ((1 == (*((long *) ((((char *) (-3 + channel_53X))) + 16))))) {
  844. if ((channel_53X == (Spending_channels_headS))) {
  845. return;}
  846. else {
  847. if ((channel_53X == (Spending_channels_tailS))) {
  848. return;}
  849. else {
  850. if ((1 == (Spending_channels_headS))) {
  851. Spending_channels_headS = channel_53X;
  852. Spending_channels_tailS = channel_53X;
  853. return;}
  854. else {
  855. x_57X = Spending_channels_tailS;
  856. addr_58X = (((char *) (-3 + x_57X))) + 16;S48_WRITE_BARRIER(x_57X, addr_58X, channel_53X);
  857. *((long *) addr_58X) = (long) (channel_53X);
  858. Spending_channels_tailS = channel_53X;
  859. return;}}}}
  860. else {
  861. return;}}
  862. }
  863. static void decode_utf_8B(char * p_59X, long s_60X, long size_61X)
  864. {
  865. long arg0K2;
  866. long arg0K1;
  867. long arg0K0;
  868. long shifted_77X;
  869. long j_76X;
  870. long bits_75X;
  871. long shifted_74X;
  872. long j_73X;
  873. long bits_72X;
  874. long shifted_71X;
  875. long j_70X;
  876. long bits_69X;
  877. long count_68X;
  878. long value_67X;
  879. char incompleteP_66X;
  880. char v_65X;
  881. char encoding_okP_64X;
  882. long target_index_63X;
  883. long index_62X;
  884. { arg0K0 = 0;
  885. arg0K1 = 0;
  886. goto L13907;}
  887. L13907: {
  888. index_62X = arg0K0;
  889. target_index_63X = arg0K1;
  890. if ((index_62X < size_61X)) {
  891. encoding_okP_64X = decode_scalar_value(2, (p_59X + index_62X), (size_61X - index_62X), &v_65X, &incompleteP_66X, &value_67X, &count_68X);
  892. if (encoding_okP_64X) {
  893. if (incompleteP_66X) {
  894. arg0K0 = 0;
  895. arg0K1 = 0;
  896. arg0K2 = 63;
  897. goto L13980;}
  898. else {
  899. arg0K0 = 0;
  900. arg0K1 = 0;
  901. arg0K2 = value_67X;
  902. goto L13997;}}
  903. else {
  904. arg0K0 = 0;
  905. arg0K1 = 0;
  906. arg0K2 = 63;
  907. goto L13963;}}
  908. else {
  909. return;}}
  910. L13980: {
  911. bits_69X = arg0K0;
  912. j_70X = arg0K1;
  913. shifted_71X = arg0K2;
  914. if ((j_70X < 4)) {
  915. *((unsigned char *) ((((char *) (-3 + s_60X))) + ((((target_index_63X)<<2)) + j_70X))) = (unsigned char) ((255 & shifted_71X));
  916. arg0K0 = (8 + bits_69X);
  917. arg0K1 = (1 + j_70X);
  918. arg0K2 = ((long)(((unsigned long)shifted_71X)>>8));
  919. goto L13980;}
  920. else {
  921. return;}}
  922. L13997: {
  923. bits_72X = arg0K0;
  924. j_73X = arg0K1;
  925. shifted_74X = arg0K2;
  926. if ((j_73X < 4)) {
  927. *((unsigned char *) ((((char *) (-3 + s_60X))) + ((((target_index_63X)<<2)) + j_73X))) = (unsigned char) ((255 & shifted_74X));
  928. arg0K0 = (8 + bits_72X);
  929. arg0K1 = (1 + j_73X);
  930. arg0K2 = ((long)(((unsigned long)shifted_74X)>>8));
  931. goto L13997;}
  932. else {
  933. arg0K0 = (index_62X + count_68X);
  934. arg0K1 = (1 + target_index_63X);
  935. goto L13907;}}
  936. L13963: {
  937. bits_75X = arg0K0;
  938. j_76X = arg0K1;
  939. shifted_77X = arg0K2;
  940. if ((j_76X < 4)) {
  941. *((unsigned char *) ((((char *) (-3 + s_60X))) + ((((target_index_63X)<<2)) + j_76X))) = (unsigned char) ((255 & shifted_77X));
  942. arg0K0 = (8 + bits_75X);
  943. arg0K1 = (1 + j_76X);
  944. arg0K2 = ((long)(((unsigned long)shifted_77X)>>8));
  945. goto L13963;}
  946. else {
  947. arg0K0 = (1 + index_62X);
  948. arg0K1 = (1 + target_index_63X);
  949. goto L13907;}}
  950. }
  951. static void copy_vm_string_to_stringUlatin_1B(long vm_string_78X, long start_79X, long count_80X, char *string_81X)
  952. {
  953. char arg1K0;
  954. long arg0K2;
  955. long arg0K1;
  956. long arg0K0;
  957. char v_87X;
  958. long x_86X;
  959. long scalar_value_85X;
  960. long j_84X;
  961. long bits_83X;
  962. long i_82X;
  963. { arg0K0 = 0;
  964. goto L14140;}
  965. L14140: {
  966. i_82X = arg0K0;
  967. if ((i_82X < count_80X)) {
  968. arg0K0 = 0;
  969. arg0K1 = 0;
  970. arg0K2 = 0;
  971. goto L14182;}
  972. else {
  973. return;}}
  974. L14182: {
  975. bits_83X = arg0K0;
  976. j_84X = arg0K1;
  977. scalar_value_85X = arg0K2;
  978. if ((j_84X < 4)) {
  979. PS_SHIFT_LEFT((*((unsigned char *) ((((char *) (-3 + vm_string_78X))) + ((((i_82X)<<2)) + j_84X)))), bits_83X, x_86X)
  980. arg0K0 = (8 + bits_83X);
  981. arg0K1 = (1 + j_84X);
  982. arg0K2 = (x_86X + scalar_value_85X);
  983. goto L14182;}
  984. else {
  985. if ((255 < scalar_value_85X)) {
  986. arg1K0 = 63;
  987. goto L14158;}
  988. else {
  989. arg1K0 = (((char) scalar_value_85X));
  990. goto L14158;}}}
  991. L14158: {
  992. v_87X = arg1K0;
  993. *(string_81X + (i_82X + start_79X)) = v_87X;
  994. arg0K0 = (1 + i_82X);
  995. goto L14140;}
  996. }
  997. static long close_channelB(long channel_88X)
  998. {
  999. long arg0K0;
  1000. char * addr_96X;
  1001. long status_95X;
  1002. long v_94X;
  1003. long v_93X;
  1004. long v_92X;
  1005. long v_91X;
  1006. long x_90X;
  1007. long os_index_89X;
  1008. { os_index_89X = (((*((long *) ((((char *) (-3 + channel_88X))) + 8))))>>2);
  1009. x_90X = *((long *) ((((char *) (-3 + channel_88X))) + 20));
  1010. if ((5 == x_90X)) {
  1011. v_91X = ps_abort_fd_op(os_index_89X);enqueue_channelB(os_index_89X, v_91X, 1);
  1012. goto L14764;}
  1013. else {
  1014. goto L14764;}}
  1015. L14764: {
  1016. v_92X = *((long *) (((char *) (-3 + channel_88X))));
  1017. if ((4 == v_92X)) {
  1018. goto L14779;}
  1019. else {
  1020. if ((12 == (*((long *) (((char *) (-3 + channel_88X))))))) {
  1021. goto L14779;}
  1022. else {
  1023. v_93X = ps_close_fd(os_index_89X);
  1024. arg0K0 = v_93X;
  1025. goto L14786;}}}
  1026. L14779: {
  1027. v_94X = ps_close_fd(os_index_89X);
  1028. arg0K0 = v_94X;
  1029. goto L14786;}
  1030. L14786: {
  1031. status_95X = arg0K0;
  1032. *((Svm_channelsS) + os_index_89X) = 1;
  1033. addr_96X = ((char *) (-3 + channel_88X));S48_WRITE_BARRIER(channel_88X, addr_96X, 0);
  1034. *((long *) addr_96X) = (long) (0);
  1035. return status_95X;}
  1036. }
  1037. static long make_blank_return_code(long protocol_97X, long template_98X, long frame_size_99X, long opcode_count_100X, long key_101X)
  1038. {
  1039. long code_104X;
  1040. char * addr_103X;
  1041. long length_102X;
  1042. { length_102X = 15 + opcode_count_100X;
  1043. addr_103X = s48_allocate_small((4 + length_102X));
  1044. *((long *) addr_103X) = (long) ((70 + (((length_102X)<<8))));
  1045. code_104X = 3 + (((long) (addr_103X + 4)));
  1046. *((unsigned char *) (((char *) (-3 + code_104X)))) = (unsigned char) (0);
  1047. *((unsigned char *) ((((char *) (-3 + code_104X))) + 1)) = (unsigned char) (protocol_97X);
  1048. *((unsigned char *) ((((char *) (-3 + code_104X))) + 2)) = (unsigned char) (0);
  1049. *((unsigned char *) ((((char *) (-3 + code_104X))) + 3)) = (unsigned char) (31);
  1050. *((unsigned char *) ((((char *) (-3 + code_104X))) + 4)) = (unsigned char) (0);
  1051. *((unsigned char *) ((((char *) (-3 + code_104X))) + 5)) = (unsigned char) (8);
  1052. *((unsigned char *) ((((char *) (-3 + code_104X))) + 6)) = (unsigned char) ((255 & (((template_98X)>>8))));
  1053. *((unsigned char *) ((((char *) (-3 + code_104X))) + 7)) = (unsigned char) ((255 & template_98X));
  1054. *((unsigned char *) ((((char *) (-3 + code_104X))) + 8)) = (unsigned char) (0);
  1055. *((unsigned char *) ((((char *) (-3 + code_104X))) + 9)) = (unsigned char) (13);
  1056. *((unsigned char *) ((((char *) (-3 + code_104X))) + 10)) = (unsigned char) (0);
  1057. *((unsigned char *) ((((char *) (-3 + code_104X))) + 11)) = (unsigned char) ((255 & (((frame_size_99X)>>8))));
  1058. *((unsigned char *) ((((char *) (-3 + code_104X))) + 12)) = (unsigned char) ((255 & frame_size_99X));
  1059. *((unsigned char *) ((((char *) (-3 + code_104X))) + 13)) = (unsigned char) (0);
  1060. *((unsigned char *) ((((char *) (-3 + code_104X))) + 14)) = (unsigned char) (protocol_97X);
  1061. return code_104X;}
  1062. }
  1063. static long enter_stringAgc_n(char *string_105X, long len_106X)
  1064. {
  1065. long arg0K2;
  1066. long arg0K1;
  1067. long arg0K0;
  1068. long shifted_115X;
  1069. long j_114X;
  1070. long bits_113X;
  1071. long c_112X;
  1072. long i_111X;
  1073. long s_110X;
  1074. long string_109X;
  1075. char * addr_108X;
  1076. long len_107X;
  1077. { len_107X = ((len_106X)<<2);
  1078. addr_108X = s48_allocate_untracedAgc((4 + len_107X));
  1079. if ((addr_108X == NULL)) {
  1080. arg0K0 = 1;
  1081. goto L16771;}
  1082. else {
  1083. *((long *) addr_108X) = (long) ((66 + (((len_107X)<<8))));
  1084. arg0K0 = (3 + (((long) (addr_108X + 4))));
  1085. goto L16771;}}
  1086. L16771: {
  1087. string_109X = arg0K0;
  1088. if ((1 == string_109X)) {
  1089. ps_error("Out of space, unable to allocate", 0);
  1090. arg0K0 = string_109X;
  1091. goto L16762;}
  1092. else {
  1093. arg0K0 = string_109X;
  1094. goto L16762;}}
  1095. L16762: {
  1096. s_110X = arg0K0;
  1097. arg0K0 = 0;
  1098. goto L16794;}
  1099. L16794: {
  1100. i_111X = arg0K0;
  1101. if ((i_111X < len_106X)) {
  1102. c_112X = ((unsigned char) (*(string_105X + i_111X)));
  1103. arg0K0 = 0;
  1104. arg0K1 = 0;
  1105. arg0K2 = c_112X;
  1106. goto L16805;}
  1107. else {
  1108. return s_110X;}}
  1109. L16805: {
  1110. bits_113X = arg0K0;
  1111. j_114X = arg0K1;
  1112. shifted_115X = arg0K2;
  1113. if ((j_114X < 4)) {
  1114. *((unsigned char *) ((((char *) (-3 + s_110X))) + ((((i_111X)<<2)) + j_114X))) = (unsigned char) ((255 & shifted_115X));
  1115. arg0K0 = (8 + bits_113X);
  1116. arg0K1 = (1 + j_114X);
  1117. arg0K2 = ((long)(((unsigned long)shifted_115X)>>8));
  1118. goto L16805;}
  1119. else {
  1120. arg0K0 = (1 + i_111X);
  1121. goto L16794;}}
  1122. }
  1123. static long add_log_entryAgc(long proposal_index_116X, long i_117X, long stob_118X, long index_119X, long value_120X, char verifyP_121X)
  1124. {
  1125. long arg0K2;
  1126. long arg0K1;
  1127. long arg0K0;
  1128. char * addr_146X;
  1129. long value_145X;
  1130. long v_144X;
  1131. long value_143X;
  1132. char * addr_142X;
  1133. long i_141X;
  1134. long stob_140X;
  1135. long proposal_139X;
  1136. long new_138X;
  1137. char * addr_137X;
  1138. char * addr_136X;
  1139. long value_135X;
  1140. long vector_134X;
  1141. char * addr_133X;
  1142. char * addr_132X;
  1143. char * addr_131X;
  1144. long log_130X;
  1145. long value_129X;
  1146. long stob_128X;
  1147. long proposal_127X;
  1148. char * addr_126X;
  1149. long len_125X;
  1150. long new_size_124X;
  1151. long log_size_123X;
  1152. long proposal_122X;
  1153. { proposal_122X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  1154. log_size_123X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + proposal_122X))) + (((proposal_index_116X)<<2)))))))) + -4))))>>8))))>>2);
  1155. if ((i_117X == (-1 + log_size_123X))) {
  1156. Stemp0S = stob_118X;
  1157. Stemp1S = value_120X;
  1158. if ((1 == log_size_123X)) {
  1159. arg0K0 = 17;
  1160. goto L12803;}
  1161. else {
  1162. arg0K0 = (-1 + (((log_size_123X)<<1)));
  1163. goto L12803;}}
  1164. else {
  1165. arg0K0 = proposal_122X;
  1166. arg0K1 = stob_118X;
  1167. arg0K2 = value_120X;
  1168. goto L17029;}}
  1169. L12803: {
  1170. new_size_124X = arg0K0;
  1171. len_125X = ((new_size_124X)<<2);
  1172. addr_126X = s48_allocate_tracedAgc((4 + len_125X));
  1173. if ((addr_126X == NULL)) {
  1174. arg0K0 = 1;
  1175. goto L12849;}
  1176. else {
  1177. *((long *) addr_126X) = (long) ((10 + (((len_125X)<<8))));
  1178. arg0K0 = (3 + (((long) (addr_126X + 4))));
  1179. goto L12849;}}
  1180. L17029: {
  1181. proposal_127X = arg0K0;
  1182. stob_128X = arg0K1;
  1183. value_129X = arg0K2;
  1184. log_130X = *((long *) ((((char *) (-3 + proposal_127X))) + (((proposal_index_116X)<<2))));
  1185. addr_131X = (((char *) (-3 + log_130X))) + (((i_117X)<<2));S48_WRITE_BARRIER(log_130X, addr_131X, stob_128X);
  1186. *((long *) addr_131X) = (long) (stob_128X);
  1187. addr_132X = (((char *) (-3 + log_130X))) + (4 + (((i_117X)<<2)));S48_WRITE_BARRIER(log_130X, addr_132X, index_119X);
  1188. *((long *) addr_132X) = (long) (index_119X);
  1189. addr_133X = (((char *) (-3 + log_130X))) + (8 + (((i_117X)<<2)));S48_WRITE_BARRIER(log_130X, addr_133X, value_129X);
  1190. *((long *) addr_133X) = (long) (value_129X);
  1191. if (verifyP_121X) {
  1192. arg0K0 = value_129X;
  1193. goto L17050;}
  1194. else {
  1195. arg0K0 = 29;
  1196. goto L17050;}}
  1197. L12849: {
  1198. vector_134X = arg0K0;
  1199. if ((1 == vector_134X)) {
  1200. ps_error("Out of space, unable to allocate", 0);
  1201. arg0K0 = vector_134X;
  1202. goto L12807;}
  1203. else {
  1204. arg0K0 = vector_134X;
  1205. goto L12807;}}
  1206. L17050: {
  1207. value_135X = arg0K0;
  1208. addr_136X = (((char *) (-3 + log_130X))) + (12 + (((i_117X)<<2)));S48_WRITE_BARRIER(log_130X, addr_136X, value_135X);
  1209. *((long *) addr_136X) = (long) (value_135X);
  1210. addr_137X = (((char *) (-3 + log_130X))) + (16 + (((i_117X)<<2)));S48_WRITE_BARRIER(log_130X, addr_137X, 1);
  1211. *((long *) addr_137X) = (long) (1);
  1212. return value_129X;}
  1213. L12807: {
  1214. new_138X = arg0K0;
  1215. proposal_139X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  1216. if ((1 < log_size_123X)) {
  1217. stob_140X = *((long *) ((((char *) (-3 + proposal_139X))) + 4));
  1218. memmove((void *)(((char *) (-3 + new_138X))), (void *)(((char *) (-3 + stob_140X))),(-4 + (((log_size_123X)<<2))));
  1219. goto L12827;}
  1220. else {
  1221. goto L12827;}}
  1222. L12827: {
  1223. arg0K0 = (4 + log_size_123X);
  1224. goto L12831;}
  1225. L12831: {
  1226. i_141X = arg0K0;
  1227. if ((i_141X == new_size_124X)) {
  1228. addr_142X = (((char *) (-3 + proposal_139X))) + (((proposal_index_116X)<<2));S48_WRITE_BARRIER(proposal_139X, addr_142X, new_138X);
  1229. *((long *) addr_142X) = (long) (new_138X);
  1230. value_143X = Stemp0S;
  1231. Stemp0S = 1;
  1232. v_144X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  1233. value_145X = Stemp1S;
  1234. Stemp1S = 1;
  1235. arg0K0 = v_144X;
  1236. arg0K1 = value_143X;
  1237. arg0K2 = value_145X;
  1238. goto L17029;}
  1239. else {
  1240. addr_146X = (((char *) (-3 + new_138X))) + (((i_141X)<<2));S48_WRITE_BARRIER(new_138X, addr_146X, 0);
  1241. *((long *) addr_146X) = (long) (0);
  1242. arg0K0 = (1 + i_141X);
  1243. goto L12831;}}
  1244. }
  1245. static long enter_bignum(char * external_bignum_147X)
  1246. {
  1247. long desc_148X;
  1248. { desc_148X = 3 + (((long) external_bignum_147X));
  1249. if ((3 == (3 & desc_148X))) {
  1250. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + desc_148X))) + -4))))>>2))))) {
  1251. goto L17780;}
  1252. else {
  1253. goto L17794;}}
  1254. else {
  1255. goto L17794;}}
  1256. L17780: {
  1257. if ((3 == (3 & desc_148X))) {
  1258. if ((0 == (128 & (*((long *) ((((char *) (-3 + desc_148X))) + -4)))))) {
  1259. *((long *) ((((char *) (-3 + desc_148X))) + -4)) = (long) ((128 | (*((long *) ((((char *) (-3 + desc_148X))) + -4)))));
  1260. return desc_148X;}
  1261. else {
  1262. return desc_148X;}}
  1263. else {
  1264. return desc_148X;}}
  1265. L17794: {
  1266. ps_error("not a bignum", 1, desc_148X);
  1267. goto L17780;}
  1268. }
  1269. static char integerE(long x_149X, long y_150X)
  1270. {
  1271. { if ((0 == (3 & (x_149X | y_150X)))) {
  1272. return (x_149X == y_150X);}
  1273. else {
  1274. if ((3 == (3 & x_149X))) {
  1275. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + x_149X))) + -4))))>>2))))) {
  1276. if ((3 == (3 & y_150X))) {
  1277. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_150X))) + -4))))>>2))))) {
  1278. return s48_bignum_equal_p((((char *) (-3 + x_149X))), (((char *) (-3 + y_150X))));}
  1279. else {
  1280. return 0;}}
  1281. else {
  1282. return 0;}}
  1283. else {
  1284. return 0;}}
  1285. else {
  1286. return 0;}}}
  1287. }
  1288. static long make_channel(long a_151X, long b_152X, long c_153X, long d_154X, long e_155X, long f_156X, long g_157X, long key_158X)
  1289. {
  1290. long x_160X;
  1291. char * addr_159X;
  1292. { addr_159X = s48_allocate_small(32);
  1293. *((long *) addr_159X) = (long) (7194);
  1294. x_160X = 3 + (((long) (addr_159X + 4)));
  1295. *((long *) (((char *) (-3 + x_160X)))) = (long) (a_151X);
  1296. *((long *) ((((char *) (-3 + x_160X))) + 4)) = (long) (b_152X);
  1297. *((long *) ((((char *) (-3 + x_160X))) + 8)) = (long) (c_153X);
  1298. *((long *) ((((char *) (-3 + x_160X))) + 12)) = (long) (d_154X);
  1299. *((long *) ((((char *) (-3 + x_160X))) + 16)) = (long) (e_155X);
  1300. *((long *) ((((char *) (-3 + x_160X))) + 20)) = (long) (f_156X);
  1301. *((long *) ((((char *) (-3 + x_160X))) + 24)) = (long) (g_157X);
  1302. return x_160X;}
  1303. }
  1304. static long write_vm_string(long vm_string_161X, FILE * out_162X)
  1305. {
  1306. long arg0K2;
  1307. long arg0K1;
  1308. long arg0K0;
  1309. long x_169X;
  1310. long scalar_value_168X;
  1311. long j_167X;
  1312. long bits_166X;
  1313. long i_165X;
  1314. long size_164X;
  1315. long v_163X;
  1316. { v_163X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + vm_string_161X))) + -4))))>>8)) / 4;
  1317. arg0K0 = v_163X;
  1318. arg0K1 = 0;
  1319. goto L19969;}
  1320. L19969: {
  1321. size_164X = arg0K0;
  1322. i_165X = arg0K1;
  1323. if ((i_165X < size_164X)) {
  1324. arg0K0 = 0;
  1325. arg0K1 = 0;
  1326. arg0K2 = 0;
  1327. goto L20002;}
  1328. else {
  1329. return 0;}}
  1330. L20002: {
  1331. bits_166X = arg0K0;
  1332. j_167X = arg0K1;
  1333. scalar_value_168X = arg0K2;
  1334. if ((j_167X < 4)) {
  1335. PS_SHIFT_LEFT((*((unsigned char *) ((((char *) (-3 + vm_string_161X))) + ((((i_165X)<<2)) + j_167X)))), bits_166X, x_169X)
  1336. arg0K0 = (8 + bits_166X);
  1337. arg0K1 = (1 + j_167X);
  1338. arg0K2 = (x_169X + scalar_value_168X);
  1339. goto L20002;}
  1340. else {
  1341. { long ignoreXX;
  1342. PS_WRITE_CHAR((((char) scalar_value_168X)), out_162X, ignoreXX) }
  1343. arg0K0 = size_164X;
  1344. arg0K1 = (1 + i_165X);
  1345. goto L19969;}}
  1346. }
  1347. static long Haction4940(long s_170X)
  1348. {
  1349. long arg0K2;
  1350. long arg0K1;
  1351. long arg0K0;
  1352. long x_177X;
  1353. long scalar_value_176X;
  1354. long j_175X;
  1355. long bits_174X;
  1356. long h_173X;
  1357. long i_172X;
  1358. long n_171X;
  1359. { n_171X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s_170X))) + -4))))>>8)) / 4;
  1360. arg0K0 = 0;
  1361. arg0K1 = 0;
  1362. goto L20100;}
  1363. L20100: {
  1364. i_172X = arg0K0;
  1365. h_173X = arg0K1;
  1366. if ((i_172X < n_171X)) {
  1367. arg0K0 = 0;
  1368. arg0K1 = 0;
  1369. arg0K2 = 0;
  1370. goto L20129;}
  1371. else {
  1372. return h_173X;}}
  1373. L20129: {
  1374. bits_174X = arg0K0;
  1375. j_175X = arg0K1;
  1376. scalar_value_176X = arg0K2;
  1377. if ((j_175X < 4)) {
  1378. PS_SHIFT_LEFT((*((unsigned char *) ((((char *) (-3 + s_170X))) + ((((i_172X)<<2)) + j_175X)))), bits_174X, x_177X)
  1379. arg0K0 = (8 + bits_174X);
  1380. arg0K1 = (1 + j_175X);
  1381. arg0K2 = (x_177X + scalar_value_176X);
  1382. goto L20129;}
  1383. else {
  1384. arg0K0 = (1 + i_172X);
  1385. arg0K1 = (h_173X + scalar_value_176X);
  1386. goto L20100;}}
  1387. }
  1388. static long current_code_vector(void)
  1389. {
  1390. long arg0K0;
  1391. long x_190X;
  1392. long v_189X;
  1393. long x_188X;
  1394. long header_187X;
  1395. char * start_186X;
  1396. char * code_pointer_185X;
  1397. long code_184X;
  1398. char * pointer_183X;
  1399. char * code_pointer_182X;
  1400. long header_181X;
  1401. char * start_180X;
  1402. long code_179X;
  1403. char * code_pointer_178X;
  1404. { code_pointer_178X = Scode_pointerS;
  1405. code_179X = Slast_code_calledS;
  1406. start_180X = ((char *) (-3 + code_179X));
  1407. if ((code_pointer_178X < start_180X)) {
  1408. goto L20678;}
  1409. else {
  1410. header_181X = *((long *) ((((char *) (-3 + code_179X))) + -4));
  1411. if ((3 == (3 & header_181X))) {
  1412. arg0K0 = header_181X;
  1413. goto L20699;}
  1414. else {
  1415. arg0K0 = code_179X;
  1416. goto L20699;}}}
  1417. L20678: {
  1418. code_pointer_182X = Slast_code_pointer_resumedS;
  1419. pointer_183X = code_pointer_182X + -5;
  1420. code_184X = 3 + (((long) (code_pointer_182X + (0 - (((((*((unsigned char *) pointer_183X)))<<8)) + (*((unsigned char *) (pointer_183X + 1))))))));
  1421. code_pointer_185X = Scode_pointerS;
  1422. start_186X = ((char *) (-3 + code_184X));
  1423. if ((code_pointer_185X < start_186X)) {
  1424. goto L20686;}
  1425. else {
  1426. header_187X = *((long *) ((((char *) (-3 + code_184X))) + -4));
  1427. if ((3 == (3 & header_187X))) {
  1428. arg0K0 = header_187X;
  1429. goto L20720;}
  1430. else {
  1431. arg0K0 = code_184X;
  1432. goto L20720;}}}
  1433. L20699: {
  1434. x_188X = arg0K0;
  1435. if ((code_pointer_178X < (start_180X + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_188X))) + -4))))>>8))))) {
  1436. return (Slast_code_calledS);}
  1437. else {
  1438. goto L20678;}}
  1439. L20686: {
  1440. ps_error("VM error: unable to locate current code vector", 3, (((long) (Scode_pointerS))), (Slast_code_calledS), (((long) (Slast_code_pointer_resumedS))));
  1441. return v_189X;}
  1442. L20720: {
  1443. x_190X = arg0K0;
  1444. if ((code_pointer_185X < (start_186X + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_190X))) + -4))))>>8))))) {
  1445. return code_184X;}
  1446. else {
  1447. goto L20686;}}
  1448. }
  1449. static void channel_close_error(long status_191X, long index_192X, long id_193X)
  1450. {
  1451. { ps_write_string("Error: ", (stderr));
  1452. ps_write_string((ps_error_string(status_191X)), (stderr));
  1453. { long ignoreXX;
  1454. PS_WRITE_CHAR(10, (stderr), ignoreXX) }
  1455. ps_write_string(" while closing port ", (stderr));
  1456. if ((3 == (3 & id_193X))) {
  1457. if ((16 == (31 & ((((*((long *) ((((char *) (-3 + id_193X))) + -4))))>>2))))) {
  1458. ps_write_string((((char *)(((char *) (-3 + id_193X))))), (stderr));
  1459. goto L21114;}
  1460. else {
  1461. goto L21108;}}
  1462. else {
  1463. goto L21108;}}
  1464. L21114: {
  1465. { long ignoreXX;
  1466. PS_WRITE_CHAR(10, (stderr), ignoreXX) }
  1467. return;}
  1468. L21108: {
  1469. ps_write_integer((((index_192X)>>2)), (stderr));
  1470. goto L21114;}
  1471. }
  1472. static long integer_bit_count(long x_194X)
  1473. {
  1474. long arg0K1;
  1475. long arg0K0;
  1476. char * arg2K0;
  1477. long n_201X;
  1478. char * v_200X;
  1479. char * v_199X;
  1480. long value_198X;
  1481. long v_197X;
  1482. long extra_196X;
  1483. long length_195X;
  1484. { if ((0 == (3 & x_194X))) {
  1485. arg0K0 = 1;
  1486. arg0K1 = 3;
  1487. goto L23166;}
  1488. else {
  1489. arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_194X))) + -4))))>>8))))>>2)));
  1490. arg0K1 = 0;
  1491. goto L23166;}}
  1492. L23166: {
  1493. length_195X = arg0K0;
  1494. extra_196X = arg0K1;
  1495. if ((length_195X < 1)) {
  1496. arg0K0 = 1;
  1497. goto L23168;}
  1498. else {
  1499. arg0K0 = length_195X;
  1500. goto L23168;}}
  1501. L23168: {
  1502. v_197X = arg0K0;
  1503. Stemp0S = x_194X;s48_make_availableAgc((((((1 + ((((11 + (((v_197X)<<2))))>>2))) + extra_196X))<<2)));
  1504. value_198X = Stemp0S;
  1505. Stemp0S = 1;
  1506. if ((0 == (3 & value_198X))) {
  1507. v_199X = (char *) s48_long_to_bignum((((value_198X)>>2)));
  1508. arg2K0 = v_199X;
  1509. goto L23158;}
  1510. else {
  1511. arg2K0 = (((char *) (-3 + value_198X)));
  1512. goto L23158;}}
  1513. L23158: {
  1514. v_200X = arg2K0;
  1515. n_201X = s48_bignum_bit_count(v_200X);
  1516. return (((n_201X)<<2));}
  1517. }
  1518. static long integer_add(long x_202X, long y_203X)
  1519. {
  1520. char * arg2K0;
  1521. long arg0K1;
  1522. long arg0K0;
  1523. long n_217X;
  1524. char v_216X;
  1525. char * external_bignum_215X;
  1526. char * y_214X;
  1527. char * v_213X;
  1528. long value_212X;
  1529. char * x_211X;
  1530. char * v_210X;
  1531. long value_209X;
  1532. long v_208X;
  1533. long extra1_207X;
  1534. long length1_206X;
  1535. long extra0_205X;
  1536. long length0_204X;
  1537. { if ((0 == (3 & x_202X))) {
  1538. arg0K0 = 1;
  1539. arg0K1 = 3;
  1540. goto L20637;}
  1541. else {
  1542. arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_202X))) + -4))))>>8))))>>2)));
  1543. arg0K1 = 0;
  1544. goto L20637;}}
  1545. L20637: {
  1546. length0_204X = arg0K0;
  1547. extra0_205X = arg0K1;
  1548. if ((0 == (3 & y_203X))) {
  1549. arg0K0 = 1;
  1550. arg0K1 = 3;
  1551. goto L20645;}
  1552. else {
  1553. arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_203X))) + -4))))>>8))))>>2)));
  1554. arg0K1 = 0;
  1555. goto L20645;}}
  1556. L20645: {
  1557. length1_206X = arg0K0;
  1558. extra1_207X = arg0K1;
  1559. if ((length0_204X < length1_206X)) {
  1560. arg0K0 = length1_206X;
  1561. goto L20667;}
  1562. else {
  1563. arg0K0 = length0_204X;
  1564. goto L20667;}}
  1565. L20667: {
  1566. v_208X = arg0K0;
  1567. Stemp0S = x_202X;
  1568. Stemp1S = y_203X;s48_make_availableAgc(((((((1 + ((((11 + (((v_208X)<<2))))>>2))) + extra0_205X) + extra1_207X))<<2)));
  1569. value_209X = Stemp0S;
  1570. Stemp0S = 1;
  1571. if ((0 == (3 & value_209X))) {
  1572. v_210X = (char *) s48_long_to_bignum((((value_209X)>>2)));
  1573. arg2K0 = v_210X;
  1574. goto L23283;}
  1575. else {
  1576. arg2K0 = (((char *) (-3 + value_209X)));
  1577. goto L23283;}}
  1578. L23283: {
  1579. x_211X = arg2K0;
  1580. value_212X = Stemp1S;
  1581. Stemp1S = 1;
  1582. if ((0 == (3 & value_212X))) {
  1583. v_213X = (char *) s48_long_to_bignum((((value_212X)>>2)));
  1584. arg2K0 = v_213X;
  1585. goto L23287;}
  1586. else {
  1587. arg2K0 = (((char *) (-3 + value_212X)));
  1588. goto L23287;}}
  1589. L23287: {
  1590. y_214X = arg2K0;
  1591. external_bignum_215X = (char *)s48_bignum_add(x_211X, y_214X);
  1592. v_216X = s48_bignum_fits_in_word_p(external_bignum_215X, 30, 1);
  1593. if (v_216X) {
  1594. n_217X = s48_bignum_to_long(external_bignum_215X);
  1595. return (((n_217X)<<2));}
  1596. else {
  1597. return enter_bignum(external_bignum_215X);}}
  1598. }
  1599. static long integer_subtract(long x_218X, long y_219X)
  1600. {
  1601. char * arg2K0;
  1602. long arg0K1;
  1603. long arg0K0;
  1604. long n_233X;
  1605. char v_232X;
  1606. char * external_bignum_231X;
  1607. char * y_230X;
  1608. char * v_229X;
  1609. long value_228X;
  1610. char * x_227X;
  1611. char * v_226X;
  1612. long value_225X;
  1613. long v_224X;
  1614. long extra1_223X;
  1615. long length1_222X;
  1616. long extra0_221X;
  1617. long length0_220X;
  1618. { if ((0 == (3 & x_218X))) {
  1619. arg0K0 = 1;
  1620. arg0K1 = 3;
  1621. goto L20594;}
  1622. else {
  1623. arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_218X))) + -4))))>>8))))>>2)));
  1624. arg0K1 = 0;
  1625. goto L20594;}}
  1626. L20594: {
  1627. length0_220X = arg0K0;
  1628. extra0_221X = arg0K1;
  1629. if ((0 == (3 & y_219X))) {
  1630. arg0K0 = 1;
  1631. arg0K1 = 3;
  1632. goto L20602;}
  1633. else {
  1634. arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_219X))) + -4))))>>8))))>>2)));
  1635. arg0K1 = 0;
  1636. goto L20602;}}
  1637. L20602: {
  1638. length1_222X = arg0K0;
  1639. extra1_223X = arg0K1;
  1640. if ((length0_220X < length1_222X)) {
  1641. arg0K0 = length1_222X;
  1642. goto L20624;}
  1643. else {
  1644. arg0K0 = length0_220X;
  1645. goto L20624;}}
  1646. L20624: {
  1647. v_224X = arg0K0;
  1648. Stemp0S = x_218X;
  1649. Stemp1S = y_219X;s48_make_availableAgc(((((((1 + ((((11 + (((v_224X)<<2))))>>2))) + extra0_221X) + extra1_223X))<<2)));
  1650. value_225X = Stemp0S;
  1651. Stemp0S = 1;
  1652. if ((0 == (3 & value_225X))) {
  1653. v_226X = (char *) s48_long_to_bignum((((value_225X)>>2)));
  1654. arg2K0 = v_226X;
  1655. goto L23357;}
  1656. else {
  1657. arg2K0 = (((char *) (-3 + value_225X)));
  1658. goto L23357;}}
  1659. L23357: {
  1660. x_227X = arg2K0;
  1661. value_228X = Stemp1S;
  1662. Stemp1S = 1;
  1663. if ((0 == (3 & value_228X))) {
  1664. v_229X = (char *) s48_long_to_bignum((((value_228X)>>2)));
  1665. arg2K0 = v_229X;
  1666. goto L23361;}
  1667. else {
  1668. arg2K0 = (((char *) (-3 + value_228X)));
  1669. goto L23361;}}
  1670. L23361: {
  1671. y_230X = arg2K0;
  1672. external_bignum_231X = (char *)s48_bignum_subtract(x_227X, y_230X);
  1673. v_232X = s48_bignum_fits_in_word_p(external_bignum_231X, 30, 1);
  1674. if (v_232X) {
  1675. n_233X = s48_bignum_to_long(external_bignum_231X);
  1676. return (((n_233X)<<2));}
  1677. else {
  1678. return enter_bignum(external_bignum_231X);}}
  1679. }
  1680. static long integer_multiply(long x_234X, long y_235X)
  1681. {
  1682. char * arg2K0;
  1683. long arg0K1;
  1684. long arg0K0;
  1685. long n_248X;
  1686. char v_247X;
  1687. char * external_bignum_246X;
  1688. char * y_245X;
  1689. char * v_244X;
  1690. long value_243X;
  1691. char * x_242X;
  1692. char * v_241X;
  1693. long value_240X;
  1694. long extra1_239X;
  1695. long length1_238X;
  1696. long extra0_237X;
  1697. long length0_236X;
  1698. { if ((0 == (3 & x_234X))) {
  1699. arg0K0 = 1;
  1700. arg0K1 = 3;
  1701. goto L20557;}
  1702. else {
  1703. arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_234X))) + -4))))>>8))))>>2)));
  1704. arg0K1 = 0;
  1705. goto L20557;}}
  1706. L20557: {
  1707. length0_236X = arg0K0;
  1708. extra0_237X = arg0K1;
  1709. if ((0 == (3 & y_235X))) {
  1710. arg0K0 = 1;
  1711. arg0K1 = 3;
  1712. goto L20565;}
  1713. else {
  1714. arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_235X))) + -4))))>>8))))>>2)));
  1715. arg0K1 = 0;
  1716. goto L20565;}}
  1717. L20565: {
  1718. length1_238X = arg0K0;
  1719. extra1_239X = arg0K1;
  1720. Stemp0S = x_234X;
  1721. Stemp1S = y_235X;s48_make_availableAgc(((((((1 + ((((7 + ((((length0_236X + length1_238X))<<2))))>>2))) + extra0_237X) + extra1_239X))<<2)));
  1722. value_240X = Stemp0S;
  1723. Stemp0S = 1;
  1724. if ((0 == (3 & value_240X))) {
  1725. v_241X = (char *) s48_long_to_bignum((((value_240X)>>2)));
  1726. arg2K0 = v_241X;
  1727. goto L23431;}
  1728. else {
  1729. arg2K0 = (((char *) (-3 + value_240X)));
  1730. goto L23431;}}
  1731. L23431: {
  1732. x_242X = arg2K0;
  1733. value_243X = Stemp1S;
  1734. Stemp1S = 1;
  1735. if ((0 == (3 & value_243X))) {
  1736. v_244X = (char *) s48_long_to_bignum((((value_243X)>>2)));
  1737. arg2K0 = v_244X;
  1738. goto L23435;}
  1739. else {
  1740. arg2K0 = (((char *) (-3 + value_243X)));
  1741. goto L23435;}}
  1742. L23435: {
  1743. y_245X = arg2K0;
  1744. external_bignum_246X = (char *)s48_bignum_multiply(x_242X, y_245X);
  1745. v_247X = s48_bignum_fits_in_word_p(external_bignum_246X, 30, 1);
  1746. if (v_247X) {
  1747. n_248X = s48_bignum_to_long(external_bignum_246X);
  1748. return (((n_248X)<<2));}
  1749. else {
  1750. return enter_bignum(external_bignum_246X);}}
  1751. }
  1752. static long integer_bitwise_not(long x_249X)
  1753. {
  1754. long arg0K1;
  1755. long arg0K0;
  1756. char * arg2K0;
  1757. long n_258X;
  1758. char v_257X;
  1759. char * external_bignum_256X;
  1760. char * v_255X;
  1761. char * v_254X;
  1762. long value_253X;
  1763. long v_252X;
  1764. long extra_251X;
  1765. long length_250X;
  1766. { if ((0 == (3 & x_249X))) {
  1767. arg0K0 = 1;
  1768. arg0K1 = 3;
  1769. goto L23804;}
  1770. else {
  1771. arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_249X))) + -4))))>>8))))>>2)));
  1772. arg0K1 = 0;
  1773. goto L23804;}}
  1774. L23804: {
  1775. length_250X = arg0K0;
  1776. extra_251X = arg0K1;
  1777. if ((length_250X < 1)) {
  1778. arg0K0 = 1;
  1779. goto L23806;}
  1780. else {
  1781. arg0K0 = length_250X;
  1782. goto L23806;}}
  1783. L23806: {
  1784. v_252X = arg0K0;
  1785. Stemp0S = x_249X;s48_make_availableAgc((((((1 + ((((11 + (((v_252X)<<2))))>>2))) + extra_251X))<<2)));
  1786. value_253X = Stemp0S;
  1787. Stemp0S = 1;
  1788. if ((0 == (3 & value_253X))) {
  1789. v_254X = (char *) s48_long_to_bignum((((value_253X)>>2)));
  1790. arg2K0 = v_254X;
  1791. goto L23796;}
  1792. else {
  1793. arg2K0 = (((char *) (-3 + value_253X)));
  1794. goto L23796;}}
  1795. L23796: {
  1796. v_255X = arg2K0;
  1797. external_bignum_256X = (char *) s48_bignum_bitwise_not(v_255X);
  1798. v_257X = s48_bignum_fits_in_word_p(external_bignum_256X, 30, 1);
  1799. if (v_257X) {
  1800. n_258X = s48_bignum_to_long(external_bignum_256X);
  1801. return (((n_258X)<<2));}
  1802. else {
  1803. return enter_bignum(external_bignum_256X);}}
  1804. }
  1805. static long integer_bitwise_and(long x_259X, long y_260X)
  1806. {
  1807. char * arg2K0;
  1808. long arg0K1;
  1809. long arg0K0;
  1810. long n_274X;
  1811. char v_273X;
  1812. char * external_bignum_272X;
  1813. char * y_271X;
  1814. char * v_270X;
  1815. long value_269X;
  1816. char * x_268X;
  1817. char * v_267X;
  1818. long value_266X;
  1819. long v_265X;
  1820. long extra1_264X;
  1821. long length1_263X;
  1822. long extra0_262X;
  1823. long length0_261X;
  1824. { if ((0 == (3 & x_259X))) {
  1825. arg0K0 = 1;
  1826. arg0K1 = 3;
  1827. goto L20376;}
  1828. else {
  1829. arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_259X))) + -4))))>>8))))>>2)));
  1830. arg0K1 = 0;
  1831. goto L20376;}}
  1832. L20376: {
  1833. length0_261X = arg0K0;
  1834. extra0_262X = arg0K1;
  1835. if ((0 == (3 & y_260X))) {
  1836. arg0K0 = 1;
  1837. arg0K1 = 3;
  1838. goto L20384;}
  1839. else {
  1840. arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_260X))) + -4))))>>8))))>>2)));
  1841. arg0K1 = 0;
  1842. goto L20384;}}
  1843. L20384: {
  1844. length1_263X = arg0K0;
  1845. extra1_264X = arg0K1;
  1846. if ((length0_261X < length1_263X)) {
  1847. arg0K0 = length1_263X;
  1848. goto L20406;}
  1849. else {
  1850. arg0K0 = length0_261X;
  1851. goto L20406;}}
  1852. L20406: {
  1853. v_265X = arg0K0;
  1854. Stemp0S = x_259X;
  1855. Stemp1S = y_260X;s48_make_availableAgc(((((((1 + ((((11 + (((v_265X)<<2))))>>2))) + extra0_262X) + extra1_264X))<<2)));
  1856. value_266X = Stemp0S;
  1857. Stemp0S = 1;
  1858. if ((0 == (3 & value_266X))) {
  1859. v_267X = (char *) s48_long_to_bignum((((value_266X)>>2)));
  1860. arg2K0 = v_267X;
  1861. goto L23863;}
  1862. else {
  1863. arg2K0 = (((char *) (-3 + value_266X)));
  1864. goto L23863;}}
  1865. L23863: {
  1866. x_268X = arg2K0;
  1867. value_269X = Stemp1S;
  1868. Stemp1S = 1;
  1869. if ((0 == (3 & value_269X))) {
  1870. v_270X = (char *) s48_long_to_bignum((((value_269X)>>2)));
  1871. arg2K0 = v_270X;
  1872. goto L23867;}
  1873. else {
  1874. arg2K0 = (((char *) (-3 + value_269X)));
  1875. goto L23867;}}
  1876. L23867: {
  1877. y_271X = arg2K0;
  1878. external_bignum_272X = (char *) s48_bignum_bitwise_and(x_268X, y_271X);
  1879. v_273X = s48_bignum_fits_in_word_p(external_bignum_272X, 30, 1);
  1880. if (v_273X) {
  1881. n_274X = s48_bignum_to_long(external_bignum_272X);
  1882. return (((n_274X)<<2));}
  1883. else {
  1884. return enter_bignum(external_bignum_272X);}}
  1885. }
  1886. static long integer_bitwise_ior(long x_275X, long y_276X)
  1887. {
  1888. char * arg2K0;
  1889. long arg0K1;
  1890. long arg0K0;
  1891. long n_290X;
  1892. char v_289X;
  1893. char * external_bignum_288X;
  1894. char * y_287X;
  1895. char * v_286X;
  1896. long value_285X;
  1897. char * x_284X;
  1898. char * v_283X;
  1899. long value_282X;
  1900. long v_281X;
  1901. long extra1_280X;
  1902. long length1_279X;
  1903. long extra0_278X;
  1904. long length0_277X;
  1905. { if ((0 == (3 & x_275X))) {
  1906. arg0K0 = 1;
  1907. arg0K1 = 3;
  1908. goto L20333;}
  1909. else {
  1910. arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_275X))) + -4))))>>8))))>>2)));
  1911. arg0K1 = 0;
  1912. goto L20333;}}
  1913. L20333: {
  1914. length0_277X = arg0K0;
  1915. extra0_278X = arg0K1;
  1916. if ((0 == (3 & y_276X))) {
  1917. arg0K0 = 1;
  1918. arg0K1 = 3;
  1919. goto L20341;}
  1920. else {
  1921. arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_276X))) + -4))))>>8))))>>2)));
  1922. arg0K1 = 0;
  1923. goto L20341;}}
  1924. L20341: {
  1925. length1_279X = arg0K0;
  1926. extra1_280X = arg0K1;
  1927. if ((length0_277X < length1_279X)) {
  1928. arg0K0 = length1_279X;
  1929. goto L20363;}
  1930. else {
  1931. arg0K0 = length0_277X;
  1932. goto L20363;}}
  1933. L20363: {
  1934. v_281X = arg0K0;
  1935. Stemp0S = x_275X;
  1936. Stemp1S = y_276X;s48_make_availableAgc(((((((1 + ((((11 + (((v_281X)<<2))))>>2))) + extra0_278X) + extra1_280X))<<2)));
  1937. value_282X = Stemp0S;
  1938. Stemp0S = 1;
  1939. if ((0 == (3 & value_282X))) {
  1940. v_283X = (char *) s48_long_to_bignum((((value_282X)>>2)));
  1941. arg2K0 = v_283X;
  1942. goto L23937;}
  1943. else {
  1944. arg2K0 = (((char *) (-3 + value_282X)));
  1945. goto L23937;}}
  1946. L23937: {
  1947. x_284X = arg2K0;
  1948. value_285X = Stemp1S;
  1949. Stemp1S = 1;
  1950. if ((0 == (3 & value_285X))) {
  1951. v_286X = (char *) s48_long_to_bignum((((value_285X)>>2)));
  1952. arg2K0 = v_286X;
  1953. goto L23941;}
  1954. else {
  1955. arg2K0 = (((char *) (-3 + value_285X)));
  1956. goto L23941;}}
  1957. L23941: {
  1958. y_287X = arg2K0;
  1959. external_bignum_288X = (char *) s48_bignum_bitwise_ior(x_284X, y_287X);
  1960. v_289X = s48_bignum_fits_in_word_p(external_bignum_288X, 30, 1);
  1961. if (v_289X) {
  1962. n_290X = s48_bignum_to_long(external_bignum_288X);
  1963. return (((n_290X)<<2));}
  1964. else {
  1965. return enter_bignum(external_bignum_288X);}}
  1966. }
  1967. static long integer_bitwise_xor(long x_291X, long y_292X)
  1968. {
  1969. char * arg2K0;
  1970. long arg0K1;
  1971. long arg0K0;
  1972. long n_306X;
  1973. char v_305X;
  1974. char * external_bignum_304X;
  1975. char * y_303X;
  1976. char * v_302X;
  1977. long value_301X;
  1978. char * x_300X;
  1979. char * v_299X;
  1980. long value_298X;
  1981. long v_297X;
  1982. long extra1_296X;
  1983. long length1_295X;
  1984. long extra0_294X;
  1985. long length0_293X;
  1986. { if ((0 == (3 & x_291X))) {
  1987. arg0K0 = 1;
  1988. arg0K1 = 3;
  1989. goto L20290;}
  1990. else {
  1991. arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_291X))) + -4))))>>8))))>>2)));
  1992. arg0K1 = 0;
  1993. goto L20290;}}
  1994. L20290: {
  1995. length0_293X = arg0K0;
  1996. extra0_294X = arg0K1;
  1997. if ((0 == (3 & y_292X))) {
  1998. arg0K0 = 1;
  1999. arg0K1 = 3;
  2000. goto L20298;}
  2001. else {
  2002. arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + y_292X))) + -4))))>>8))))>>2)));
  2003. arg0K1 = 0;
  2004. goto L20298;}}
  2005. L20298: {
  2006. length1_295X = arg0K0;
  2007. extra1_296X = arg0K1;
  2008. if ((length0_293X < length1_295X)) {
  2009. arg0K0 = length1_295X;
  2010. goto L20320;}
  2011. else {
  2012. arg0K0 = length0_293X;
  2013. goto L20320;}}
  2014. L20320: {
  2015. v_297X = arg0K0;
  2016. Stemp0S = x_291X;
  2017. Stemp1S = y_292X;s48_make_availableAgc(((((((1 + ((((11 + (((v_297X)<<2))))>>2))) + extra0_294X) + extra1_296X))<<2)));
  2018. value_298X = Stemp0S;
  2019. Stemp0S = 1;
  2020. if ((0 == (3 & value_298X))) {
  2021. v_299X = (char *) s48_long_to_bignum((((value_298X)>>2)));
  2022. arg2K0 = v_299X;
  2023. goto L24011;}
  2024. else {
  2025. arg2K0 = (((char *) (-3 + value_298X)));
  2026. goto L24011;}}
  2027. L24011: {
  2028. x_300X = arg2K0;
  2029. value_301X = Stemp1S;
  2030. Stemp1S = 1;
  2031. if ((0 == (3 & value_301X))) {
  2032. v_302X = (char *) s48_long_to_bignum((((value_301X)>>2)));
  2033. arg2K0 = v_302X;
  2034. goto L24015;}
  2035. else {
  2036. arg2K0 = (((char *) (-3 + value_301X)));
  2037. goto L24015;}}
  2038. L24015: {
  2039. y_303X = arg2K0;
  2040. external_bignum_304X = (char *) s48_bignum_bitwise_xor(x_300X, y_303X);
  2041. v_305X = s48_bignum_fits_in_word_p(external_bignum_304X, 30, 1);
  2042. if (v_305X) {
  2043. n_306X = s48_bignum_to_long(external_bignum_304X);
  2044. return (((n_306X)<<2));}
  2045. else {
  2046. return enter_bignum(external_bignum_304X);}}
  2047. }
  2048. static long Hinteger_op8311(long x_307X, long y_308X)
  2049. {
  2050. long arg0K1;
  2051. long arg0K0;
  2052. char * arg2K0;
  2053. long n_320X;
  2054. char v_319X;
  2055. char * external_bignum_318X;
  2056. char * y_317X;
  2057. char * v_316X;
  2058. long value_315X;
  2059. char * x_314X;
  2060. char * v_313X;
  2061. long value_312X;
  2062. long extra1_311X;
  2063. long extra0_310X;
  2064. long length0_309X;
  2065. { if ((0 == (3 & x_307X))) {
  2066. arg0K0 = 1;
  2067. arg0K1 = 3;
  2068. goto L24101;}
  2069. else {
  2070. arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_307X))) + -4))))>>8))))>>2)));
  2071. arg0K1 = 0;
  2072. goto L24101;}}
  2073. L24101: {
  2074. length0_309X = arg0K0;
  2075. extra0_310X = arg0K1;
  2076. if ((0 == (3 & y_308X))) {
  2077. arg0K0 = 3;
  2078. goto L24103;}
  2079. else {
  2080. arg0K0 = 0;
  2081. goto L24103;}}
  2082. L24103: {
  2083. extra1_311X = arg0K0;
  2084. Stemp0S = x_307X;
  2085. Stemp1S = y_308X;s48_make_availableAgc(((((((6 + (-2 & ((((7 + (((length0_309X)<<2))))>>1)))) + extra0_310X) + extra1_311X))<<2)));
  2086. value_312X = Stemp0S;
  2087. Stemp0S = 1;
  2088. if ((0 == (3 & value_312X))) {
  2089. v_313X = (char *) s48_long_to_bignum((((value_312X)>>2)));
  2090. arg2K0 = v_313X;
  2091. goto L24085;}
  2092. else {
  2093. arg2K0 = (((char *) (-3 + value_312X)));
  2094. goto L24085;}}
  2095. L24085: {
  2096. x_314X = arg2K0;
  2097. value_315X = Stemp1S;
  2098. Stemp1S = 1;
  2099. if ((0 == (3 & value_315X))) {
  2100. v_316X = (char *) s48_long_to_bignum((((value_315X)>>2)));
  2101. arg2K0 = v_316X;
  2102. goto L24089;}
  2103. else {
  2104. arg2K0 = (((char *) (-3 + value_315X)));
  2105. goto L24089;}}
  2106. L24089: {
  2107. y_317X = arg2K0;
  2108. external_bignum_318X = (char *)s48_bignum_quotient(x_314X, y_317X);
  2109. v_319X = s48_bignum_fits_in_word_p(external_bignum_318X, 30, 1);
  2110. if (v_319X) {
  2111. n_320X = s48_bignum_to_long(external_bignum_318X);
  2112. return (((n_320X)<<2));}
  2113. else {
  2114. return enter_bignum(external_bignum_318X);}}
  2115. }
  2116. static long Hinteger_op8242(long x_321X, long y_322X)
  2117. {
  2118. long arg0K1;
  2119. long arg0K0;
  2120. char * arg2K0;
  2121. long n_334X;
  2122. char v_333X;
  2123. char * external_bignum_332X;
  2124. char * y_331X;
  2125. char * v_330X;
  2126. long value_329X;
  2127. char * x_328X;
  2128. char * v_327X;
  2129. long value_326X;
  2130. long extra1_325X;
  2131. long extra0_324X;
  2132. long length0_323X;
  2133. { if ((0 == (3 & x_321X))) {
  2134. arg0K0 = 1;
  2135. arg0K1 = 3;
  2136. goto L24192;}
  2137. else {
  2138. arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_321X))) + -4))))>>8))))>>2)));
  2139. arg0K1 = 0;
  2140. goto L24192;}}
  2141. L24192: {
  2142. length0_323X = arg0K0;
  2143. extra0_324X = arg0K1;
  2144. if ((0 == (3 & y_322X))) {
  2145. arg0K0 = 3;
  2146. goto L24194;}
  2147. else {
  2148. arg0K0 = 0;
  2149. goto L24194;}}
  2150. L24194: {
  2151. extra1_325X = arg0K0;
  2152. Stemp0S = x_321X;
  2153. Stemp1S = y_322X;s48_make_availableAgc(((((((6 + (-2 & ((((7 + (((length0_323X)<<2))))>>1)))) + extra0_324X) + extra1_325X))<<2)));
  2154. value_326X = Stemp0S;
  2155. Stemp0S = 1;
  2156. if ((0 == (3 & value_326X))) {
  2157. v_327X = (char *) s48_long_to_bignum((((value_326X)>>2)));
  2158. arg2K0 = v_327X;
  2159. goto L24176;}
  2160. else {
  2161. arg2K0 = (((char *) (-3 + value_326X)));
  2162. goto L24176;}}
  2163. L24176: {
  2164. x_328X = arg2K0;
  2165. value_329X = Stemp1S;
  2166. Stemp1S = 1;
  2167. if ((0 == (3 & value_329X))) {
  2168. v_330X = (char *) s48_long_to_bignum((((value_329X)>>2)));
  2169. arg2K0 = v_330X;
  2170. goto L24180;}
  2171. else {
  2172. arg2K0 = (((char *) (-3 + value_329X)));
  2173. goto L24180;}}
  2174. L24180: {
  2175. y_331X = arg2K0;
  2176. external_bignum_332X = (char *)s48_bignum_remainder(x_328X, y_331X);
  2177. v_333X = s48_bignum_fits_in_word_p(external_bignum_332X, 30, 1);
  2178. if (v_333X) {
  2179. n_334X = s48_bignum_to_long(external_bignum_332X);
  2180. return (((n_334X)<<2));}
  2181. else {
  2182. return enter_bignum(external_bignum_332X);}}
  2183. }
  2184. static char for_each_imported_binding(char (*proc_335X)(long))
  2185. {
  2186. long arg0K0;
  2187. long link_342X;
  2188. char x_341X;
  2189. long entry_340X;
  2190. long link_339X;
  2191. char temp_338X;
  2192. long i_337X;
  2193. long table_336X;
  2194. { table_336X = Simported_bindingsS;
  2195. arg0K0 = 0;
  2196. goto L21273;}
  2197. L21273: {
  2198. i_337X = arg0K0;
  2199. temp_338X = 1024 == i_337X;
  2200. if (temp_338X) {
  2201. return temp_338X;}
  2202. else {
  2203. link_339X = *((long *) ((((char *) (-3 + table_336X))) + (((i_337X)<<2))));
  2204. if ((0 == (3 & link_339X))) {
  2205. arg0K0 = (3 + (-4 & link_339X));
  2206. goto L21245;}
  2207. else {
  2208. arg0K0 = link_339X;
  2209. goto L21245;}}}
  2210. L21245: {
  2211. entry_340X = arg0K0;
  2212. if ((1 == entry_340X)) {
  2213. arg0K0 = (1 + i_337X);
  2214. goto L21273;}
  2215. else {
  2216. x_341X = (*proc_335X)(entry_340X);
  2217. if (x_341X) {
  2218. link_342X = *((long *) ((((char *) (-3 + entry_340X))) + 12));
  2219. if ((0 == (3 & link_342X))) {
  2220. arg0K0 = (3 + (-4 & link_342X));
  2221. goto L21245;}
  2222. else {
  2223. arg0K0 = link_342X;
  2224. goto L21245;}}
  2225. else {
  2226. return 1;}}}
  2227. }
  2228. static long really_preserve_continuation(long key_343X)
  2229. {
  2230. char * arg2K0;
  2231. long arg0K1;
  2232. long arg0K0;
  2233. char * next_356X;
  2234. long pc_355X;
  2235. char * pointer_354X;
  2236. char * pointer_353X;
  2237. long new_352X;
  2238. char * addr_351X;
  2239. long len_350X;
  2240. long size_349X;
  2241. long size_348X;
  2242. char * pointer_347X;
  2243. long previous_346X;
  2244. char * cont_345X;
  2245. long temp_344X;
  2246. { if (((ScontS) == (Sbottom_of_stackS))) {
  2247. goto L25552;}
  2248. else {
  2249. temp_344X = Sheap_continuationS;
  2250. arg2K0 = (ScontS);
  2251. arg0K1 = 1;
  2252. goto L25522;}}
  2253. L25552: {
  2254. return (Sheap_continuationS);}
  2255. L25522: {
  2256. cont_345X = arg2K0;
  2257. previous_346X = arg0K1;
  2258. if ((cont_345X == (Sbottom_of_stackS))) {
  2259. *((long *) ((((char *) (-3 + previous_346X))) + 8)) = (long) (temp_344X);
  2260. ScontS = (Sbottom_of_stackS);
  2261. goto L25552;}
  2262. else {
  2263. pointer_347X = (((char *) (*((long *) cont_345X)))) + -2;
  2264. size_348X = ((((*((unsigned char *) pointer_347X)))<<8)) + (*((unsigned char *) (pointer_347X + 1)));
  2265. if ((65535 == size_348X)) {
  2266. arg0K0 = ((((*((long *) (cont_345X + 4))))>>2));
  2267. goto L22067;}
  2268. else {
  2269. arg0K0 = size_348X;
  2270. goto L22067;}}}
  2271. L22067: {
  2272. size_349X = arg0K0;
  2273. len_350X = 12 + (((size_349X)<<2));
  2274. addr_351X = s48_allocate_small((4 + len_350X));
  2275. *((long *) addr_351X) = (long) ((42 + (((len_350X)<<8))));
  2276. new_352X = 3 + (((long) (addr_351X + 4)));
  2277. pointer_353X = ((char *) (*((long *) cont_345X)));
  2278. pointer_354X = pointer_353X + -5;
  2279. pc_355X = ((((*((unsigned char *) pointer_354X)))<<8)) + (*((unsigned char *) (pointer_354X + 1)));
  2280. memmove((void *)((((char *) (-3 + new_352X))) + 12), (void *)(cont_345X + 4),(((size_349X)<<2)));
  2281. *((long *) (((char *) (-3 + new_352X)))) = (long) ((((pc_355X)<<2)));
  2282. *((long *) ((((char *) (-3 + new_352X))) + 4)) = (long) ((3 + (((long) (pointer_353X + (0 - pc_355X))))));
  2283. next_356X = cont_345X + (4 + (((size_349X)<<2)));
  2284. if ((3 == (3 & previous_346X))) {
  2285. if ((10 == (31 & ((((*((long *) ((((char *) (-3 + previous_346X))) + -4))))>>2))))) {
  2286. *((long *) ((((char *) (-3 + previous_346X))) + 8)) = (long) (new_352X);
  2287. arg2K0 = next_356X;
  2288. arg0K1 = new_352X;
  2289. goto L25522;}
  2290. else {
  2291. goto L25540;}}
  2292. else {
  2293. goto L25540;}}
  2294. L25540: {
  2295. Sheap_continuationS = new_352X;
  2296. arg2K0 = next_356X;
  2297. arg0K1 = new_352X;
  2298. goto L25522;}
  2299. }
  2300. static void push_exception_setupB(long exception_357X, long instruction_size_358X)
  2301. {
  2302. long n_370X;
  2303. long data_369X;
  2304. long n_368X;
  2305. long code_367X;
  2306. long pc_366X;
  2307. char * code_pointer_365X;
  2308. long x_364X;
  2309. long data_363X;
  2310. long n_362X;
  2311. long pc_361X;
  2312. char * code_pointer_360X;
  2313. long code_359X;
  2314. { if ((0 == (Snative_exception_contS))) {
  2315. code_359X = current_code_vector();
  2316. code_pointer_360X = (((char *) (-3 + (Sexception_return_codeS)))) + 13;
  2317. pc_361X = ((((Scode_pointerS) - (((char *) (-3 + code_359X)))))<<2);
  2318. SstackS = ((SstackS) + -20);
  2319. n_362X = ((((ScontS) - (SstackS)))>>2);
  2320. data_363X = 3 + (((long) (SstackS)));
  2321. *((long *) (((char *) (-3 + data_363X)))) = (long) ((((n_362X)<<2)));
  2322. *((long *) ((((char *) (-3 + data_363X))) + 4)) = (long) (pc_361X);
  2323. *((long *) ((((char *) (-3 + data_363X))) + 8)) = (long) (code_359X);
  2324. *((long *) ((((char *) (-3 + data_363X))) + 12)) = (long) ((((exception_357X)<<2)));
  2325. *((long *) ((((char *) (-3 + data_363X))) + 16)) = (long) ((((instruction_size_358X)<<2)));
  2326. SstackS = ((SstackS) + -4);
  2327. *((long *) (SstackS)) = (long) ((((long) code_pointer_360X)));
  2328. ScontS = (SstackS);
  2329. goto L25881;}
  2330. else {
  2331. x_364X = Snative_exception_contS;
  2332. SstackS = ((SstackS) + -4);
  2333. *((long *) (SstackS)) = (long) (x_364X);
  2334. ScontS = (SstackS);
  2335. ps_write_string("handling exception for nc ", (stderr));
  2336. ps_write_integer((Snative_exception_contS), (stderr));
  2337. code_pointer_365X = (((char *) (-3 + (Snative_exception_return_codeS)))) + 13;
  2338. pc_366X = (((*((unsigned char *) (Scode_pointerS))))<<2);
  2339. code_367X = Snative_exception_contS;
  2340. SstackS = ((SstackS) + -20);
  2341. n_368X = ((((ScontS) - (SstackS)))>>2);
  2342. data_369X = 3 + (((long) (SstackS)));
  2343. *((long *) (((char *) (-3 + data_369X)))) = (long) ((((n_368X)<<2)));
  2344. *((long *) ((((char *) (-3 + data_369X))) + 4)) = (long) (pc_366X);
  2345. *((long *) ((((char *) (-3 + data_369X))) + 8)) = (long) (code_367X);
  2346. *((long *) ((((char *) (-3 + data_369X))) + 12)) = (long) ((((exception_357X)<<2)));
  2347. *((long *) ((((char *) (-3 + data_369X))) + 16)) = (long) (0);
  2348. SstackS = ((SstackS) + -4);
  2349. *((long *) (SstackS)) = (long) ((((long) code_pointer_365X)));
  2350. ScontS = (SstackS);
  2351. Snative_exception_contS = 0;
  2352. goto L25881;}}
  2353. L25881: {
  2354. n_370X = *((unsigned char *) (Scode_pointerS));
  2355. SstackS = ((SstackS) + -4);
  2356. *((long *) (SstackS)) = (long) ((((n_370X)<<2)));
  2357. SstackS = ((SstackS) + -4);
  2358. *((long *) (SstackS)) = (long) ((((exception_357X)<<2)));
  2359. return;}
  2360. }
  2361. static long Hlookup2943(long table_371X, long string_372X, long key_373X)
  2362. {
  2363. long arg0K0;
  2364. char * addr_386X;
  2365. long value_385X;
  2366. long link_384X;
  2367. long x_383X;
  2368. char * addr_382X;
  2369. long next_381X;
  2370. long len_380X;
  2371. long s2_379X;
  2372. long foo_378X;
  2373. long bucket_377X;
  2374. long link_376X;
  2375. long index_375X;
  2376. long v_374X;
  2377. { v_374X = Haction4940(string_372X);
  2378. index_375X = 1023 & v_374X;
  2379. link_376X = *((long *) ((((char *) (-3 + table_371X))) + (((index_375X)<<2))));
  2380. if ((0 == (3 & link_376X))) {
  2381. arg0K0 = (3 + (-4 & link_376X));
  2382. goto L26673;}
  2383. else {
  2384. arg0K0 = link_376X;
  2385. goto L26673;}}
  2386. L26673: {
  2387. bucket_377X = arg0K0;
  2388. arg0K0 = bucket_377X;
  2389. goto L26679;}
  2390. L26679: {
  2391. foo_378X = arg0K0;
  2392. if ((1 == foo_378X)) {
  2393. if ((3 == (3 & bucket_377X))) {
  2394. arg0K0 = (-4 & bucket_377X);
  2395. goto L26684;}
  2396. else {
  2397. arg0K0 = bucket_377X;
  2398. goto L26684;}}
  2399. else {
  2400. s2_379X = *((long *) (((char *) (-3 + foo_378X))));
  2401. len_380X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + string_372X))) + -4))))>>8);
  2402. if ((len_380X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_379X))) + -4))))>>8)))) {
  2403. if (((!memcmp((void *)(((char *) (-3 + s2_379X))), (void *)(((char *) (-3 + string_372X))),len_380X)))) {
  2404. return foo_378X;}
  2405. else {
  2406. goto L26699;}}
  2407. else {
  2408. goto L26699;}}}
  2409. L26684: {
  2410. next_381X = arg0K0;
  2411. addr_382X = s48_allocate_small(20);
  2412. *((long *) addr_382X) = (long) (4154);
  2413. x_383X = 3 + (((long) (addr_382X + 4)));
  2414. *((long *) (((char *) (-3 + x_383X)))) = (long) (string_372X);
  2415. *((long *) ((((char *) (-3 + x_383X))) + 4)) = (long) (1);
  2416. *((long *) ((((char *) (-3 + x_383X))) + 8)) = (long) (13);
  2417. *((long *) ((((char *) (-3 + x_383X))) + 12)) = (long) (next_381X);
  2418. if ((3 == (3 & x_383X))) {
  2419. arg0K0 = (-4 & x_383X);
  2420. goto L26690;}
  2421. else {
  2422. arg0K0 = x_383X;
  2423. goto L26690;}}
  2424. L26699: {
  2425. link_384X = *((long *) ((((char *) (-3 + foo_378X))) + 12));
  2426. if ((0 == (3 & link_384X))) {
  2427. arg0K0 = (3 + (-4 & link_384X));
  2428. goto L26679;}
  2429. else {
  2430. arg0K0 = link_384X;
  2431. goto L26679;}}
  2432. L26690: {
  2433. value_385X = arg0K0;
  2434. addr_386X = (((char *) (-3 + table_371X))) + (((index_375X)<<2));S48_WRITE_BARRIER(table_371X, addr_386X, value_385X);
  2435. *((long *) addr_386X) = (long) (value_385X);
  2436. return x_383X;}
  2437. }
  2438. static long Hlookup2924(long table_387X, long string_388X, long key_389X)
  2439. {
  2440. long arg0K0;
  2441. char * addr_402X;
  2442. long value_401X;
  2443. long link_400X;
  2444. long x_399X;
  2445. char * addr_398X;
  2446. long next_397X;
  2447. long len_396X;
  2448. long s2_395X;
  2449. long foo_394X;
  2450. long bucket_393X;
  2451. long link_392X;
  2452. long index_391X;
  2453. long v_390X;
  2454. { v_390X = Haction4940(string_388X);
  2455. index_391X = 1023 & v_390X;
  2456. link_392X = *((long *) ((((char *) (-3 + table_387X))) + (((index_391X)<<2))));
  2457. if ((0 == (3 & link_392X))) {
  2458. arg0K0 = (3 + (-4 & link_392X));
  2459. goto L26816;}
  2460. else {
  2461. arg0K0 = link_392X;
  2462. goto L26816;}}
  2463. L26816: {
  2464. bucket_393X = arg0K0;
  2465. arg0K0 = bucket_393X;
  2466. goto L26822;}
  2467. L26822: {
  2468. foo_394X = arg0K0;
  2469. if ((1 == foo_394X)) {
  2470. if ((3 == (3 & bucket_393X))) {
  2471. arg0K0 = (-4 & bucket_393X);
  2472. goto L26827;}
  2473. else {
  2474. arg0K0 = bucket_393X;
  2475. goto L26827;}}
  2476. else {
  2477. s2_395X = *((long *) (((char *) (-3 + foo_394X))));
  2478. len_396X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + string_388X))) + -4))))>>8);
  2479. if ((len_396X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_395X))) + -4))))>>8)))) {
  2480. if (((!memcmp((void *)(((char *) (-3 + s2_395X))), (void *)(((char *) (-3 + string_388X))),len_396X)))) {
  2481. return foo_394X;}
  2482. else {
  2483. goto L26842;}}
  2484. else {
  2485. goto L26842;}}}
  2486. L26827: {
  2487. next_397X = arg0K0;
  2488. addr_398X = s48_allocate_small(20);
  2489. *((long *) addr_398X) = (long) (4154);
  2490. x_399X = 3 + (((long) (addr_398X + 4)));
  2491. *((long *) (((char *) (-3 + x_399X)))) = (long) (string_388X);
  2492. *((long *) ((((char *) (-3 + x_399X))) + 4)) = (long) (5);
  2493. *((long *) ((((char *) (-3 + x_399X))) + 8)) = (long) (13);
  2494. *((long *) ((((char *) (-3 + x_399X))) + 12)) = (long) (next_397X);
  2495. if ((3 == (3 & x_399X))) {
  2496. arg0K0 = (-4 & x_399X);
  2497. goto L26833;}
  2498. else {
  2499. arg0K0 = x_399X;
  2500. goto L26833;}}
  2501. L26842: {
  2502. link_400X = *((long *) ((((char *) (-3 + foo_394X))) + 12));
  2503. if ((0 == (3 & link_400X))) {
  2504. arg0K0 = (3 + (-4 & link_400X));
  2505. goto L26822;}
  2506. else {
  2507. arg0K0 = link_400X;
  2508. goto L26822;}}
  2509. L26833: {
  2510. value_401X = arg0K0;
  2511. addr_402X = (((char *) (-3 + table_387X))) + (((index_391X)<<2));S48_WRITE_BARRIER(table_387X, addr_402X, value_401X);
  2512. *((long *) addr_402X) = (long) (value_401X);
  2513. return x_399X;}
  2514. }
  2515. static void HtopD11565(void)
  2516. {
  2517. long arg0K2;
  2518. long arg0K1;
  2519. long arg0K0;
  2520. long id_445X;
  2521. long new_444X;
  2522. char * addr_443X;
  2523. long val_442X;
  2524. long channel_441X;
  2525. long i_440X;
  2526. long id_439X;
  2527. long status_438X;
  2528. long v_437X;
  2529. char v_436X;
  2530. long channel_435X;
  2531. long i_434X;
  2532. char * addr_433X;
  2533. long next_link_432X;
  2534. long new_foo_431X;
  2535. char v_430X;
  2536. char * addr_429X;
  2537. long foo_428X;
  2538. char * addr_427X;
  2539. long l_426X;
  2540. long v_425X;
  2541. long okay_link_424X;
  2542. long foo_link_423X;
  2543. char * addr_422X;
  2544. char * addr_421X;
  2545. char * addr_420X;
  2546. char * addr_419X;
  2547. long val_418X;
  2548. char tracedP_417X;
  2549. long next_416X;
  2550. long thing_415X;
  2551. long pair_414X;
  2552. long alist_413X;
  2553. long l2_412X;
  2554. long goners_411X;
  2555. long okay_410X;
  2556. long alist_409X;
  2557. long foo_link_408X;
  2558. long v_407X;
  2559. long pc_406X;
  2560. long code_405X;
  2561. long i_404X;
  2562. long table_403X;
  2563. { table_403X = s48_trace_value((Sthe_symbol_tableS));
  2564. arg0K0 = 0;
  2565. goto L27916;}
  2566. L27916: {
  2567. i_404X = arg0K0;
  2568. if ((1024 == i_404X)) {
  2569. Sthe_symbol_tableS = table_403X;
  2570. code_405X = Slast_code_calledS;
  2571. pc_406X = Ssaved_pcS;
  2572. Slast_code_calledS = code_405X;
  2573. Scode_pointerS = ((((char *) (-3 + code_405X))) + pc_406X);
  2574. Slast_code_pointer_resumedS = (Scode_pointerS);
  2575. v_407X = SHARED_REF((Sfinalizer_alistS));
  2576. arg0K0 = v_407X;
  2577. arg0K1 = 25;
  2578. arg0K2 = 25;
  2579. goto L14378;}
  2580. else {
  2581. foo_link_408X = *((long *) ((((char *) (-3 + table_403X))) + (((i_404X)<<2))));
  2582. arg0K0 = foo_link_408X;
  2583. arg0K1 = 1;
  2584. goto L18655;}}
  2585. L14378: {
  2586. alist_409X = arg0K0;
  2587. okay_410X = arg0K1;
  2588. goners_411X = arg0K2;
  2589. if ((25 == alist_409X)) {SHARED_SETB((Sfinalizer_alistS), okay_410X);
  2590. l2_412X = Sfinalize_theseS;
  2591. if ((25 == goners_411X)) {
  2592. arg0K0 = l2_412X;
  2593. goto L14385;}
  2594. else {
  2595. arg0K0 = goners_411X;
  2596. goto L14440;}}
  2597. else {
  2598. alist_413X = s48_trace_value(alist_409X);
  2599. pair_414X = s48_trace_value((*((long *) (((char *) (-3 + alist_413X))))));
  2600. thing_415X = *((long *) (((char *) (-3 + pair_414X))));
  2601. next_416X = *((long *) ((((char *) (-3 + alist_413X))) + 4));
  2602. tracedP_417X = s48_extantP(thing_415X);
  2603. val_418X = s48_trace_value(thing_415X);
  2604. addr_419X = ((char *) (-3 + pair_414X));S48_WRITE_BARRIER(pair_414X, addr_419X, val_418X);
  2605. *((long *) addr_419X) = (long) (val_418X);
  2606. addr_420X = ((char *) (-3 + alist_413X));S48_WRITE_BARRIER(alist_413X, addr_420X, pair_414X);
  2607. *((long *) addr_420X) = (long) (pair_414X);
  2608. if (tracedP_417X) {
  2609. addr_421X = (((char *) (-3 + alist_413X))) + 4;S48_WRITE_BARRIER(alist_413X, addr_421X, okay_410X);
  2610. *((long *) addr_421X) = (long) (okay_410X);
  2611. arg0K0 = next_416X;
  2612. arg0K1 = alist_413X;
  2613. arg0K2 = goners_411X;
  2614. goto L14378;}
  2615. else {
  2616. addr_422X = (((char *) (-3 + alist_413X))) + 4;S48_WRITE_BARRIER(alist_413X, addr_422X, goners_411X);
  2617. *((long *) addr_422X) = (long) (goners_411X);
  2618. arg0K0 = next_416X;
  2619. arg0K1 = okay_410X;
  2620. arg0K2 = alist_413X;
  2621. goto L14378;}}}
  2622. L18655: {
  2623. foo_link_423X = arg0K0;
  2624. okay_link_424X = arg0K1;
  2625. if ((0 == (3 & foo_link_423X))) {
  2626. arg0K0 = (3 + (-4 & foo_link_423X));
  2627. goto L18657;}
  2628. else {
  2629. arg0K0 = foo_link_423X;
  2630. goto L18657;}}
  2631. L14385: {
  2632. v_425X = arg0K0;
  2633. Sfinalize_theseS = v_425X;
  2634. arg0K0 = 0;
  2635. goto L26295;}
  2636. L14440: {
  2637. l_426X = arg0K0;
  2638. if ((25 == (*((long *) ((((char *) (-3 + l_426X))) + 4))))) {
  2639. addr_427X = (((char *) (-3 + l_426X))) + 4;S48_WRITE_BARRIER(l_426X, addr_427X, l2_412X);
  2640. *((long *) addr_427X) = (long) (l2_412X);
  2641. arg0K0 = goners_411X;
  2642. goto L14385;}
  2643. else {
  2644. arg0K0 = (*((long *) ((((char *) (-3 + l_426X))) + 4)));
  2645. goto L14440;}}
  2646. L18657: {
  2647. foo_428X = arg0K0;
  2648. if ((1 == foo_428X)) {
  2649. addr_429X = (((char *) (-3 + table_403X))) + (((i_404X)<<2));S48_WRITE_BARRIER(table_403X, addr_429X, okay_link_424X);
  2650. *((long *) addr_429X) = (long) (okay_link_424X);
  2651. arg0K0 = (1 + i_404X);
  2652. goto L27916;}
  2653. else {
  2654. v_430X = s48_extantP(foo_428X);
  2655. if (v_430X) {
  2656. new_foo_431X = s48_trace_value(foo_428X);
  2657. next_link_432X = *((long *) ((((char *) (-3 + new_foo_431X))) + 4));
  2658. addr_433X = (((char *) (-3 + new_foo_431X))) + 4;S48_WRITE_BARRIER(new_foo_431X, addr_433X, okay_link_424X);
  2659. *((long *) addr_433X) = (long) (okay_link_424X);
  2660. if ((3 == (3 & new_foo_431X))) {
  2661. arg0K0 = next_link_432X;
  2662. arg0K1 = (-4 & new_foo_431X);
  2663. goto L18655;}
  2664. else {
  2665. arg0K0 = next_link_432X;
  2666. arg0K1 = new_foo_431X;
  2667. goto L18655;}}
  2668. else {
  2669. arg0K0 = (*((long *) ((((char *) (-3 + foo_428X))) + 4)));
  2670. arg0K1 = okay_link_424X;
  2671. goto L18655;}}}
  2672. L26295: {
  2673. i_434X = arg0K0;
  2674. if ((i_434X == (Snumber_of_channelsS))) {
  2675. arg0K0 = 0;
  2676. goto L14510;}
  2677. else {
  2678. channel_435X = *((Svm_channelsS) + i_434X);
  2679. if ((1 == channel_435X)) {
  2680. goto L26329;}
  2681. else {
  2682. v_436X = s48_extantP(channel_435X);
  2683. if (v_436X) {
  2684. v_437X = s48_trace_value(channel_435X);
  2685. arg0K0 = v_437X;
  2686. goto L26322;}
  2687. else {
  2688. if ((0 == (*((long *) (((char *) (-3 + channel_435X))))))) {
  2689. arg0K0 = 1;
  2690. goto L26322;}
  2691. else {
  2692. status_438X = close_channelB(channel_435X);
  2693. id_439X = *((long *) ((((char *) (-3 + channel_435X))) + 4));
  2694. if ((status_438X == NO_ERRORS)) {
  2695. goto L26353;}
  2696. else {channel_close_error(status_438X, (*((long *) ((((char *) (-3 + channel_435X))) + 8))), id_439X);
  2697. goto L26353;}}}}}}
  2698. L14510: {
  2699. i_440X = arg0K0;
  2700. if ((i_440X == (Snumber_of_channelsS))) {
  2701. Spending_interruptsS = (4 | (Spending_interruptsS));
  2702. if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
  2703. s48_Sstack_limitS = (Sreal_stack_limitS);
  2704. if ((s48_Spending_eventsPS)) {
  2705. s48_Sstack_limitS = (((char *) -1));
  2706. return;}
  2707. else {
  2708. return;}}
  2709. else {
  2710. s48_Sstack_limitS = (((char *) -1));
  2711. return;}}
  2712. else {
  2713. channel_441X = *((Svm_channelsS) + i_440X);
  2714. if ((1 == channel_441X)) {
  2715. goto L14538;}
  2716. else {
  2717. if ((0 == (*((long *) (((char *) (-3 + channel_441X))))))) {
  2718. goto L14538;}
  2719. else {
  2720. val_442X = s48_trace_value((*((long *) ((((char *) (-3 + channel_441X))) + 4))));
  2721. addr_443X = (((char *) (-3 + channel_441X))) + 4;S48_WRITE_BARRIER(channel_441X, addr_443X, val_442X);
  2722. *((long *) addr_443X) = (long) (val_442X);
  2723. goto L14538;}}}}
  2724. L26329: {
  2725. arg0K0 = (1 + i_434X);
  2726. goto L26295;}
  2727. L26322: {
  2728. new_444X = arg0K0;
  2729. *((Svm_channelsS) + i_434X) = new_444X;
  2730. goto L26329;}
  2731. L26353: {
  2732. if ((1 == (*((long *) ((((char *) (-3 + channel_435X))) + 12))))) {
  2733. id_445X = *((long *) ((((char *) (-3 + channel_435X))) + 4));
  2734. ps_write_string("Channel closed: ", (stderr));
  2735. if ((0 == (3 & id_445X))) {
  2736. ps_write_integer((((id_445X)>>2)), (stderr));
  2737. goto L22490;}
  2738. else {write_vm_string(id_445X, (stderr));
  2739. goto L22490;}}
  2740. else {
  2741. arg0K0 = 1;
  2742. goto L26322;}}
  2743. L14538: {
  2744. arg0K0 = (1 + i_440X);
  2745. goto L14510;}
  2746. L22490: {
  2747. ps_write_string(" ", (stderr));
  2748. ps_write_integer(((((*((long *) ((((char *) (-3 + channel_435X))) + 8))))>>2)), (stderr));
  2749. { long ignoreXX;
  2750. PS_WRITE_CHAR(10, (stderr), ignoreXX) }
  2751. arg0K0 = 1;
  2752. goto L26322;}
  2753. }
  2754. static void HtopD11576(void)
  2755. {
  2756. char * arg2K0;
  2757. long arg0K1;
  2758. long arg0K0;
  2759. long merged_arg0K0;
  2760. int Hentry_tracer959446_return_tag;
  2761. long Hentry_tracer9594460_return_value;
  2762. long foo_link_447X;
  2763. char * addr_516X;
  2764. long next_link_515X;
  2765. long new_foo_514X;
  2766. long foo_513X;
  2767. long done_link_512X;
  2768. long foo_link_511X;
  2769. long v_510X;
  2770. long size_509X;
  2771. char * pointer_508X;
  2772. long v_507X;
  2773. long v_506X;
  2774. long v_505X;
  2775. long cells_504X;
  2776. long size_503X;
  2777. char * pointer_502X;
  2778. char * contents_pointer_501X;
  2779. long new_code_500X;
  2780. long mask_size_499X;
  2781. char * code_pointer_498X;
  2782. long pc_497X;
  2783. char * pointer_496X;
  2784. char * pointer_495X;
  2785. char * cont_494X;
  2786. char * addr_493X;
  2787. long val_492X;
  2788. long unused_491X;
  2789. char * a_490X;
  2790. char x_489X;
  2791. long pair_488X;
  2792. long v_487X;
  2793. long v_486X;
  2794. long alist_485X;
  2795. char * addr_484X;
  2796. long value_483X;
  2797. long v_482X;
  2798. long v_481X;
  2799. long v_480X;
  2800. long v_479X;
  2801. long v_478X;
  2802. long v_477X;
  2803. long v_476X;
  2804. long v_475X;
  2805. long v_474X;
  2806. long v_473X;
  2807. long v_472X;
  2808. long v_471X;
  2809. long v_470X;
  2810. long v_469X;
  2811. long v_468X;
  2812. long v_467X;
  2813. long v_466X;
  2814. long v_465X;
  2815. long v_464X;
  2816. long code_463X;
  2817. long i_462X;
  2818. char * addr_461X;
  2819. long value_460X;
  2820. long table_459X;
  2821. long i_458X;
  2822. long x2_457X;
  2823. char * cell_456X;
  2824. long i_455X;
  2825. long x2_454X;
  2826. char * cell_453X;
  2827. long table_452X;
  2828. char * frame_451X;
  2829. long length_450X;
  2830. char * frame_449X;
  2831. long v_448X;
  2832. { v_448X = s48_trace_value((Sempty_logS));
  2833. Sempty_logS = v_448X;
  2834. arg2K0 = (Sexternal_root_stackS);
  2835. goto L10619;}
  2836. L10619: {
  2837. frame_449X = arg2K0;
  2838. if ((frame_449X == NULL)) {
  2839. arg2K0 = (Spermanent_external_rootsS);
  2840. goto L10645;}
  2841. else {
  2842. length_450X = *((long *) frame_449X);
  2843. arg0K0 = 0;
  2844. goto L10627;}}
  2845. L10645: {
  2846. frame_451X = arg2K0;
  2847. if ((frame_451X == NULL)) {s48_initializing_gc_root();
  2848. table_452X = s48_trace_value((Simported_bindingsS));
  2849. arg0K0 = 0;
  2850. goto L25101;}
  2851. else {
  2852. cell_453X = ((char *) (*((long *) (frame_451X + 8))));
  2853. x2_454X = s48_trace_value((*((long *) cell_453X)));
  2854. *((long *) cell_453X) = (long) (x2_454X);
  2855. arg2K0 = (((char *) (*((long *) frame_451X))));
  2856. goto L10645;}}
  2857. L10627: {
  2858. i_455X = arg0K0;
  2859. if ((i_455X == length_450X)) {
  2860. arg2K0 = (((char *) (*((long *) (frame_449X + 4)))));
  2861. goto L10619;}
  2862. else {
  2863. cell_456X = ((char *) (*((long *) (frame_449X + (8 + (((i_455X)<<2)))))));
  2864. x2_457X = s48_trace_value((*((long *) cell_456X)));
  2865. *((long *) cell_456X) = (long) (x2_457X);
  2866. arg0K0 = (1 + i_455X);
  2867. goto L10627;}}
  2868. L25101: {
  2869. i_458X = arg0K0;
  2870. if ((1024 == i_458X)) {
  2871. Simported_bindingsS = table_452X;
  2872. table_459X = s48_trace_value((Sexported_bindingsS));
  2873. arg0K0 = 0;
  2874. goto L25122;}
  2875. else {
  2876. merged_arg0K0 = (*((long *) ((((char *) (-3 + table_452X))) + (((i_458X)<<2)))));
  2877. Hentry_tracer959446_return_tag = 0;
  2878. goto Hentry_tracer959446;
  2879. Hentry_tracer959446_return_0:
  2880. value_460X = Hentry_tracer9594460_return_value;
  2881. addr_461X = (((char *) (-3 + table_452X))) + (((i_458X)<<2));S48_WRITE_BARRIER(table_452X, addr_461X, value_460X);
  2882. *((long *) addr_461X) = (long) (value_460X);
  2883. arg0K0 = (1 + i_458X);
  2884. goto L25101;}}
  2885. L25122: {
  2886. i_462X = arg0K0;
  2887. if ((1024 == i_462X)) {
  2888. Sexported_bindingsS = table_459X;
  2889. code_463X = current_code_vector();
  2890. Ssaved_pcS = ((Scode_pointerS) - (((char *) (-3 + code_463X))));
  2891. v_464X = s48_trace_value(code_463X);
  2892. Slast_code_calledS = v_464X;
  2893. v_465X = s48_trace_value((SvalS));
  2894. SvalS = v_465X;
  2895. v_466X = s48_trace_value((Scurrent_threadS));
  2896. Scurrent_threadS = v_466X;
  2897. v_467X = s48_trace_value((Sinterrupted_byte_opcode_return_codeS));
  2898. Sinterrupted_byte_opcode_return_codeS = v_467X;
  2899. v_468X = s48_trace_value((Sinterrupted_native_call_return_codeS));
  2900. Sinterrupted_native_call_return_codeS = v_468X;
  2901. v_469X = s48_trace_value((Snative_poll_return_codeS));
  2902. Snative_poll_return_codeS = v_469X;
  2903. v_470X = s48_trace_value((Sexception_return_codeS));
  2904. Sexception_return_codeS = v_470X;
  2905. v_471X = s48_trace_value((Snative_exception_return_codeS));
  2906. Snative_exception_return_codeS = v_471X;
  2907. v_472X = s48_trace_value((Scall_with_values_return_codeS));
  2908. Scall_with_values_return_codeS = v_472X;
  2909. v_473X = s48_trace_value((Sinterrupted_templateS));
  2910. Sinterrupted_templateS = v_473X;
  2911. v_474X = SHARED_REF((Ssession_dataS));
  2912. v_475X = s48_trace_value(v_474X);SHARED_SETB((Ssession_dataS), v_475X);
  2913. v_476X = SHARED_REF((Sexception_handlersS));
  2914. v_477X = s48_trace_value(v_476X);SHARED_SETB((Sexception_handlersS), v_477X);
  2915. v_478X = SHARED_REF((Sinterrupt_handlersS));
  2916. v_479X = s48_trace_value(v_478X);SHARED_SETB((Sinterrupt_handlersS), v_479X);
  2917. v_480X = SHARED_REF((Sfinalize_theseS));
  2918. v_481X = s48_trace_value(v_480X);SHARED_SETB((Sfinalize_theseS), v_481X);
  2919. v_482X = SHARED_REF((Sfinalizer_alistS));
  2920. arg0K0 = v_482X;
  2921. goto L10685;}
  2922. else {
  2923. merged_arg0K0 = (*((long *) ((((char *) (-3 + table_459X))) + (((i_462X)<<2)))));
  2924. Hentry_tracer959446_return_tag = 1;
  2925. goto Hentry_tracer959446;
  2926. Hentry_tracer959446_return_1:
  2927. value_483X = Hentry_tracer9594460_return_value;
  2928. addr_484X = (((char *) (-3 + table_459X))) + (((i_462X)<<2));S48_WRITE_BARRIER(table_459X, addr_484X, value_483X);
  2929. *((long *) addr_484X) = (long) (value_483X);
  2930. arg0K0 = (1 + i_462X);
  2931. goto L25122;}}
  2932. L10685: {
  2933. alist_485X = arg0K0;
  2934. if ((25 == alist_485X)) {
  2935. v_486X = s48_trace_value((Spending_channels_headS));
  2936. Spending_channels_headS = v_486X;
  2937. v_487X = s48_trace_value((Spending_channels_tailS));
  2938. Spending_channels_tailS = v_487X;
  2939. if ((Sstack_warningPS)) {
  2940. arg2K0 = (Sstack_beginS);
  2941. goto L7514;}
  2942. else {
  2943. goto L18888;}}
  2944. else {
  2945. pair_488X = *((long *) (((char *) (-3 + alist_485X))));
  2946. x_489X = s48_extantP((*((long *) (((char *) (-3 + pair_488X))))));
  2947. if (x_489X) {
  2948. goto L10710;}
  2949. else {s48_trace_stob_contentsB((*((long *) (((char *) (-3 + pair_488X))))));
  2950. goto L10710;}}}
  2951. L7514: {
  2952. a_490X = arg2K0;
  2953. if ((252645135 == (*((long *) a_490X)))) {
  2954. arg2K0 = (a_490X + 4);
  2955. goto L7514;}
  2956. else {
  2957. unused_491X = (((a_490X - (Sstack_beginS)))>>2);
  2958. if ((unused_491X < 30)) {
  2959. { long ignoreXX;
  2960. PS_WRITE_CHAR(10, (stderr), ignoreXX) }
  2961. ps_write_string("[Alert: stack overconsumption (", (stderr));
  2962. ps_write_integer(unused_491X, (stderr));
  2963. ps_write_string("); please inform the Scheme 48 implementors]", (stderr));
  2964. { long ignoreXX;
  2965. PS_WRITE_CHAR(10, (stderr), ignoreXX) }
  2966. Sstack_warningPS = 0;
  2967. goto L18888;}
  2968. else {
  2969. goto L18888;}}}
  2970. L18888: {
  2971. s48_trace_locationsB((SstackS), ((SstackS) + (-4 & ((ScontS) - (SstackS)))));
  2972. arg2K0 = (ScontS);
  2973. goto L18898;}
  2974. L10710: {
  2975. val_492X = s48_trace_value((*((long *) ((((char *) (-3 + pair_488X))) + 4))));
  2976. addr_493X = (((char *) (-3 + pair_488X))) + 4;S48_WRITE_BARRIER(pair_488X, addr_493X, val_492X);
  2977. *((long *) addr_493X) = (long) (val_492X);
  2978. arg0K0 = (*((long *) ((((char *) (-3 + alist_485X))) + 4)));
  2979. goto L10685;}
  2980. L18898: {
  2981. cont_494X = arg2K0;
  2982. pointer_495X = ((char *) (*((long *) cont_494X)));
  2983. pointer_496X = pointer_495X + -5;
  2984. pc_497X = ((((*((unsigned char *) pointer_496X)))<<8)) + (*((unsigned char *) (pointer_496X + 1)));
  2985. code_pointer_498X = ((char *) (*((long *) cont_494X)));
  2986. mask_size_499X = *((unsigned char *) (code_pointer_498X + -3));
  2987. new_code_500X = s48_trace_value((3 + (((long) (pointer_495X + (0 - pc_497X))))));
  2988. contents_pointer_501X = cont_494X + 4;
  2989. *((long *) cont_494X) = (long) ((((long) ((((char *) (-3 + new_code_500X))) + pc_497X))));
  2990. if ((0 == mask_size_499X)) {
  2991. pointer_502X = (((char *) (*((long *) cont_494X)))) + -2;
  2992. size_503X = ((((*((unsigned char *) pointer_502X)))<<8)) + (*((unsigned char *) (pointer_502X + 1)));
  2993. if ((65535 == size_503X)) {
  2994. arg0K0 = ((((*((long *) (cont_494X + 4))))>>2));
  2995. goto L15793;}
  2996. else {
  2997. arg0K0 = size_503X;
  2998. goto L15793;}}
  2999. else {s48_trace_continuation_contentsB(contents_pointer_501X, code_pointer_498X, mask_size_499X);
  3000. goto L18908;}}
  3001. L15793: {
  3002. cells_504X = arg0K0;s48_trace_locationsB(contents_pointer_501X, (contents_pointer_501X + (((cells_504X)<<2))));
  3003. goto L18908;}
  3004. L18908: {
  3005. if ((cont_494X == (Sbottom_of_stackS))) {
  3006. v_505X = s48_trace_value((Sheap_continuationS));
  3007. Sheap_continuationS = v_505X;
  3008. v_506X = s48_trace_value((Stemp0S));
  3009. Stemp0S = v_506X;
  3010. v_507X = s48_trace_value((Stemp1S));
  3011. Stemp1S = v_507X;
  3012. return;}
  3013. else {
  3014. pointer_508X = (((char *) (*((long *) cont_494X)))) + -2;
  3015. size_509X = ((((*((unsigned char *) pointer_508X)))<<8)) + (*((unsigned char *) (pointer_508X + 1)));
  3016. if ((65535 == size_509X)) {
  3017. arg0K0 = ((((*((long *) (cont_494X + 4))))>>2));
  3018. goto L18946;}
  3019. else {
  3020. arg0K0 = size_509X;
  3021. goto L18946;}}}
  3022. L18946: {
  3023. v_510X = arg0K0;
  3024. arg2K0 = (cont_494X + (4 + (((v_510X)<<2))));
  3025. goto L18898;}
  3026. Hentry_tracer959446: {
  3027. foo_link_447X = merged_arg0K0;{
  3028. arg0K0 = foo_link_447X;
  3029. arg0K1 = 1;
  3030. goto L18727;}
  3031. L18727: {
  3032. foo_link_511X = arg0K0;
  3033. done_link_512X = arg0K1;
  3034. if ((0 == (3 & foo_link_511X))) {
  3035. arg0K0 = (3 + (-4 & foo_link_511X));
  3036. goto L18729;}
  3037. else {
  3038. arg0K0 = foo_link_511X;
  3039. goto L18729;}}
  3040. L18729: {
  3041. foo_513X = arg0K0;
  3042. if ((1 == foo_513X)) {
  3043. Hentry_tracer9594460_return_value = done_link_512X;
  3044. goto Hentry_tracer959446_return;}
  3045. else {
  3046. new_foo_514X = s48_trace_value(foo_513X);
  3047. next_link_515X = *((long *) ((((char *) (-3 + new_foo_514X))) + 12));
  3048. addr_516X = (((char *) (-3 + new_foo_514X))) + 12;S48_WRITE_BARRIER(new_foo_514X, addr_516X, done_link_512X);
  3049. *((long *) addr_516X) = (long) (done_link_512X);
  3050. if ((3 == (3 & new_foo_514X))) {
  3051. arg0K0 = next_link_515X;
  3052. arg0K1 = (-4 & new_foo_514X);
  3053. goto L18727;}
  3054. else {
  3055. arg0K0 = next_link_515X;
  3056. arg0K1 = new_foo_514X;
  3057. goto L18727;}}}
  3058. Hentry_tracer959446_return:
  3059. switch (Hentry_tracer959446_return_tag) {
  3060. case 0: goto Hentry_tracer959446_return_0;
  3061. default: goto Hentry_tracer959446_return_1;
  3062. }}
  3063. }
  3064. void s48_set_native_protocolB(long protocol_517X)
  3065. {
  3066. { s48_Snative_protocolS = protocol_517X;
  3067. return;}
  3068. }
  3069. void s48_set_extension_valueB(long value_518X)
  3070. {
  3071. { s48_Sextension_valueS = value_518X;
  3072. return;}
  3073. }
  3074. long s48_channel_count(void)
  3075. {
  3076. { return (Snumber_of_channelsS);}
  3077. }
  3078. long *s48_channels(void)
  3079. {
  3080. { return (Svm_channelsS);}
  3081. }
  3082. char s48_os_signal_pending(void)
  3083. {
  3084. long arg0K0;
  3085. long v_519X;
  3086. { if (((Sos_signal_ring_readyS) == (Sos_signal_ring_endS))) {
  3087. return 0;}
  3088. else {
  3089. if ((31 == (Sos_signal_ring_readyS))) {
  3090. arg0K0 = 0;
  3091. goto L3499;}
  3092. else {
  3093. arg0K0 = (1 + (Sos_signal_ring_readyS));
  3094. goto L3499;}}}
  3095. L3499: {
  3096. v_519X = arg0K0;
  3097. Sos_signal_ring_readyS = v_519X;
  3098. return 1;}
  3099. }
  3100. long s48_imported_bindings(void)
  3101. {
  3102. { return (Simported_bindingsS);}
  3103. }
  3104. long s48_exported_bindings(void)
  3105. {
  3106. { return (Sexported_bindingsS);}
  3107. }
  3108. long s48_symbol_table(void)
  3109. {
  3110. { return (Sthe_symbol_tableS);}
  3111. }
  3112. char * s48_set_gc_roots_baseB(void)
  3113. {
  3114. char * old_base_520X;
  3115. { old_base_520X = Sexternal_root_stack_baseS;
  3116. Sexternal_root_stack_baseS = (Sexternal_root_stackS);
  3117. return old_base_520X;}
  3118. }
  3119. char s48_release_gc_roots_baseB(char * old_base_521X)
  3120. {
  3121. char * current_base_522X;
  3122. { current_base_522X = Sexternal_root_stack_baseS;
  3123. Sexternal_root_stack_baseS = old_base_521X;
  3124. if (((Sexternal_root_stackS) == current_base_522X)) {
  3125. return 1;}
  3126. else {
  3127. Sexternal_root_stackS = current_base_522X;
  3128. return 0;}}
  3129. }
  3130. void s48_reset_external_rootsB(void)
  3131. {
  3132. { Sexternal_root_stackS = NULL;
  3133. Sexternal_root_stack_baseS = NULL;
  3134. Spermanent_external_rootsS = NULL;
  3135. return;}
  3136. }
  3137. void s48_note_event(void)
  3138. {
  3139. { s48_Spending_eventsPS = 1;
  3140. s48_Sstack_limitS = (((char *) -1));
  3141. return;}
  3142. }
  3143. void s48_reset_interruptsB(void)
  3144. {
  3145. { Sos_signal_ring_startS = 0;
  3146. Sos_signal_ring_readyS = 0;
  3147. Sos_signal_ring_endS = 0;
  3148. Senabled_interruptsS = 0;
  3149. Spending_interruptsS = 0;
  3150. s48_Spending_interruptPS = 0;
  3151. return;}
  3152. }
  3153. void s48_disable_interruptsB(void)
  3154. {
  3155. { s48_Spending_interruptPS = 0;
  3156. Senabled_interruptsS = 0;
  3157. return;}
  3158. }
  3159. void s48_add_os_signal(long sig_523X)
  3160. {
  3161. long arg0K0;
  3162. long v_524X;
  3163. { if ((31 == (Sos_signal_ring_endS))) {
  3164. arg0K0 = 0;
  3165. goto L4463;}
  3166. else {
  3167. arg0K0 = (1 + (Sos_signal_ring_endS));
  3168. goto L4463;}}
  3169. L4463: {
  3170. v_524X = arg0K0;
  3171. Sos_signal_ring_endS = v_524X;
  3172. if (((Sos_signal_ring_startS) == (Sos_signal_ring_endS))) {
  3173. ps_error("OS signal ring too small, report to Scheme 48 maintainers", 0);
  3174. goto L4465;}
  3175. else {
  3176. goto L4465;}}
  3177. L4465: {
  3178. *(Sos_signal_ringS + (Sos_signal_ring_endS)) = sig_523X;
  3179. return;}
  3180. }
  3181. void s48_push_gc_rootsB(char * frame_525X, long n_526X)
  3182. {
  3183. { *((long *) frame_525X) = (long) (n_526X);
  3184. *((long *) (frame_525X + 4)) = (long) ((((long) (Sexternal_root_stackS))));
  3185. Sexternal_root_stackS = frame_525X;
  3186. return;}
  3187. }
  3188. char * s48_register_gc_rootB(char * loc_addr_527X)
  3189. {
  3190. char * x_529X;
  3191. char * frame_528X;
  3192. { frame_528X = (char *)malloc(12);
  3193. if ((frame_528X == NULL)) {
  3194. ps_error("out of memory registering a global root", 0);
  3195. goto L4671;}
  3196. else {
  3197. goto L4671;}}
  3198. L4671: {
  3199. *((long *) frame_528X) = (long) ((((long) (Spermanent_external_rootsS))));
  3200. *((long *) (frame_528X + 4)) = (long) ((((long) NULL)));
  3201. x_529X = Spermanent_external_rootsS;
  3202. if ((x_529X == NULL)) {
  3203. goto L4691;}
  3204. else {
  3205. *((long *) ((Spermanent_external_rootsS) + 4)) = (long) ((((long) frame_528X)));
  3206. goto L4691;}}
  3207. L4691: {
  3208. *((long *) (frame_528X + 8)) = (long) ((((long) loc_addr_527X)));
  3209. Spermanent_external_rootsS = frame_528X;
  3210. return frame_528X;}
  3211. }
  3212. void s48_stack_setB(long x_530X, long value_531X)
  3213. {
  3214. { *((long *) ((SstackS) + (((x_530X)<<2)))) = (long) (value_531X);
  3215. return;}
  3216. }
  3217. long s48_stack_ref(long i_532X)
  3218. {
  3219. { return (*((long *) ((SstackS) + (((i_532X)<<2)))));}
  3220. }
  3221. void s48_push(long x_533X)
  3222. {
  3223. { SstackS = ((SstackS) + -4);
  3224. *((long *) (SstackS)) = (long) (x_533X);
  3225. return;}
  3226. }
  3227. long s48_resetup_external_exception(long new_why_534X, long additional_nargs_535X)
  3228. {
  3229. long old_why_537X;
  3230. long old_nargs_536X;
  3231. { old_nargs_536X = Sexternal_exception_nargsS;
  3232. old_why_537X = *((long *) ((SstackS) + (((old_nargs_536X)<<2))));
  3233. *((long *) ((SstackS) + (((old_nargs_536X)<<2)))) = (long) ((((new_why_534X)<<2)));
  3234. Sexternal_exception_nargsS = (old_nargs_536X + additional_nargs_535X);
  3235. return old_why_537X;}
  3236. }
  3237. char s48_pop_gc_rootsB(void)
  3238. {
  3239. { if (((Sexternal_root_stackS) == (Sexternal_root_stack_baseS))) {
  3240. return 0;}
  3241. else {
  3242. Sexternal_root_stackS = (((char *) (*((long *) ((Sexternal_root_stackS) + 4)))));
  3243. return 1;}}
  3244. }
  3245. void s48_unregister_gc_rootB(char * frame_538X)
  3246. {
  3247. char * previous_540X;
  3248. char * next_539X;
  3249. { if ((frame_538X == (Spermanent_external_rootsS))) {
  3250. Spermanent_external_rootsS = (((char *) (*((long *) frame_538X))));
  3251. goto L9121;}
  3252. else {
  3253. next_539X = ((char *) (*((long *) frame_538X)));
  3254. previous_540X = ((char *) (*((long *) (frame_538X + 4))));
  3255. *((long *) previous_540X) = (long) ((((long) next_539X)));
  3256. if ((next_539X == NULL)) {
  3257. goto L9121;}
  3258. else {
  3259. *((long *) (next_539X + 4)) = (long) ((((long) previous_540X)));
  3260. goto L9121;}}}
  3261. L9121: {
  3262. free(frame_538X);
  3263. return;}
  3264. }
  3265. char * s48_shorten_bignum(char * external_bignum_541X, long number_of_digits_542X)
  3266. {
  3267. long waste_size_547X;
  3268. long old_data_size_546X;
  3269. long new_data_size_545X;
  3270. long new_size_544X;
  3271. long bignum_543X;
  3272. { bignum_543X = 3 + (((long) external_bignum_541X));
  3273. new_size_544X = 4 + (-4 & (7 + (((number_of_digits_542X)<<2))));
  3274. new_data_size_545X = -4 + new_size_544X;
  3275. old_data_size_546X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + bignum_543X))) + -4))))>>8);
  3276. waste_size_547X = old_data_size_546X - new_data_size_545X;
  3277. if ((waste_size_547X < 0)) {
  3278. ps_error("shorten bignum", 2, new_data_size_545X, old_data_size_546X);
  3279. goto L9854;}
  3280. else {
  3281. goto L9854;}}
  3282. L9854: {
  3283. if ((waste_size_547X < 4)) {
  3284. return external_bignum_541X;}
  3285. else {
  3286. *((long *) ((((char *) (-3 + bignum_543X))) + -4)) = (long) ((78 + (((new_data_size_545X)<<8))));
  3287. *((long *) ((((char *) (((long) ((((char *) (-3 + bignum_543X))) + (-4 & (3 + new_size_544X))))))) + -4)) = (long) ((-946 + (((waste_size_547X)<<8))));
  3288. return external_bignum_541X;}}
  3289. }
  3290. long s48_allocate_string(long len_548X)
  3291. {
  3292. long arg0K0;
  3293. long string_551X;
  3294. char * addr_550X;
  3295. long len_549X;
  3296. { len_549X = ((len_548X)<<2);
  3297. addr_550X = s48_allocate_untracedAgc((4 + len_549X));
  3298. if ((addr_550X == NULL)) {
  3299. arg0K0 = 1;
  3300. goto L12683;}
  3301. else {
  3302. *((long *) addr_550X) = (long) ((66 + (((len_549X)<<8))));
  3303. arg0K0 = (3 + (((long) (addr_550X + 4))));
  3304. goto L12683;}}
  3305. L12683: {
  3306. string_551X = arg0K0;
  3307. if ((1 == string_551X)) {
  3308. ps_error("Out of space, unable to allocate", 0);
  3309. return string_551X;}
  3310. else {
  3311. return string_551X;}}
  3312. }
  3313. long s48_allocate_bignum(long size_552X)
  3314. {
  3315. char * addr_553X;
  3316. { addr_553X = s48_allocate_small((4 + size_552X));
  3317. *((long *) addr_553X) = (long) ((78 + (((size_552X)<<8))));
  3318. return (3 + (((long) (addr_553X + 4))));}
  3319. }
  3320. void s48_enable_interruptsB(void)
  3321. {
  3322. { Senabled_interruptsS = -1;
  3323. if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
  3324. s48_Sstack_limitS = (Sreal_stack_limitS);
  3325. if ((s48_Spending_eventsPS)) {
  3326. s48_Sstack_limitS = (((char *) -1));
  3327. return;}
  3328. else {
  3329. return;}}
  3330. else {
  3331. s48_Sstack_limitS = (((char *) -1));
  3332. return;}}
  3333. }
  3334. long s48_set_channel_os_index(long channel_554X, long os_index_555X)
  3335. {
  3336. char * addr_562X;
  3337. long val_561X;
  3338. long v_560X;
  3339. long x_559X;
  3340. long old_index_558X;
  3341. char x_557X;
  3342. char temp_556X;
  3343. { temp_556X = os_index_555X < (Snumber_of_channelsS);
  3344. if (temp_556X) {
  3345. goto L14669;}
  3346. else {
  3347. x_557X = add_more_channels(os_index_555X);
  3348. if (x_557X) {
  3349. goto L14669;}
  3350. else {
  3351. return 36;}}}
  3352. L14669: {
  3353. if ((1 == (*((Svm_channelsS) + os_index_555X)))) {
  3354. old_index_558X = (((*((long *) ((((char *) (-3 + channel_554X))) + 8))))>>2);
  3355. x_559X = *((long *) ((((char *) (-3 + channel_554X))) + 20));
  3356. if ((5 == x_559X)) {
  3357. v_560X = ps_abort_fd_op(old_index_558X);enqueue_channelB(old_index_558X, v_560X, 1);
  3358. goto L14655;}
  3359. else {
  3360. goto L14655;}}
  3361. else {
  3362. return 44;}}
  3363. L14655: {
  3364. *((Svm_channelsS) + old_index_558X) = 1;
  3365. *((Svm_channelsS) + os_index_555X) = channel_554X;
  3366. val_561X = ((os_index_555X)<<2);
  3367. addr_562X = (((char *) (-3 + channel_554X))) + 8;S48_WRITE_BARRIER(channel_554X, addr_562X, val_561X);
  3368. *((long *) addr_562X) = (long) (val_561X);
  3369. return 5;}
  3370. }
  3371. long s48_enter_string_utf_8(char * p_563X)
  3372. {
  3373. long arg0K1;
  3374. long arg0K0;
  3375. long vm_577X;
  3376. long string_576X;
  3377. char * addr_575X;
  3378. long len_574X;
  3379. long decoded_573X;
  3380. long consumed_572X;
  3381. long count_571X;
  3382. long v_570X;
  3383. char incompleteP_569X;
  3384. char v_568X;
  3385. char encoding_okP_567X;
  3386. long target_index_566X;
  3387. long index_565X;
  3388. long size_564X;
  3389. { size_564X = strlen((char *) (((char *)p_563X)));
  3390. arg0K0 = 0;
  3391. arg0K1 = 0;
  3392. goto L16844;}
  3393. L16844: {
  3394. index_565X = arg0K0;
  3395. target_index_566X = arg0K1;
  3396. if ((index_565X < size_564X)) {
  3397. encoding_okP_567X = decode_scalar_value(2, (p_563X + index_565X), (size_564X - index_565X), &v_568X, &incompleteP_569X, &v_570X, &count_571X);
  3398. if (encoding_okP_567X) {
  3399. if (incompleteP_569X) {
  3400. arg0K0 = index_565X;
  3401. arg0K1 = target_index_566X;
  3402. goto L16821;}
  3403. else {
  3404. arg0K0 = (index_565X + count_571X);
  3405. arg0K1 = (1 + target_index_566X);
  3406. goto L16844;}}
  3407. else {
  3408. arg0K0 = (1 + index_565X);
  3409. arg0K1 = (1 + target_index_566X);
  3410. goto L16844;}}
  3411. else {
  3412. arg0K0 = index_565X;
  3413. arg0K1 = target_index_566X;
  3414. goto L16821;}}
  3415. L16821: {
  3416. consumed_572X = arg0K0;
  3417. decoded_573X = arg0K1;
  3418. len_574X = ((decoded_573X)<<2);
  3419. addr_575X = s48_allocate_untracedAgc((4 + len_574X));
  3420. if ((addr_575X == NULL)) {
  3421. arg0K0 = 1;
  3422. goto L16862;}
  3423. else {
  3424. *((long *) addr_575X) = (long) ((66 + (((len_574X)<<8))));
  3425. arg0K0 = (3 + (((long) (addr_575X + 4))));
  3426. goto L16862;}}
  3427. L16862: {
  3428. string_576X = arg0K0;
  3429. if ((1 == string_576X)) {
  3430. ps_error("Out of space, unable to allocate", 0);
  3431. arg0K0 = string_576X;
  3432. goto L16827;}
  3433. else {
  3434. arg0K0 = string_576X;
  3435. goto L16827;}}
  3436. L16827: {
  3437. vm_577X = arg0K0;decode_utf_8B(p_563X, vm_577X, consumed_572X);
  3438. return vm_577X;}
  3439. }
  3440. long s48_enter_string_utf_8_n(char * p_578X, long size_579X)
  3441. {
  3442. long arg0K1;
  3443. long arg0K0;
  3444. long vm_592X;
  3445. long string_591X;
  3446. char * addr_590X;
  3447. long len_589X;
  3448. long decoded_588X;
  3449. long consumed_587X;
  3450. long count_586X;
  3451. long v_585X;
  3452. char incompleteP_584X;
  3453. char v_583X;
  3454. char encoding_okP_582X;
  3455. long target_index_581X;
  3456. long index_580X;
  3457. { arg0K0 = 0;
  3458. arg0K1 = 0;
  3459. goto L16904;}
  3460. L16904: {
  3461. index_580X = arg0K0;
  3462. target_index_581X = arg0K1;
  3463. if ((index_580X < size_579X)) {
  3464. encoding_okP_582X = decode_scalar_value(2, (p_578X + index_580X), (size_579X - index_580X), &v_583X, &incompleteP_584X, &v_585X, &count_586X);
  3465. if (encoding_okP_582X) {
  3466. if (incompleteP_584X) {
  3467. arg0K0 = index_580X;
  3468. arg0K1 = target_index_581X;
  3469. goto L16884;}
  3470. else {
  3471. arg0K0 = (index_580X + count_586X);
  3472. arg0K1 = (1 + target_index_581X);
  3473. goto L16904;}}
  3474. else {
  3475. arg0K0 = (1 + index_580X);
  3476. arg0K1 = (1 + target_index_581X);
  3477. goto L16904;}}
  3478. else {
  3479. arg0K0 = index_580X;
  3480. arg0K1 = target_index_581X;
  3481. goto L16884;}}
  3482. L16884: {
  3483. consumed_587X = arg0K0;
  3484. decoded_588X = arg0K1;
  3485. len_589X = ((decoded_588X)<<2);
  3486. addr_590X = s48_allocate_untracedAgc((4 + len_589X));
  3487. if ((addr_590X == NULL)) {
  3488. arg0K0 = 1;
  3489. goto L16922;}
  3490. else {
  3491. *((long *) addr_590X) = (long) ((66 + (((len_589X)<<8))));
  3492. arg0K0 = (3 + (((long) (addr_590X + 4))));
  3493. goto L16922;}}
  3494. L16922: {
  3495. string_591X = arg0K0;
  3496. if ((1 == string_591X)) {
  3497. ps_error("Out of space, unable to allocate", 0);
  3498. arg0K0 = string_591X;
  3499. goto L16890;}
  3500. else {
  3501. arg0K0 = string_591X;
  3502. goto L16890;}}
  3503. L16890: {
  3504. vm_592X = arg0K0;decode_utf_8B(p_578X, vm_592X, consumed_587X);
  3505. return vm_592X;}
  3506. }
  3507. long s48_integer_or_floanum_L(long x_593X, long y_594X)
  3508. {
  3509. long v_597X;
  3510. long v_596X;
  3511. long v_595X;
  3512. { if ((3 == (3 & x_593X))) {
  3513. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + x_593X))) + -4))))>>2))))) {
  3514. if (((*((double *) (((char *) (-3 + x_593X))))) < (*((double *) (((char *) (-3 + y_594X))))))) {
  3515. return 5;}
  3516. else {
  3517. return 1;}}
  3518. else {
  3519. goto L18103;}}
  3520. else {
  3521. goto L18103;}}
  3522. L18103: {
  3523. if ((0 == (3 & x_593X))) {
  3524. if ((0 == (3 & y_594X))) {
  3525. if ((x_593X < y_594X)) {
  3526. return 5;}
  3527. else {
  3528. return 1;}}
  3529. else {
  3530. v_595X = s48_bignum_test((((char *) (-3 + y_594X))));
  3531. if ((1 == v_595X)) {
  3532. return 5;}
  3533. else {
  3534. return 1;}}}
  3535. else {
  3536. if ((0 == (3 & y_594X))) {
  3537. v_596X = s48_bignum_test((((char *) (-3 + x_593X))));
  3538. if ((1 == v_596X)) {
  3539. return 1;}
  3540. else {
  3541. return 5;}}
  3542. else {
  3543. v_597X = s48_bignum_compare((((char *) (-3 + x_593X))), (((char *) (-3 + y_594X))));
  3544. if ((-1 == v_597X)) {
  3545. return 5;}
  3546. else {
  3547. return 1;}}}}
  3548. }
  3549. long s48_integer_or_floanum_G(long x_598X, long y_599X)
  3550. {
  3551. long v_602X;
  3552. long v_601X;
  3553. long v_600X;
  3554. { if ((3 == (3 & x_598X))) {
  3555. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + x_598X))) + -4))))>>2))))) {
  3556. if (((*((double *) (((char *) (-3 + y_599X))))) < (*((double *) (((char *) (-3 + x_598X))))))) {
  3557. return 5;}
  3558. else {
  3559. return 1;}}
  3560. else {
  3561. goto L18232;}}
  3562. else {
  3563. goto L18232;}}
  3564. L18232: {
  3565. if ((0 == (3 & y_599X))) {
  3566. if ((0 == (3 & x_598X))) {
  3567. if ((y_599X < x_598X)) {
  3568. return 5;}
  3569. else {
  3570. return 1;}}
  3571. else {
  3572. v_600X = s48_bignum_test((((char *) (-3 + x_598X))));
  3573. if ((1 == v_600X)) {
  3574. return 5;}
  3575. else {
  3576. return 1;}}}
  3577. else {
  3578. if ((0 == (3 & x_598X))) {
  3579. v_601X = s48_bignum_test((((char *) (-3 + y_599X))));
  3580. if ((1 == v_601X)) {
  3581. return 1;}
  3582. else {
  3583. return 5;}}
  3584. else {
  3585. v_602X = s48_bignum_compare((((char *) (-3 + y_599X))), (((char *) (-3 + x_598X))));
  3586. if ((-1 == v_602X)) {
  3587. return 5;}
  3588. else {
  3589. return 1;}}}}
  3590. }
  3591. long s48_integer_or_floanum_LE(long x_603X, long y_604X)
  3592. {
  3593. char b_605X;
  3594. { if ((3 == (3 & x_603X))) {
  3595. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + x_603X))) + -4))))>>2))))) {
  3596. if (((*((double *) (((char *) (-3 + y_604X))))) < (*((double *) (((char *) (-3 + x_603X))))))) {
  3597. return 1;}
  3598. else {
  3599. return 5;}}
  3600. else {
  3601. goto L18361;}}
  3602. else {
  3603. goto L18361;}}
  3604. L18361: {
  3605. b_605X = integerLE(x_603X, y_604X);
  3606. if (b_605X) {
  3607. return 5;}
  3608. else {
  3609. return 1;}}
  3610. }
  3611. long s48_integer_or_floanum_GE(long x_606X, long y_607X)
  3612. {
  3613. char b_608X;
  3614. { if ((3 == (3 & x_606X))) {
  3615. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + x_606X))) + -4))))>>2))))) {
  3616. if (((*((double *) (((char *) (-3 + x_606X))))) < (*((double *) (((char *) (-3 + y_607X))))))) {
  3617. return 1;}
  3618. else {
  3619. return 5;}}
  3620. else {
  3621. goto L18438;}}
  3622. else {
  3623. goto L18438;}}
  3624. L18438: {
  3625. b_608X = integerGE(x_606X, y_607X);
  3626. if (b_608X) {
  3627. return 5;}
  3628. else {
  3629. return 1;}}
  3630. }
  3631. long s48_make_blank_return_code(long protocol_609X, long template_610X, long frame_size_611X, long opcode_count_612X)
  3632. {
  3633. {s48_make_availableAgc((4 + (-4 & (18 + opcode_count_612X))));
  3634. return make_blank_return_code(protocol_609X, template_610X, frame_size_611X, opcode_count_612X, 0);}
  3635. }
  3636. long s48_enter_string_latin_1_n(char *s_613X, long count_614X)
  3637. {
  3638. { return enter_stringAgc_n(s_613X, count_614X);}
  3639. }
  3640. long s48_integer_or_floanum_E(long x_615X, long y_616X)
  3641. {
  3642. char arg3K0;
  3643. char v_618X;
  3644. char b_617X;
  3645. { if ((3 == (3 & x_615X))) {
  3646. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + x_615X))) + -4))))>>2))))) {
  3647. arg3K0 = ((*((double *) (((char *) (-3 + x_615X))))) == (*((double *) (((char *) (-3 + y_616X))))));
  3648. goto L20911;}
  3649. else {
  3650. goto L20907;}}
  3651. else {
  3652. goto L20907;}}
  3653. L20911: {
  3654. b_617X = arg3K0;
  3655. if (b_617X) {
  3656. return 5;}
  3657. else {
  3658. return 1;}}
  3659. L20907: {
  3660. v_618X = integerE(x_615X, y_616X);
  3661. arg3K0 = v_618X;
  3662. goto L20911;}
  3663. }
  3664. void s48_close_channel(long os_index_619X)
  3665. {
  3666. long obj_620X;
  3667. { if ((os_index_619X < 0)) {
  3668. return;}
  3669. else {
  3670. if ((os_index_619X < (Snumber_of_channelsS))) {
  3671. obj_620X = *((Svm_channelsS) + os_index_619X);
  3672. if ((3 == (3 & obj_620X))) {
  3673. if ((6 == (31 & ((((*((long *) ((((char *) (-3 + obj_620X))) + -4))))>>2))))) {close_channelB((*((Svm_channelsS) + os_index_619X)));
  3674. return;}
  3675. else {
  3676. return;}}
  3677. else {
  3678. return;}}
  3679. else {
  3680. return;}}}
  3681. }
  3682. long s48_enter_string_latin_1(char *s_621X)
  3683. {
  3684. { return enter_stringAgc_n(s_621X, (strlen((char *) s_621X)));}
  3685. }
  3686. void s48_string_set(long s_622X, long i_623X, long c_624X)
  3687. {
  3688. long arg0K2;
  3689. long arg0K1;
  3690. long arg0K0;
  3691. long shifted_629X;
  3692. long j_628X;
  3693. long bits_627X;
  3694. long max_626X;
  3695. long v_625X;
  3696. { if ((3 == (3 & s_622X))) {
  3697. if ((16 == (31 & ((((*((long *) ((((char *) (-3 + s_622X))) + -4))))>>2))))) {
  3698. goto L24324;}
  3699. else {s48_raise_argument_type_error(s_622X);
  3700. goto L24324;}}
  3701. else {s48_raise_argument_type_error(s_622X);
  3702. goto L24324;}}
  3703. L24324: {
  3704. v_625X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s_622X))) + -4))))>>8)) / 4;
  3705. max_626X = -1 + v_625X;
  3706. if ((i_623X < 0)) {
  3707. goto L24346;}
  3708. else {
  3709. if ((max_626X < i_623X)) {
  3710. goto L24346;}
  3711. else {
  3712. goto L24326;}}}
  3713. L24346: {
  3714. s48_raise_range_error((((i_623X)<<2)), 0, (((max_626X)<<2)));
  3715. goto L24326;}
  3716. L24326: {
  3717. arg0K0 = 0;
  3718. arg0K1 = 0;
  3719. arg0K2 = c_624X;
  3720. goto L24366;}
  3721. L24366: {
  3722. bits_627X = arg0K0;
  3723. j_628X = arg0K1;
  3724. shifted_629X = arg0K2;
  3725. if ((j_628X < 4)) {
  3726. *((unsigned char *) ((((char *) (-3 + s_622X))) + ((((i_623X)<<2)) + j_628X))) = (unsigned char) ((255 & shifted_629X));
  3727. arg0K0 = (8 + bits_627X);
  3728. arg0K1 = (1 + j_628X);
  3729. arg0K2 = ((long)(((unsigned long)shifted_629X)>>8));
  3730. goto L24366;}
  3731. else {
  3732. return;}}
  3733. }
  3734. long s48_string_ref(long s_630X, long i_631X)
  3735. {
  3736. long arg0K2;
  3737. long arg0K1;
  3738. long arg0K0;
  3739. long x_637X;
  3740. long scalar_value_636X;
  3741. long j_635X;
  3742. long bits_634X;
  3743. long max_633X;
  3744. long v_632X;
  3745. { if ((3 == (3 & s_630X))) {
  3746. if ((16 == (31 & ((((*((long *) ((((char *) (-3 + s_630X))) + -4))))>>2))))) {
  3747. goto L24388;}
  3748. else {s48_raise_argument_type_error(s_630X);
  3749. goto L24388;}}
  3750. else {s48_raise_argument_type_error(s_630X);
  3751. goto L24388;}}
  3752. L24388: {
  3753. v_632X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s_630X))) + -4))))>>8)) / 4;
  3754. max_633X = -1 + v_632X;
  3755. if ((i_631X < 0)) {
  3756. goto L24410;}
  3757. else {
  3758. if ((max_633X < i_631X)) {
  3759. goto L24410;}
  3760. else {
  3761. goto L24390;}}}
  3762. L24410: {
  3763. s48_raise_range_error((((i_631X)<<2)), 0, (((max_633X)<<2)));
  3764. goto L24390;}
  3765. L24390: {
  3766. arg0K0 = 0;
  3767. arg0K1 = 0;
  3768. arg0K2 = 0;
  3769. goto L24429;}
  3770. L24429: {
  3771. bits_634X = arg0K0;
  3772. j_635X = arg0K1;
  3773. scalar_value_636X = arg0K2;
  3774. if ((j_635X < 4)) {
  3775. PS_SHIFT_LEFT((*((unsigned char *) ((((char *) (-3 + s_630X))) + ((((i_631X)<<2)) + j_635X)))), bits_634X, x_637X)
  3776. arg0K0 = (8 + bits_634X);
  3777. arg0K1 = (1 + j_635X);
  3778. arg0K2 = (x_637X + scalar_value_636X);
  3779. goto L24429;}
  3780. else {
  3781. return scalar_value_636X;}}
  3782. }
  3783. long s48_string_length(long s_638X)
  3784. {
  3785. { if ((3 == (3 & s_638X))) {
  3786. if ((16 == (31 & ((((*((long *) ((((char *) (-3 + s_638X))) + -4))))>>2))))) {
  3787. goto L24448;}
  3788. else {s48_raise_argument_type_error(s_638X);
  3789. goto L24448;}}
  3790. else {s48_raise_argument_type_error(s_638X);
  3791. goto L24448;}}
  3792. L24448: {
  3793. return (((long)(((unsigned long)(*((long *) ((((char *) (-3 + s_638X))) + -4))))>>8)) / 4);}
  3794. }
  3795. void s48_copy_latin_1_to_string_n(char *string_639X, long len_640X, long vm_string_641X)
  3796. {
  3797. long arg0K2;
  3798. long arg0K1;
  3799. long arg0K0;
  3800. long shifted_647X;
  3801. long j_646X;
  3802. long bits_645X;
  3803. long c_644X;
  3804. long i_643X;
  3805. long max_642X;
  3806. { if ((3 == (3 & vm_string_641X))) {
  3807. if ((16 == (31 & ((((*((long *) ((((char *) (-3 + vm_string_641X))) + -4))))>>2))))) {
  3808. goto L24476;}
  3809. else {s48_raise_argument_type_error(vm_string_641X);
  3810. goto L24476;}}
  3811. else {s48_raise_argument_type_error(vm_string_641X);
  3812. goto L24476;}}
  3813. L24476: {
  3814. max_642X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + vm_string_641X))) + -4))))>>8)) / 4;
  3815. if ((len_640X < 0)) {
  3816. goto L24500;}
  3817. else {
  3818. if ((max_642X < len_640X)) {
  3819. goto L24500;}
  3820. else {
  3821. goto L24480;}}}
  3822. L24500: {
  3823. s48_raise_range_error((((len_640X)<<2)), 0, (((max_642X)<<2)));
  3824. goto L24480;}
  3825. L24480: {
  3826. arg0K0 = 0;
  3827. goto L24518;}
  3828. L24518: {
  3829. i_643X = arg0K0;
  3830. if ((i_643X < len_640X)) {
  3831. c_644X = ((unsigned char) (*(string_639X + i_643X)));
  3832. arg0K0 = 0;
  3833. arg0K1 = 0;
  3834. arg0K2 = c_644X;
  3835. goto L24529;}
  3836. else {
  3837. return;}}
  3838. L24529: {
  3839. bits_645X = arg0K0;
  3840. j_646X = arg0K1;
  3841. shifted_647X = arg0K2;
  3842. if ((j_646X < 4)) {
  3843. *((unsigned char *) ((((char *) (-3 + vm_string_641X))) + ((((i_643X)<<2)) + j_646X))) = (unsigned char) ((255 & shifted_647X));
  3844. arg0K0 = (8 + bits_645X);
  3845. arg0K1 = (1 + j_646X);
  3846. arg0K2 = ((long)(((unsigned long)shifted_647X)>>8));
  3847. goto L24529;}
  3848. else {
  3849. arg0K0 = (1 + i_643X);
  3850. goto L24518;}}
  3851. }
  3852. void s48_copy_latin_1_to_string(char *string_648X, long vm_string_649X)
  3853. {
  3854. long arg0K2;
  3855. long arg0K1;
  3856. long arg0K0;
  3857. long shifted_656X;
  3858. long j_655X;
  3859. long bits_654X;
  3860. long c_653X;
  3861. long i_652X;
  3862. long i_651X;
  3863. long max_650X;
  3864. { if ((3 == (3 & vm_string_649X))) {
  3865. if ((16 == (31 & ((((*((long *) ((((char *) (-3 + vm_string_649X))) + -4))))>>2))))) {
  3866. goto L24552;}
  3867. else {s48_raise_argument_type_error(vm_string_649X);
  3868. goto L24552;}}
  3869. else {s48_raise_argument_type_error(vm_string_649X);
  3870. goto L24552;}}
  3871. L24552: {
  3872. max_650X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + vm_string_649X))) + -4))))>>8)) / 4;
  3873. i_651X = strlen((char *) string_648X);
  3874. if ((i_651X < 0)) {
  3875. goto L24578;}
  3876. else {
  3877. if ((max_650X < i_651X)) {
  3878. goto L24578;}
  3879. else {
  3880. goto L24558;}}}
  3881. L24578: {
  3882. s48_raise_range_error((((i_651X)<<2)), 0, (((max_650X)<<2)));
  3883. goto L24558;}
  3884. L24558: {
  3885. arg0K0 = 0;
  3886. goto L24596;}
  3887. L24596: {
  3888. i_652X = arg0K0;
  3889. if ((i_652X < (strlen((char *) string_648X)))) {
  3890. c_653X = ((unsigned char) (*(string_648X + i_652X)));
  3891. arg0K0 = 0;
  3892. arg0K1 = 0;
  3893. arg0K2 = c_653X;
  3894. goto L24607;}
  3895. else {
  3896. return;}}
  3897. L24607: {
  3898. bits_654X = arg0K0;
  3899. j_655X = arg0K1;
  3900. shifted_656X = arg0K2;
  3901. if ((j_655X < 4)) {
  3902. *((unsigned char *) ((((char *) (-3 + vm_string_649X))) + ((((i_652X)<<2)) + j_655X))) = (unsigned char) ((255 & shifted_656X));
  3903. arg0K0 = (8 + bits_654X);
  3904. arg0K1 = (1 + j_655X);
  3905. arg0K2 = ((long)(((unsigned long)shifted_656X)>>8));
  3906. goto L24607;}
  3907. else {
  3908. arg0K0 = (1 + i_652X);
  3909. goto L24596;}}
  3910. }
  3911. void s48_copy_string_to_latin_1(long vm_string_657X, char *string_658X)
  3912. {
  3913. long v_659X;
  3914. { if ((3 == (3 & vm_string_657X))) {
  3915. if ((16 == (31 & ((((*((long *) ((((char *) (-3 + vm_string_657X))) + -4))))>>2))))) {
  3916. goto L24630;}
  3917. else {s48_raise_argument_type_error(vm_string_657X);
  3918. goto L24630;}}
  3919. else {s48_raise_argument_type_error(vm_string_657X);
  3920. goto L24630;}}
  3921. L24630: {
  3922. v_659X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + vm_string_657X))) + -4))))>>8)) / 4;
  3923. copy_vm_string_to_stringUlatin_1B(vm_string_657X, 0, v_659X, string_658X);
  3924. return;}
  3925. }
  3926. void s48_copy_string_to_latin_1_n(long vm_string_660X, long start_661X, long count_662X, char *string_663X)
  3927. {
  3928. long max_667X;
  3929. long v_666X;
  3930. long max_665X;
  3931. long v_664X;
  3932. { if ((3 == (3 & vm_string_660X))) {
  3933. if ((16 == (31 & ((((*((long *) ((((char *) (-3 + vm_string_660X))) + -4))))>>2))))) {
  3934. goto L24661;}
  3935. else {s48_raise_argument_type_error(vm_string_660X);
  3936. goto L24661;}}
  3937. else {s48_raise_argument_type_error(vm_string_660X);
  3938. goto L24661;}}
  3939. L24661: {
  3940. v_664X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + vm_string_660X))) + -4))))>>8)) / 4;
  3941. max_665X = -1 + v_664X;
  3942. if ((start_661X < 0)) {
  3943. goto L24687;}
  3944. else {
  3945. if ((max_665X < start_661X)) {
  3946. goto L24687;}
  3947. else {
  3948. goto L24663;}}}
  3949. L24687: {
  3950. s48_raise_range_error((((start_661X)<<2)), 0, (((max_665X)<<2)));
  3951. goto L24663;}
  3952. L24663: {
  3953. v_666X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + vm_string_660X))) + -4))))>>8)) / 4;
  3954. max_667X = v_666X - start_661X;
  3955. if ((count_662X < 0)) {
  3956. goto L24704;}
  3957. else {
  3958. if ((max_667X < count_662X)) {
  3959. goto L24704;}
  3960. else {
  3961. copy_vm_string_to_stringUlatin_1B(vm_string_660X, start_661X, count_662X, string_663X);
  3962. return;}}}
  3963. L24704: {
  3964. s48_raise_range_error((((count_662X)<<2)), 0, (((max_667X)<<2)));
  3965. copy_vm_string_to_stringUlatin_1B(vm_string_660X, start_661X, count_662X, string_663X);
  3966. return;}
  3967. }
  3968. long s48_string_utf_8_length(long vm_string_668X)
  3969. {
  3970. long arg0K2;
  3971. long arg0K1;
  3972. long arg0K0;
  3973. long count_678X;
  3974. char v_677X;
  3975. char v_676X;
  3976. long x_675X;
  3977. long scalar_value_674X;
  3978. long j_673X;
  3979. long bits_672X;
  3980. long char_index_671X;
  3981. long utf_8_length_670X;
  3982. long count_669X;
  3983. { if ((3 == (3 & vm_string_668X))) {
  3984. if ((16 == (31 & ((((*((long *) ((((char *) (-3 + vm_string_668X))) + -4))))>>2))))) {
  3985. goto L24733;}
  3986. else {s48_raise_argument_type_error(vm_string_668X);
  3987. goto L24733;}}
  3988. else {s48_raise_argument_type_error(vm_string_668X);
  3989. goto L24733;}}
  3990. L24733: {
  3991. count_669X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + vm_string_668X))) + -4))))>>8)) / 4;
  3992. arg0K0 = 0;
  3993. arg0K1 = 0;
  3994. goto L24760;}
  3995. L24760: {
  3996. utf_8_length_670X = arg0K0;
  3997. char_index_671X = arg0K1;
  3998. if ((char_index_671X < count_669X)) {
  3999. arg0K0 = 0;
  4000. arg0K1 = 0;
  4001. arg0K2 = 0;
  4002. goto L24769;}
  4003. else {
  4004. return utf_8_length_670X;}}
  4005. L24769: {
  4006. bits_672X = arg0K0;
  4007. j_673X = arg0K1;
  4008. scalar_value_674X = arg0K2;
  4009. if ((j_673X < 4)) {
  4010. PS_SHIFT_LEFT((*((unsigned char *) ((((char *) (-3 + vm_string_668X))) + ((((char_index_671X)<<2)) + j_673X)))), bits_672X, x_675X)
  4011. arg0K0 = (8 + bits_672X);
  4012. arg0K1 = (1 + j_673X);
  4013. arg0K2 = (x_675X + scalar_value_674X);
  4014. goto L24769;}
  4015. else {encode_scalar_value(2, scalar_value_674X, (((char *) 0)), 0, &v_676X, &v_677X, &count_678X);
  4016. arg0K0 = (utf_8_length_670X + count_678X);
  4017. arg0K1 = (1 + char_index_671X);
  4018. goto L24760;}}
  4019. }
  4020. long s48_string_utf_8_length_n(long vm_string_679X, long start_index_680X, long count_681X)
  4021. {
  4022. long arg0K2;
  4023. long arg0K1;
  4024. long arg0K0;
  4025. long count_694X;
  4026. char v_693X;
  4027. char v_692X;
  4028. long x_691X;
  4029. long scalar_value_690X;
  4030. long j_689X;
  4031. long bits_688X;
  4032. long char_index_687X;
  4033. long utf_8_length_686X;
  4034. long max_685X;
  4035. long v_684X;
  4036. long max_683X;
  4037. long v_682X;
  4038. { if ((3 == (3 & vm_string_679X))) {
  4039. if ((16 == (31 & ((((*((long *) ((((char *) (-3 + vm_string_679X))) + -4))))>>2))))) {
  4040. goto L24792;}
  4041. else {s48_raise_argument_type_error(vm_string_679X);
  4042. goto L24792;}}
  4043. else {s48_raise_argument_type_error(vm_string_679X);
  4044. goto L24792;}}
  4045. L24792: {
  4046. v_682X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + vm_string_679X))) + -4))))>>8)) / 4;
  4047. max_683X = -1 + v_682X;
  4048. if ((start_index_680X < 0)) {
  4049. goto L24818;}
  4050. else {
  4051. if ((max_683X < start_index_680X)) {
  4052. goto L24818;}
  4053. else {
  4054. goto L24794;}}}
  4055. L24818: {
  4056. s48_raise_range_error((((start_index_680X)<<2)), 0, (((max_683X)<<2)));
  4057. goto L24794;}
  4058. L24794: {
  4059. v_684X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + vm_string_679X))) + -4))))>>8)) / 4;
  4060. max_685X = v_684X - start_index_680X;
  4061. if ((count_681X < 0)) {
  4062. goto L24835;}
  4063. else {
  4064. if ((max_685X < count_681X)) {
  4065. goto L24835;}
  4066. else {
  4067. goto L24798;}}}
  4068. L24835: {
  4069. s48_raise_range_error((((count_681X)<<2)), 0, (((max_685X)<<2)));
  4070. goto L24798;}
  4071. L24798: {
  4072. arg0K0 = 0;
  4073. arg0K1 = 0;
  4074. goto L24854;}
  4075. L24854: {
  4076. utf_8_length_686X = arg0K0;
  4077. char_index_687X = arg0K1;
  4078. if ((char_index_687X < count_681X)) {
  4079. arg0K0 = 0;
  4080. arg0K1 = 0;
  4081. arg0K2 = 0;
  4082. goto L24863;}
  4083. else {
  4084. return utf_8_length_686X;}}
  4085. L24863: {
  4086. bits_688X = arg0K0;
  4087. j_689X = arg0K1;
  4088. scalar_value_690X = arg0K2;
  4089. if ((j_689X < 4)) {
  4090. PS_SHIFT_LEFT((*((unsigned char *) ((((char *) (-3 + vm_string_679X))) + (((((start_index_680X + char_index_687X))<<2)) + j_689X)))), bits_688X, x_691X)
  4091. arg0K0 = (8 + bits_688X);
  4092. arg0K1 = (1 + j_689X);
  4093. arg0K2 = (x_691X + scalar_value_690X);
  4094. goto L24863;}
  4095. else {encode_scalar_value(2, scalar_value_690X, (((char *) 0)), 0, &v_692X, &v_693X, &count_694X);
  4096. arg0K0 = (utf_8_length_686X + count_694X);
  4097. arg0K1 = (1 + char_index_687X);
  4098. goto L24854;}}
  4099. }
  4100. void s48_copy_string_to_utf_8(long vm_string_695X, char * string_696X)
  4101. {
  4102. long arg0K2;
  4103. long arg0K1;
  4104. long arg0K0;
  4105. long count_706X;
  4106. char v_705X;
  4107. char v_704X;
  4108. long x_703X;
  4109. long scalar_value_702X;
  4110. long j_701X;
  4111. long bits_700X;
  4112. long target_index_699X;
  4113. long source_index_698X;
  4114. long count_697X;
  4115. { if ((3 == (3 & vm_string_695X))) {
  4116. if ((16 == (31 & ((((*((long *) ((((char *) (-3 + vm_string_695X))) + -4))))>>2))))) {
  4117. goto L24893;}
  4118. else {s48_raise_argument_type_error(vm_string_695X);
  4119. goto L24893;}}
  4120. else {s48_raise_argument_type_error(vm_string_695X);
  4121. goto L24893;}}
  4122. L24893: {
  4123. count_697X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + vm_string_695X))) + -4))))>>8)) / 4;
  4124. arg0K0 = 0;
  4125. arg0K1 = 0;
  4126. goto L24921;}
  4127. L24921: {
  4128. source_index_698X = arg0K0;
  4129. target_index_699X = arg0K1;
  4130. if ((source_index_698X < count_697X)) {
  4131. arg0K0 = 0;
  4132. arg0K1 = 0;
  4133. arg0K2 = 0;
  4134. goto L24930;}
  4135. else {
  4136. return;}}
  4137. L24930: {
  4138. bits_700X = arg0K0;
  4139. j_701X = arg0K1;
  4140. scalar_value_702X = arg0K2;
  4141. if ((j_701X < 4)) {
  4142. PS_SHIFT_LEFT((*((unsigned char *) ((((char *) (-3 + vm_string_695X))) + ((((source_index_698X)<<2)) + j_701X)))), bits_700X, x_703X)
  4143. arg0K0 = (8 + bits_700X);
  4144. arg0K1 = (1 + j_701X);
  4145. arg0K2 = (x_703X + scalar_value_702X);
  4146. goto L24930;}
  4147. else {encode_scalar_value(2, scalar_value_702X, (string_696X + target_index_699X), 4, &v_704X, &v_705X, &count_706X);
  4148. arg0K0 = (1 + source_index_698X);
  4149. arg0K1 = (target_index_699X + count_706X);
  4150. goto L24921;}}
  4151. }
  4152. void s48_copy_string_to_utf_8_n(long vm_string_707X, long start_708X, long count_709X, char * string_710X)
  4153. {
  4154. long arg0K2;
  4155. long arg0K1;
  4156. long arg0K0;
  4157. long count_723X;
  4158. char v_722X;
  4159. char v_721X;
  4160. long x_720X;
  4161. long scalar_value_719X;
  4162. long j_718X;
  4163. long bits_717X;
  4164. long target_index_716X;
  4165. long source_index_715X;
  4166. long max_714X;
  4167. long v_713X;
  4168. long max_712X;
  4169. long v_711X;
  4170. { if ((3 == (3 & vm_string_707X))) {
  4171. if ((16 == (31 & ((((*((long *) ((((char *) (-3 + vm_string_707X))) + -4))))>>2))))) {
  4172. goto L24954;}
  4173. else {s48_raise_argument_type_error(vm_string_707X);
  4174. goto L24954;}}
  4175. else {s48_raise_argument_type_error(vm_string_707X);
  4176. goto L24954;}}
  4177. L24954: {
  4178. v_711X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + vm_string_707X))) + -4))))>>8)) / 4;
  4179. max_712X = -1 + v_711X;
  4180. if ((start_708X < 0)) {
  4181. goto L24980;}
  4182. else {
  4183. if ((max_712X < start_708X)) {
  4184. goto L24980;}
  4185. else {
  4186. goto L24956;}}}
  4187. L24980: {
  4188. s48_raise_range_error((((start_708X)<<2)), 0, (((max_712X)<<2)));
  4189. goto L24956;}
  4190. L24956: {
  4191. v_713X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + vm_string_707X))) + -4))))>>8)) / 4;
  4192. max_714X = v_713X - start_708X;
  4193. if ((count_709X < 0)) {
  4194. goto L24997;}
  4195. else {
  4196. if ((max_714X < count_709X)) {
  4197. goto L24997;}
  4198. else {
  4199. goto L24960;}}}
  4200. L24997: {
  4201. s48_raise_range_error((((count_709X)<<2)), 0, (((max_714X)<<2)));
  4202. goto L24960;}
  4203. L24960: {
  4204. arg0K0 = 0;
  4205. arg0K1 = 0;
  4206. goto L25017;}
  4207. L25017: {
  4208. source_index_715X = arg0K0;
  4209. target_index_716X = arg0K1;
  4210. if ((source_index_715X < count_709X)) {
  4211. arg0K0 = 0;
  4212. arg0K1 = 0;
  4213. arg0K2 = 0;
  4214. goto L25026;}
  4215. else {
  4216. return;}}
  4217. L25026: {
  4218. bits_717X = arg0K0;
  4219. j_718X = arg0K1;
  4220. scalar_value_719X = arg0K2;
  4221. if ((j_718X < 4)) {
  4222. PS_SHIFT_LEFT((*((unsigned char *) ((((char *) (-3 + vm_string_707X))) + (((((start_708X + source_index_715X))<<2)) + j_718X)))), bits_717X, x_720X)
  4223. arg0K0 = (8 + bits_717X);
  4224. arg0K1 = (1 + j_718X);
  4225. arg0K2 = (x_720X + scalar_value_719X);
  4226. goto L25026;}
  4227. else {encode_scalar_value(2, scalar_value_719X, (string_710X + target_index_716X), 4, &v_721X, &v_722X, &count_723X);
  4228. arg0K0 = (1 + source_index_715X);
  4229. arg0K1 = (target_index_716X + count_723X);
  4230. goto L25017;}}
  4231. }
  4232. void check_stack(void)
  4233. {
  4234. char * arg2K0;
  4235. char * arg2K1;
  4236. long arg0K0;
  4237. long v_745X;
  4238. long address_744X;
  4239. long x_743X;
  4240. char * ptr_742X;
  4241. long mask_741X;
  4242. long size_740X;
  4243. char * pointer_739X;
  4244. long address_738X;
  4245. long x_737X;
  4246. char * addr_736X;
  4247. char * trace_ptr_735X;
  4248. char * mask_ptr_734X;
  4249. long v_733X;
  4250. char * mask_pointer_732X;
  4251. long size_731X;
  4252. char * pointer_730X;
  4253. char * contents_pointer_729X;
  4254. long mask_size_728X;
  4255. char * code_pointer_727X;
  4256. char * cont_726X;
  4257. char * v_725X;
  4258. char * v_724X;
  4259. { v_724X = s48_oldspace_begin();
  4260. Soldspace_beginS = (((long) v_724X));
  4261. v_725X = s48_oldspace_end();
  4262. Soldspace_endS = (((long) v_725X));
  4263. arg2K0 = (ScontS);
  4264. goto L25150;}
  4265. L25150: {
  4266. cont_726X = arg2K0;
  4267. if ((cont_726X == (Sbottom_of_stackS))) {
  4268. return;}
  4269. else {
  4270. code_pointer_727X = ((char *) (*((long *) cont_726X)));
  4271. mask_size_728X = *((unsigned char *) (code_pointer_727X + -3));
  4272. contents_pointer_729X = cont_726X + 4;
  4273. if ((0 == mask_size_728X)) {
  4274. pointer_730X = (((char *) (*((long *) cont_726X)))) + -2;
  4275. size_731X = ((((*((unsigned char *) pointer_730X)))<<8)) + (*((unsigned char *) (pointer_730X + 1)));
  4276. if ((65535 == size_731X)) {
  4277. arg0K0 = ((((*((long *) (cont_726X + 4))))>>2));
  4278. goto L18869;}
  4279. else {
  4280. arg0K0 = size_731X;
  4281. goto L18869;}}
  4282. else {
  4283. mask_pointer_732X = code_pointer_727X + -7;
  4284. arg2K0 = (mask_pointer_732X + (0 - mask_size_728X));
  4285. arg2K1 = contents_pointer_729X;
  4286. goto L7930;}}}
  4287. L18869: {
  4288. v_733X = arg0K0;
  4289. arg2K0 = contents_pointer_729X;
  4290. goto L7871;}
  4291. L7930: {
  4292. mask_ptr_734X = arg2K0;
  4293. trace_ptr_735X = arg2K1;
  4294. if ((mask_ptr_734X == mask_pointer_732X)) {
  4295. goto L21505;}
  4296. else {
  4297. arg0K0 = (*((unsigned char *) mask_ptr_734X));
  4298. arg2K1 = trace_ptr_735X;
  4299. goto L7938;}}
  4300. L7871: {
  4301. addr_736X = arg2K0;
  4302. if ((addr_736X < (cont_726X + (4 + (((v_733X)<<2)))))) {
  4303. x_737X = *((long *) addr_736X);
  4304. if ((2 == (3 & x_737X))) {
  4305. goto L7889;}
  4306. else {
  4307. if ((3 == (3 & x_737X))) {
  4308. address_738X = -3 + x_737X;
  4309. if ((address_738X < (Soldspace_beginS))) {
  4310. goto L7876;}
  4311. else {
  4312. if (((Soldspace_endS) < address_738X)) {
  4313. goto L7876;}
  4314. else {
  4315. goto L7889;}}}
  4316. else {
  4317. goto L7876;}}}
  4318. else {
  4319. goto L21505;}}
  4320. L21505: {
  4321. pointer_739X = (((char *) (*((long *) cont_726X)))) + -2;
  4322. size_740X = ((((*((unsigned char *) pointer_739X)))<<8)) + (*((unsigned char *) (pointer_739X + 1)));
  4323. if ((65535 == size_740X)) {
  4324. arg0K0 = ((((*((long *) (cont_726X + 4))))>>2));
  4325. goto L21510;}
  4326. else {
  4327. arg0K0 = size_740X;
  4328. goto L21510;}}
  4329. L7938: {
  4330. mask_741X = arg0K0;
  4331. ptr_742X = arg2K1;
  4332. if ((0 == mask_741X)) {
  4333. arg2K0 = (mask_ptr_734X + 1);
  4334. arg2K1 = (trace_ptr_735X + 32);
  4335. goto L7930;}
  4336. else {
  4337. if ((1 == (1 & mask_741X))) {
  4338. x_743X = *((long *) ptr_742X);
  4339. if ((2 == (3 & x_743X))) {
  4340. goto L7995;}
  4341. else {
  4342. if ((3 == (3 & x_743X))) {
  4343. address_744X = -3 + x_743X;
  4344. if ((address_744X < (Soldspace_beginS))) {
  4345. goto L7954;}
  4346. else {
  4347. if (((Soldspace_endS) < address_744X)) {
  4348. goto L7954;}
  4349. else {
  4350. goto L7995;}}}
  4351. else {
  4352. goto L7954;}}}
  4353. else {
  4354. goto L7954;}}}
  4355. L7889: {
  4356. ps_error("bad descriptor in stack", 1, x_737X);
  4357. goto L7876;}
  4358. L7876: {
  4359. arg2K0 = (addr_736X + 4);
  4360. goto L7871;}
  4361. L21510: {
  4362. v_745X = arg0K0;
  4363. arg2K0 = (cont_726X + (4 + (((v_745X)<<2))));
  4364. goto L25150;}
  4365. L7995: {
  4366. ps_error("bad descriptor in stack", 1, x_743X);
  4367. goto L7954;}
  4368. L7954: {
  4369. arg0K0 = (((mask_741X)>>1));
  4370. arg2K1 = (ptr_742X + 4);
  4371. goto L7938;}
  4372. }
  4373. long s48_really_add_channel(long mode_746X, long id_747X, long os_index_748X)
  4374. {
  4375. long arg0K1;
  4376. long arg0K0;
  4377. long status_753X;
  4378. long channel_752X;
  4379. long channel_751X;
  4380. char x_750X;
  4381. char temp_749X;
  4382. {s48_make_availableAgc(32);
  4383. temp_749X = os_index_748X < (Snumber_of_channelsS);
  4384. if (temp_749X) {
  4385. goto L25467;}
  4386. else {
  4387. x_750X = add_more_channels(os_index_748X);
  4388. if (x_750X) {
  4389. goto L25467;}
  4390. else {
  4391. arg0K0 = 1;
  4392. arg0K1 = 9;
  4393. goto L25441;}}}
  4394. L25467: {
  4395. if ((1 == (*((Svm_channelsS) + os_index_748X)))) {
  4396. channel_751X = make_channel((-4 & mode_746X), id_747X, (((os_index_748X)<<2)), 1, 1, 1, 1, 0);
  4397. *((Svm_channelsS) + os_index_748X) = channel_751X;
  4398. arg0K0 = channel_751X;
  4399. arg0K1 = 9;
  4400. goto L25441;}
  4401. else {
  4402. arg0K0 = 1;
  4403. arg0K1 = 11;
  4404. goto L25441;}}
  4405. L25441: {
  4406. channel_752X = arg0K0;
  4407. status_753X = arg0K1;
  4408. if ((3 == (3 & channel_752X))) {
  4409. if ((6 == (31 & ((((*((long *) ((((char *) (-3 + channel_752X))) + -4))))>>2))))) {
  4410. return channel_752X;}
  4411. else {
  4412. goto L25449;}}
  4413. else {
  4414. goto L25449;}}
  4415. L25449: {
  4416. return (((status_753X)<<2));}
  4417. }
  4418. long s48_integer_bit_count(long x_754X)
  4419. {
  4420. { return integer_bit_count(x_754X);}
  4421. }
  4422. long s48_enter_integer(long x_755X)
  4423. {
  4424. char * v_756X;
  4425. {s48_make_availableAgc(16);
  4426. if ((536870911 < x_755X)) {
  4427. goto L26072;}
  4428. else {
  4429. if ((x_755X < -536870912)) {
  4430. goto L26072;}
  4431. else {
  4432. return (((x_755X)<<2));}}}
  4433. L26072: {
  4434. v_756X = (char *) s48_long_to_bignum(x_755X);
  4435. return enter_bignum(v_756X);}
  4436. }
  4437. long s48_integer_or_floanum_add(long x_757X, long y_758X)
  4438. {
  4439. long Kdouble_764X;
  4440. char * addr_763X;
  4441. double y_762X;
  4442. long value_761X;
  4443. double x_760X;
  4444. long value_759X;
  4445. { if ((3 == (3 & x_757X))) {
  4446. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + x_757X))) + -4))))>>2))))) {
  4447. Stemp0S = x_757X;
  4448. Stemp1S = y_758X;s48_make_availableAgc(12);
  4449. value_759X = Stemp0S;
  4450. Stemp0S = 1;
  4451. x_760X = *((double *) (((char *) (-3 + value_759X))));
  4452. value_761X = Stemp1S;
  4453. Stemp1S = 1;
  4454. y_762X = *((double *) (((char *) (-3 + value_761X))));
  4455. addr_763X = s48_allocate_small(12);
  4456. *((long *) addr_763X) = (long) (2122);
  4457. Kdouble_764X = 3 + (((long) (addr_763X + 4)));
  4458. *((double *) (((char *) (-3 + Kdouble_764X)))) = (double) ((x_760X + y_762X));
  4459. return Kdouble_764X;}
  4460. else {
  4461. return integer_add(x_757X, y_758X);}}
  4462. else {
  4463. return integer_add(x_757X, y_758X);}}
  4464. }
  4465. long s48_integer_or_floanum_sub(long x_765X, long y_766X)
  4466. {
  4467. long Kdouble_772X;
  4468. char * addr_771X;
  4469. double y_770X;
  4470. long value_769X;
  4471. double x_768X;
  4472. long value_767X;
  4473. { if ((3 == (3 & x_765X))) {
  4474. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + x_765X))) + -4))))>>2))))) {
  4475. Stemp0S = x_765X;
  4476. Stemp1S = y_766X;s48_make_availableAgc(12);
  4477. value_767X = Stemp0S;
  4478. Stemp0S = 1;
  4479. x_768X = *((double *) (((char *) (-3 + value_767X))));
  4480. value_769X = Stemp1S;
  4481. Stemp1S = 1;
  4482. y_770X = *((double *) (((char *) (-3 + value_769X))));
  4483. addr_771X = s48_allocate_small(12);
  4484. *((long *) addr_771X) = (long) (2122);
  4485. Kdouble_772X = 3 + (((long) (addr_771X + 4)));
  4486. *((double *) (((char *) (-3 + Kdouble_772X)))) = (double) ((x_768X - y_770X));
  4487. return Kdouble_772X;}
  4488. else {
  4489. return integer_subtract(x_765X, y_766X);}}
  4490. else {
  4491. return integer_subtract(x_765X, y_766X);}}
  4492. }
  4493. long s48_integer_or_floanum_mul(long x_773X, long y_774X)
  4494. {
  4495. long Kdouble_780X;
  4496. char * addr_779X;
  4497. double y_778X;
  4498. long value_777X;
  4499. double x_776X;
  4500. long value_775X;
  4501. { if ((3 == (3 & x_773X))) {
  4502. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + x_773X))) + -4))))>>2))))) {
  4503. Stemp0S = x_773X;
  4504. Stemp1S = y_774X;s48_make_availableAgc(12);
  4505. value_775X = Stemp0S;
  4506. Stemp0S = 1;
  4507. x_776X = *((double *) (((char *) (-3 + value_775X))));
  4508. value_777X = Stemp1S;
  4509. Stemp1S = 1;
  4510. y_778X = *((double *) (((char *) (-3 + value_777X))));
  4511. addr_779X = s48_allocate_small(12);
  4512. *((long *) addr_779X) = (long) (2122);
  4513. Kdouble_780X = 3 + (((long) (addr_779X + 4)));
  4514. *((double *) (((char *) (-3 + Kdouble_780X)))) = (double) ((x_776X * y_778X));
  4515. return Kdouble_780X;}
  4516. else {
  4517. return integer_multiply(x_773X, y_774X);}}
  4518. else {
  4519. return integer_multiply(x_773X, y_774X);}}
  4520. }
  4521. long s48_integer_bitwise_not(long x_781X)
  4522. {
  4523. { return integer_bitwise_not(x_781X);}
  4524. }
  4525. long s48_integer_bitwise_and(long x_782X, long y_783X)
  4526. {
  4527. { return integer_bitwise_and(x_782X, y_783X);}
  4528. }
  4529. long s48_integer_bitwise_ior(long x_784X, long y_785X)
  4530. {
  4531. { return integer_bitwise_ior(x_784X, y_785X);}
  4532. }
  4533. long s48_integer_bitwise_xor(long x_786X, long y_787X)
  4534. {
  4535. { return integer_bitwise_xor(x_786X, y_787X);}
  4536. }
  4537. void s48_setup_external_exception(long why_788X, long nargs_789X)
  4538. {
  4539. {push_exception_setupB(why_788X, 1);
  4540. if ((10 < nargs_789X)) {
  4541. ps_error("too many arguments from external exception", 0);
  4542. goto L27101;}
  4543. else {
  4544. goto L27101;}}
  4545. L27101: {
  4546. Sexternal_exception_nargsS = nargs_789X;
  4547. Sexternal_exceptionPS = 1;
  4548. return;}
  4549. }
  4550. long s48_integer_quotient(long x_790X, long y_791X)
  4551. {
  4552. { return Hinteger_op8311(x_790X, y_791X);}
  4553. }
  4554. long s48_integer_remainder(long x_792X, long y_793X)
  4555. {
  4556. { return Hinteger_op8242(x_792X, y_793X);}
  4557. }
  4558. void s48_copy_stack_into_heap(void)
  4559. {
  4560. char * arg2K1;
  4561. char * arg2K0;
  4562. char * arg_797X;
  4563. char * loc_796X;
  4564. char * top_795X;
  4565. long arg_count_794X;
  4566. {s48_make_availableAgc(((((-4 & ((Sstack_endS) - (SstackS))))<<2)));
  4567. arg_count_794X = ((((ScontS) - (SstackS)))>>2);
  4568. top_795X = SstackS;
  4569. if ((1 == (((long) (ScontS))))) {
  4570. goto L27149;}
  4571. else {really_preserve_continuation(0);
  4572. goto L27149;}}
  4573. L27149: {
  4574. SstackS = (ScontS);
  4575. arg2K0 = ((SstackS) + -4);
  4576. arg2K1 = (top_795X + (-4 + (((arg_count_794X)<<2))));
  4577. goto L27178;}
  4578. L27178: {
  4579. loc_796X = arg2K0;
  4580. arg_797X = arg2K1;
  4581. if ((arg_797X < top_795X)) {
  4582. SstackS = ((SstackS) + (0 - (((arg_count_794X)<<2))));
  4583. return;}
  4584. else {
  4585. *((long *) loc_796X) = (long) ((*((long *) arg_797X)));
  4586. arg2K0 = (loc_796X + -4);
  4587. arg2K1 = (arg_797X + -4);
  4588. goto L27178;}}
  4589. }
  4590. long s48_get_imported_binding(char *name_798X)
  4591. {
  4592. long value_800X;
  4593. long value_799X;
  4594. { value_799X = enter_stringAgc_n(name_798X, (strlen((char *) name_798X)));
  4595. Stemp0S = value_799X;s48_make_availableAgc(20);
  4596. value_800X = Stemp0S;
  4597. Stemp0S = 1;
  4598. return Hlookup2943((Sexported_bindingsS), value_800X, 0);}
  4599. }
  4600. void s48_define_exported_binding(char *name_801X, long value_802X)
  4601. {
  4602. char * addr_807X;
  4603. long x_806X;
  4604. long value_805X;
  4605. long value_804X;
  4606. long name_803X;
  4607. { Stemp0S = value_802X;
  4608. name_803X = enter_stringAgc_n(name_801X, (strlen((char *) name_801X)));
  4609. Stemp1S = name_803X;s48_make_availableAgc(20);
  4610. value_804X = Stemp1S;
  4611. Stemp1S = 1;
  4612. value_805X = Stemp0S;
  4613. Stemp0S = 1;
  4614. x_806X = Hlookup2924((Simported_bindingsS), value_804X, 0);
  4615. addr_807X = (((char *) (-3 + x_806X))) + 8;S48_WRITE_BARRIER(x_806X, addr_807X, value_805X);
  4616. *((long *) addr_807X) = (long) (value_805X);
  4617. return;}
  4618. }
  4619. void s48_initialize_vm(char * stack_begin_808X, long stack_size_809X)
  4620. {
  4621. char * arg2K0;
  4622. long arg0K1;
  4623. long arg0K0;
  4624. int make_hash_tableAgc_return_tag;
  4625. long make_hash_tableAgc0_return_value;
  4626. char * addr_849X;
  4627. long i_848X;
  4628. long table_847X;
  4629. long vector_846X;
  4630. char * addr_845X;
  4631. char * addr_844X;
  4632. long x_843X;
  4633. long v_842X;
  4634. long vector_841X;
  4635. char * addr_840X;
  4636. long blank_return_code_839X;
  4637. long blank_return_code_838X;
  4638. long blank_return_code_837X;
  4639. long blank_return_code_836X;
  4640. long blank_return_code_835X;
  4641. long blank_return_code_834X;
  4642. long blank_return_code_833X;
  4643. char * a_832X;
  4644. long size_831X;
  4645. char * start_830X;
  4646. char * addr_829X;
  4647. long value_828X;
  4648. char * stack_827X;
  4649. char * addr_826X;
  4650. long val_825X;
  4651. long index_824X;
  4652. long v_823X;
  4653. long foo_822X;
  4654. long table_821X;
  4655. long i_820X;
  4656. long v_819X;
  4657. long v_818X;
  4658. long exported_bindings_817X;
  4659. long imported_bindings_816X;
  4660. long n_815X;
  4661. long symbols_814X;
  4662. long maybe_813X;
  4663. long maybe_812X;
  4664. long v_811X;
  4665. long symbol_table_810X;
  4666. { symbol_table_810X = s48_initial_symbols();
  4667. if ((symbol_table_810X == 1)) {
  4668. make_hash_tableAgc_return_tag = 0;
  4669. goto make_hash_tableAgc;
  4670. make_hash_tableAgc_return_0:
  4671. v_811X = make_hash_tableAgc0_return_value;
  4672. Sthe_symbol_tableS = v_811X;
  4673. maybe_812X = s48_find_all(1);
  4674. if ((maybe_812X == 1)) {s48_collect();
  4675. maybe_813X = s48_find_all(1);
  4676. if ((maybe_813X == 1)) {
  4677. ps_error("insufficient heap space to build symbol table", 0);
  4678. arg0K0 = maybe_813X;
  4679. goto L27277;}
  4680. else {
  4681. arg0K0 = maybe_813X;
  4682. goto L27277;}}
  4683. else {
  4684. arg0K0 = maybe_812X;
  4685. goto L27277;}}
  4686. else {
  4687. Sthe_symbol_tableS = symbol_table_810X;
  4688. goto L27941;}}
  4689. L27277: {
  4690. symbols_814X = arg0K0;
  4691. n_815X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + symbols_814X))) + -4))))>>8))))>>2);
  4692. arg0K0 = 0;
  4693. goto L27298;}
  4694. L27941: {
  4695. imported_bindings_816X = s48_initial_imported_bindings();
  4696. exported_bindings_817X = s48_initial_exported_bindings();
  4697. if ((1 == imported_bindings_816X)) {
  4698. make_hash_tableAgc_return_tag = 1;
  4699. goto make_hash_tableAgc;
  4700. make_hash_tableAgc_return_1:
  4701. v_818X = make_hash_tableAgc0_return_value;
  4702. Simported_bindingsS = v_818X;
  4703. make_hash_tableAgc_return_tag = 2;
  4704. goto make_hash_tableAgc;
  4705. make_hash_tableAgc_return_2:
  4706. v_819X = make_hash_tableAgc0_return_value;
  4707. Sexported_bindingsS = v_819X;
  4708. goto L27947;}
  4709. else {
  4710. Simported_bindingsS = imported_bindings_816X;
  4711. Sexported_bindingsS = exported_bindings_817X;
  4712. goto L27947;}}
  4713. L27298: {
  4714. i_820X = arg0K0;
  4715. if ((i_820X == n_815X)) {
  4716. goto L27941;}
  4717. else {
  4718. table_821X = Sthe_symbol_tableS;
  4719. foo_822X = *((long *) ((((char *) (-3 + symbols_814X))) + (((i_820X)<<2))));
  4720. v_823X = Haction4940((*((long *) (((char *) (-3 + foo_822X))))));
  4721. index_824X = 1023 & v_823X;
  4722. val_825X = *((long *) ((((char *) (-3 + table_821X))) + (((index_824X)<<2))));
  4723. addr_826X = (((char *) (-3 + foo_822X))) + 4;S48_WRITE_BARRIER(foo_822X, addr_826X, val_825X);
  4724. *((long *) addr_826X) = (long) (val_825X);
  4725. if ((3 == (3 & foo_822X))) {
  4726. arg0K0 = (-4 & foo_822X);
  4727. goto L26623;}
  4728. else {
  4729. arg0K0 = foo_822X;
  4730. goto L26623;}}}
  4731. L27947: {
  4732. if ((stack_size_809X < 8128)) {
  4733. stack_827X = (char *)malloc(32512);
  4734. if ((stack_827X == NULL)) {
  4735. ps_error("out of memory, unable to continue", 0);
  4736. arg2K0 = stack_827X;
  4737. arg0K1 = 8128;
  4738. goto L22190;}
  4739. else {
  4740. arg2K0 = stack_827X;
  4741. arg0K1 = 8128;
  4742. goto L22190;}}
  4743. else {
  4744. arg2K0 = stack_begin_808X;
  4745. arg0K1 = stack_size_809X;
  4746. goto L22190;}}
  4747. L26623: {
  4748. value_828X = arg0K0;
  4749. addr_829X = (((char *) (-3 + table_821X))) + (((index_824X)<<2));S48_WRITE_BARRIER(table_821X, addr_829X, value_828X);
  4750. *((long *) addr_829X) = (long) (value_828X);
  4751. arg0K0 = (1 + i_820X);
  4752. goto L27298;}
  4753. L22190: {
  4754. start_830X = arg2K0;
  4755. size_831X = arg0K1;
  4756. Sstack_beginS = start_830X;
  4757. Sstack_endS = (start_830X + (((size_831X)<<2)));
  4758. Sreal_stack_limitS = ((Sstack_beginS) + 512);
  4759. s48_Sstack_limitS = (Sreal_stack_limitS);
  4760. SstackS = (Sstack_endS);
  4761. ScontS = (((char *) 1));
  4762. arg2K0 = start_830X;
  4763. goto L22220;}
  4764. L22220: {
  4765. a_832X = arg2K0;
  4766. if ((a_832X == (Sstack_endS))) {s48_make_availableAgc(20);
  4767. blank_return_code_833X = make_blank_return_code(71, 65535, 0, 1, 0);
  4768. *((unsigned char *) ((((char *) (-3 + blank_return_code_833X))) + 15)) = (unsigned char) (0);
  4769. SstackS = ((SstackS) + -4);
  4770. *((long *) (SstackS)) = (long) (1);
  4771. ScontS = (SstackS);
  4772. *((long *) (ScontS)) = (long) ((((long) ((((char *) (-3 + blank_return_code_833X))) + 13))));
  4773. Sbottom_of_stackS = (ScontS);
  4774. Sheap_continuationS = 1;s48_make_availableAgc(120);
  4775. blank_return_code_834X = make_blank_return_code(66, 65535, 65535, 1, 0);
  4776. *((unsigned char *) ((((char *) (-3 + blank_return_code_834X))) + 15)) = (unsigned char) (163);
  4777. Sinterrupted_byte_opcode_return_codeS = blank_return_code_834X;
  4778. blank_return_code_835X = make_blank_return_code(66, 65535, 65535, 1, 0);
  4779. *((unsigned char *) ((((char *) (-3 + blank_return_code_835X))) + 15)) = (unsigned char) (164);
  4780. Sinterrupted_native_call_return_codeS = blank_return_code_835X;
  4781. blank_return_code_836X = make_blank_return_code(66, 65535, 65535, 1, 0);
  4782. *((unsigned char *) ((((char *) (-3 + blank_return_code_836X))) + 15)) = (unsigned char) (165);
  4783. Snative_poll_return_codeS = blank_return_code_836X;
  4784. blank_return_code_837X = make_blank_return_code(1, 65535, 65535, 1, 0);
  4785. *((unsigned char *) ((((char *) (-3 + blank_return_code_837X))) + 15)) = (unsigned char) (159);
  4786. Sexception_return_codeS = blank_return_code_837X;
  4787. blank_return_code_838X = make_blank_return_code(1, 65535, 65535, 1, 0);
  4788. *((unsigned char *) ((((char *) (-3 + blank_return_code_838X))) + 15)) = (unsigned char) (160);
  4789. Snative_exception_return_codeS = blank_return_code_838X;
  4790. blank_return_code_839X = make_blank_return_code(70, 65535, 1, 1, 0);
  4791. *((unsigned char *) ((((char *) (-3 + blank_return_code_839X))) + 15)) = (unsigned char) (0);
  4792. Scall_with_values_return_codeS = blank_return_code_839X;s48_make_availableAgc(32);s48_bignum_make_cached_constants();
  4793. addr_840X = s48_allocate_tracedAgc(8);
  4794. if ((addr_840X == NULL)) {
  4795. arg0K0 = 1;
  4796. goto L27998;}
  4797. else {
  4798. *((long *) addr_840X) = (long) (1034);
  4799. arg0K0 = (3 + (((long) (addr_840X + 4))));
  4800. goto L27998;}}
  4801. else {
  4802. *((long *) a_832X) = (long) (252645135);
  4803. arg2K0 = (a_832X + 4);
  4804. goto L22220;}}
  4805. L27998: {
  4806. vector_841X = arg0K0;
  4807. if ((1 == vector_841X)) {
  4808. ps_error("Out of space, unable to allocate", 0);
  4809. arg0K0 = vector_841X;
  4810. goto L27985;}
  4811. else {
  4812. arg0K0 = vector_841X;
  4813. goto L27985;}}
  4814. L27985: {
  4815. v_842X = arg0K0;
  4816. Sempty_logS = v_842X;
  4817. x_843X = Sempty_logS;
  4818. addr_844X = ((char *) (-3 + x_843X));S48_WRITE_BARRIER(x_843X, addr_844X, 1);
  4819. *((long *) addr_844X) = (long) (1);
  4820. return;}
  4821. make_hash_tableAgc: {
  4822. { addr_845X = s48_allocate_tracedAgc(4100);
  4823. if ((addr_845X == NULL)) {
  4824. arg0K0 = 1;
  4825. goto L12713;}
  4826. else {
  4827. *((long *) addr_845X) = (long) (1048586);
  4828. arg0K0 = (3 + (((long) (addr_845X + 4))));
  4829. goto L12713;}}
  4830. L12713: {
  4831. vector_846X = arg0K0;
  4832. if ((1 == vector_846X)) {
  4833. ps_error("Out of space, unable to allocate", 0);
  4834. arg0K0 = vector_846X;
  4835. goto L12701;}
  4836. else {
  4837. arg0K0 = vector_846X;
  4838. goto L12701;}}
  4839. L12701: {
  4840. table_847X = arg0K0;
  4841. arg0K0 = 0;
  4842. goto L12736;}
  4843. L12736: {
  4844. i_848X = arg0K0;
  4845. if ((1024 == i_848X)) {
  4846. make_hash_tableAgc0_return_value = table_847X;
  4847. goto make_hash_tableAgc_return;}
  4848. else {
  4849. addr_849X = (((char *) (-3 + table_847X))) + (((i_848X)<<2));S48_WRITE_BARRIER(table_847X, addr_849X, 1);
  4850. *((long *) addr_849X) = (long) (1);
  4851. arg0K0 = (1 + i_848X);
  4852. goto L12736;}}
  4853. make_hash_tableAgc_return:
  4854. switch (make_hash_tableAgc_return_tag) {
  4855. case 0: goto make_hash_tableAgc_return_0;
  4856. case 1: goto make_hash_tableAgc_return_1;
  4857. default: goto make_hash_tableAgc_return_2;
  4858. }}
  4859. }
  4860. void s48_post_gc_cleanup(void)
  4861. {
  4862. { (Spost_gc_cleanupS)();
  4863. return;}
  4864. }
  4865. void s48_gc_root(void)
  4866. {
  4867. { (Sgc_root_procS)();
  4868. return;}
  4869. }
  4870. long s48_restart(long proc_850X, long nargs_851X)
  4871. {
  4872. char *arg4K0;
  4873. char * arg2K1;
  4874. char * arg2K0;
  4875. char arg3K3;
  4876. char arg3K1;
  4877. char arg3K0;
  4878. char arg3K2;
  4879. long arg0K4;
  4880. long arg0K3;
  4881. long arg0K2;
  4882. long arg0K1;
  4883. long arg0K0;
  4884. char *merged_arg4K0;
  4885. FILE * merged_arg5K2;
  4886. char merged_arg3K1;
  4887. char * merged_arg2K0;
  4888. long merged_arg0K3;
  4889. long merged_arg0K2;
  4890. long merged_arg0K1;
  4891. long merged_arg0K0;
  4892. int move_args_above_contB_return_tag;
  4893. int s48_pop_interrupt_state_return_tag;
  4894. int get_error_string_return_tag;
  4895. long get_error_string0_return_value;
  4896. int copy_continuation_from_heapB_return_tag;
  4897. char * copy_continuation_from_heapB0_return_value;
  4898. int okay_argument_list_return_tag;
  4899. char okay_argument_list0_return_value;
  4900. long okay_argument_list1_return_value;
  4901. int get_current_port_return_tag;
  4902. long get_current_port0_return_value;
  4903. int make_closure_return_tag;
  4904. long make_closure0_return_value;
  4905. int pending_interruptP_return_tag;
  4906. char pending_interruptP0_return_value;
  4907. int proposal_d_read_return_tag;
  4908. long proposal_d_read0_return_value;
  4909. int proposal_d_write_return_tag;
  4910. int shift_space_return_tag;
  4911. long shift_space0_return_value;
  4912. int pop_continuationB_return_tag;
  4913. int copy_listSAgc_return_tag;
  4914. long copy_listSAgc0_return_value;
  4915. int pop_args_GlistSAgc_return_tag;
  4916. long pop_args_GlistSAgc0_return_value;
  4917. int ensure_stack_spaceB_return_tag;
  4918. char ensure_stack_spaceB0_return_value;
  4919. int push_list_return_tag;
  4920. long push_list0_return_value;
  4921. int rest_list_setupAgc_return_tag;
  4922. int find_template_return_tag;
  4923. long find_template0_return_value;
  4924. int maybe_write_template_return_tag;
  4925. char maybe_write_template0_return_value;
  4926. int loseD0_return_tag;
  4927. long nargs_852X;
  4928. long status_853X;
  4929. long cont_854X;
  4930. long stack_arg_count_855X;
  4931. long list_856X;
  4932. long marker_857X;
  4933. long a_858X;
  4934. long b_859X;
  4935. long stob_860X;
  4936. long index_861X;
  4937. long stob_862X;
  4938. long index_863X;
  4939. long value_864X;
  4940. long x_865X;
  4941. long n_866X;
  4942. long list_867X;
  4943. long length_868X;
  4944. long start_869X;
  4945. long count_870X;
  4946. long need_871X;
  4947. long list_872X;
  4948. long count_873X;
  4949. long wants_stack_args_874X;
  4950. long stack_arg_count_875X;
  4951. long list_args_876X;
  4952. long list_arg_count_877X;
  4953. char * start_878X;
  4954. long count_879X;
  4955. long code_vector_880X;
  4956. long template_881X;
  4957. char not_firstP_882X;
  4958. FILE * out_883X;
  4959. char *message_884X;
  4960. char * arg_2394X;
  4961. char * loc_2393X;
  4962. char * top_of_args_2392X;
  4963. char * addr_2391X;
  4964. long x_2390X;
  4965. long proposal_2389X;
  4966. long p_2388X;
  4967. long shifted_2387X;
  4968. long j_2386X;
  4969. long bits_2385X;
  4970. long c_2384X;
  4971. long i_2383X;
  4972. long new_2382X;
  4973. char * addr_2381X;
  4974. long len_2380X;
  4975. long len_2379X;
  4976. long x_2378X;
  4977. char *string_2377X;
  4978. char * new_stack_2376X;
  4979. char * new_cont_2375X;
  4980. long stack_size_2374X;
  4981. char move_slowP_2373X;
  4982. long slow_2372X;
  4983. long len_2371X;
  4984. long fast_2370X;
  4985. char *v_2369X;
  4986. long v_2368X;
  4987. long obj_2367X;
  4988. long env_2366X;
  4989. long thread_2365X;
  4990. long x_2364X;
  4991. char * addr_2363X;
  4992. long interrupt_bit_2362X;
  4993. long status_2361X;
  4994. long channel_2360X;
  4995. long type_2359X;
  4996. long v_2358X;
  4997. long next_stob_2357X;
  4998. long i_2356X;
  4999. long log_2355X;
  5000. char * addr_2354X;
  5001. long next_stob_2353X;
  5002. long i_2352X;
  5003. long log_2351X;
  5004. long v_2350X;
  5005. long v_2349X;
  5006. long n_2348X;
  5007. long extra_2347X;
  5008. long x_size_2346X;
  5009. long v_2345X;
  5010. long v_2344X;
  5011. long size_2343X;
  5012. char * pointer_2342X;
  5013. char * cont_2341X;
  5014. char * addr_2340X;
  5015. long x_2339X;
  5016. char * addr_2338X;
  5017. long a_2337X;
  5018. long last_2336X;
  5019. long l_2335X;
  5020. long x_2334X;
  5021. char * addr_2333X;
  5022. long a_2332X;
  5023. long value_2331X;
  5024. long x_2330X;
  5025. char * addr_2329X;
  5026. long a_2328X;
  5027. long count_2327X;
  5028. long args_2326X;
  5029. long value_2325X;
  5030. char interruptP_2324X;
  5031. long x_2323X;
  5032. long l_2322X;
  5033. long i_2321X;
  5034. long list_2320X;
  5035. char v_2319X;
  5036. long x_2318X;
  5037. long v_2317X;
  5038. long x_2316X;
  5039. long v_2315X;
  5040. long count_2314X;
  5041. long x_2313X;
  5042. long next_2312X;
  5043. long i_2311X;
  5044. long obj_2310X;
  5045. long obj_2309X;
  5046. long name_2308X;
  5047. long v_2307X;
  5048. long why_2306X;
  5049. long size_2305X;
  5050. char * pointer_2304X;
  5051. char v_2303X;
  5052. long v_2302X;
  5053. long v_2301X;
  5054. char v_2300X;
  5055. long v_2299X;
  5056. char not_firstP_2298X;
  5057. long cont_2297X;
  5058. long size_2296X;
  5059. char * pointer_2295X;
  5060. long v_2294X;
  5061. char * pointer_2293X;
  5062. char * code_pointer_2292X;
  5063. long cont_2291X;
  5064. char not_firstP_2290X;
  5065. char * cont_2289X;
  5066. char not_firstP_2288X;
  5067. long template_2287X;
  5068. FILE * out_2286X;
  5069. long current_code_2285X;
  5070. long v_2284X;
  5071. long n_2283X;
  5072. char v_2282X;
  5073. long v_2281X;
  5074. long v_2280X;
  5075. long n_2279X;
  5076. char v_2278X;
  5077. long v_2277X;
  5078. long y_2276X;
  5079. long x_2275X;
  5080. long rem_2274X;
  5081. long quot_2273X;
  5082. char div_by_zeroP_2272X;
  5083. long v_2271X;
  5084. long n_2270X;
  5085. char v_2269X;
  5086. long v_2268X;
  5087. long v_2267X;
  5088. long n_2266X;
  5089. char v_2265X;
  5090. long v_2264X;
  5091. long v_2263X;
  5092. long v_2262X;
  5093. long stob_2261X;
  5094. long v_2260X;
  5095. long stob_2259X;
  5096. char * addr_2258X;
  5097. long x_2257X;
  5098. char * addr_2256X;
  5099. char * addr_2255X;
  5100. long value_2254X;
  5101. char * addr_2253X;
  5102. long value_2252X;
  5103. long copies_2251X;
  5104. long v_2250X;
  5105. long n_2249X;
  5106. char v_2248X;
  5107. long v_2247X;
  5108. long n_2246X;
  5109. char v_2245X;
  5110. char * rem_2244X;
  5111. char * quot_2243X;
  5112. char div_by_zeroP_2242X;
  5113. char * y_2241X;
  5114. char *v_2240X;
  5115. long link_2239X;
  5116. long verify_2238X;
  5117. long value_2237X;
  5118. long copies_2236X;
  5119. long stob_2235X;
  5120. long i_2234X;
  5121. long val_2233X;
  5122. char * v_2232X;
  5123. long value_2231X;
  5124. char * x_2230X;
  5125. long val_2229X;
  5126. long v_2228X;
  5127. char * v_2227X;
  5128. char * addr_2226X;
  5129. long val_2225X;
  5130. char * addr_2224X;
  5131. long value_2223X;
  5132. long len_2222X;
  5133. long s2_2221X;
  5134. long foo_2220X;
  5135. long previous_foo_2219X;
  5136. char * addr_2218X;
  5137. long verify_2217X;
  5138. long value_2216X;
  5139. long log_2215X;
  5140. long stob_2214X;
  5141. long i_2213X;
  5142. long x_2212X;
  5143. long status_2211X;
  5144. long v_2210X;
  5145. char * addr_2209X;
  5146. long value_2208X;
  5147. long val_2207X;
  5148. long val_2206X;
  5149. long n_2205X;
  5150. char v_2204X;
  5151. char * external_bignum_2203X;
  5152. char * v_2202X;
  5153. long value_2201X;
  5154. long extra1_2200X;
  5155. long val_2199X;
  5156. long v_2198X;
  5157. char * v_2197X;
  5158. long val_2196X;
  5159. long v_2195X;
  5160. char * v_2194X;
  5161. long x_2193X;
  5162. long val_2192X;
  5163. long v_2191X;
  5164. char * v_2190X;
  5165. char * addr_2189X;
  5166. long value_2188X;
  5167. long offset_2187X;
  5168. long i_2186X;
  5169. long count_2185X;
  5170. char * addr_2184X;
  5171. long value_2183X;
  5172. long offset_2182X;
  5173. long i_2181X;
  5174. long count_2180X;
  5175. long n_2179X;
  5176. char * addr_2178X;
  5177. long val_2177X;
  5178. char * addr_2176X;
  5179. long shifted_2175X;
  5180. long j_2174X;
  5181. long bits_2173X;
  5182. long bucket_2172X;
  5183. char * addr_2171X;
  5184. char * addr_2170X;
  5185. long value_2169X;
  5186. char * addr_2168X;
  5187. char * addr_2167X;
  5188. char * addr_2166X;
  5189. long value_2165X;
  5190. char * addr_2164X;
  5191. char * addr_2163X;
  5192. long value_2162X;
  5193. long proposal_2161X;
  5194. long entry_2160X;
  5195. long thing_2159X;
  5196. long log_2158X;
  5197. long copies_2157X;
  5198. char * addr_2156X;
  5199. long x_2155X;
  5200. long val_2154X;
  5201. long v_2153X;
  5202. long reason_2152X;
  5203. long channel_2151X;
  5204. long channel_2150X;
  5205. long link_2149X;
  5206. long val_2148X;
  5207. long x_2147X;
  5208. char * addr_2146X;
  5209. long b_2145X;
  5210. long shifted_2144X;
  5211. long j_2143X;
  5212. long bits_2142X;
  5213. long val_2141X;
  5214. long v_2140X;
  5215. long n_2139X;
  5216. char v_2138X;
  5217. char * external_bignum_2137X;
  5218. char * x_2136X;
  5219. char * v_2135X;
  5220. long v_2134X;
  5221. char * x_2133X;
  5222. long val_2132X;
  5223. long v_2131X;
  5224. char * v_2130X;
  5225. long n_2129X;
  5226. long val_2128X;
  5227. long val_2127X;
  5228. long val_2126X;
  5229. long val_2125X;
  5230. long val_2124X;
  5231. long val_2123X;
  5232. long extra0_2122X;
  5233. long length0_2121X;
  5234. long val_2120X;
  5235. long v_2119X;
  5236. char * v_2118X;
  5237. long x_2117X;
  5238. long val_2116X;
  5239. long v_2115X;
  5240. char * v_2114X;
  5241. long val_2113X;
  5242. long val_2112X;
  5243. long val_2111X;
  5244. char * arg_2110X;
  5245. char * loc_2109X;
  5246. long x_2108X;
  5247. long l_2107X;
  5248. long stack_nargs_2106X;
  5249. long x_2105X;
  5250. long v_2104X;
  5251. long x_2103X;
  5252. long v_2102X;
  5253. long v_2101X;
  5254. long v_2100X;
  5255. long bytes_used_2099X;
  5256. long count_2098X;
  5257. long index_2097X;
  5258. long env_2096X;
  5259. long offset_2095X;
  5260. long i_2094X;
  5261. long bytes_used_2093X;
  5262. long count_2092X;
  5263. long env_2091X;
  5264. long offset_2090X;
  5265. long i_2089X;
  5266. long v_2088X;
  5267. long n_2087X;
  5268. long x_2086X;
  5269. long x_2085X;
  5270. long obj_2084X;
  5271. char * addr_2083X;
  5272. long val_2082X;
  5273. long count_2081X;
  5274. char out_of_spaceP_2080X;
  5275. char encoding_okP_2079X;
  5276. char codec_okP_2078X;
  5277. long count_2077X;
  5278. long value_2076X;
  5279. char incompleteP_2075X;
  5280. char okP_2074X;
  5281. char encoding_okP_2073X;
  5282. long l_2072X;
  5283. long codec_2071X;
  5284. long p_2070X;
  5285. long i_2069X;
  5286. char * addr_2068X;
  5287. long val_2067X;
  5288. char * addr_2066X;
  5289. long val_2065X;
  5290. char * addr_2064X;
  5291. char * addr_2063X;
  5292. long val_2062X;
  5293. char * addr_2061X;
  5294. char * addr_2060X;
  5295. long val_2059X;
  5296. long count_2058X;
  5297. long value_2057X;
  5298. char incompleteP_2056X;
  5299. char okP_2055X;
  5300. char encoding_okP_2054X;
  5301. char * addr_2053X;
  5302. long val_2052X;
  5303. long l_2051X;
  5304. long codec_2050X;
  5305. long p_2049X;
  5306. long i_2048X;
  5307. long x_2047X;
  5308. long x_2046X;
  5309. long d_2045X;
  5310. long i_2044X;
  5311. long l_2043X;
  5312. long link_2042X;
  5313. long index_2041X;
  5314. long v_2040X;
  5315. long table_2039X;
  5316. long val_2038X;
  5317. char x_2037X;
  5318. char minutesP_2036X;
  5319. long vector_2035X;
  5320. char * addr_2034X;
  5321. long x_2033X;
  5322. long verify_2032X;
  5323. long value_2031X;
  5324. long copies_2030X;
  5325. long stob_2029X;
  5326. long i_2028X;
  5327. char * addr_2027X;
  5328. long v_2026X;
  5329. char * addr_2025X;
  5330. char * addr_2024X;
  5331. long val_2023X;
  5332. long x_2022X;
  5333. char * addr_2021X;
  5334. char * addr_2020X;
  5335. long status_2019X;
  5336. char pendingP_2018X;
  5337. char eofP_2017X;
  5338. long got_2016X;
  5339. char v_2015X;
  5340. long count_2014X;
  5341. long start_2013X;
  5342. char waitP_2012X;
  5343. long status_2011X;
  5344. long channel_2010X;
  5345. long v_2009X;
  5346. long v_2008X;
  5347. char x_2007X;
  5348. char temp_2006X;
  5349. long index_2005X;
  5350. long len_2004X;
  5351. long s2_2003X;
  5352. long foo_2002X;
  5353. long i_2001X;
  5354. long i_2000X;
  5355. char * addr_1999X;
  5356. long i_1998X;
  5357. long rest_list_1997X;
  5358. long i_1996X;
  5359. long v_1995X;
  5360. long n_1994X;
  5361. char v_1993X;
  5362. char * external_bignum_1992X;
  5363. char * x_1991X;
  5364. long val_1990X;
  5365. long v_1989X;
  5366. char * v_1988X;
  5367. char * v_1987X;
  5368. long value_1986X;
  5369. long needed_1985X;
  5370. long y_1984X;
  5371. long y_1983X;
  5372. long x_1982X;
  5373. long val_1981X;
  5374. long v_1980X;
  5375. char * v_1979X;
  5376. long val_1978X;
  5377. long v_1977X;
  5378. char * v_1976X;
  5379. long val_1975X;
  5380. long val_1974X;
  5381. long val_1973X;
  5382. long count_1972X;
  5383. long x_1971X;
  5384. char * v_1970X;
  5385. long value_1969X;
  5386. long extra_1968X;
  5387. long length_1967X;
  5388. long x_1966X;
  5389. long val_1965X;
  5390. long c_1964X;
  5391. long b_1963X;
  5392. long val_1962X;
  5393. long c_1961X;
  5394. long b_1960X;
  5395. long val_1959X;
  5396. char b_1958X;
  5397. long val_1957X;
  5398. char b_1956X;
  5399. long val_1955X;
  5400. long v_1954X;
  5401. long v_1953X;
  5402. long v_1952X;
  5403. long val_1951X;
  5404. long v_1950X;
  5405. long v_1949X;
  5406. long v_1948X;
  5407. long val_1947X;
  5408. char b_1946X;
  5409. char x_1945X;
  5410. long c_1944X;
  5411. long b_1943X;
  5412. long val_1942X;
  5413. long val_1941X;
  5414. long val_1940X;
  5415. long c_1939X;
  5416. long mid_c_1938X;
  5417. long v_1937X;
  5418. long v_1936X;
  5419. long lo_c_1935X;
  5420. long hi_b_1934X;
  5421. long hi_a_1933X;
  5422. long lo_b_1932X;
  5423. long lo_a_1931X;
  5424. long b_1930X;
  5425. long val_1929X;
  5426. long args_1928X;
  5427. char * arg_top_1927X;
  5428. long list_arg_count_1926X;
  5429. long list_args_1925X;
  5430. long stack_nargs_1924X;
  5431. long bytes_used_1923X;
  5432. long count_1922X;
  5433. long v_1921X;
  5434. char * arg_1920X;
  5435. char * loc_1919X;
  5436. long v_1918X;
  5437. long v_1917X;
  5438. long v_1916X;
  5439. long bytes_used_1915X;
  5440. long args_1914X;
  5441. long list_args_1913X;
  5442. long stack_nargs_1912X;
  5443. long v_1911X;
  5444. long x_1910X;
  5445. long v_1909X;
  5446. long cont_1908X;
  5447. long size_1907X;
  5448. char * pointer_1906X;
  5449. char * cont_1905X;
  5450. long protocol_skip_1904X;
  5451. long v_1903X;
  5452. char v_1902X;
  5453. char * addr_1901X;
  5454. long value_1900X;
  5455. long offset_1899X;
  5456. long i_1898X;
  5457. long count_1897X;
  5458. char * addr_1896X;
  5459. long value_1895X;
  5460. long offset_1894X;
  5461. long i_1893X;
  5462. long count_1892X;
  5463. long sig_1891X;
  5464. char x_1890X;
  5465. long channel_1889X;
  5466. long arg_count_1888X;
  5467. long obj_1887X;
  5468. long type_1886X;
  5469. long thing_1885X;
  5470. long stuff_1884X;
  5471. char * addr_1883X;
  5472. long val_1882X;
  5473. long count_1881X;
  5474. char out_of_spaceP_1880X;
  5475. char encoding_okP_1879X;
  5476. long i_1878X;
  5477. long count_1877X;
  5478. char out_of_spaceP_1876X;
  5479. char encoding_okP_1875X;
  5480. char codec_okP_1874X;
  5481. long x_1873X;
  5482. long l_1872X;
  5483. long i_1871X;
  5484. long b_1870X;
  5485. long codec_1869X;
  5486. long port_1868X;
  5487. long Kchar_1867X;
  5488. long b_1866X;
  5489. long port_1865X;
  5490. long b_1864X;
  5491. long port_1863X;
  5492. char * addr_1862X;
  5493. long val_1861X;
  5494. long i_1860X;
  5495. long b_1859X;
  5496. long p_1858X;
  5497. long port_1857X;
  5498. long byte_1856X;
  5499. long i_1855X;
  5500. long p_1854X;
  5501. long p_1853X;
  5502. long b_1852X;
  5503. long port_1851X;
  5504. char * addr_1850X;
  5505. long val_1849X;
  5506. long i_1848X;
  5507. long p_1847X;
  5508. long p_1846X;
  5509. long b_1845X;
  5510. long port_1844X;
  5511. long x_1843X;
  5512. long x_1842X;
  5513. long x_1841X;
  5514. long x_1840X;
  5515. long x_1839X;
  5516. long x_1838X;
  5517. char * addr_1837X;
  5518. long value_1836X;
  5519. long list_1835X;
  5520. long head_1834X;
  5521. char move_slowP_1833X;
  5522. long slow_1832X;
  5523. long list_1831X;
  5524. long obj_1830X;
  5525. char * addr_1829X;
  5526. long len_1828X;
  5527. long x_1827X;
  5528. long val_1826X;
  5529. long mseconds_1825X;
  5530. long seconds_1824X;
  5531. long option_1823X;
  5532. long vector_1822X;
  5533. char firstP_1821X;
  5534. long x_1820X;
  5535. long x_1819X;
  5536. long v_1818X;
  5537. long v_1817X;
  5538. long x_1816X;
  5539. long result_1815X;
  5540. char * args_1814X;
  5541. long proc_1813X;
  5542. long name_1812X;
  5543. long rest_list_1811X;
  5544. long x_1810X;
  5545. long x_1809X;
  5546. long x_1808X;
  5547. long x_1807X;
  5548. long value_1806X;
  5549. long vector_1805X;
  5550. long type_1804X;
  5551. char firstP_1803X;
  5552. long vector_1802X;
  5553. char firstP_1801X;
  5554. long x_1800X;
  5555. long x_1799X;
  5556. long x_1798X;
  5557. long status_1797X;
  5558. long reason_1796X;
  5559. long x_1795X;
  5560. char * addr_1794X;
  5561. long next_stob_1793X;
  5562. long i_1792X;
  5563. long x_1791X;
  5564. long v_1790X;
  5565. long next_stob_1789X;
  5566. long i_1788X;
  5567. long value_1787X;
  5568. long x_1786X;
  5569. char * addr_1785X;
  5570. long count_1784X;
  5571. long to_index_1783X;
  5572. long from_index_1782X;
  5573. long copies_1781X;
  5574. long left_1780X;
  5575. long value_1779X;
  5576. long verify_1778X;
  5577. long value_1777X;
  5578. long log_1776X;
  5579. long stob_1775X;
  5580. long i_1774X;
  5581. char * addr_1773X;
  5582. long old_1772X;
  5583. long x_1771X;
  5584. char * addr_1770X;
  5585. long channel_1769X;
  5586. long res_1768X;
  5587. long i_1767X;
  5588. long x_1766X;
  5589. long y_1765X;
  5590. long n_1764X;
  5591. char * addr_1763X;
  5592. long prev_1762X;
  5593. long ch_1761X;
  5594. long x_1760X;
  5595. long val_1759X;
  5596. long x_1758X;
  5597. long val_1757X;
  5598. long val_1756X;
  5599. long x_1755X;
  5600. long val_1754X;
  5601. long x_1753X;
  5602. long x_1752X;
  5603. long v_1751X;
  5604. long v_1750X;
  5605. char *filename_1749X;
  5606. long val_1748X;
  5607. long x_1747X;
  5608. char * addr_1746X;
  5609. char * addr_1745X;
  5610. long x_1744X;
  5611. long val_1743X;
  5612. long x_1742X;
  5613. long bucket_1741X;
  5614. long x_1740X;
  5615. long x_1739X;
  5616. long shifted_1738X;
  5617. long j_1737X;
  5618. long bits_1736X;
  5619. long x_1735X;
  5620. long x_1734X;
  5621. long scalar_value_1733X;
  5622. long j_1732X;
  5623. long bits_1731X;
  5624. long x_1730X;
  5625. long x_1729X;
  5626. long vector_1728X;
  5627. long x_1727X;
  5628. long x_1726X;
  5629. long x_1725X;
  5630. long vector_1724X;
  5631. long new_1723X;
  5632. char * addr_1722X;
  5633. long value_1721X;
  5634. long value_1720X;
  5635. long x_1719X;
  5636. char * addr_1718X;
  5637. long value_1717X;
  5638. long i_1716X;
  5639. long value_1715X;
  5640. long i_1714X;
  5641. long value_1713X;
  5642. long val_1712X;
  5643. long val_1711X;
  5644. long x_1710X;
  5645. long val_1709X;
  5646. long x_1708X;
  5647. long val_1707X;
  5648. long val_1706X;
  5649. char * v_1705X;
  5650. long value_1704X;
  5651. long needed_1703X;
  5652. long y_1702X;
  5653. long x_1701X;
  5654. long result_1700X;
  5655. long x_1699X;
  5656. long x_1698X;
  5657. long x_1697X;
  5658. long count_1696X;
  5659. long value_1695X;
  5660. long val_1694X;
  5661. long val_1693X;
  5662. long val_1692X;
  5663. long x_1691X;
  5664. long val_1690X;
  5665. long x_1689X;
  5666. long n_1688X;
  5667. long x_1687X;
  5668. long x_1686X;
  5669. long v_1685X;
  5670. long x_1684X;
  5671. long n_1683X;
  5672. long a_1682X;
  5673. long a_1681X;
  5674. long val_1680X;
  5675. long val_1679X;
  5676. char b_1678X;
  5677. long val_1677X;
  5678. char b_1676X;
  5679. long val_1675X;
  5680. char b_1674X;
  5681. long val_1673X;
  5682. long Kdouble_1672X;
  5683. char * addr_1671X;
  5684. double value_1670X;
  5685. long value_1669X;
  5686. double x_1668X;
  5687. long value_1667X;
  5688. long a_1666X;
  5689. long Kdouble_1665X;
  5690. char * addr_1664X;
  5691. double y_1663X;
  5692. long value_1662X;
  5693. double x_1661X;
  5694. long value_1660X;
  5695. long val_1659X;
  5696. long v_1658X;
  5697. char * v_1657X;
  5698. long Kdouble_1656X;
  5699. char * addr_1655X;
  5700. double y_1654X;
  5701. long value_1653X;
  5702. double x_1652X;
  5703. long value_1651X;
  5704. long a_1650X;
  5705. long Kdouble_1649X;
  5706. char * addr_1648X;
  5707. double y_1647X;
  5708. long value_1646X;
  5709. double x_1645X;
  5710. long value_1644X;
  5711. long val_1643X;
  5712. long v_1642X;
  5713. char * v_1641X;
  5714. long n_1640X;
  5715. long val_1639X;
  5716. long val_1638X;
  5717. long delta_1637X;
  5718. long delta_1636X;
  5719. long offset_1635X;
  5720. long index_1634X;
  5721. long v_1633X;
  5722. char * arg_top_1632X;
  5723. long args_1631X;
  5724. long count_1630X;
  5725. long size_1629X;
  5726. char * pointer_1628X;
  5727. char * cont_1627X;
  5728. long offset_1626X;
  5729. long cont_1625X;
  5730. long args_1624X;
  5731. long args_1623X;
  5732. long v_1622X;
  5733. long v_1621X;
  5734. long protocol_1620X;
  5735. char * code_pointer_1619X;
  5736. long list_arg_count_1618X;
  5737. long list_args_1617X;
  5738. long stack_nargs_1616X;
  5739. long args_1615X;
  5740. long x_1614X;
  5741. long args_1613X;
  5742. long x_1612X;
  5743. long x_1611X;
  5744. long x_1610X;
  5745. char * addr_1609X;
  5746. long a_1608X;
  5747. long wants_stack_args_1607X;
  5748. long size_1606X;
  5749. char * pointer_1605X;
  5750. char * cont_1604X;
  5751. long proc_1603X;
  5752. long offset_1602X;
  5753. long cont_1601X;
  5754. long protocol_1600X;
  5755. char * code_pointer_1599X;
  5756. long obj_1598X;
  5757. char * addr_1597X;
  5758. long list_args_1596X;
  5759. long follower_1595X;
  5760. long list_1594X;
  5761. long x_1593X;
  5762. long args_1592X;
  5763. long list_arg_count_1591X;
  5764. char okayP_1590X;
  5765. long stack_nargs_1589X;
  5766. long list_args_1588X;
  5767. long obj_1587X;
  5768. long obj_1586X;
  5769. long list_arg_count_1585X;
  5770. long list_args_1584X;
  5771. long stack_arg_count_1583X;
  5772. long obj_1582X;
  5773. char interruptP_1581X;
  5774. long protocol_1580X;
  5775. long code_1579X;
  5776. long template_1578X;
  5777. long obj_1577X;
  5778. long stack_arg_count_1576X;
  5779. long value_1575X;
  5780. long index_1574X;
  5781. long value_1573X;
  5782. long index_1572X;
  5783. long value_1571X;
  5784. long move_1570X;
  5785. long index_1569X;
  5786. long value_1568X;
  5787. long move_1567X;
  5788. long n_1566X;
  5789. long value_1565X;
  5790. long i_1564X;
  5791. char * addr_1563X;
  5792. long value_1562X;
  5793. long offset_1561X;
  5794. long i_1560X;
  5795. long count_1559X;
  5796. long total_count_1558X;
  5797. long offset_1557X;
  5798. long i_1556X;
  5799. long new_env_1555X;
  5800. char * addr_1554X;
  5801. long value_1553X;
  5802. long offset_1552X;
  5803. long i_1551X;
  5804. long count_1550X;
  5805. long total_count_1549X;
  5806. long offset_1548X;
  5807. long i_1547X;
  5808. long new_env_1546X;
  5809. long v_1545X;
  5810. long x_1544X;
  5811. long x_1543X;
  5812. long args_1542X;
  5813. long length_1541X;
  5814. char okayP_1540X;
  5815. long list_args_1539X;
  5816. long stack_nargs_1538X;
  5817. long maybe_cont_1537X;
  5818. long v_1536X;
  5819. long v_1535X;
  5820. long code_1534X;
  5821. long n_1533X;
  5822. char * addr_1532X;
  5823. long x_1531X;
  5824. long x_1530X;
  5825. long x_1529X;
  5826. char v_1528X;
  5827. long return_address_1527X;
  5828. long template_1526X;
  5829. long obj_1525X;
  5830. long stack_arg_count_1524X;
  5831. long tag_1523X;
  5832. long n_1522X;
  5833. char v_1521X;
  5834. char * addr_1520X;
  5835. long next_1519X;
  5836. long channel_1518X;
  5837. long n_1517X;
  5838. long x_1516X;
  5839. long n_1515X;
  5840. long x_1514X;
  5841. long handlers_1513X;
  5842. long m_1512X;
  5843. long i_1511X;
  5844. FILE * out_1510X;
  5845. long x_1509X;
  5846. long x_1508X;
  5847. long val_1507X;
  5848. long v_1506X;
  5849. long v_1505X;
  5850. long v_1504X;
  5851. long v_1503X;
  5852. long v_1502X;
  5853. long v_1501X;
  5854. long v_1500X;
  5855. long v_1499X;
  5856. long v_1498X;
  5857. long v_1497X;
  5858. long v_1496X;
  5859. long v_1495X;
  5860. long v_1494X;
  5861. long v_1493X;
  5862. long count_1492X;
  5863. long value_1491X;
  5864. char incompleteP_1490X;
  5865. char okP_1489X;
  5866. char encoding_okP_1488X;
  5867. long count_1487X;
  5868. long start_1486X;
  5869. long encoding_1485X;
  5870. long arg4_1484X;
  5871. long arg3_1483X;
  5872. long arg2_1482X;
  5873. long count_1481X;
  5874. long value_1480X;
  5875. char incompleteP_1479X;
  5876. char okP_1478X;
  5877. char encoding_okP_1477X;
  5878. long count_1476X;
  5879. long start_1475X;
  5880. long encoding_1474X;
  5881. long arg4_1473X;
  5882. long arg3_1472X;
  5883. long arg2_1471X;
  5884. long count_1470X;
  5885. char out_of_spaceP_1469X;
  5886. char okP_1468X;
  5887. char encoding_okP_1467X;
  5888. long count_1466X;
  5889. long start_1465X;
  5890. long value_1464X;
  5891. long encoding_1463X;
  5892. long arg5_1462X;
  5893. long arg4_1461X;
  5894. long arg3_1460X;
  5895. long arg2_1459X;
  5896. long count_1458X;
  5897. char out_of_spaceP_1457X;
  5898. char okP_1456X;
  5899. char encoding_okP_1455X;
  5900. long count_1454X;
  5901. long start_1453X;
  5902. long value_1452X;
  5903. long encoding_1451X;
  5904. long arg5_1450X;
  5905. long arg4_1449X;
  5906. long arg3_1448X;
  5907. long arg2_1447X;
  5908. long x_1446X;
  5909. long v_1445X;
  5910. long len_1444X;
  5911. long value_1443X;
  5912. long index_1442X;
  5913. long arg4_1441X;
  5914. long arg3_1440X;
  5915. long arg2_1439X;
  5916. long x_1438X;
  5917. long v_1437X;
  5918. long v_1436X;
  5919. long len_1435X;
  5920. long index_1434X;
  5921. long arg3_1433X;
  5922. long arg2_1432X;
  5923. long list_1431X;
  5924. long arg2_1430X;
  5925. long x_1429X;
  5926. long n_1428X;
  5927. long arg2_1427X;
  5928. long len_1426X;
  5929. long x_1425X;
  5930. long obj_1424X;
  5931. long arg2_1423X;
  5932. long x_1422X;
  5933. long arg2_1421X;
  5934. long x_1420X;
  5935. long status_1419X;
  5936. long value_1418X;
  5937. long key_1417X;
  5938. long arg2_1416X;
  5939. long x_1415X;
  5940. long val_1414X;
  5941. char *string_1413X;
  5942. long key_1412X;
  5943. long x_1411X;
  5944. long mseconds_1410X;
  5945. long seconds_1409X;
  5946. long mseconds_1408X;
  5947. long seconds_1407X;
  5948. long x_1406X;
  5949. long other_1405X;
  5950. long option_1404X;
  5951. long arg2_1403X;
  5952. long x_1402X;
  5953. long arg2_1401X;
  5954. long x_1400X;
  5955. long arg2_1399X;
  5956. long x_1398X;
  5957. long rest_list_1397X;
  5958. long p_1396X;
  5959. long nargs_1395X;
  5960. long p_1394X;
  5961. long x_1393X;
  5962. long arg2_1392X;
  5963. long x_1391X;
  5964. long p_1390X;
  5965. long v_1389X;
  5966. long v_1388X;
  5967. long template_1387X;
  5968. long return_address_1386X;
  5969. long v_1385X;
  5970. long p_1384X;
  5971. long v_1383X;
  5972. long v_1382X;
  5973. long code_1381X;
  5974. long pc_1380X;
  5975. long p_1379X;
  5976. long old_1378X;
  5977. long temp_1377X;
  5978. long obj_1376X;
  5979. long opcode_1375X;
  5980. long exception_1374X;
  5981. long code_1373X;
  5982. long data_1372X;
  5983. long opcode_1371X;
  5984. long pc_1370X;
  5985. long size_1369X;
  5986. long exception_1368X;
  5987. long code_1367X;
  5988. long data_1366X;
  5989. long temp_1365X;
  5990. long obj_1364X;
  5991. long val_1363X;
  5992. long x_1362X;
  5993. long x_1361X;
  5994. long type_1360X;
  5995. long x_1359X;
  5996. long x_1358X;
  5997. long bytes_1357X;
  5998. long x_1356X;
  5999. long other_1355X;
  6000. long key_1354X;
  6001. long arg2_1353X;
  6002. long x_1352X;
  6003. char * addr_1351X;
  6004. long b_1350X;
  6005. long x_1349X;
  6006. char * addr_1348X;
  6007. long proc_1347X;
  6008. long arg2_1346X;
  6009. long x_1345X;
  6010. long obj_1344X;
  6011. long status_1343X;
  6012. long status_1342X;
  6013. long status_1341X;
  6014. long status_1340X;
  6015. long status_1339X;
  6016. long status_1338X;
  6017. FILE * port_1337X;
  6018. long undumpables_1336X;
  6019. long obj_1335X;
  6020. long arg4_1334X;
  6021. long arg3_1333X;
  6022. long arg2_1332X;
  6023. long x_1331X;
  6024. long log_1330X;
  6025. long index_1329X;
  6026. long x_1328X;
  6027. long len_1327X;
  6028. long byte_1326X;
  6029. long index_1325X;
  6030. long arg3_1324X;
  6031. long arg2_1323X;
  6032. long log_1322X;
  6033. long index_1321X;
  6034. long x_1320X;
  6035. long len_1319X;
  6036. long index_1318X;
  6037. long arg2_1317X;
  6038. long v_1316X;
  6039. long count_1315X;
  6040. long to_index_1314X;
  6041. long from_index_1313X;
  6042. long arg5_1312X;
  6043. long arg4_1311X;
  6044. long arg3_1310X;
  6045. long arg2_1309X;
  6046. long v_1308X;
  6047. long x_1307X;
  6048. long offset_1306X;
  6049. long type_1305X;
  6050. long stob_1304X;
  6051. long log_1303X;
  6052. long proposal_1302X;
  6053. long proposal_1301X;
  6054. char * addr_1300X;
  6055. long next_1299X;
  6056. long channel_1298X;
  6057. long n_1297X;
  6058. char * addr_1296X;
  6059. long head_1295X;
  6060. long channel_1294X;
  6061. long obj_1293X;
  6062. long x_1292X;
  6063. long status_1291X;
  6064. char readyP_1290X;
  6065. long channel_1289X;
  6066. long obj_1288X;
  6067. long x_1287X;
  6068. char x_1286X;
  6069. long x_1285X;
  6070. long param_1284X;
  6071. long x_1283X;
  6072. char * addr_1282X;
  6073. char * addr_1281X;
  6074. long status_1280X;
  6075. char pendingP_1279X;
  6076. long got_1278X;
  6077. char v_1277X;
  6078. long count_1276X;
  6079. long start_1275X;
  6080. long arg4_1274X;
  6081. long arg3_1273X;
  6082. long arg2_1272X;
  6083. long x_1271X;
  6084. long arg5_1270X;
  6085. long arg4_1269X;
  6086. long arg3_1268X;
  6087. long arg2_1267X;
  6088. long x_1266X;
  6089. long status_1265X;
  6090. long channel_1264X;
  6091. long obj_1263X;
  6092. long x_1262X;
  6093. long close_silentlyP_1261X;
  6094. long mode_1260X;
  6095. long arg4_1259X;
  6096. long arg3_1258X;
  6097. long arg2_1257X;
  6098. long x_1256X;
  6099. long x_1255X;
  6100. long x_1254X;
  6101. long arg2_1253X;
  6102. long descriptor_1252X;
  6103. long x_1251X;
  6104. long obj_1250X;
  6105. long link_1249X;
  6106. long index_1248X;
  6107. long v_1247X;
  6108. long string_1246X;
  6109. long table_1245X;
  6110. long obj_1244X;
  6111. long y_1243X;
  6112. long y_1242X;
  6113. long count_1241X;
  6114. long to_index_1240X;
  6115. long from_index_1239X;
  6116. long arg5_1238X;
  6117. long arg4_1237X;
  6118. long arg3_1236X;
  6119. long arg2_1235X;
  6120. long len_1234X;
  6121. long Kchar_1233X;
  6122. long index_1232X;
  6123. long arg3_1231X;
  6124. long arg2_1230X;
  6125. long len_1229X;
  6126. long index_1228X;
  6127. long arg2_1227X;
  6128. long x_1226X;
  6129. long obj_1225X;
  6130. char * addr_1224X;
  6131. long len_1223X;
  6132. long init_1222X;
  6133. long len_1221X;
  6134. long arg2_1220X;
  6135. long len_1219X;
  6136. long Kchar_1218X;
  6137. long index_1217X;
  6138. long arg3_1216X;
  6139. long arg2_1215X;
  6140. long len_1214X;
  6141. long index_1213X;
  6142. long arg2_1212X;
  6143. long obj_1211X;
  6144. long x_1210X;
  6145. char * addr_1209X;
  6146. long init_1208X;
  6147. long len_1207X;
  6148. long arg2_1206X;
  6149. char * addr_1205X;
  6150. long v_1204X;
  6151. long index_1203X;
  6152. long len_1202X;
  6153. long type_1201X;
  6154. long value_1200X;
  6155. long arg3_1199X;
  6156. long arg2_1198X;
  6157. long v_1197X;
  6158. long v_1196X;
  6159. long index_1195X;
  6160. long len_1194X;
  6161. long type_1193X;
  6162. long index_1192X;
  6163. long arg2_1191X;
  6164. char * addr_1190X;
  6165. long len_1189X;
  6166. long len_1188X;
  6167. long type_1187X;
  6168. long init_1186X;
  6169. long arg2_1185X;
  6170. long v_1184X;
  6171. long offset_1183X;
  6172. long type_1182X;
  6173. long value_1181X;
  6174. long arg2_1180X;
  6175. long offset_1179X;
  6176. long type_1178X;
  6177. long stob_1177X;
  6178. long rest_list_1176X;
  6179. long stack_nargs_1175X;
  6180. long p_1174X;
  6181. long new_1173X;
  6182. char * addr_1172X;
  6183. long len_1171X;
  6184. long type_1170X;
  6185. long len_1169X;
  6186. long p_1168X;
  6187. long new_1167X;
  6188. char * addr_1166X;
  6189. long len_1165X;
  6190. long type_1164X;
  6191. long len_1163X;
  6192. long type_1162X;
  6193. long stob_1161X;
  6194. long type_1160X;
  6195. long x_1159X;
  6196. long x_1158X;
  6197. long x_1157X;
  6198. long x_1156X;
  6199. long x_1155X;
  6200. long x_1154X;
  6201. long x_1153X;
  6202. long x_1152X;
  6203. long arg2_1151X;
  6204. long x_1150X;
  6205. long arg2_1149X;
  6206. long x_1148X;
  6207. long v_1147X;
  6208. long v_1146X;
  6209. long y_1145X;
  6210. long arg2_1144X;
  6211. long y_1143X;
  6212. long arg2_1142X;
  6213. long y_1141X;
  6214. long arg2_1140X;
  6215. long y_1139X;
  6216. long arg2_1138X;
  6217. long x_1137X;
  6218. long x_1136X;
  6219. long x_1135X;
  6220. long x_1134X;
  6221. long arg2_1133X;
  6222. long x_1132X;
  6223. long arg2_1131X;
  6224. long x_1130X;
  6225. long arg2_1129X;
  6226. long x_1128X;
  6227. long x_1127X;
  6228. long x_1126X;
  6229. long x_1125X;
  6230. long x_1124X;
  6231. long x_1123X;
  6232. long x_1122X;
  6233. long x_1121X;
  6234. long x_1120X;
  6235. long x_1119X;
  6236. long x_1118X;
  6237. long n_1117X;
  6238. long n_1116X;
  6239. long n_1115X;
  6240. long n_1114X;
  6241. long n_1113X;
  6242. long a_1112X;
  6243. long val_1111X;
  6244. long y_1110X;
  6245. long arg2_1109X;
  6246. long b_1108X;
  6247. long a_1107X;
  6248. long val_1106X;
  6249. long y_1105X;
  6250. long arg2_1104X;
  6251. long y_1103X;
  6252. long arg2_1102X;
  6253. long y_1101X;
  6254. long arg2_1100X;
  6255. long y_1099X;
  6256. long arg2_1098X;
  6257. long y_1097X;
  6258. long arg2_1096X;
  6259. long y_1095X;
  6260. long arg2_1094X;
  6261. long b_1093X;
  6262. long a_1092X;
  6263. long y_1091X;
  6264. long arg2_1090X;
  6265. long x_1089X;
  6266. long y_1088X;
  6267. long arg2_1087X;
  6268. long b_1086X;
  6269. long a_1085X;
  6270. long y_1084X;
  6271. long arg2_1083X;
  6272. long x_1082X;
  6273. long y_1081X;
  6274. long arg2_1080X;
  6275. long x_1079X;
  6276. long x_1078X;
  6277. long n_1077X;
  6278. long n_1076X;
  6279. long x_1075X;
  6280. long x_1074X;
  6281. long arg2_1073X;
  6282. long rest_list_1072X;
  6283. long x_1071X;
  6284. long rest_list_1070X;
  6285. long stack_nargs_1069X;
  6286. long arg1_1068X;
  6287. long arg0_1067X;
  6288. long arg0_1066X;
  6289. long rest_list_1065X;
  6290. long stack_nargs_1064X;
  6291. long x_1063X;
  6292. long index_1062X;
  6293. long val_1061X;
  6294. long max_1060X;
  6295. long p_1059X;
  6296. char * code_pointer_1058X;
  6297. long return_pointer_offset_1057X;
  6298. long nargs_1056X;
  6299. long code_1055X;
  6300. long template_1054X;
  6301. long rest_list_1053X;
  6302. long stack_nargs_1052X;
  6303. long p_1051X;
  6304. long p_1050X;
  6305. long cont_1049X;
  6306. long v_1048X;
  6307. long rest_list_1047X;
  6308. long stack_nargs_1046X;
  6309. long p_1045X;
  6310. long x_1044X;
  6311. long args_1043X;
  6312. char * code_pointer_1042X;
  6313. long return_pointer_offset_1041X;
  6314. long length_1040X;
  6315. char okayP_1039X;
  6316. long stack_nargs_1038X;
  6317. long list_args_1037X;
  6318. char v_1036X;
  6319. char v_1035X;
  6320. char * code_pointer_1034X;
  6321. long return_pointer_offset_1033X;
  6322. long stack_arg_count_1032X;
  6323. char * code_pointer_1031X;
  6324. long stack_arg_count_1030X;
  6325. long v_1029X;
  6326. long n_moves_1028X;
  6327. long x_1027X;
  6328. long n_moves_1026X;
  6329. long x_1025X;
  6330. long x_1024X;
  6331. long x_1023X;
  6332. long x_1022X;
  6333. long x_1021X;
  6334. long value_1020X;
  6335. long x_1019X;
  6336. long closure_1018X;
  6337. char * addr_1017X;
  6338. long len_1016X;
  6339. long size_1015X;
  6340. long free_count_1014X;
  6341. char * addr_1013X;
  6342. long x_1012X;
  6343. long value_1011X;
  6344. char * addr_1010X;
  6345. long x_1009X;
  6346. long x_1008X;
  6347. long template_1007X;
  6348. long new_env_1006X;
  6349. char * addr_1005X;
  6350. long len_1004X;
  6351. long closures_1003X;
  6352. long total_count_1002X;
  6353. long template_1001X;
  6354. long new_env_1000X;
  6355. char * addr_999X;
  6356. long len_998X;
  6357. long closures_997X;
  6358. long total_count_996X;
  6359. char * addr_995X;
  6360. long val_994X;
  6361. long x_993X;
  6362. long location_992X;
  6363. long index_991X;
  6364. long template_990X;
  6365. long location_989X;
  6366. long index_988X;
  6367. long template_987X;
  6368. long x_986X;
  6369. long x_985X;
  6370. long n_984X;
  6371. char * code_pointer_983X;
  6372. long v_982X;
  6373. long code_981X;
  6374. long n_980X;
  6375. char * addr_979X;
  6376. long x_978X;
  6377. long x_977X;
  6378. long pc_976X;
  6379. long code_975X;
  6380. long x_974X;
  6381. char v_973X;
  6382. char v_972X;
  6383. long tag_971X;
  6384. long n_970X;
  6385. long v_969X;
  6386. char v_968X;
  6387. long x_967X;
  6388. long x_966X;
  6389. long x_965X;
  6390. long x_964X;
  6391. long x_963X;
  6392. long x_962X;
  6393. long x_961X;
  6394. long x_960X;
  6395. long spec_959X;
  6396. long needed_stack_space_958X;
  6397. long template_957X;
  6398. long used_956X;
  6399. long code_955X;
  6400. long v_954X;
  6401. long v_953X;
  6402. long code_952X;
  6403. long n_951X;
  6404. char * addr_950X;
  6405. long x_949X;
  6406. long x_948X;
  6407. long x_947X;
  6408. long protocol_skip_946X;
  6409. long final_stack_arg_count_945X;
  6410. char interruptP_944X;
  6411. long obj_943X;
  6412. long template_942X;
  6413. char v_941X;
  6414. char v_940X;
  6415. long skip_939X;
  6416. long skip_938X;
  6417. long x_937X;
  6418. long x_936X;
  6419. long x_935X;
  6420. long x_934X;
  6421. long x_933X;
  6422. long x_932X;
  6423. long x_931X;
  6424. long x_930X;
  6425. long spec_929X;
  6426. long template_928X;
  6427. long used_927X;
  6428. long envUtemp_offset_926X;
  6429. long code_925X;
  6430. long retval_924X;
  6431. long handlers_923X;
  6432. long opcode_922X;
  6433. long nargs_921X;
  6434. long v_920X;
  6435. long v_919X;
  6436. long v_918X;
  6437. long v_917X;
  6438. long index_916X;
  6439. long length_915X;
  6440. long v_914X;
  6441. long v_913X;
  6442. long v_912X;
  6443. long v_911X;
  6444. long v_910X;
  6445. long v_909X;
  6446. long wants_stack_args_908X;
  6447. long v_907X;
  6448. long v_906X;
  6449. long v_905X;
  6450. long v_904X;
  6451. long skip_903X;
  6452. char nativeP_902X;
  6453. long stack_space_901X;
  6454. long protocol_900X;
  6455. long v_899X;
  6456. long x_898X;
  6457. long args_897X;
  6458. long v_896X;
  6459. long list_arg_count_895X;
  6460. long list_args_894X;
  6461. long stack_arg_count_893X;
  6462. long exception_892X;
  6463. long total_arg_count_891X;
  6464. long code_890X;
  6465. long handler_tag_889X;
  6466. long list_arg_count_888X;
  6467. long list_args_887X;
  6468. long stack_arg_count_886X;
  6469. long obj_885X;
  6470. { if ((3 == (3 & proc_850X))) {
  6471. if ((3 == (31 & ((((*((long *) ((((char *) (-3 + proc_850X))) + -4))))>>2))))) {
  6472. SvalS = proc_850X;
  6473. obj_885X = SvalS;
  6474. if ((3 == (3 & obj_885X))) {
  6475. if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_885X))) + -4))))>>2))))) {
  6476. arg0K0 = nargs_851X;
  6477. arg0K1 = 25;
  6478. arg0K2 = 0;
  6479. arg0K3 = -1;
  6480. goto L59362;}
  6481. else {
  6482. arg0K0 = 3;
  6483. arg0K1 = nargs_851X;
  6484. arg0K2 = 25;
  6485. arg0K3 = 0;
  6486. goto L28999;}}
  6487. else {
  6488. arg0K0 = 3;
  6489. arg0K1 = nargs_851X;
  6490. arg0K2 = 25;
  6491. arg0K3 = 0;
  6492. goto L28999;}}
  6493. else {
  6494. goto L29159;}}
  6495. else {
  6496. goto L29159;}}
  6497. L59362: {
  6498. stack_arg_count_886X = arg0K0;
  6499. list_args_887X = arg0K1;
  6500. list_arg_count_888X = arg0K2;
  6501. handler_tag_889X = arg0K3;
  6502. code_890X = *((long *) (((char *) (-3 + (*((long *) (((char *) (-3 + (SvalS))))))))));
  6503. total_arg_count_891X = stack_arg_count_886X + list_arg_count_888X;
  6504. arg0K0 = (*((unsigned char *) ((((char *) (-3 + code_890X))) + 1)));
  6505. arg0K1 = 64;
  6506. arg3K2 = 0;
  6507. goto L59388;}
  6508. L28999: {
  6509. exception_892X = arg0K0;
  6510. stack_arg_count_893X = arg0K1;
  6511. list_args_894X = arg0K2;
  6512. list_arg_count_895X = arg0K3;
  6513. merged_arg0K0 = list_args_894X;
  6514. merged_arg0K1 = list_arg_count_895X;
  6515. copy_listSAgc_return_tag = 0;
  6516. goto copy_listSAgc;
  6517. copy_listSAgc_return_0:
  6518. v_896X = copy_listSAgc0_return_value;
  6519. merged_arg0K0 = v_896X;
  6520. merged_arg0K1 = stack_arg_count_893X;
  6521. pop_args_GlistSAgc_return_tag = 0;
  6522. goto pop_args_GlistSAgc;
  6523. pop_args_GlistSAgc_return_0:
  6524. args_897X = pop_args_GlistSAgc0_return_value;push_exception_setupB(exception_892X, 0);
  6525. x_898X = SvalS;
  6526. SstackS = ((SstackS) + -4);
  6527. *((long *) (SstackS)) = (long) (x_898X);
  6528. SstackS = ((SstackS) + -4);
  6529. *((long *) (SstackS)) = (long) (args_897X);
  6530. arg0K0 = 2;
  6531. goto L29309;}
  6532. L29159: {
  6533. ps_error("s48-restart called with non-procedure", 1, proc_850X);
  6534. return v_899X;}
  6535. L59388: {
  6536. protocol_900X = arg0K0;
  6537. stack_space_901X = arg0K1;
  6538. nativeP_902X = arg3K2;
  6539. if ((69 == protocol_900X)) {
  6540. if ((total_arg_count_891X < 3)) {
  6541. skip_903X = *((unsigned char *) ((((char *) (-3 + code_890X))) + (3 + total_arg_count_891X)));
  6542. if ((0 == skip_903X)) {
  6543. if ((-1 == handler_tag_889X)) {
  6544. arg0K0 = 4;
  6545. arg0K1 = stack_arg_count_886X;
  6546. arg0K2 = list_args_887X;
  6547. arg0K3 = list_arg_count_888X;
  6548. goto L28999;}
  6549. else {
  6550. if ((handler_tag_889X < 0)) {
  6551. ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_889X));
  6552. arg0K0 = v_904X;
  6553. goto L63848;}
  6554. else {
  6555. ps_error("wrong number of arguments to exception handler", 1, handler_tag_889X);
  6556. arg0K0 = v_905X;
  6557. goto L63848;}}}
  6558. else {
  6559. merged_arg0K0 = list_args_887X;
  6560. merged_arg0K1 = list_arg_count_888X;
  6561. push_list_return_tag = 0;
  6562. goto push_list;
  6563. push_list_return_0:
  6564. arg0K0 = code_890X;
  6565. arg0K1 = 6;
  6566. arg0K2 = skip_903X;
  6567. arg0K3 = (*((long *) (((char *) (-3 + (SvalS))))));
  6568. goto L28125;}}
  6569. else {
  6570. if ((0 == (*((unsigned char *) ((((char *) (-3 + code_890X))) + 2))))) {
  6571. if ((-1 == handler_tag_889X)) {
  6572. arg0K0 = 4;
  6573. arg0K1 = stack_arg_count_886X;
  6574. arg0K2 = list_args_887X;
  6575. arg0K3 = list_arg_count_888X;
  6576. goto L28999;}
  6577. else {
  6578. if ((handler_tag_889X < 0)) {
  6579. ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_889X));
  6580. arg0K0 = v_906X;
  6581. goto L63848;}
  6582. else {
  6583. ps_error("wrong number of arguments to exception handler", 1, handler_tag_889X);
  6584. arg0K0 = v_907X;
  6585. goto L63848;}}}
  6586. else {
  6587. arg0K0 = 6;
  6588. goto L59431;}}}
  6589. else {
  6590. if ((63 < protocol_900X)) {
  6591. if ((65 == protocol_900X)) {
  6592. wants_stack_args_908X = ((((*((unsigned char *) ((((char *) (-3 + code_890X))) + 2))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_890X))) + 3)));
  6593. if ((total_arg_count_891X < wants_stack_args_908X)) {
  6594. if ((-1 == handler_tag_889X)) {
  6595. arg0K0 = 4;
  6596. arg0K1 = stack_arg_count_886X;
  6597. arg0K2 = list_args_887X;
  6598. arg0K3 = list_arg_count_888X;
  6599. goto L28999;}
  6600. else {
  6601. if ((handler_tag_889X < 0)) {
  6602. ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_889X));
  6603. arg0K0 = v_909X;
  6604. goto L63848;}
  6605. else {
  6606. ps_error("wrong number of arguments to exception handler", 1, handler_tag_889X);
  6607. arg0K0 = v_910X;
  6608. goto L63848;}}}
  6609. else {
  6610. merged_arg0K0 = wants_stack_args_908X;
  6611. merged_arg0K1 = stack_arg_count_886X;
  6612. merged_arg0K2 = list_args_887X;
  6613. merged_arg0K3 = list_arg_count_888X;
  6614. rest_list_setupAgc_return_tag = 0;
  6615. goto rest_list_setupAgc;
  6616. rest_list_setupAgc_return_0:
  6617. arg0K0 = 4;
  6618. goto L59392;}}
  6619. else {
  6620. if ((68 == protocol_900X)) {
  6621. if ((total_arg_count_891X < (*((unsigned char *) ((((char *) (-3 + code_890X))) + 2))))) {
  6622. if ((-1 == handler_tag_889X)) {
  6623. arg0K0 = 4;
  6624. arg0K1 = stack_arg_count_886X;
  6625. arg0K2 = list_args_887X;
  6626. arg0K3 = list_arg_count_888X;
  6627. goto L28999;}
  6628. else {
  6629. if ((handler_tag_889X < 0)) {
  6630. ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_889X));
  6631. arg0K0 = v_911X;
  6632. goto L63848;}
  6633. else {
  6634. ps_error("wrong number of arguments to exception handler", 1, handler_tag_889X);
  6635. arg0K0 = v_912X;
  6636. goto L63848;}}}
  6637. else {
  6638. arg0K0 = 3;
  6639. goto L59431;}}
  6640. else {
  6641. if ((127 < protocol_900X)) {
  6642. arg0K0 = (127 & protocol_900X);
  6643. arg0K1 = stack_space_901X;
  6644. arg3K2 = 1;
  6645. goto L59388;}
  6646. else {
  6647. if ((64 == protocol_900X)) {
  6648. if (((((((*((unsigned char *) ((((char *) (-3 + code_890X))) + 2))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_890X))) + 3)))) == total_arg_count_891X)) {
  6649. if ((0 == list_arg_count_888X)) {
  6650. arg0K0 = 4;
  6651. goto L59392;}
  6652. else {
  6653. merged_arg0K0 = list_args_887X;
  6654. merged_arg0K1 = list_arg_count_888X;
  6655. push_list_return_tag = 1;
  6656. goto push_list;
  6657. push_list_return_1:
  6658. arg0K0 = 4;
  6659. goto L59392;}}
  6660. else {
  6661. if ((-1 == handler_tag_889X)) {
  6662. arg0K0 = 4;
  6663. arg0K1 = stack_arg_count_886X;
  6664. arg0K2 = list_args_887X;
  6665. arg0K3 = list_arg_count_888X;
  6666. goto L28999;}
  6667. else {
  6668. if ((handler_tag_889X < 0)) {
  6669. ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_889X));
  6670. arg0K0 = v_913X;
  6671. goto L63848;}
  6672. else {
  6673. ps_error("wrong number of arguments to exception handler", 1, handler_tag_889X);
  6674. arg0K0 = v_914X;
  6675. goto L63848;}}}}
  6676. else {
  6677. if ((67 == protocol_900X)) {
  6678. length_915X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + code_890X))) + -4))))>>8);
  6679. index_916X = -2 + length_915X;
  6680. arg0K0 = (*((unsigned char *) ((((char *) (-3 + code_890X))) + (-3 + length_915X))));
  6681. arg0K1 = (((((*((unsigned char *) ((((char *) (-3 + code_890X))) + index_916X))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_890X))) + (1 + index_916X)))));
  6682. arg3K2 = nativeP_902X;
  6683. goto L59388;}
  6684. else {
  6685. ps_error("unknown protocol", 1, protocol_900X);
  6686. if ((-1 == handler_tag_889X)) {
  6687. arg0K0 = 4;
  6688. arg0K1 = stack_arg_count_886X;
  6689. arg0K2 = list_args_887X;
  6690. arg0K3 = list_arg_count_888X;
  6691. goto L28999;}
  6692. else {
  6693. if ((handler_tag_889X < 0)) {
  6694. ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_889X));
  6695. arg0K0 = v_917X;
  6696. goto L63848;}
  6697. else {
  6698. ps_error("wrong number of arguments to exception handler", 1, handler_tag_889X);
  6699. arg0K0 = v_918X;
  6700. goto L63848;}}}}}}}}
  6701. else {
  6702. if ((protocol_900X == total_arg_count_891X)) {
  6703. if ((0 == list_arg_count_888X)) {
  6704. arg0K0 = 2;
  6705. goto L59392;}
  6706. else {
  6707. merged_arg0K0 = list_args_887X;
  6708. merged_arg0K1 = list_arg_count_888X;
  6709. push_list_return_tag = 2;
  6710. goto push_list;
  6711. push_list_return_2:
  6712. arg0K0 = 2;
  6713. goto L59392;}}
  6714. else {
  6715. if ((-1 == handler_tag_889X)) {
  6716. arg0K0 = 4;
  6717. arg0K1 = stack_arg_count_886X;
  6718. arg0K2 = list_args_887X;
  6719. arg0K3 = list_arg_count_888X;
  6720. goto L28999;}
  6721. else {
  6722. if ((handler_tag_889X < 0)) {
  6723. ps_error("wrong number of arguments to interrupt handler", 1, (-2 - handler_tag_889X));
  6724. arg0K0 = v_919X;
  6725. goto L63848;}
  6726. else {
  6727. ps_error("wrong number of arguments to exception handler", 1, handler_tag_889X);
  6728. arg0K0 = v_920X;
  6729. goto L63848;}}}}}}
  6730. L29309: {
  6731. nargs_921X = arg0K0;
  6732. opcode_922X = (((*((long *) ((SstackS) + (4 + (((nargs_921X)<<2)))))))>>2);
  6733. handlers_923X = SHARED_REF((Sexception_handlersS));
  6734. if ((3 == (3 & handlers_923X))) {
  6735. if ((2 == (31 & ((((*((long *) ((((char *) (-3 + handlers_923X))) + -4))))>>2))))) {
  6736. goto L29374;}
  6737. else {
  6738. goto L29457;}}
  6739. else {
  6740. goto L29457;}}
  6741. L63848: {
  6742. retval_924X = arg0K0;
  6743. SstackS = (ScontS);
  6744. return retval_924X;}
  6745. L28125: {
  6746. code_925X = arg0K0;
  6747. envUtemp_offset_926X = arg0K1;
  6748. used_927X = arg0K2;
  6749. template_928X = arg0K3;
  6750. spec_929X = *((unsigned char *) ((((char *) (-3 + code_925X))) + envUtemp_offset_926X));
  6751. if ((3 == spec_929X)) {
  6752. x_930X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
  6753. SstackS = ((SstackS) + -4);
  6754. *((long *) (SstackS)) = (long) (x_930X);
  6755. SstackS = ((SstackS) + -4);
  6756. *((long *) (SstackS)) = (long) (template_928X);
  6757. goto L28129;}
  6758. else {
  6759. if ((1 == spec_929X)) {
  6760. SstackS = ((SstackS) + -4);
  6761. *((long *) (SstackS)) = (long) (template_928X);
  6762. goto L28129;}
  6763. else {
  6764. if ((2 == spec_929X)) {
  6765. x_931X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
  6766. SstackS = ((SstackS) + -4);
  6767. *((long *) (SstackS)) = (long) (x_931X);
  6768. goto L28129;}
  6769. else {
  6770. if ((4 == spec_929X)) {
  6771. x_932X = SvalS;
  6772. SstackS = ((SstackS) + -4);
  6773. *((long *) (SstackS)) = (long) (x_932X);
  6774. goto L28129;}
  6775. else {
  6776. if ((6 == spec_929X)) {
  6777. x_933X = SvalS;
  6778. SstackS = ((SstackS) + -4);
  6779. *((long *) (SstackS)) = (long) (x_933X);
  6780. x_934X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
  6781. SstackS = ((SstackS) + -4);
  6782. *((long *) (SstackS)) = (long) (x_934X);
  6783. goto L28129;}
  6784. else {
  6785. if ((5 == spec_929X)) {
  6786. x_935X = SvalS;
  6787. SstackS = ((SstackS) + -4);
  6788. *((long *) (SstackS)) = (long) (x_935X);
  6789. SstackS = ((SstackS) + -4);
  6790. *((long *) (SstackS)) = (long) (template_928X);
  6791. goto L28129;}
  6792. else {
  6793. if ((7 == spec_929X)) {
  6794. x_936X = SvalS;
  6795. SstackS = ((SstackS) + -4);
  6796. *((long *) (SstackS)) = (long) (x_936X);
  6797. x_937X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
  6798. SstackS = ((SstackS) + -4);
  6799. *((long *) (SstackS)) = (long) (x_937X);
  6800. SstackS = ((SstackS) + -4);
  6801. *((long *) (SstackS)) = (long) (template_928X);
  6802. goto L28129;}
  6803. else {
  6804. goto L28129;}}}}}}}}
  6805. L59431: {
  6806. skip_938X = arg0K0;
  6807. if ((total_arg_count_891X < 3)) {
  6808. arg0K0 = total_arg_count_891X;
  6809. goto L59439;}
  6810. else {
  6811. if ((2 < stack_arg_count_886X)) {
  6812. arg0K0 = stack_arg_count_886X;
  6813. goto L59439;}
  6814. else {
  6815. arg0K0 = 2;
  6816. goto L59439;}}}
  6817. L59392: {
  6818. skip_939X = arg0K0;
  6819. if (nativeP_902X) {
  6820. merged_arg0K0 = stack_space_901X;
  6821. ensure_stack_spaceB_return_tag = 0;
  6822. goto ensure_stack_spaceB;
  6823. ensure_stack_spaceB_return_0:
  6824. v_940X = ensure_stack_spaceB0_return_value;
  6825. if (v_940X) {
  6826. pending_interruptP_return_tag = 0;
  6827. goto pending_interruptP;
  6828. pending_interruptP_return_0:
  6829. v_941X = pending_interruptP0_return_value;
  6830. if (v_941X) {
  6831. arg0K0 = skip_939X;
  6832. goto L28597;}
  6833. else {
  6834. goto L59559;}}
  6835. else {
  6836. goto L59559;}}
  6837. else {
  6838. template_942X = *((long *) (((char *) (-3 + (SvalS)))));
  6839. arg0K0 = (*((long *) (((char *) (-3 + template_942X)))));
  6840. arg0K1 = skip_939X;
  6841. arg0K2 = template_942X;
  6842. arg0K3 = stack_space_901X;
  6843. goto L32046;}}
  6844. L29374: {
  6845. SvalS = (*((long *) ((((char *) (-3 + handlers_923X))) + (((opcode_922X)<<2)))));
  6846. obj_943X = SvalS;
  6847. if ((3 == (3 & obj_943X))) {
  6848. if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_943X))) + -4))))>>2))))) {
  6849. goto L29391;}
  6850. else {
  6851. goto L29471;}}
  6852. else {
  6853. goto L29471;}}
  6854. L29457: {
  6855. merged_arg4K0 = "exception-handlers is not a vector";
  6856. loseD0_return_tag = 0;
  6857. goto loseD0;
  6858. loseD0_return_0:
  6859. goto L29374;}
  6860. L28129: {
  6861. Slast_code_calledS = code_925X;
  6862. Scode_pointerS = ((((char *) (-3 + code_925X))) + used_927X);
  6863. if (((SstackS) < (s48_Sstack_limitS))) {
  6864. interruptP_944X = (s48_Sstack_limitS) == (((char *) -1));
  6865. s48_Sstack_limitS = (Sreal_stack_limitS);
  6866. if (((SstackS) < (Sreal_stack_limitS))) {s48_copy_stack_into_heap();
  6867. if (((SstackS) < (Sreal_stack_limitS))) {
  6868. ps_error("VM's stack is too small (how can this happen?)", 0);
  6869. if (interruptP_944X) {
  6870. goto L28136;}
  6871. else {
  6872. goto L28143;}}
  6873. else {
  6874. if (interruptP_944X) {
  6875. goto L28136;}
  6876. else {
  6877. goto L28143;}}}
  6878. else {
  6879. if (interruptP_944X) {
  6880. goto L28136;}
  6881. else {
  6882. goto L28143;}}}
  6883. else {
  6884. goto L28143;}}
  6885. L59439: {
  6886. final_stack_arg_count_945X = arg0K0;
  6887. if ((stack_arg_count_886X < final_stack_arg_count_945X)) {
  6888. arg0K0 = final_stack_arg_count_945X;
  6889. goto L59443;}
  6890. else {
  6891. arg0K0 = stack_arg_count_886X;
  6892. goto L59443;}}
  6893. L28597: {
  6894. protocol_skip_946X = arg0K0;
  6895. SstackS = ((SstackS) + -4);
  6896. *((long *) (SstackS)) = (long) ((((protocol_skip_946X)<<2)));
  6897. x_947X = SvalS;
  6898. SstackS = ((SstackS) + -4);
  6899. *((long *) (SstackS)) = (long) (x_947X);
  6900. x_948X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  6901. SstackS = ((SstackS) + -4);
  6902. *((long *) (SstackS)) = (long) (x_948X);
  6903. x_949X = Scurrent_threadS;
  6904. addr_950X = (((char *) (-3 + x_949X))) + 12;S48_WRITE_BARRIER(x_949X, addr_950X, 1);
  6905. *((long *) addr_950X) = (long) (1);
  6906. n_951X = Senabled_interruptsS;
  6907. SstackS = ((SstackS) + -4);
  6908. *((long *) (SstackS)) = (long) ((((n_951X)<<2)));
  6909. code_952X = Sinterrupted_native_call_return_codeS;
  6910. v_953X = ((((ScontS) - (SstackS)))>>2);
  6911. SstackS = ((SstackS) + -4);
  6912. *((long *) (SstackS)) = (long) ((4 + (((v_953X)<<2))));
  6913. SstackS = ((SstackS) + -4);
  6914. *((long *) (SstackS)) = (long) ((((long) ((((char *) (-3 + code_952X))) + 13))));
  6915. ScontS = (SstackS);
  6916. goto L28331;}
  6917. L59559: {
  6918. v_954X = s48_call_native_procedure((SvalS), skip_939X);
  6919. arg0K0 = v_954X;
  6920. goto L58572;}
  6921. L32046: {
  6922. code_955X = arg0K0;
  6923. used_956X = arg0K1;
  6924. template_957X = arg0K2;
  6925. needed_stack_space_958X = arg0K3;
  6926. spec_959X = *((unsigned char *) ((((char *) (-3 + code_955X))) + used_956X));
  6927. if ((3 == spec_959X)) {
  6928. x_960X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
  6929. SstackS = ((SstackS) + -4);
  6930. *((long *) (SstackS)) = (long) (x_960X);
  6931. SstackS = ((SstackS) + -4);
  6932. *((long *) (SstackS)) = (long) (template_957X);
  6933. goto L32050;}
  6934. else {
  6935. if ((1 == spec_959X)) {
  6936. SstackS = ((SstackS) + -4);
  6937. *((long *) (SstackS)) = (long) (template_957X);
  6938. goto L32050;}
  6939. else {
  6940. if ((2 == spec_959X)) {
  6941. x_961X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
  6942. SstackS = ((SstackS) + -4);
  6943. *((long *) (SstackS)) = (long) (x_961X);
  6944. goto L32050;}
  6945. else {
  6946. if ((4 == spec_959X)) {
  6947. x_962X = SvalS;
  6948. SstackS = ((SstackS) + -4);
  6949. *((long *) (SstackS)) = (long) (x_962X);
  6950. goto L32050;}
  6951. else {
  6952. if ((6 == spec_959X)) {
  6953. x_963X = SvalS;
  6954. SstackS = ((SstackS) + -4);
  6955. *((long *) (SstackS)) = (long) (x_963X);
  6956. x_964X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
  6957. SstackS = ((SstackS) + -4);
  6958. *((long *) (SstackS)) = (long) (x_964X);
  6959. goto L32050;}
  6960. else {
  6961. if ((5 == spec_959X)) {
  6962. x_965X = SvalS;
  6963. SstackS = ((SstackS) + -4);
  6964. *((long *) (SstackS)) = (long) (x_965X);
  6965. SstackS = ((SstackS) + -4);
  6966. *((long *) (SstackS)) = (long) (template_957X);
  6967. goto L32050;}
  6968. else {
  6969. if ((7 == spec_959X)) {
  6970. x_966X = SvalS;
  6971. SstackS = ((SstackS) + -4);
  6972. *((long *) (SstackS)) = (long) (x_966X);
  6973. x_967X = *((long *) ((((char *) (-3 + (SvalS)))) + 4));
  6974. SstackS = ((SstackS) + -4);
  6975. *((long *) (SstackS)) = (long) (x_967X);
  6976. SstackS = ((SstackS) + -4);
  6977. *((long *) (SstackS)) = (long) (template_957X);
  6978. goto L32050;}
  6979. else {
  6980. goto L32050;}}}}}}}}
  6981. L29391: {
  6982. arg0K0 = (2 + nargs_921X);
  6983. arg0K1 = 25;
  6984. arg0K2 = 0;
  6985. arg0K3 = opcode_922X;
  6986. goto L59362;}
  6987. L29471: {
  6988. merged_arg4K0 = "exception handler is not a closure";
  6989. loseD0_return_tag = 1;
  6990. goto loseD0;
  6991. loseD0_return_1:
  6992. goto L29391;}
  6993. L28136: {
  6994. pending_interruptP_return_tag = 1;
  6995. goto pending_interruptP;
  6996. pending_interruptP_return_1:
  6997. v_968X = pending_interruptP0_return_value;
  6998. if (v_968X) {
  6999. goto L28508;}
  7000. else {
  7001. goto L28143;}}
  7002. L28143: {
  7003. arg2K0 = (Scode_pointerS);
  7004. goto L31612;}
  7005. L59443: {
  7006. v_969X = arg0K0;
  7007. merged_arg0K0 = v_969X;
  7008. merged_arg0K1 = stack_arg_count_886X;
  7009. merged_arg0K2 = list_args_887X;
  7010. merged_arg0K3 = list_arg_count_888X;
  7011. rest_list_setupAgc_return_tag = 1;
  7012. goto rest_list_setupAgc;
  7013. rest_list_setupAgc_return_1:
  7014. SstackS = ((SstackS) + -4);
  7015. *((long *) (SstackS)) = (long) ((((final_stack_arg_count_945X)<<2)));
  7016. SstackS = ((SstackS) + -4);
  7017. *((long *) (SstackS)) = (long) ((((total_arg_count_891X)<<2)));
  7018. arg0K0 = skip_938X;
  7019. goto L59392;}
  7020. L28331: {
  7021. n_970X = (Spending_interruptsS) & (Senabled_interruptsS);
  7022. arg0K0 = 0;
  7023. arg0K1 = 1;
  7024. goto L28384;}
  7025. L58572: {
  7026. tag_971X = arg0K0;
  7027. arg0K0 = tag_971X;
  7028. goto L58576;}
  7029. L32050: {
  7030. Slast_code_calledS = code_955X;
  7031. Scode_pointerS = ((((char *) (-3 + code_955X))) + (1 + used_956X));
  7032. merged_arg0K0 = needed_stack_space_958X;
  7033. ensure_stack_spaceB_return_tag = 1;
  7034. goto ensure_stack_spaceB;
  7035. ensure_stack_spaceB_return_1:
  7036. v_972X = ensure_stack_spaceB0_return_value;
  7037. if (v_972X) {
  7038. pending_interruptP_return_tag = 2;
  7039. goto pending_interruptP;
  7040. pending_interruptP_return_2:
  7041. v_973X = pending_interruptP0_return_value;
  7042. if (v_973X) {
  7043. goto L28508;}
  7044. else {
  7045. goto L32064;}}
  7046. else {
  7047. goto L32064;}}
  7048. L28508: {
  7049. x_974X = SvalS;
  7050. SstackS = ((SstackS) + -4);
  7051. *((long *) (SstackS)) = (long) (x_974X);
  7052. code_975X = current_code_vector();
  7053. pc_976X = (Scode_pointerS) - (((char *) (-3 + code_975X)));
  7054. SstackS = ((SstackS) + -4);
  7055. *((long *) (SstackS)) = (long) (code_975X);
  7056. SstackS = ((SstackS) + -4);
  7057. *((long *) (SstackS)) = (long) ((((pc_976X)<<2)));
  7058. x_977X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  7059. SstackS = ((SstackS) + -4);
  7060. *((long *) (SstackS)) = (long) (x_977X);
  7061. x_978X = Scurrent_threadS;
  7062. addr_979X = (((char *) (-3 + x_978X))) + 12;S48_WRITE_BARRIER(x_978X, addr_979X, 1);
  7063. *((long *) addr_979X) = (long) (1);
  7064. n_980X = Senabled_interruptsS;
  7065. SstackS = ((SstackS) + -4);
  7066. *((long *) (SstackS)) = (long) ((((n_980X)<<2)));
  7067. code_981X = Sinterrupted_byte_opcode_return_codeS;
  7068. v_982X = ((((ScontS) - (SstackS)))>>2);
  7069. SstackS = ((SstackS) + -4);
  7070. *((long *) (SstackS)) = (long) ((4 + (((v_982X)<<2))));
  7071. SstackS = ((SstackS) + -4);
  7072. *((long *) (SstackS)) = (long) ((((long) ((((char *) (-3 + code_981X))) + 13))));
  7073. ScontS = (SstackS);
  7074. goto L28331;}
  7075. L31612: {
  7076. code_pointer_983X = arg2K0;
  7077. switch ((*((unsigned char *) code_pointer_983X))) {
  7078. case 0 :
  7079. case 31 :
  7080. case 42 : {push_exception_setupB(14, 1);
  7081. n_984X = *((unsigned char *) (Scode_pointerS));
  7082. SstackS = ((SstackS) + -4);
  7083. *((long *) (SstackS)) = (long) ((((n_984X)<<2)));
  7084. arg0K0 = 1;
  7085. goto L29309;}
  7086. break;
  7087. case 1 : {
  7088. SvalS = (-512 + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)));
  7089. Scode_pointerS = ((Scode_pointerS) + 2);
  7090. arg2K0 = (Scode_pointerS);
  7091. goto L31612;}
  7092. break;
  7093. case 2 : {
  7094. x_985X = SvalS;
  7095. SstackS = ((SstackS) + -4);
  7096. *((long *) (SstackS)) = (long) (x_985X);
  7097. SvalS = (-512 + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)));
  7098. Scode_pointerS = ((Scode_pointerS) + 2);
  7099. arg2K0 = (Scode_pointerS);
  7100. goto L31612;}
  7101. break;
  7102. case 3 : {
  7103. x_986X = -512 + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2));
  7104. SstackS = ((SstackS) + -4);
  7105. *((long *) (SstackS)) = (long) (x_986X);
  7106. Scode_pointerS = ((Scode_pointerS) + 2);
  7107. arg2K0 = (Scode_pointerS);
  7108. goto L31612;}
  7109. break;
  7110. case 4 : {
  7111. template_987X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2))));
  7112. index_988X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)));
  7113. location_989X = *((long *) ((((char *) (-3 + template_987X))) + (((index_988X)<<2))));
  7114. SvalS = (*((long *) ((((char *) (-3 + location_989X))) + 4)));
  7115. if ((17 == (255 & (SvalS)))) {push_exception_setupB(1, 5);
  7116. SstackS = ((SstackS) + -4);
  7117. *((long *) (SstackS)) = (long) (location_989X);
  7118. SstackS = ((SstackS) + -4);
  7119. *((long *) (SstackS)) = (long) (template_987X);
  7120. SstackS = ((SstackS) + -4);
  7121. *((long *) (SstackS)) = (long) ((((index_988X)<<2)));
  7122. arg0K0 = 3;
  7123. goto L29309;}
  7124. else {
  7125. Scode_pointerS = ((Scode_pointerS) + 5);
  7126. arg2K0 = (Scode_pointerS);
  7127. goto L31612;}}
  7128. break;
  7129. case 5 : {
  7130. template_990X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2))));
  7131. index_991X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)));
  7132. location_992X = *((long *) ((((char *) (-3 + template_990X))) + (((index_991X)<<2))));
  7133. if ((273 == (*((long *) ((((char *) (-3 + location_992X))) + 4))))) {push_exception_setupB(1, 5);
  7134. SstackS = ((SstackS) + -4);
  7135. *((long *) (SstackS)) = (long) (location_992X);
  7136. SstackS = ((SstackS) + -4);
  7137. *((long *) (SstackS)) = (long) (template_990X);
  7138. SstackS = ((SstackS) + -4);
  7139. *((long *) (SstackS)) = (long) ((((index_991X)<<2)));
  7140. x_993X = SvalS;
  7141. SstackS = ((SstackS) + -4);
  7142. *((long *) (SstackS)) = (long) (x_993X);
  7143. arg0K0 = 4;
  7144. goto L29309;}
  7145. else {
  7146. val_994X = SvalS;
  7147. addr_995X = (((char *) (-3 + location_992X))) + 4;S48_WRITE_BARRIER(location_992X, addr_995X, val_994X);
  7148. *((long *) addr_995X) = (long) (val_994X);
  7149. SvalS = 13;
  7150. Scode_pointerS = ((Scode_pointerS) + 5);
  7151. arg2K0 = (Scode_pointerS);
  7152. goto L31612;}}
  7153. break;
  7154. case 6 : {
  7155. total_count_996X = *((unsigned char *) ((Scode_pointerS) + 1));
  7156. closures_997X = *((unsigned char *) ((Scode_pointerS) + 2));s48_make_availableAgc((((((1 + total_count_996X) + (3 * closures_997X)))<<2)));
  7157. len_998X = ((total_count_996X)<<2);
  7158. addr_999X = s48_allocate_small((4 + len_998X));
  7159. *((long *) addr_999X) = (long) ((10 + (((len_998X)<<8))));
  7160. new_env_1000X = 3 + (((long) (addr_999X + 4)));
  7161. if ((0 == closures_997X)) {
  7162. arg0K0 = new_env_1000X;
  7163. arg0K1 = 0;
  7164. arg0K2 = 2;
  7165. arg0K3 = total_count_996X;
  7166. goto L11335;}
  7167. else {
  7168. template_1001X = *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<2))));
  7169. arg0K0 = closures_997X;
  7170. arg0K1 = 0;
  7171. arg0K2 = 3;
  7172. goto L21803;}}
  7173. break;
  7174. case 7 : {
  7175. total_count_1002X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
  7176. closures_1003X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)));s48_make_availableAgc((((((1 + total_count_1002X) + (3 * closures_1003X)))<<2)));
  7177. len_1004X = ((total_count_1002X)<<2);
  7178. addr_1005X = s48_allocate_small((4 + len_1004X));
  7179. *((long *) addr_1005X) = (long) ((10 + (((len_1004X)<<8))));
  7180. new_env_1006X = 3 + (((long) (addr_1005X + 4)));
  7181. if ((0 == closures_1003X)) {
  7182. arg0K0 = new_env_1006X;
  7183. arg0K1 = 0;
  7184. arg0K2 = 4;
  7185. arg0K3 = total_count_1002X;
  7186. goto L14085;}
  7187. else {
  7188. template_1007X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 5))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 6)))))<<2))));
  7189. arg0K0 = closures_1003X;
  7190. arg0K1 = 0;
  7191. arg0K2 = 6;
  7192. goto L21864;}}
  7193. break;
  7194. case 8 : {
  7195. x_1008X = SvalS;
  7196. x_1009X = *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2))));
  7197. addr_1010X = (((char *) (-3 + x_1009X))) + ((((*((unsigned char *) ((Scode_pointerS) + 2))))<<2));S48_WRITE_BARRIER(x_1009X, addr_1010X, x_1008X);
  7198. *((long *) addr_1010X) = (long) (x_1008X);
  7199. SvalS = 13;
  7200. Scode_pointerS = ((Scode_pointerS) + 3);
  7201. arg2K0 = (Scode_pointerS);
  7202. goto L31612;}
  7203. break;
  7204. case 9 : {
  7205. value_1011X = SvalS;
  7206. x_1012X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2))));
  7207. addr_1013X = (((char *) (-3 + x_1012X))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 2))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 3)))))<<2));S48_WRITE_BARRIER(x_1012X, addr_1013X, value_1011X);
  7208. *((long *) addr_1013X) = (long) (value_1011X);
  7209. SvalS = 13;
  7210. Scode_pointerS = ((Scode_pointerS) + 5);
  7211. arg2K0 = (Scode_pointerS);
  7212. goto L31612;}
  7213. break;
  7214. case 10 : {
  7215. SvalS = (*((long *) ((((char *) (-3 + (*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))))))) + ((((*((unsigned char *) ((Scode_pointerS) + 2))))<<2)))));
  7216. Scode_pointerS = ((Scode_pointerS) + 3);
  7217. arg2K0 = (Scode_pointerS);
  7218. goto L31612;}
  7219. break;
  7220. case 11 : {
  7221. SvalS = (*((long *) ((((char *) (-3 + (*((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2)))))))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)))))<<2)))));
  7222. Scode_pointerS = ((Scode_pointerS) + 5);
  7223. arg2K0 = (Scode_pointerS);
  7224. goto L31612;}
  7225. break;
  7226. case 12 : {
  7227. free_count_1014X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
  7228. size_1015X = 1 + free_count_1014X;s48_make_availableAgc((4 + (((size_1015X)<<2))));
  7229. len_1016X = ((size_1015X)<<2);
  7230. addr_1017X = s48_allocate_small((4 + len_1016X));
  7231. *((long *) addr_1017X) = (long) ((14 + (((len_1016X)<<8))));
  7232. closure_1018X = 3 + (((long) (addr_1017X + 4)));
  7233. *((long *) (((char *) (-3 + closure_1018X)))) = (long) ((SvalS));
  7234. arg0K0 = free_count_1014X;
  7235. goto L34245;}
  7236. break;
  7237. case 13 : {
  7238. x_1019X = SvalS;
  7239. SstackS = ((SstackS) + -4);
  7240. *((long *) (SstackS)) = (long) (x_1019X);
  7241. Scode_pointerS = ((Scode_pointerS) + 1);
  7242. arg2K0 = (Scode_pointerS);
  7243. goto L31612;}
  7244. break;
  7245. case 14 : {
  7246. SstackS = ((SstackS) + -4);
  7247. *((long *) (SstackS)) = (long) (1);
  7248. Scode_pointerS = ((Scode_pointerS) + 1);
  7249. arg2K0 = (Scode_pointerS);
  7250. goto L31612;}
  7251. break;
  7252. case 15 : {
  7253. value_1020X = *((long *) (SstackS));
  7254. SstackS = ((SstackS) + 4);
  7255. SvalS = value_1020X;
  7256. Scode_pointerS = ((Scode_pointerS) + 1);
  7257. arg2K0 = (Scode_pointerS);
  7258. goto L31612;}
  7259. break;
  7260. case 16 : {
  7261. SstackS = ((SstackS) + (0 - ((((0 - (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))))))<<2))));
  7262. Scode_pointerS = ((Scode_pointerS) + 3);
  7263. arg2K0 = (Scode_pointerS);
  7264. goto L31612;}
  7265. break;
  7266. case 17 : {
  7267. arg0K0 = (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))));
  7268. goto L60137;}
  7269. break;
  7270. case 18 : {
  7271. SvalS = (*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))));
  7272. Scode_pointerS = ((Scode_pointerS) + 2);
  7273. arg2K0 = (Scode_pointerS);
  7274. goto L31612;}
  7275. break;
  7276. case 19 : {
  7277. x_1021X = SvalS;
  7278. SstackS = ((SstackS) + -4);
  7279. *((long *) (SstackS)) = (long) (x_1021X);
  7280. SvalS = (*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))));
  7281. Scode_pointerS = ((Scode_pointerS) + 2);
  7282. arg2K0 = (Scode_pointerS);
  7283. goto L31612;}
  7284. break;
  7285. case 20 : {
  7286. x_1022X = *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2))));
  7287. SstackS = ((SstackS) + -4);
  7288. *((long *) (SstackS)) = (long) (x_1022X);
  7289. Scode_pointerS = ((Scode_pointerS) + 2);
  7290. arg2K0 = (Scode_pointerS);
  7291. goto L31612;}
  7292. break;
  7293. case 21 : {
  7294. SvalS = (*((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2)))));
  7295. Scode_pointerS = ((Scode_pointerS) + 3);
  7296. arg2K0 = (Scode_pointerS);
  7297. goto L31612;}
  7298. break;
  7299. case 22 : {
  7300. *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))) = (long) ((SvalS));
  7301. Scode_pointerS = ((Scode_pointerS) + 2);
  7302. arg2K0 = (Scode_pointerS);
  7303. goto L31612;}
  7304. break;
  7305. case 23 : {
  7306. *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2)))) = (long) ((SvalS));
  7307. Scode_pointerS = ((Scode_pointerS) + 3);
  7308. arg2K0 = (Scode_pointerS);
  7309. goto L31612;}
  7310. break;
  7311. case 24 : {
  7312. SvalS = (*((long *) ((((char *) (-3 + (*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))))))) + ((((*((unsigned char *) ((Scode_pointerS) + 2))))<<2)))));
  7313. Scode_pointerS = ((Scode_pointerS) + 3);
  7314. arg2K0 = (Scode_pointerS);
  7315. goto L31612;}
  7316. break;
  7317. case 25 : {
  7318. x_1023X = SvalS;
  7319. SstackS = ((SstackS) + -4);
  7320. *((long *) (SstackS)) = (long) (x_1023X);
  7321. SvalS = (*((long *) ((((char *) (-3 + (*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))))))) + ((((*((unsigned char *) ((Scode_pointerS) + 2))))<<2)))));
  7322. Scode_pointerS = ((Scode_pointerS) + 3);
  7323. arg2K0 = (Scode_pointerS);
  7324. goto L31612;}
  7325. break;
  7326. case 26 : {
  7327. x_1024X = *((long *) ((((char *) (-3 + (*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<2)))))))) + ((((*((unsigned char *) ((Scode_pointerS) + 2))))<<2))));
  7328. SstackS = ((SstackS) + -4);
  7329. *((long *) (SstackS)) = (long) (x_1024X);
  7330. Scode_pointerS = ((Scode_pointerS) + 3);
  7331. arg2K0 = (Scode_pointerS);
  7332. goto L31612;}
  7333. break;
  7334. case 27 : {
  7335. SvalS = (*((long *) ((((char *) (-3 + (*((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))))<<2)))))))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)))))<<2)))));
  7336. Scode_pointerS = ((Scode_pointerS) + 5);
  7337. arg2K0 = (Scode_pointerS);
  7338. goto L31612;}
  7339. break;
  7340. case 28 : {
  7341. x_1025X = SvalS;
  7342. SstackS = ((SstackS) + -4);
  7343. *((long *) (SstackS)) = (long) (x_1025X);
  7344. n_moves_1026X = *((unsigned char *) ((Scode_pointerS) + 1));
  7345. arg0K0 = 0;
  7346. goto L33579;}
  7347. break;
  7348. case 29 : {
  7349. x_1027X = SvalS;
  7350. SstackS = ((SstackS) + -4);
  7351. *((long *) (SstackS)) = (long) (x_1027X);
  7352. n_moves_1028X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
  7353. arg0K0 = 0;
  7354. goto L33496;}
  7355. break;
  7356. case 30 : {s48_make_availableAgc(((((-4 & ((Sstack_endS) - (SstackS))))<<2)));
  7357. if ((1 == (((long) (ScontS))))) {
  7358. arg0K0 = 1;
  7359. goto L60206;}
  7360. else {
  7361. v_1029X = really_preserve_continuation(0);
  7362. arg0K0 = v_1029X;
  7363. goto L60206;}}
  7364. break;
  7365. case 32 : {
  7366. stack_arg_count_1030X = *((unsigned char *) ((Scode_pointerS) + 3));
  7367. code_pointer_1031X = (Scode_pointerS) + (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))));
  7368. ScontS = ((SstackS) + (((stack_arg_count_1030X)<<2)));
  7369. *((long *) (ScontS)) = (long) ((((long) code_pointer_1031X)));
  7370. arg0K0 = stack_arg_count_1030X;
  7371. goto L59289;}
  7372. break;
  7373. case 33 : {
  7374. merged_arg0K0 = (*((unsigned char *) ((Scode_pointerS) + 1)));
  7375. move_args_above_contB_return_tag = 0;
  7376. goto move_args_above_contB;
  7377. move_args_above_contB_return_0:
  7378. arg0K0 = (*((unsigned char *) ((Scode_pointerS) + 1)));
  7379. goto L59289;}
  7380. break;
  7381. case 34 : {
  7382. stack_arg_count_1032X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)));
  7383. return_pointer_offset_1033X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
  7384. if ((0 == return_pointer_offset_1033X)) {
  7385. merged_arg0K0 = stack_arg_count_1032X;
  7386. move_args_above_contB_return_tag = 1;
  7387. goto move_args_above_contB;
  7388. move_args_above_contB_return_1:
  7389. goto L29112;}
  7390. else {
  7391. code_pointer_1034X = (Scode_pointerS) + return_pointer_offset_1033X;
  7392. ScontS = ((SstackS) + (((stack_arg_count_1032X)<<2)));
  7393. *((long *) (ScontS)) = (long) ((((long) code_pointer_1034X)));
  7394. goto L29112;}}
  7395. break;
  7396. case 35 : {
  7397. v_1035X = (s48_Sstack_limitS) == (((char *) -1));
  7398. if (v_1035X) {
  7399. pending_interruptP_return_tag = 3;
  7400. goto pending_interruptP;
  7401. pending_interruptP_return_3:
  7402. v_1036X = pending_interruptP0_return_value;
  7403. if (v_1036X) {
  7404. goto L28508;}
  7405. else {
  7406. goto L60232;}}
  7407. else {
  7408. goto L60232;}}
  7409. break;
  7410. case 36 : {
  7411. list_args_1037X = *((long *) (SstackS));
  7412. SstackS = ((SstackS) + 4);
  7413. stack_nargs_1038X = ((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)));
  7414. merged_arg0K0 = list_args_1037X;
  7415. okay_argument_list_return_tag = 0;
  7416. goto okay_argument_list;
  7417. okay_argument_list_return_0:
  7418. okayP_1039X = okay_argument_list0_return_value;
  7419. length_1040X = okay_argument_list1_return_value;
  7420. if (okayP_1039X) {
  7421. return_pointer_offset_1041X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
  7422. if ((0 == return_pointer_offset_1041X)) {
  7423. merged_arg0K0 = stack_nargs_1038X;
  7424. move_args_above_contB_return_tag = 2;
  7425. goto move_args_above_contB;
  7426. move_args_above_contB_return_2:
  7427. arg0K0 = stack_nargs_1038X;
  7428. arg0K1 = list_args_1037X;
  7429. arg0K2 = length_1040X;
  7430. goto L58313;}
  7431. else {
  7432. code_pointer_1042X = (Scode_pointerS) + return_pointer_offset_1041X;
  7433. ScontS = ((SstackS) + (((stack_nargs_1038X)<<2)));
  7434. *((long *) (ScontS)) = (long) ((((long) code_pointer_1042X)));
  7435. arg0K0 = stack_nargs_1038X;
  7436. arg0K1 = list_args_1037X;
  7437. arg0K2 = length_1040X;
  7438. goto L58313;}}
  7439. else {
  7440. merged_arg0K0 = list_args_1037X;
  7441. merged_arg0K1 = stack_nargs_1038X;
  7442. pop_args_GlistSAgc_return_tag = 1;
  7443. goto pop_args_GlistSAgc;
  7444. pop_args_GlistSAgc_return_1:
  7445. args_1043X = pop_args_GlistSAgc0_return_value;push_exception_setupB(5, 0);
  7446. x_1044X = SvalS;
  7447. SstackS = ((SstackS) + -4);
  7448. *((long *) (SstackS)) = (long) (x_1044X);
  7449. SstackS = ((SstackS) + -4);
  7450. *((long *) (SstackS)) = (long) (args_1043X);
  7451. arg0K0 = 2;
  7452. goto L29309;}}
  7453. break;
  7454. case 37 : {
  7455. SstackS = ((SstackS) + 4);
  7456. p_1045X = *((long *) (SstackS));
  7457. SstackS = ((SstackS) + 4);
  7458. stack_nargs_1046X = ((p_1045X)>>2);
  7459. SvalS = (*((long *) ((SstackS) + (((stack_nargs_1046X)<<2)))));
  7460. merged_arg0K0 = stack_nargs_1046X;
  7461. move_args_above_contB_return_tag = 3;
  7462. goto move_args_above_contB;
  7463. move_args_above_contB_return_3:
  7464. rest_list_1047X = *((long *) (SstackS));
  7465. SstackS = ((SstackS) + 4);
  7466. if ((25 == rest_list_1047X)) {
  7467. v_1048X = *((long *) (SstackS));
  7468. SstackS = ((SstackS) + 4);
  7469. arg0K0 = v_1048X;
  7470. arg0K1 = (-2 + stack_nargs_1046X);
  7471. goto L20800;}
  7472. else {
  7473. if ((25 == (*((long *) ((((char *) (-3 + rest_list_1047X))) + 4))))) {
  7474. arg0K0 = (*((long *) (((char *) (-3 + rest_list_1047X)))));
  7475. arg0K1 = (-1 + stack_nargs_1046X);
  7476. goto L20800;}
  7477. else {
  7478. arg0K0 = (*((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + rest_list_1047X))) + 4)))))) + 4)));
  7479. arg0K1 = rest_list_1047X;
  7480. goto L20845;}}}
  7481. break;
  7482. case 38 : {
  7483. cont_1049X = *((long *) (SstackS));
  7484. SstackS = ((SstackS) + 4);
  7485. if ((3 == (3 & cont_1049X))) {
  7486. if ((10 == (31 & ((((*((long *) ((((char *) (-3 + cont_1049X))) + -4))))>>2))))) {
  7487. merged_arg0K0 = cont_1049X;
  7488. merged_arg0K1 = 0;
  7489. copy_continuation_from_heapB_return_tag = 0;
  7490. goto copy_continuation_from_heapB;
  7491. copy_continuation_from_heapB_return_0:
  7492. goto L29070;}
  7493. else {
  7494. goto L29079;}}
  7495. else {
  7496. goto L29079;}}
  7497. break;
  7498. case 39 : {
  7499. goto L58900;}
  7500. break;
  7501. case 40 : {
  7502. arg0K0 = (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))));
  7503. arg0K1 = 25;
  7504. arg0K2 = 0;
  7505. goto L28737;}
  7506. break;
  7507. case 41 : {
  7508. p_1050X = *((long *) (SstackS));
  7509. SstackS = ((SstackS) + 4);
  7510. p_1051X = *((long *) (SstackS));
  7511. SstackS = ((SstackS) + 4);
  7512. stack_nargs_1052X = ((p_1051X)>>2);
  7513. rest_list_1053X = *((long *) (SstackS));
  7514. SstackS = ((SstackS) + 4);
  7515. arg0K0 = stack_nargs_1052X;
  7516. arg0K1 = rest_list_1053X;
  7517. arg0K2 = ((((p_1050X)>>2)) - stack_nargs_1052X);
  7518. goto L28737;}
  7519. break;
  7520. case 43 : {
  7521. template_1054X = *((long *) ((((char *) (-3 + (*((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + 3))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 4)))))<<2)))))))) + ((((((((*((unsigned char *) ((Scode_pointerS) + 5))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 6)))))<<2))));
  7522. code_1055X = *((long *) (((char *) (-3 + template_1054X))));
  7523. nargs_1056X = *((unsigned char *) ((Scode_pointerS) + 7));
  7524. return_pointer_offset_1057X = ((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)));
  7525. if ((0 == return_pointer_offset_1057X)) {
  7526. merged_arg0K0 = nargs_1056X;
  7527. move_args_above_contB_return_tag = 4;
  7528. goto move_args_above_contB;
  7529. move_args_above_contB_return_4:
  7530. goto L33230;}
  7531. else {
  7532. code_pointer_1058X = (Scode_pointerS) + return_pointer_offset_1057X;
  7533. ScontS = ((SstackS) + (((nargs_1056X)<<2)));
  7534. *((long *) (ScontS)) = (long) ((((long) code_pointer_1058X)));
  7535. goto L33230;}}
  7536. break;
  7537. case 44 : {
  7538. if ((1 == (SvalS))) {
  7539. Scode_pointerS = ((Scode_pointerS) + (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))));
  7540. arg2K0 = (Scode_pointerS);
  7541. goto L31612;}
  7542. else {
  7543. Scode_pointerS = ((Scode_pointerS) + 3);
  7544. arg2K0 = (Scode_pointerS);
  7545. goto L31612;}}
  7546. break;
  7547. case 45 : {
  7548. Scode_pointerS = ((Scode_pointerS) + (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2)))));
  7549. arg2K0 = (Scode_pointerS);
  7550. goto L31612;}
  7551. break;
  7552. case 46 : {
  7553. Scode_pointerS = ((Scode_pointerS) + (0 - (((((*((unsigned char *) ((Scode_pointerS) + 1))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + 2))))));
  7554. arg2K0 = (Scode_pointerS);
  7555. goto L31612;}
  7556. break;
  7557. case 47 : {
  7558. if ((0 == (3 & (SvalS)))) {
  7559. p_1059X = SvalS;
  7560. max_1060X = *((unsigned char *) ((Scode_pointerS) + 1));
  7561. val_1061X = ((p_1059X)>>2);
  7562. if ((val_1061X < 0)) {
  7563. goto L31921;}
  7564. else {
  7565. if ((val_1061X < max_1060X)) {
  7566. index_1062X = 1 + (((val_1061X)<<1));
  7567. arg0K0 = (((((*((unsigned char *) ((Scode_pointerS) + (1 + index_1062X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + index_1062X)))));
  7568. goto L31923;}
  7569. else {
  7570. goto L31921;}}}
  7571. else {push_exception_setupB(5, 0);
  7572. x_1063X = SvalS;
  7573. SstackS = ((SstackS) + -4);
  7574. *((long *) (SstackS)) = (long) (x_1063X);
  7575. arg0K0 = 1;
  7576. goto L29309;}}
  7577. break;
  7578. case 48 : {
  7579. stack_nargs_1064X = (((*((long *) (SstackS))))>>2);
  7580. if ((0 == stack_nargs_1064X)) {
  7581. rest_list_1065X = *((long *) ((SstackS) + 4));
  7582. arg0_1066X = *((long *) ((SstackS) + 8));
  7583. SstackS = ((SstackS) + -4);
  7584. *((long *) (SstackS)) = (long) (arg0_1066X);
  7585. SvalS = (*((long *) (((char *) (-3 + rest_list_1065X)))));
  7586. goto L32510;}
  7587. else {
  7588. arg0_1067X = *((long *) ((SstackS) + (4 + (((stack_nargs_1064X)<<2)))));
  7589. arg1_1068X = *((long *) ((SstackS) + (((stack_nargs_1064X)<<2))));
  7590. *((long *) ((SstackS) + (4 + (((stack_nargs_1064X)<<2))))) = (long) (1);
  7591. *((long *) (SstackS)) = (long) ((-4 + (((stack_nargs_1064X)<<2))));
  7592. SstackS = ((SstackS) + -4);
  7593. *((long *) (SstackS)) = (long) (arg0_1067X);
  7594. SvalS = arg1_1068X;
  7595. goto L32510;}}
  7596. break;
  7597. case 49 : {
  7598. stack_nargs_1069X = (((*((long *) (SstackS))))>>2);
  7599. if ((stack_nargs_1069X == 0)) {
  7600. rest_list_1070X = *((long *) ((SstackS) + 4));
  7601. if ((25 == (*((long *) ((((char *) (-3 + rest_list_1070X))) + 4))))) {
  7602. arg0K0 = 1;
  7603. goto L31819;}
  7604. else {
  7605. *((long *) ((SstackS) + 4)) = (long) ((*((long *) ((((char *) (-3 + rest_list_1070X))) + 4))));
  7606. *((long *) ((SstackS) + 8)) = (long) ((SvalS));
  7607. arg0K0 = -2;
  7608. goto L31819;}}
  7609. else {
  7610. if ((stack_nargs_1069X == 1)) {
  7611. if ((25 == (*((long *) ((SstackS) + 4))))) {
  7612. arg0K0 = 1;
  7613. goto L31819;}
  7614. else {
  7615. *((long *) (SstackS)) = (long) (0);
  7616. *((long *) ((SstackS) + 8)) = (long) ((SvalS));
  7617. arg0K0 = -2;
  7618. goto L31819;}}
  7619. else {
  7620. *((long *) ((SstackS) + (4 + (((stack_nargs_1069X)<<2))))) = (long) ((SvalS));
  7621. arg0K0 = -2;
  7622. goto L31819;}}}
  7623. break;
  7624. case 50 : {
  7625. if ((1 == (SvalS))) {
  7626. Scode_pointerS = ((Scode_pointerS) + 1);
  7627. arg2K0 = (Scode_pointerS);
  7628. goto L31612;}
  7629. else {
  7630. x_1071X = (((*((long *) (SstackS))))>>2);
  7631. if ((x_1071X == 0)) {
  7632. rest_list_1072X = *((long *) ((SstackS) + 4));
  7633. if ((25 == (*((long *) ((((char *) (-3 + rest_list_1072X))) + 4))))) {
  7634. arg0K0 = 1;
  7635. goto L32401;}
  7636. else {
  7637. *((long *) ((SstackS) + 4)) = (long) ((*((long *) ((((char *) (-3 + rest_list_1072X))) + 4))));
  7638. *((long *) ((SstackS) + 8)) = (long) ((*((long *) (((char *) (-3 + rest_list_1072X))))));
  7639. arg0K0 = -2;
  7640. goto L32401;}}
  7641. else {
  7642. if ((x_1071X == 1)) {
  7643. if ((25 == (*((long *) ((SstackS) + 4))))) {
  7644. arg0K0 = 1;
  7645. goto L32401;}
  7646. else {
  7647. *((long *) (SstackS)) = (long) (0);
  7648. arg0K0 = -2;
  7649. goto L32401;}}
  7650. else {
  7651. arg0K0 = -2;
  7652. goto L32401;}}}}
  7653. break;
  7654. case 51 : {
  7655. arg2_1073X = *((long *) (SstackS));
  7656. SstackS = ((SstackS) + 4);
  7657. x_1074X = SvalS;
  7658. if ((arg2_1073X == x_1074X)) {
  7659. arg0K0 = 5;
  7660. goto L60277;}
  7661. else {
  7662. arg0K0 = 1;
  7663. goto L60277;}}
  7664. break;
  7665. case 52 : {
  7666. x_1075X = SvalS;
  7667. if ((0 == (3 & x_1075X))) {
  7668. arg0K0 = 5;
  7669. goto L60289;}
  7670. else {
  7671. if ((3 == (3 & x_1075X))) {
  7672. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + x_1075X))) + -4))))>>2))))) {
  7673. arg0K0 = 5;
  7674. goto L60289;}
  7675. else {
  7676. goto L18518;}}
  7677. else {
  7678. goto L18518;}}}
  7679. break;
  7680. case 53 : {
  7681. n_1076X = SvalS;
  7682. if ((0 == (3 & n_1076X))) {
  7683. goto L49795;}
  7684. else {
  7685. if ((3 == (3 & n_1076X))) {
  7686. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_1076X))) + -4))))>>2))))) {
  7687. goto L49795;}
  7688. else {
  7689. goto L49796;}}
  7690. else {
  7691. goto L49796;}}}
  7692. break;
  7693. case 54 : {
  7694. arg0K0 = (SvalS);
  7695. goto L49929;}
  7696. break;
  7697. case 55 : {
  7698. arg0K0 = (SvalS);
  7699. goto L49929;}
  7700. break;
  7701. case 56 : {
  7702. arg0K0 = (SvalS);
  7703. goto L49929;}
  7704. break;
  7705. case 57 : {
  7706. n_1077X = SvalS;
  7707. if ((0 == (3 & n_1077X))) {
  7708. goto L42403;}
  7709. else {
  7710. if ((3 == (3 & n_1077X))) {
  7711. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_1077X))) + -4))))>>2))))) {
  7712. goto L42403;}
  7713. else {
  7714. goto L42404;}}
  7715. else {
  7716. goto L42404;}}}
  7717. break;
  7718. case 58 : {
  7719. x_1078X = SvalS;push_exception_setupB(5, 1);
  7720. SstackS = ((SstackS) + -4);
  7721. *((long *) (SstackS)) = (long) (x_1078X);
  7722. arg0K0 = 1;
  7723. goto L29309;}
  7724. break;
  7725. case 59 : {
  7726. x_1079X = SvalS;push_exception_setupB(5, 1);
  7727. SstackS = ((SstackS) + -4);
  7728. *((long *) (SstackS)) = (long) (x_1079X);
  7729. arg0K0 = 1;
  7730. goto L29309;}
  7731. break;
  7732. case 60 : {
  7733. arg2_1080X = *((long *) (SstackS));
  7734. SstackS = ((SstackS) + 4);
  7735. y_1081X = SvalS;
  7736. if ((0 == (3 & (arg2_1080X | y_1081X)))) {s48_make_availableAgc(16);
  7737. x_1082X = (((arg2_1080X)>>2)) + (((y_1081X)>>2));
  7738. if ((536870911 < x_1082X)) {
  7739. goto L42529;}
  7740. else {
  7741. if ((x_1082X < -536870912)) {
  7742. goto L42529;}
  7743. else {
  7744. arg0K0 = (((x_1082X)<<2));
  7745. goto L42475;}}}
  7746. else {
  7747. if ((0 == (3 & arg2_1080X))) {
  7748. goto L42481;}
  7749. else {
  7750. if ((3 == (3 & arg2_1080X))) {
  7751. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1080X))) + -4))))>>2))))) {
  7752. goto L42481;}
  7753. else {
  7754. goto L42490;}}
  7755. else {
  7756. goto L42490;}}}}
  7757. break;
  7758. case 61 : {
  7759. arg2_1083X = *((long *) (SstackS));
  7760. SstackS = ((SstackS) + 4);
  7761. y_1084X = SvalS;
  7762. if ((0 == (3 & (arg2_1083X | y_1084X)))) {
  7763. a_1085X = ((arg2_1083X)>>2);
  7764. b_1086X = ((y_1084X)>>2);
  7765. if ((a_1085X < 0)) {
  7766. arg0K0 = (0 - a_1085X);
  7767. goto L11584;}
  7768. else {
  7769. arg0K0 = a_1085X;
  7770. goto L11584;}}
  7771. else {
  7772. if ((0 == (3 & arg2_1083X))) {
  7773. goto L51702;}
  7774. else {
  7775. if ((3 == (3 & arg2_1083X))) {
  7776. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1083X))) + -4))))>>2))))) {
  7777. goto L51702;}
  7778. else {
  7779. goto L51711;}}
  7780. else {
  7781. goto L51711;}}}}
  7782. break;
  7783. case 62 : {
  7784. arg2_1087X = *((long *) (SstackS));
  7785. SstackS = ((SstackS) + 4);
  7786. y_1088X = SvalS;
  7787. if ((0 == (3 & (arg2_1087X | y_1088X)))) {s48_make_availableAgc(16);
  7788. x_1089X = (((arg2_1087X)>>2)) - (((y_1088X)>>2));
  7789. if ((536870911 < x_1089X)) {
  7790. goto L42818;}
  7791. else {
  7792. if ((x_1089X < -536870912)) {
  7793. goto L42818;}
  7794. else {
  7795. arg0K0 = (((x_1089X)<<2));
  7796. goto L42764;}}}
  7797. else {
  7798. if ((0 == (3 & arg2_1087X))) {
  7799. goto L42770;}
  7800. else {
  7801. if ((3 == (3 & arg2_1087X))) {
  7802. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1087X))) + -4))))>>2))))) {
  7803. goto L42770;}
  7804. else {
  7805. goto L42779;}}
  7806. else {
  7807. goto L42779;}}}}
  7808. break;
  7809. case 63 : {
  7810. arg2_1090X = *((long *) (SstackS));
  7811. SstackS = ((SstackS) + 4);
  7812. y_1091X = SvalS;
  7813. if ((0 == y_1091X)) {push_exception_setupB(5, 1);
  7814. SstackS = ((SstackS) + -4);
  7815. *((long *) (SstackS)) = (long) (arg2_1090X);
  7816. SstackS = ((SstackS) + -4);
  7817. *((long *) (SstackS)) = (long) (y_1091X);
  7818. arg0K0 = 2;
  7819. goto L29309;}
  7820. else {
  7821. if ((0 == (3 & (arg2_1090X | y_1091X)))) {
  7822. if ((0 == y_1091X)) {push_exception_setupB(5, 1);
  7823. SstackS = ((SstackS) + -4);
  7824. *((long *) (SstackS)) = (long) (arg2_1090X);
  7825. SstackS = ((SstackS) + -4);
  7826. *((long *) (SstackS)) = (long) (y_1091X);
  7827. arg0K0 = 2;
  7828. goto L29309;}
  7829. else {
  7830. a_1092X = ((arg2_1090X)>>2);
  7831. b_1093X = ((y_1091X)>>2);
  7832. if ((a_1092X < 0)) {
  7833. arg0K0 = (0 - a_1092X);
  7834. goto L11842;}
  7835. else {
  7836. arg0K0 = a_1092X;
  7837. goto L11842;}}}
  7838. else {
  7839. if ((0 == (3 & arg2_1090X))) {
  7840. goto L51955;}
  7841. else {
  7842. if ((3 == (3 & arg2_1090X))) {
  7843. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1090X))) + -4))))>>2))))) {
  7844. goto L51955;}
  7845. else {
  7846. goto L51992;}}
  7847. else {
  7848. goto L51992;}}}}}
  7849. break;
  7850. case 64 : {
  7851. arg2_1094X = *((long *) (SstackS));
  7852. SstackS = ((SstackS) + 4);
  7853. y_1095X = SvalS;
  7854. if ((0 == (3 & (arg2_1094X | y_1095X)))) {
  7855. if ((arg2_1094X == y_1095X)) {
  7856. arg0K0 = 5;
  7857. goto L43049;}
  7858. else {
  7859. arg0K0 = 1;
  7860. goto L43049;}}
  7861. else {
  7862. if ((0 == (3 & arg2_1094X))) {
  7863. goto L43055;}
  7864. else {
  7865. if ((3 == (3 & arg2_1094X))) {
  7866. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1094X))) + -4))))>>2))))) {
  7867. goto L43055;}
  7868. else {
  7869. goto L43066;}}
  7870. else {
  7871. goto L43066;}}}}
  7872. break;
  7873. case 65 : {
  7874. arg2_1096X = *((long *) (SstackS));
  7875. SstackS = ((SstackS) + 4);
  7876. y_1097X = SvalS;
  7877. if ((0 == (3 & (arg2_1096X | y_1097X)))) {
  7878. if ((arg2_1096X < y_1097X)) {
  7879. arg0K0 = 5;
  7880. goto L43309;}
  7881. else {
  7882. arg0K0 = 1;
  7883. goto L43309;}}
  7884. else {
  7885. if ((0 == (3 & arg2_1096X))) {
  7886. goto L43315;}
  7887. else {
  7888. if ((3 == (3 & arg2_1096X))) {
  7889. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1096X))) + -4))))>>2))))) {
  7890. goto L43315;}
  7891. else {
  7892. goto L43326;}}
  7893. else {
  7894. goto L43326;}}}}
  7895. break;
  7896. case 66 : {
  7897. arg2_1098X = *((long *) (SstackS));
  7898. SstackS = ((SstackS) + 4);
  7899. y_1099X = SvalS;
  7900. if ((0 == (3 & (arg2_1098X | y_1099X)))) {
  7901. if ((y_1099X < arg2_1098X)) {
  7902. arg0K0 = 5;
  7903. goto L43632;}
  7904. else {
  7905. arg0K0 = 1;
  7906. goto L43632;}}
  7907. else {
  7908. if ((0 == (3 & arg2_1098X))) {
  7909. goto L43638;}
  7910. else {
  7911. if ((3 == (3 & arg2_1098X))) {
  7912. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1098X))) + -4))))>>2))))) {
  7913. goto L43638;}
  7914. else {
  7915. goto L43649;}}
  7916. else {
  7917. goto L43649;}}}}
  7918. break;
  7919. case 67 : {
  7920. arg2_1100X = *((long *) (SstackS));
  7921. SstackS = ((SstackS) + 4);
  7922. y_1101X = SvalS;
  7923. if ((0 == (3 & (arg2_1100X | y_1101X)))) {
  7924. if ((y_1101X < arg2_1100X)) {
  7925. arg0K0 = 1;
  7926. goto L43955;}
  7927. else {
  7928. arg0K0 = 5;
  7929. goto L43955;}}
  7930. else {
  7931. if ((0 == (3 & arg2_1100X))) {
  7932. goto L43961;}
  7933. else {
  7934. if ((3 == (3 & arg2_1100X))) {
  7935. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1100X))) + -4))))>>2))))) {
  7936. goto L43961;}
  7937. else {
  7938. goto L43972;}}
  7939. else {
  7940. goto L43972;}}}}
  7941. break;
  7942. case 68 : {
  7943. arg2_1102X = *((long *) (SstackS));
  7944. SstackS = ((SstackS) + 4);
  7945. y_1103X = SvalS;
  7946. if ((0 == (3 & (arg2_1102X | y_1103X)))) {
  7947. if ((arg2_1102X < y_1103X)) {
  7948. arg0K0 = 1;
  7949. goto L44249;}
  7950. else {
  7951. arg0K0 = 5;
  7952. goto L44249;}}
  7953. else {
  7954. if ((0 == (3 & arg2_1102X))) {
  7955. goto L44255;}
  7956. else {
  7957. if ((3 == (3 & arg2_1102X))) {
  7958. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1102X))) + -4))))>>2))))) {
  7959. goto L44255;}
  7960. else {
  7961. goto L44266;}}
  7962. else {
  7963. goto L44266;}}}}
  7964. break;
  7965. case 69 : {
  7966. arg2_1104X = *((long *) (SstackS));
  7967. SstackS = ((SstackS) + 4);
  7968. y_1105X = SvalS;
  7969. if ((0 == y_1105X)) {push_exception_setupB(5, 1);
  7970. SstackS = ((SstackS) + -4);
  7971. *((long *) (SstackS)) = (long) (arg2_1104X);
  7972. SstackS = ((SstackS) + -4);
  7973. *((long *) (SstackS)) = (long) (y_1105X);
  7974. arg0K0 = 2;
  7975. goto L29309;}
  7976. else {
  7977. if ((0 == (3 & (arg2_1104X | y_1105X)))) {
  7978. if ((0 == y_1105X)) {
  7979. val_1106X = Hinteger_op8311(arg2_1104X, y_1105X);
  7980. SvalS = val_1106X;
  7981. Scode_pointerS = ((Scode_pointerS) + 1);
  7982. arg2K0 = (Scode_pointerS);
  7983. goto L31612;}
  7984. else {
  7985. a_1107X = ((arg2_1104X)>>2);
  7986. b_1108X = ((y_1105X)>>2);
  7987. if ((a_1107X < 0)) {
  7988. arg0K0 = (0 - a_1107X);
  7989. goto L12456;}
  7990. else {
  7991. arg0K0 = a_1107X;
  7992. goto L12456;}}}
  7993. else {
  7994. if ((0 == (3 & arg2_1104X))) {
  7995. goto L44555;}
  7996. else {
  7997. if ((3 == (3 & arg2_1104X))) {
  7998. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1104X))) + -4))))>>2))))) {
  7999. goto L44555;}
  8000. else {
  8001. goto L44564;}}
  8002. else {
  8003. goto L44564;}}}}}
  8004. break;
  8005. case 70 : {
  8006. arg2_1109X = *((long *) (SstackS));
  8007. SstackS = ((SstackS) + 4);
  8008. y_1110X = SvalS;
  8009. if ((0 == y_1110X)) {push_exception_setupB(5, 1);
  8010. SstackS = ((SstackS) + -4);
  8011. *((long *) (SstackS)) = (long) (arg2_1109X);
  8012. SstackS = ((SstackS) + -4);
  8013. *((long *) (SstackS)) = (long) (y_1110X);
  8014. arg0K0 = 2;
  8015. goto L29309;}
  8016. else {
  8017. if ((0 == (3 & (arg2_1109X | y_1110X)))) {
  8018. if ((0 == y_1110X)) {
  8019. val_1111X = Hinteger_op8242(arg2_1109X, y_1110X);
  8020. SvalS = val_1111X;
  8021. Scode_pointerS = ((Scode_pointerS) + 1);
  8022. arg2K0 = (Scode_pointerS);
  8023. goto L31612;}
  8024. else {
  8025. a_1112X = ((arg2_1109X)>>2);
  8026. if ((a_1112X < 0)) {
  8027. arg0K0 = (0 - a_1112X);
  8028. goto L44769;}
  8029. else {
  8030. arg0K0 = a_1112X;
  8031. goto L44769;}}}
  8032. else {
  8033. if ((0 == (3 & arg2_1109X))) {
  8034. goto L44731;}
  8035. else {
  8036. if ((3 == (3 & arg2_1109X))) {
  8037. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1109X))) + -4))))>>2))))) {
  8038. goto L44731;}
  8039. else {
  8040. goto L44740;}}
  8041. else {
  8042. goto L44740;}}}}}
  8043. break;
  8044. case 71 : {
  8045. n_1113X = SvalS;
  8046. if ((0 == (3 & n_1113X))) {
  8047. goto L44918;}
  8048. else {
  8049. if ((3 == (3 & n_1113X))) {
  8050. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_1113X))) + -4))))>>2))))) {
  8051. goto L44918;}
  8052. else {
  8053. goto L44919;}}
  8054. else {
  8055. goto L44919;}}}
  8056. break;
  8057. case 72 : {
  8058. n_1114X = SvalS;
  8059. if ((0 == (3 & n_1114X))) {
  8060. goto L44973;}
  8061. else {
  8062. if ((3 == (3 & n_1114X))) {
  8063. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_1114X))) + -4))))>>2))))) {
  8064. goto L44973;}
  8065. else {
  8066. goto L44974;}}
  8067. else {
  8068. goto L44974;}}}
  8069. break;
  8070. case 73 : {
  8071. n_1115X = SvalS;
  8072. if ((0 == (3 & n_1115X))) {
  8073. goto L45028;}
  8074. else {
  8075. if ((3 == (3 & n_1115X))) {
  8076. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_1115X))) + -4))))>>2))))) {
  8077. goto L45028;}
  8078. else {
  8079. goto L45031;}}
  8080. else {
  8081. goto L45031;}}}
  8082. break;
  8083. case 74 : {
  8084. n_1116X = SvalS;
  8085. if ((0 == (3 & n_1116X))) {
  8086. goto L45088;}
  8087. else {
  8088. if ((3 == (3 & n_1116X))) {
  8089. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_1116X))) + -4))))>>2))))) {
  8090. goto L45088;}
  8091. else {
  8092. goto L45089;}}
  8093. else {
  8094. goto L45089;}}}
  8095. break;
  8096. case 75 : {
  8097. n_1117X = SvalS;
  8098. if ((0 == (3 & n_1117X))) {
  8099. goto L45143;}
  8100. else {
  8101. if ((3 == (3 & n_1117X))) {
  8102. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_1117X))) + -4))))>>2))))) {
  8103. goto L45143;}
  8104. else {
  8105. goto L45146;}}
  8106. else {
  8107. goto L45146;}}}
  8108. break;
  8109. case 76 : {
  8110. x_1118X = SvalS;push_exception_setupB(5, 1);
  8111. SstackS = ((SstackS) + -4);
  8112. *((long *) (SstackS)) = (long) (x_1118X);
  8113. arg0K0 = 1;
  8114. goto L29309;}
  8115. break;
  8116. case 77 : {
  8117. x_1119X = SvalS;push_exception_setupB(5, 1);
  8118. SstackS = ((SstackS) + -4);
  8119. *((long *) (SstackS)) = (long) (x_1119X);
  8120. arg0K0 = 1;
  8121. goto L29309;}
  8122. break;
  8123. case 78 : {
  8124. x_1120X = SvalS;push_exception_setupB(5, 1);
  8125. SstackS = ((SstackS) + -4);
  8126. *((long *) (SstackS)) = (long) (x_1120X);
  8127. arg0K0 = 1;
  8128. goto L29309;}
  8129. break;
  8130. case 79 : {
  8131. x_1121X = SvalS;push_exception_setupB(5, 1);
  8132. SstackS = ((SstackS) + -4);
  8133. *((long *) (SstackS)) = (long) (x_1121X);
  8134. arg0K0 = 1;
  8135. goto L29309;}
  8136. break;
  8137. case 80 : {
  8138. x_1122X = SvalS;push_exception_setupB(5, 1);
  8139. SstackS = ((SstackS) + -4);
  8140. *((long *) (SstackS)) = (long) (x_1122X);
  8141. arg0K0 = 1;
  8142. goto L29309;}
  8143. break;
  8144. case 81 : {
  8145. x_1123X = SvalS;push_exception_setupB(5, 1);
  8146. SstackS = ((SstackS) + -4);
  8147. *((long *) (SstackS)) = (long) (x_1123X);
  8148. arg0K0 = 1;
  8149. goto L29309;}
  8150. break;
  8151. case 82 : {
  8152. x_1124X = SvalS;push_exception_setupB(5, 1);
  8153. SstackS = ((SstackS) + -4);
  8154. *((long *) (SstackS)) = (long) (x_1124X);
  8155. arg0K0 = 1;
  8156. goto L29309;}
  8157. break;
  8158. case 83 : {
  8159. x_1125X = SvalS;push_exception_setupB(5, 1);
  8160. SstackS = ((SstackS) + -4);
  8161. *((long *) (SstackS)) = (long) (x_1125X);
  8162. arg0K0 = 1;
  8163. goto L29309;}
  8164. break;
  8165. case 84 : {
  8166. x_1126X = SvalS;
  8167. if ((0 == (3 & x_1126X))) {
  8168. goto L53282;}
  8169. else {
  8170. if ((3 == (3 & x_1126X))) {
  8171. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + x_1126X))) + -4))))>>2))))) {
  8172. goto L53282;}
  8173. else {
  8174. goto L53285;}}
  8175. else {
  8176. goto L53285;}}}
  8177. break;
  8178. case 85 : {
  8179. x_1127X = SvalS;
  8180. if ((0 == (3 & x_1127X))) {
  8181. goto L56668;}
  8182. else {
  8183. if ((3 == (3 & x_1127X))) {
  8184. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + x_1127X))) + -4))))>>2))))) {
  8185. goto L56668;}
  8186. else {
  8187. goto L56671;}}
  8188. else {
  8189. goto L56671;}}}
  8190. break;
  8191. case 86 : {
  8192. x_1128X = SvalS;push_exception_setupB(5, 1);
  8193. SstackS = ((SstackS) + -4);
  8194. *((long *) (SstackS)) = (long) (x_1128X);
  8195. arg0K0 = 1;
  8196. goto L29309;}
  8197. break;
  8198. case 87 : {
  8199. arg2_1129X = *((long *) (SstackS));
  8200. SstackS = ((SstackS) + 4);
  8201. x_1130X = SvalS;push_exception_setupB(5, 1);
  8202. SstackS = ((SstackS) + -4);
  8203. *((long *) (SstackS)) = (long) (arg2_1129X);
  8204. SstackS = ((SstackS) + -4);
  8205. *((long *) (SstackS)) = (long) (x_1130X);
  8206. arg0K0 = 2;
  8207. goto L29309;}
  8208. break;
  8209. case 88 : {
  8210. arg2_1131X = *((long *) (SstackS));
  8211. SstackS = ((SstackS) + 4);
  8212. x_1132X = SvalS;push_exception_setupB(5, 1);
  8213. SstackS = ((SstackS) + -4);
  8214. *((long *) (SstackS)) = (long) (arg2_1131X);
  8215. SstackS = ((SstackS) + -4);
  8216. *((long *) (SstackS)) = (long) (x_1132X);
  8217. arg0K0 = 2;
  8218. goto L29309;}
  8219. break;
  8220. case 89 : {
  8221. arg2_1133X = *((long *) (SstackS));
  8222. SstackS = ((SstackS) + 4);
  8223. x_1134X = SvalS;push_exception_setupB(5, 1);
  8224. SstackS = ((SstackS) + -4);
  8225. *((long *) (SstackS)) = (long) (arg2_1133X);
  8226. SstackS = ((SstackS) + -4);
  8227. *((long *) (SstackS)) = (long) (x_1134X);
  8228. arg0K0 = 2;
  8229. goto L29309;}
  8230. break;
  8231. case 90 : {
  8232. x_1135X = SvalS;
  8233. if ((0 == (3 & x_1135X))) {
  8234. SvalS = (~ (3 | x_1135X));
  8235. Scode_pointerS = ((Scode_pointerS) + 1);
  8236. arg2K0 = (Scode_pointerS);
  8237. goto L31612;}
  8238. else {
  8239. if ((0 == (3 & x_1135X))) {
  8240. goto L45289;}
  8241. else {
  8242. if ((3 == (3 & x_1135X))) {
  8243. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + x_1135X))) + -4))))>>2))))) {
  8244. goto L45289;}
  8245. else {
  8246. goto L45292;}}
  8247. else {
  8248. goto L45292;}}}}
  8249. break;
  8250. case 91 : {
  8251. x_1136X = SvalS;
  8252. if ((0 == (3 & x_1136X))) {
  8253. x_1137X = ((x_1136X)>>2);
  8254. if ((x_1137X < 0)) {
  8255. arg0K0 = (~ x_1137X);
  8256. goto L45380;}
  8257. else {
  8258. arg0K0 = x_1137X;
  8259. goto L45380;}}
  8260. else {
  8261. if ((0 == (3 & x_1136X))) {
  8262. goto L45363;}
  8263. else {
  8264. if ((3 == (3 & x_1136X))) {
  8265. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + x_1136X))) + -4))))>>2))))) {
  8266. goto L45363;}
  8267. else {
  8268. goto L45366;}}
  8269. else {
  8270. goto L45366;}}}}
  8271. break;
  8272. case 92 : {
  8273. arg2_1138X = *((long *) (SstackS));
  8274. SstackS = ((SstackS) + 4);
  8275. y_1139X = SvalS;
  8276. if ((0 == (3 & (arg2_1138X | y_1139X)))) {
  8277. SvalS = (arg2_1138X & y_1139X);
  8278. Scode_pointerS = ((Scode_pointerS) + 1);
  8279. arg2K0 = (Scode_pointerS);
  8280. goto L31612;}
  8281. else {
  8282. if ((0 == (3 & arg2_1138X))) {
  8283. goto L45465;}
  8284. else {
  8285. if ((3 == (3 & arg2_1138X))) {
  8286. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1138X))) + -4))))>>2))))) {
  8287. goto L45465;}
  8288. else {
  8289. goto L45474;}}
  8290. else {
  8291. goto L45474;}}}}
  8292. break;
  8293. case 93 : {
  8294. arg2_1140X = *((long *) (SstackS));
  8295. SstackS = ((SstackS) + 4);
  8296. y_1141X = SvalS;
  8297. if ((0 == (3 & (arg2_1140X | y_1141X)))) {
  8298. SvalS = (arg2_1140X | y_1141X);
  8299. Scode_pointerS = ((Scode_pointerS) + 1);
  8300. arg2K0 = (Scode_pointerS);
  8301. goto L31612;}
  8302. else {
  8303. if ((0 == (3 & arg2_1140X))) {
  8304. goto L45628;}
  8305. else {
  8306. if ((3 == (3 & arg2_1140X))) {
  8307. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1140X))) + -4))))>>2))))) {
  8308. goto L45628;}
  8309. else {
  8310. goto L45637;}}
  8311. else {
  8312. goto L45637;}}}}
  8313. break;
  8314. case 94 : {
  8315. arg2_1142X = *((long *) (SstackS));
  8316. SstackS = ((SstackS) + 4);
  8317. y_1143X = SvalS;
  8318. if ((0 == (3 & (arg2_1142X | y_1143X)))) {
  8319. SvalS = (arg2_1142X ^ y_1143X);
  8320. Scode_pointerS = ((Scode_pointerS) + 1);
  8321. arg2K0 = (Scode_pointerS);
  8322. goto L31612;}
  8323. else {
  8324. if ((0 == (3 & arg2_1142X))) {
  8325. goto L45791;}
  8326. else {
  8327. if ((3 == (3 & arg2_1142X))) {
  8328. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1142X))) + -4))))>>2))))) {
  8329. goto L45791;}
  8330. else {
  8331. goto L45800;}}
  8332. else {
  8333. goto L45800;}}}}
  8334. break;
  8335. case 95 : {
  8336. arg2_1144X = *((long *) (SstackS));
  8337. SstackS = ((SstackS) + 4);
  8338. y_1145X = SvalS;
  8339. if ((3 == (3 & y_1145X))) {
  8340. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1145X))) + -4))))>>2))))) {
  8341. v_1146X = s48_bignum_test((((char *) (-3 + y_1145X))));
  8342. if ((1 == v_1146X)) {push_exception_setupB(6, 1);
  8343. SstackS = ((SstackS) + -4);
  8344. *((long *) (SstackS)) = (long) (arg2_1144X);
  8345. SstackS = ((SstackS) + -4);
  8346. *((long *) (SstackS)) = (long) (y_1145X);
  8347. arg0K0 = 2;
  8348. goto L29309;}
  8349. else {
  8350. if ((0 == (3 & arg2_1144X))) {
  8351. if ((arg2_1144X < 0)) {
  8352. arg0K0 = -4;
  8353. goto L42183;}
  8354. else {
  8355. arg0K0 = 0;
  8356. goto L42183;}}
  8357. else {
  8358. if ((3 == (3 & arg2_1144X))) {
  8359. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1144X))) + -4))))>>2))))) {
  8360. v_1147X = s48_bignum_test((((char *) (-3 + arg2_1144X))));
  8361. if ((1 == v_1147X)) {
  8362. arg0K0 = 0;
  8363. goto L42199;}
  8364. else {
  8365. arg0K0 = -4;
  8366. goto L42199;}}
  8367. else {
  8368. goto L42200;}}
  8369. else {
  8370. goto L42200;}}}}
  8371. else {
  8372. goto L52342;}}
  8373. else {
  8374. goto L52342;}}
  8375. break;
  8376. case 96 : {
  8377. x_1148X = SvalS;
  8378. if ((9 == (255 & x_1148X))) {
  8379. arg0K0 = 5;
  8380. goto L60548;}
  8381. else {
  8382. arg0K0 = 1;
  8383. goto L60548;}}
  8384. break;
  8385. case 97 : {
  8386. arg2_1149X = *((long *) (SstackS));
  8387. SstackS = ((SstackS) + 4);
  8388. if ((9 == (255 & arg2_1149X))) {
  8389. if ((9 == (255 & (SvalS)))) {
  8390. x_1150X = SvalS;
  8391. if ((arg2_1149X == x_1150X)) {
  8392. arg0K0 = 5;
  8393. goto L49596;}
  8394. else {
  8395. arg0K0 = 1;
  8396. goto L49596;}}
  8397. else {
  8398. goto L49567;}}
  8399. else {
  8400. goto L49567;}}
  8401. break;
  8402. case 98 : {
  8403. arg2_1151X = *((long *) (SstackS));
  8404. SstackS = ((SstackS) + 4);
  8405. if ((9 == (255 & arg2_1151X))) {
  8406. if ((9 == (255 & (SvalS)))) {
  8407. x_1152X = SvalS;
  8408. if ((arg2_1151X < x_1152X)) {
  8409. arg0K0 = 5;
  8410. goto L49504;}
  8411. else {
  8412. arg0K0 = 1;
  8413. goto L49504;}}
  8414. else {
  8415. goto L49475;}}
  8416. else {
  8417. goto L49475;}}
  8418. break;
  8419. case 99 : {
  8420. if ((9 == (255 & (SvalS)))) {
  8421. SvalS = (-4 & ((((SvalS))>>6)));
  8422. Scode_pointerS = ((Scode_pointerS) + 1);
  8423. arg2K0 = (Scode_pointerS);
  8424. goto L31612;}
  8425. else {push_exception_setupB(5, 1);
  8426. x_1153X = SvalS;
  8427. SstackS = ((SstackS) + -4);
  8428. *((long *) (SstackS)) = (long) (x_1153X);
  8429. arg0K0 = 1;
  8430. goto L29309;}}
  8431. break;
  8432. case 100 : {
  8433. if ((0 == (3 & (SvalS)))) {
  8434. x_1154X = (((SvalS))>>2);
  8435. if ((x_1154X < 0)) {
  8436. goto L53591;}
  8437. else {
  8438. if ((55295 < x_1154X)) {
  8439. if ((x_1154X < 57344)) {
  8440. goto L53591;}
  8441. else {
  8442. if ((1114111 < x_1154X)) {
  8443. goto L53591;}
  8444. else {
  8445. goto L53597;}}}
  8446. else {
  8447. goto L53597;}}}
  8448. else {push_exception_setupB(5, 1);
  8449. x_1155X = SvalS;
  8450. SstackS = ((SstackS) + -4);
  8451. *((long *) (SstackS)) = (long) (x_1155X);
  8452. arg0K0 = 1;
  8453. goto L29309;}}
  8454. break;
  8455. case 101 : {
  8456. if ((0 == (3 & (SvalS)))) {
  8457. x_1156X = (((SvalS))>>2);
  8458. if ((x_1156X < 0)) {
  8459. arg0K0 = 1;
  8460. goto L49402;}
  8461. else {
  8462. if ((55295 < x_1156X)) {
  8463. if ((x_1156X < 57344)) {
  8464. arg0K0 = 1;
  8465. goto L49402;}
  8466. else {
  8467. if ((1114111 < x_1156X)) {
  8468. arg0K0 = 1;
  8469. goto L49402;}
  8470. else {
  8471. arg0K0 = 5;
  8472. goto L49402;}}}
  8473. else {
  8474. arg0K0 = 5;
  8475. goto L49402;}}}
  8476. else {push_exception_setupB(5, 1);
  8477. x_1157X = SvalS;
  8478. SstackS = ((SstackS) + -4);
  8479. *((long *) (SstackS)) = (long) (x_1157X);
  8480. arg0K0 = 1;
  8481. goto L29309;}}
  8482. break;
  8483. case 102 : {
  8484. x_1158X = SvalS;
  8485. if ((21 == x_1158X)) {
  8486. arg0K0 = 5;
  8487. goto L60581;}
  8488. else {
  8489. arg0K0 = 1;
  8490. goto L60581;}}
  8491. break;
  8492. case 103 : {
  8493. x_1159X = SvalS;
  8494. type_1160X = *((unsigned char *) ((Scode_pointerS) + 1));
  8495. if ((3 == (3 & x_1159X))) {
  8496. if (((31 & ((((*((long *) ((((char *) (-3 + x_1159X))) + -4))))>>2))) == type_1160X)) {
  8497. arg0K0 = 5;
  8498. goto L60595;}
  8499. else {
  8500. arg0K0 = 1;
  8501. goto L60595;}}
  8502. else {
  8503. arg0K0 = 1;
  8504. goto L60595;}}
  8505. break;
  8506. case 104 : {
  8507. stob_1161X = SvalS;
  8508. type_1162X = *((unsigned char *) ((Scode_pointerS) + 1));
  8509. if ((3 == (3 & stob_1161X))) {
  8510. if (((31 & ((((*((long *) ((((char *) (-3 + stob_1161X))) + -4))))>>2))) == type_1162X)) {
  8511. SvalS = (-4 & (3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + stob_1161X))) + -4))))>>8))));
  8512. Scode_pointerS = ((Scode_pointerS) + 2);
  8513. arg2K0 = (Scode_pointerS);
  8514. goto L31612;}
  8515. else {
  8516. goto L34375;}}
  8517. else {
  8518. goto L34375;}}
  8519. break;
  8520. case 105 : {
  8521. len_1163X = *((unsigned char *) ((Scode_pointerS) + 1));s48_make_availableAgc((4 + (((len_1163X)<<2))));
  8522. type_1164X = *((unsigned char *) ((Scode_pointerS) + 2));
  8523. len_1165X = ((len_1163X)<<2);
  8524. addr_1166X = s48_allocate_small((4 + len_1165X));
  8525. *((long *) addr_1166X) = (long) ((2 + (((((((len_1165X)<<6)) + type_1164X))<<2))));
  8526. new_1167X = 3 + (((long) (addr_1166X + 4)));
  8527. if ((len_1163X < 1)) {
  8528. goto L34480;}
  8529. else {
  8530. *((long *) ((((char *) (-3 + new_1167X))) + (-4 + (((len_1163X)<<2))))) = (long) ((SvalS));
  8531. arg0K0 = (-2 + len_1163X);
  8532. goto L34464;}}
  8533. break;
  8534. case 106 : {
  8535. p_1168X = *((long *) (SstackS));
  8536. SstackS = ((SstackS) + 4);
  8537. len_1169X = ((p_1168X)>>2);s48_make_availableAgc((4 + (((len_1169X)<<2))));
  8538. type_1170X = *((unsigned char *) ((Scode_pointerS) + 1));
  8539. len_1171X = ((len_1169X)<<2);
  8540. addr_1172X = s48_allocate_small((4 + len_1171X));
  8541. *((long *) addr_1172X) = (long) ((2 + (((((((len_1171X)<<6)) + type_1170X))<<2))));
  8542. new_1173X = 3 + (((long) (addr_1172X + 4)));
  8543. p_1174X = *((long *) (SstackS));
  8544. SstackS = ((SstackS) + 4);
  8545. stack_nargs_1175X = ((p_1174X)>>2);
  8546. rest_list_1176X = *((long *) (SstackS));
  8547. SstackS = ((SstackS) + 4);
  8548. arg0K0 = (-1 + stack_nargs_1175X);
  8549. goto L34598;}
  8550. break;
  8551. case 107 : {
  8552. stob_1177X = SvalS;
  8553. type_1178X = *((unsigned char *) ((Scode_pointerS) + 1));
  8554. offset_1179X = *((unsigned char *) ((Scode_pointerS) + 2));
  8555. if ((3 == (3 & stob_1177X))) {
  8556. if (((31 & ((((*((long *) ((((char *) (-3 + stob_1177X))) + -4))))>>2))) == type_1178X)) {
  8557. SvalS = (*((long *) ((((char *) (-3 + stob_1177X))) + (((offset_1179X)<<2)))));
  8558. Scode_pointerS = ((Scode_pointerS) + 3);
  8559. arg2K0 = (Scode_pointerS);
  8560. goto L31612;}
  8561. else {
  8562. goto L34766;}}
  8563. else {
  8564. goto L34766;}}
  8565. break;
  8566. case 108 : {
  8567. arg2_1180X = *((long *) (SstackS));
  8568. SstackS = ((SstackS) + 4);
  8569. value_1181X = SvalS;
  8570. type_1182X = *((unsigned char *) ((Scode_pointerS) + 1));
  8571. offset_1183X = *((unsigned char *) ((Scode_pointerS) + 2));
  8572. if ((3 == (3 & arg2_1180X))) {
  8573. if (((31 & ((((*((long *) ((((char *) (-3 + arg2_1180X))) + -4))))>>2))) == type_1182X)) {
  8574. if ((3 == (3 & arg2_1180X))) {
  8575. if ((0 == (128 & (*((long *) ((((char *) (-3 + arg2_1180X))) + -4)))))) {
  8576. v_1184X = *((unsigned char *) ((Scode_pointerS) + 3));
  8577. if ((0 == v_1184X)) {
  8578. goto L34883;}
  8579. else {
  8580. if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
  8581. goto L34883;}
  8582. else {
  8583. merged_arg0K0 = arg2_1180X;
  8584. merged_arg0K1 = (((offset_1183X)<<2));
  8585. merged_arg0K2 = value_1181X;
  8586. proposal_d_write_return_tag = 0;
  8587. goto proposal_d_write;
  8588. proposal_d_write_return_0:
  8589. goto L34892;}}}
  8590. else {
  8591. goto L34893;}}
  8592. else {
  8593. goto L34893;}}
  8594. else {
  8595. goto L34893;}}
  8596. else {
  8597. goto L34893;}}
  8598. break;
  8599. case 109 : {
  8600. arg2_1185X = *((long *) (SstackS));
  8601. SstackS = ((SstackS) + 4);
  8602. init_1186X = SvalS;
  8603. type_1187X = *((unsigned char *) ((Scode_pointerS) + 1));
  8604. if ((0 == (3 & arg2_1185X))) {
  8605. len_1188X = ((arg2_1185X)>>2);
  8606. if ((len_1188X < 0)) {
  8607. goto L35110;}
  8608. else {
  8609. if ((4194304 < len_1188X)) {
  8610. goto L35110;}
  8611. else {
  8612. Stemp0S = init_1186X;
  8613. len_1189X = ((len_1188X)<<2);
  8614. addr_1190X = s48_allocate_tracedAgc((4 + len_1189X));
  8615. if ((addr_1190X == NULL)) {
  8616. arg0K0 = 1;
  8617. goto L35127;}
  8618. else {
  8619. *((long *) addr_1190X) = (long) ((2 + (((((((len_1189X)<<6)) + type_1187X))<<2))));
  8620. arg0K0 = (3 + (((long) (addr_1190X + 4))));
  8621. goto L35127;}}}}
  8622. else {push_exception_setupB(5, 2);
  8623. SstackS = ((SstackS) + -4);
  8624. *((long *) (SstackS)) = (long) ((((type_1187X)<<2)));
  8625. SstackS = ((SstackS) + -4);
  8626. *((long *) (SstackS)) = (long) (arg2_1185X);
  8627. SstackS = ((SstackS) + -4);
  8628. *((long *) (SstackS)) = (long) (init_1186X);
  8629. arg0K0 = 3;
  8630. goto L29309;}}
  8631. break;
  8632. case 110 : {
  8633. arg2_1191X = *((long *) (SstackS));
  8634. SstackS = ((SstackS) + 4);
  8635. index_1192X = SvalS;
  8636. type_1193X = *((unsigned char *) ((Scode_pointerS) + 1));
  8637. if ((0 == (3 & index_1192X))) {
  8638. if ((3 == (3 & arg2_1191X))) {
  8639. if (((31 & ((((*((long *) ((((char *) (-3 + arg2_1191X))) + -4))))>>2))) == type_1193X)) {
  8640. len_1194X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_1191X))) + -4))))>>8))))>>2);
  8641. index_1195X = ((index_1192X)>>2);
  8642. if ((index_1195X < 0)) {
  8643. goto L35400;}
  8644. else {
  8645. if ((index_1195X < len_1194X)) {
  8646. v_1196X = *((unsigned char *) ((Scode_pointerS) + 2));
  8647. if ((0 == v_1196X)) {
  8648. goto L35390;}
  8649. else {
  8650. if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
  8651. goto L35390;}
  8652. else {
  8653. merged_arg0K0 = arg2_1191X;
  8654. merged_arg0K1 = index_1192X;
  8655. proposal_d_read_return_tag = 0;
  8656. goto proposal_d_read;
  8657. proposal_d_read_return_0:
  8658. v_1197X = proposal_d_read0_return_value;
  8659. arg0K0 = v_1197X;
  8660. goto L35399;}}}
  8661. else {
  8662. goto L35400;}}}
  8663. else {
  8664. goto L35355;}}
  8665. else {
  8666. goto L35355;}}
  8667. else {
  8668. goto L35355;}}
  8669. break;
  8670. case 111 : {
  8671. arg2_1198X = *((long *) (SstackS));
  8672. SstackS = ((SstackS) + 4);
  8673. arg3_1199X = *((long *) (SstackS));
  8674. SstackS = ((SstackS) + 4);
  8675. value_1200X = SvalS;
  8676. type_1201X = *((unsigned char *) ((Scode_pointerS) + 1));
  8677. if ((0 == (3 & arg2_1198X))) {
  8678. if ((3 == (3 & arg3_1199X))) {
  8679. if (((31 & ((((*((long *) ((((char *) (-3 + arg3_1199X))) + -4))))>>2))) == type_1201X)) {
  8680. if ((3 == (3 & arg3_1199X))) {
  8681. if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_1199X))) + -4)))))) {
  8682. len_1202X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1199X))) + -4))))>>8))))>>2);
  8683. index_1203X = ((arg2_1198X)>>2);
  8684. if ((index_1203X < 0)) {
  8685. goto L35687;}
  8686. else {
  8687. if ((index_1203X < len_1202X)) {
  8688. v_1204X = *((unsigned char *) ((Scode_pointerS) + 2));
  8689. if ((0 == v_1204X)) {
  8690. goto L35677;}
  8691. else {
  8692. if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
  8693. goto L35677;}
  8694. else {
  8695. merged_arg0K0 = arg3_1199X;
  8696. merged_arg0K1 = arg2_1198X;
  8697. merged_arg0K2 = value_1200X;
  8698. proposal_d_write_return_tag = 1;
  8699. goto proposal_d_write;
  8700. proposal_d_write_return_1:
  8701. goto L35686;}}}
  8702. else {
  8703. goto L35687;}}}
  8704. else {
  8705. goto L35640;}}
  8706. else {
  8707. goto L35640;}}
  8708. else {
  8709. goto L35640;}}
  8710. else {
  8711. goto L35640;}}
  8712. else {
  8713. goto L35640;}}
  8714. break;
  8715. case 112 : {
  8716. addr_1205X = s48_allocate_untracedAgc(12);
  8717. if ((addr_1205X == NULL)) {
  8718. arg0K0 = 1;
  8719. goto L60638;}
  8720. else {
  8721. *((long *) addr_1205X) = (long) (2122);
  8722. arg0K0 = (3 + (((long) (addr_1205X + 4))));
  8723. goto L60638;}}
  8724. break;
  8725. case 113 : {
  8726. arg2_1206X = *((long *) (SstackS));
  8727. SstackS = ((SstackS) + 4);
  8728. if ((0 == (3 & (arg2_1206X | (SvalS))))) {
  8729. len_1207X = ((arg2_1206X)>>2);
  8730. init_1208X = (((SvalS))>>2);
  8731. if ((len_1207X < 0)) {
  8732. goto L46073;}
  8733. else {
  8734. if ((4194304 < ((((3 + len_1207X))>>2)))) {
  8735. goto L46073;}
  8736. else {
  8737. addr_1209X = s48_allocate_untracedAgc((4 + len_1207X));
  8738. if ((addr_1209X == NULL)) {
  8739. arg0K0 = 1;
  8740. goto L46088;}
  8741. else {
  8742. *((long *) addr_1209X) = (long) ((70 + (((len_1207X)<<8))));
  8743. arg0K0 = (3 + (((long) (addr_1209X + 4))));
  8744. goto L46088;}}}}
  8745. else {push_exception_setupB(5, 1);
  8746. SstackS = ((SstackS) + -4);
  8747. *((long *) (SstackS)) = (long) (arg2_1206X);
  8748. x_1210X = SvalS;
  8749. SstackS = ((SstackS) + -4);
  8750. *((long *) (SstackS)) = (long) (x_1210X);
  8751. arg0K0 = 2;
  8752. goto L29309;}}
  8753. break;
  8754. case 114 : {
  8755. obj_1211X = SvalS;
  8756. if ((3 == (3 & obj_1211X))) {
  8757. if ((17 == (31 & ((((*((long *) ((((char *) (-3 + obj_1211X))) + -4))))>>2))))) {
  8758. SvalS = (((((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8)))<<2));
  8759. Scode_pointerS = ((Scode_pointerS) + 1);
  8760. arg2K0 = (Scode_pointerS);
  8761. goto L31612;}
  8762. else {
  8763. goto L57914;}}
  8764. else {
  8765. goto L57914;}}
  8766. break;
  8767. case 115 : {
  8768. arg2_1212X = *((long *) (SstackS));
  8769. SstackS = ((SstackS) + 4);
  8770. if ((3 == (3 & arg2_1212X))) {
  8771. if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1212X))) + -4))))>>2))))) {
  8772. if ((0 == (3 & (SvalS)))) {
  8773. index_1213X = (((SvalS))>>2);
  8774. len_1214X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_1212X))) + -4))))>>8);
  8775. if ((index_1213X < 0)) {
  8776. goto L53734;}
  8777. else {
  8778. if ((index_1213X < len_1214X)) {
  8779. SvalS = ((((*((unsigned char *) ((((char *) (-3 + arg2_1212X))) + index_1213X))))<<2));
  8780. Scode_pointerS = ((Scode_pointerS) + 1);
  8781. arg2K0 = (Scode_pointerS);
  8782. goto L31612;}
  8783. else {
  8784. goto L53734;}}}
  8785. else {
  8786. goto L57340;}}
  8787. else {
  8788. goto L57340;}}
  8789. else {
  8790. goto L57340;}}
  8791. break;
  8792. case 116 : {
  8793. arg2_1215X = *((long *) (SstackS));
  8794. SstackS = ((SstackS) + 4);
  8795. arg3_1216X = *((long *) (SstackS));
  8796. SstackS = ((SstackS) + 4);
  8797. if ((3 == (3 & arg3_1216X))) {
  8798. if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1216X))) + -4))))>>2))))) {
  8799. if ((0 == (3 & (arg2_1215X | (SvalS))))) {
  8800. index_1217X = ((arg2_1215X)>>2);
  8801. Kchar_1218X = (((SvalS))>>2);
  8802. if ((3 == (3 & arg3_1216X))) {
  8803. if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_1216X))) + -4)))))) {
  8804. len_1219X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1216X))) + -4))))>>8);
  8805. if ((index_1217X < 0)) {
  8806. goto L50914;}
  8807. else {
  8808. if ((index_1217X < len_1219X)) {
  8809. *((unsigned char *) ((((char *) (-3 + arg3_1216X))) + index_1217X)) = (unsigned char) (Kchar_1218X);
  8810. SvalS = 13;
  8811. Scode_pointerS = ((Scode_pointerS) + 1);
  8812. arg2K0 = (Scode_pointerS);
  8813. goto L31612;}
  8814. else {
  8815. goto L50914;}}}
  8816. else {
  8817. goto L50893;}}
  8818. else {
  8819. goto L50893;}}
  8820. else {
  8821. goto L55988;}}
  8822. else {
  8823. goto L55988;}}
  8824. else {
  8825. goto L55988;}}
  8826. break;
  8827. case 117 : {
  8828. arg2_1220X = *((long *) (SstackS));
  8829. SstackS = ((SstackS) + 4);
  8830. if ((0 == (3 & arg2_1220X))) {
  8831. if ((9 == (255 & (SvalS)))) {
  8832. len_1221X = ((arg2_1220X)>>2);
  8833. init_1222X = (((SvalS))>>8);
  8834. if ((len_1221X < 0)) {
  8835. goto L46258;}
  8836. else {
  8837. if ((4194304 < ((((3 + (((len_1221X)<<2))))>>2)))) {
  8838. goto L46258;}
  8839. else {
  8840. len_1223X = ((len_1221X)<<2);
  8841. addr_1224X = s48_allocate_untracedAgc((4 + len_1223X));
  8842. if ((addr_1224X == NULL)) {
  8843. arg0K0 = 1;
  8844. goto L46273;}
  8845. else {
  8846. *((long *) addr_1224X) = (long) ((66 + (((len_1223X)<<8))));
  8847. arg0K0 = (3 + (((long) (addr_1224X + 4))));
  8848. goto L46273;}}}}
  8849. else {
  8850. goto L53815;}}
  8851. else {
  8852. goto L53815;}}
  8853. break;
  8854. case 118 : {
  8855. obj_1225X = SvalS;
  8856. if ((3 == (3 & obj_1225X))) {
  8857. if ((16 == (31 & ((((*((long *) ((((char *) (-3 + obj_1225X))) + -4))))>>2))))) {
  8858. x_1226X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8)) / 4;
  8859. SvalS = (((x_1226X)<<2));
  8860. Scode_pointerS = ((Scode_pointerS) + 1);
  8861. arg2K0 = (Scode_pointerS);
  8862. goto L31612;}
  8863. else {
  8864. goto L57964;}}
  8865. else {
  8866. goto L57964;}}
  8867. break;
  8868. case 119 : {
  8869. arg2_1227X = *((long *) (SstackS));
  8870. SstackS = ((SstackS) + 4);
  8871. if ((3 == (3 & arg2_1227X))) {
  8872. if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1227X))) + -4))))>>2))))) {
  8873. if ((0 == (3 & (SvalS)))) {
  8874. index_1228X = (((SvalS))>>2);
  8875. len_1229X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_1227X))) + -4))))>>8)) / 4;
  8876. if ((index_1228X < 0)) {
  8877. goto L53880;}
  8878. else {
  8879. if ((index_1228X < len_1229X)) {
  8880. arg0K0 = 0;
  8881. arg0K1 = 0;
  8882. arg0K2 = 0;
  8883. goto L53908;}
  8884. else {
  8885. goto L53880;}}}
  8886. else {
  8887. goto L57438;}}
  8888. else {
  8889. goto L57438;}}
  8890. else {
  8891. goto L57438;}}
  8892. break;
  8893. case 120 : {
  8894. arg2_1230X = *((long *) (SstackS));
  8895. SstackS = ((SstackS) + 4);
  8896. arg3_1231X = *((long *) (SstackS));
  8897. SstackS = ((SstackS) + 4);
  8898. if ((3 == (3 & arg3_1231X))) {
  8899. if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1231X))) + -4))))>>2))))) {
  8900. if ((0 == (3 & arg2_1230X))) {
  8901. if ((9 == (255 & (SvalS)))) {
  8902. index_1232X = ((arg2_1230X)>>2);
  8903. Kchar_1233X = (((SvalS))>>8);
  8904. if ((3 == (3 & arg3_1231X))) {
  8905. if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_1231X))) + -4)))))) {
  8906. len_1234X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1231X))) + -4))))>>8)) / 4;
  8907. if ((index_1232X < 0)) {
  8908. goto L51069;}
  8909. else {
  8910. if ((index_1232X < len_1234X)) {
  8911. arg0K0 = 0;
  8912. arg0K1 = 0;
  8913. arg0K2 = Kchar_1233X;
  8914. goto L51133;}
  8915. else {
  8916. goto L51069;}}}
  8917. else {
  8918. goto L51048;}}
  8919. else {
  8920. goto L51048;}}
  8921. else {
  8922. goto L56118;}}
  8923. else {
  8924. goto L56118;}}
  8925. else {
  8926. goto L56118;}}
  8927. else {
  8928. goto L56118;}}
  8929. break;
  8930. case 121 : {
  8931. arg2_1235X = *((long *) (SstackS));
  8932. SstackS = ((SstackS) + 4);
  8933. arg3_1236X = *((long *) (SstackS));
  8934. SstackS = ((SstackS) + 4);
  8935. arg4_1237X = *((long *) (SstackS));
  8936. SstackS = ((SstackS) + 4);
  8937. arg5_1238X = *((long *) (SstackS));
  8938. SstackS = ((SstackS) + 4);
  8939. if ((3 == (3 & arg5_1238X))) {
  8940. if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg5_1238X))) + -4))))>>2))))) {
  8941. if ((0 == (3 & arg4_1237X))) {
  8942. if ((3 == (3 & arg3_1236X))) {
  8943. if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1236X))) + -4))))>>2))))) {
  8944. if ((0 == (3 & (arg2_1235X | (SvalS))))) {
  8945. from_index_1239X = ((arg4_1237X)>>2);
  8946. to_index_1240X = ((arg2_1235X)>>2);
  8947. count_1241X = (((SvalS))>>2);
  8948. if ((from_index_1239X < 0)) {
  8949. goto L36022;}
  8950. else {
  8951. y_1242X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg5_1238X))) + -4))))>>8)) / 4;
  8952. if ((y_1242X < (from_index_1239X + count_1241X))) {
  8953. goto L36022;}
  8954. else {
  8955. if ((to_index_1240X < 0)) {
  8956. goto L36022;}
  8957. else {
  8958. y_1243X = ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1236X))) + -4))))>>8)) / 4;
  8959. if ((y_1243X < (to_index_1240X + count_1241X))) {
  8960. goto L36022;}
  8961. else {
  8962. if ((3 == (3 & arg3_1236X))) {
  8963. if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_1236X))) + -4)))))) {
  8964. if ((count_1241X < 0)) {
  8965. goto L36022;}
  8966. else {
  8967. memmove((void *)((((char *) (-3 + arg3_1236X))) + (((to_index_1240X)<<2))), (void *)((((char *) (-3 + arg5_1238X))) + (((from_index_1239X)<<2))),(((count_1241X)<<2)));
  8968. SvalS = 13;
  8969. Scode_pointerS = ((Scode_pointerS) + 1);
  8970. arg2K0 = (Scode_pointerS);
  8971. goto L31612;}}
  8972. else {
  8973. goto L36022;}}
  8974. else {
  8975. goto L36022;}}}}}}
  8976. else {
  8977. goto L41169;}}
  8978. else {
  8979. goto L41169;}}
  8980. else {
  8981. goto L41169;}}
  8982. else {
  8983. goto L41169;}}
  8984. else {
  8985. goto L41169;}}
  8986. else {
  8987. goto L41169;}}
  8988. break;
  8989. case 122 : {s48_make_availableAgc(12);
  8990. obj_1244X = SvalS;
  8991. if ((3 == (3 & obj_1244X))) {
  8992. if ((16 == (31 & ((((*((long *) ((((char *) (-3 + obj_1244X))) + -4))))>>2))))) {
  8993. table_1245X = Sthe_symbol_tableS;
  8994. string_1246X = SvalS;
  8995. v_1247X = Haction4940(string_1246X);
  8996. index_1248X = 1023 & v_1247X;
  8997. link_1249X = *((long *) ((((char *) (-3 + table_1245X))) + (((index_1248X)<<2))));
  8998. if ((0 == (3 & link_1249X))) {
  8999. arg0K0 = (3 + (-4 & link_1249X));
  9000. goto L26959;}
  9001. else {
  9002. arg0K0 = link_1249X;
  9003. goto L26959;}}
  9004. else {
  9005. goto L42345;}}
  9006. else {
  9007. goto L42345;}}
  9008. break;
  9009. case 123 : {
  9010. obj_1250X = SvalS;
  9011. if ((3 == (3 & obj_1250X))) {
  9012. if ((4 == (31 & ((((*((long *) ((((char *) (-3 + obj_1250X))) + -4))))>>2))))) {
  9013. x_1251X = SvalS;
  9014. descriptor_1252X = *((long *) ((((char *) (-3 + x_1251X))) + 4));
  9015. if ((17 == (255 & descriptor_1252X))) {
  9016. if ((529 == (*((long *) ((((char *) (-3 + x_1251X))) + 4))))) {
  9017. arg0K0 = 5;
  9018. goto L55682;}
  9019. else {
  9020. arg0K0 = 1;
  9021. goto L55682;}}
  9022. else {
  9023. arg0K0 = 5;
  9024. goto L55682;}}
  9025. else {
  9026. goto L55663;}}
  9027. else {
  9028. goto L55663;}}
  9029. break;
  9030. case 124 : {
  9031. arg2_1253X = *((long *) (SstackS));
  9032. SstackS = ((SstackS) + 4);
  9033. if ((3 == (3 & arg2_1253X))) {
  9034. if ((4 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1253X))) + -4))))>>2))))) {
  9035. x_1254X = SvalS;
  9036. if ((1 == x_1254X)) {
  9037. goto L50671;}
  9038. else {
  9039. if ((5 == x_1254X)) {
  9040. goto L50671;}
  9041. else {
  9042. goto L50678;}}}
  9043. else {
  9044. goto L50678;}}
  9045. else {
  9046. goto L50678;}}
  9047. break;
  9048. case 125 : {
  9049. x_1255X = SvalS;
  9050. if ((3 == (3 & x_1255X))) {
  9051. if ((0 == (128 & (*((long *) ((((char *) (-3 + x_1255X))) + -4)))))) {
  9052. arg0K0 = 1;
  9053. goto L60700;}
  9054. else {
  9055. arg0K0 = 5;
  9056. goto L60700;}}
  9057. else {
  9058. arg0K0 = 5;
  9059. goto L60700;}}
  9060. break;
  9061. case 126 : {
  9062. x_1256X = SvalS;
  9063. if ((3 == (3 & x_1256X))) {
  9064. if ((0 == (128 & (*((long *) ((((char *) (-3 + x_1256X))) + -4)))))) {
  9065. *((long *) ((((char *) (-3 + x_1256X))) + -4)) = (long) ((128 | (*((long *) ((((char *) (-3 + x_1256X))) + -4)))));
  9066. goto L53972;}
  9067. else {
  9068. goto L53972;}}
  9069. else {
  9070. goto L53972;}}
  9071. break;
  9072. case 127 : {s48_make_availableAgc(32);
  9073. arg2_1257X = *((long *) (SstackS));
  9074. SstackS = ((SstackS) + 4);
  9075. arg3_1258X = *((long *) (SstackS));
  9076. SstackS = ((SstackS) + 4);
  9077. arg4_1259X = *((long *) (SstackS));
  9078. SstackS = ((SstackS) + 4);
  9079. if ((0 == (3 & arg2_1257X))) {
  9080. mode_1260X = ((arg2_1257X)>>2);
  9081. close_silentlyP_1261X = SvalS;
  9082. if ((1 == mode_1260X)) {
  9083. goto L46697;}
  9084. else {
  9085. if ((2 == mode_1260X)) {
  9086. goto L46697;}
  9087. else {
  9088. if ((3 == mode_1260X)) {
  9089. goto L46697;}
  9090. else {
  9091. if ((4 == mode_1260X)) {
  9092. goto L46697;}
  9093. else {push_exception_setupB(5, 1);
  9094. SstackS = ((SstackS) + -4);
  9095. *((long *) (SstackS)) = (long) (arg4_1259X);
  9096. SstackS = ((SstackS) + -4);
  9097. *((long *) (SstackS)) = (long) ((((mode_1260X)<<2)));
  9098. arg0K0 = 2;
  9099. goto L29309;}}}}}
  9100. else {push_exception_setupB(5, 1);
  9101. SstackS = ((SstackS) + -4);
  9102. *((long *) (SstackS)) = (long) (arg4_1259X);
  9103. SstackS = ((SstackS) + -4);
  9104. *((long *) (SstackS)) = (long) (arg3_1258X);
  9105. SstackS = ((SstackS) + -4);
  9106. *((long *) (SstackS)) = (long) (arg2_1257X);
  9107. x_1262X = SvalS;
  9108. SstackS = ((SstackS) + -4);
  9109. *((long *) (SstackS)) = (long) (x_1262X);
  9110. arg0K0 = 4;
  9111. goto L29309;}}
  9112. break;
  9113. case 128 : {s48_make_availableAgc(2052);
  9114. obj_1263X = SvalS;
  9115. if ((3 == (3 & obj_1263X))) {
  9116. if ((6 == (31 & ((((*((long *) ((((char *) (-3 + obj_1263X))) + -4))))>>2))))) {
  9117. channel_1264X = SvalS;
  9118. if ((0 == (*((long *) (((char *) (-3 + channel_1264X))))))) {push_exception_setupB(5, 1);
  9119. SstackS = ((SstackS) + -4);
  9120. *((long *) (SstackS)) = (long) (channel_1264X);
  9121. arg0K0 = 1;
  9122. goto L29309;}
  9123. else {
  9124. status_1265X = close_channelB(channel_1264X);
  9125. if ((status_1265X == NO_ERRORS)) {
  9126. SvalS = 13;
  9127. Scode_pointerS = ((Scode_pointerS) + 1);
  9128. arg2K0 = (Scode_pointerS);
  9129. goto L31612;}
  9130. else {push_exception_setupB(24, 1);
  9131. SstackS = ((SstackS) + -4);
  9132. *((long *) (SstackS)) = (long) (channel_1264X);
  9133. merged_arg0K0 = status_1265X;
  9134. merged_arg0K1 = 0;
  9135. get_error_string_return_tag = 0;
  9136. goto get_error_string;
  9137. get_error_string_return_0:
  9138. x_1266X = get_error_string0_return_value;
  9139. SstackS = ((SstackS) + -4);
  9140. *((long *) (SstackS)) = (long) (x_1266X);
  9141. arg0K0 = 2;
  9142. goto L29309;}}}
  9143. else {
  9144. goto L60719;}}
  9145. else {
  9146. goto L60719;}}
  9147. break;
  9148. case 129 : {s48_make_availableAgc(8);
  9149. arg2_1267X = *((long *) (SstackS));
  9150. SstackS = ((SstackS) + 4);
  9151. arg3_1268X = *((long *) (SstackS));
  9152. SstackS = ((SstackS) + 4);
  9153. arg4_1269X = *((long *) (SstackS));
  9154. SstackS = ((SstackS) + 4);
  9155. arg5_1270X = *((long *) (SstackS));
  9156. SstackS = ((SstackS) + 4);
  9157. if ((3 == (3 & arg5_1270X))) {
  9158. if ((6 == (31 & ((((*((long *) ((((char *) (-3 + arg5_1270X))) + -4))))>>2))))) {
  9159. if ((0 == (3 & (arg3_1268X | arg2_1267X)))) {
  9160. x_1271X = SvalS;
  9161. if ((1 == x_1271X)) {
  9162. goto L54172;}
  9163. else {
  9164. if ((5 == x_1271X)) {
  9165. goto L54172;}
  9166. else {
  9167. goto L54183;}}}
  9168. else {
  9169. goto L54183;}}
  9170. else {
  9171. goto L54183;}}
  9172. else {
  9173. goto L54183;}}
  9174. break;
  9175. case 130 : {s48_make_availableAgc(8);
  9176. arg2_1272X = *((long *) (SstackS));
  9177. SstackS = ((SstackS) + 4);
  9178. arg3_1273X = *((long *) (SstackS));
  9179. SstackS = ((SstackS) + 4);
  9180. arg4_1274X = *((long *) (SstackS));
  9181. SstackS = ((SstackS) + 4);
  9182. if ((3 == (3 & arg4_1274X))) {
  9183. if ((6 == (31 & ((((*((long *) ((((char *) (-3 + arg4_1274X))) + -4))))>>2))))) {
  9184. if ((0 == (3 & (arg2_1272X | (SvalS))))) {
  9185. start_1275X = ((arg2_1272X)>>2);
  9186. count_1276X = (((SvalS))>>2);
  9187. v_1277X = 8 == (*((long *) (((char *) (-3 + arg4_1274X)))));
  9188. if (v_1277X) {
  9189. if ((3 == (3 & arg3_1273X))) {
  9190. if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1273X))) + -4))))>>2))))) {
  9191. if ((((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1273X))) + -4))))>>8)) < (start_1275X + count_1276X))) {
  9192. goto L47307;}
  9193. else {
  9194. got_1278X = ps_write_fd(((((*((long *) ((((char *) (-3 + arg4_1274X))) + 8))))>>2)), ((((char *) (-3 + arg3_1273X))) + start_1275X), count_1276X, &pendingP_1279X, &status_1280X);
  9195. if ((status_1280X == NO_ERRORS)) {
  9196. if (pendingP_1279X) {
  9197. addr_1281X = (((char *) (-3 + arg4_1274X))) + 20;S48_WRITE_BARRIER(arg4_1274X, addr_1281X, 5);
  9198. *((long *) addr_1281X) = (long) (5);
  9199. arg0K0 = 1;
  9200. goto L47306;}
  9201. else {
  9202. arg0K0 = (((got_1278X)<<2));
  9203. goto L47306;}}
  9204. else {
  9205. addr_1282X = s48_allocate_small(8);
  9206. *((long *) addr_1282X) = (long) (1046);
  9207. x_1283X = 3 + (((long) (addr_1282X + 4)));
  9208. *((long *) (((char *) (-3 + x_1283X)))) = (long) ((((status_1280X)<<2)));
  9209. arg0K0 = x_1283X;
  9210. goto L47306;}}}
  9211. else {
  9212. goto L47307;}}
  9213. else {
  9214. goto L47307;}}
  9215. else {
  9216. goto L47307;}}
  9217. else {
  9218. goto L54386;}}
  9219. else {
  9220. goto L54386;}}
  9221. else {
  9222. goto L54386;}}
  9223. break;
  9224. case 131 : {
  9225. if ((0 == (3 & (SvalS)))) {
  9226. param_1284X = (((SvalS))>>2);
  9227. if ((0 == param_1284X)) {
  9228. x_1285X = ps_io_buffer_size();
  9229. SvalS = (((x_1285X)<<2));
  9230. Scode_pointerS = ((Scode_pointerS) + 1);
  9231. arg2K0 = (Scode_pointerS);
  9232. goto L31612;}
  9233. else {
  9234. if ((1 == param_1284X)) {
  9235. x_1286X = ps_io_crlf_p();
  9236. if (x_1286X) {
  9237. arg0K0 = 5;
  9238. goto L57164;}
  9239. else {
  9240. arg0K0 = 1;
  9241. goto L57164;}}
  9242. else {push_exception_setupB(17, 1);
  9243. SstackS = ((SstackS) + -4);
  9244. *((long *) (SstackS)) = (long) ((((param_1284X)<<2)));
  9245. arg0K0 = 1;
  9246. goto L29309;}}}
  9247. else {push_exception_setupB(5, 1);
  9248. x_1287X = SvalS;
  9249. SstackS = ((SstackS) + -4);
  9250. *((long *) (SstackS)) = (long) (x_1287X);
  9251. arg0K0 = 1;
  9252. goto L29309;}}
  9253. break;
  9254. case 132 : {s48_make_availableAgc(2052);
  9255. obj_1288X = SvalS;
  9256. if ((3 == (3 & obj_1288X))) {
  9257. if ((6 == (31 & ((((*((long *) ((((char *) (-3 + obj_1288X))) + -4))))>>2))))) {
  9258. channel_1289X = SvalS;
  9259. if ((0 == (*((long *) (((char *) (-3 + channel_1289X))))))) {push_exception_setupB(5, 1);
  9260. SstackS = ((SstackS) + -4);
  9261. *((long *) (SstackS)) = (long) (channel_1289X);
  9262. arg0K0 = 1;
  9263. goto L29309;}
  9264. else {
  9265. readyP_1290X = ps_check_fd(((((*((long *) ((((char *) (-3 + channel_1289X))) + 8))))>>2)), (4 == (*((long *) (((char *) (-3 + channel_1289X)))))), &status_1291X);
  9266. if ((status_1291X == NO_ERRORS)) {
  9267. if (readyP_1290X) {
  9268. arg0K0 = 5;
  9269. goto L50262;}
  9270. else {
  9271. arg0K0 = 1;
  9272. goto L50262;}}
  9273. else {push_exception_setupB(24, 1);
  9274. SstackS = ((SstackS) + -4);
  9275. *((long *) (SstackS)) = (long) (channel_1289X);
  9276. merged_arg0K0 = status_1291X;
  9277. merged_arg0K1 = 0;
  9278. get_error_string_return_tag = 1;
  9279. goto get_error_string;
  9280. get_error_string_return_1:
  9281. x_1292X = get_error_string0_return_value;
  9282. SstackS = ((SstackS) + -4);
  9283. *((long *) (SstackS)) = (long) (x_1292X);
  9284. arg0K0 = 2;
  9285. goto L29309;}}}
  9286. else {
  9287. goto L60754;}}
  9288. else {
  9289. goto L60754;}}
  9290. break;
  9291. case 133 : {
  9292. obj_1293X = SvalS;
  9293. if ((3 == (3 & obj_1293X))) {
  9294. if ((6 == (31 & ((((*((long *) ((((char *) (-3 + obj_1293X))) + -4))))>>2))))) {
  9295. channel_1294X = SvalS;
  9296. head_1295X = Spending_channels_headS;
  9297. if ((1 == head_1295X)) {
  9298. addr_1296X = (((char *) (-3 + channel_1294X))) + 20;S48_WRITE_BARRIER(channel_1294X, addr_1296X, 1);
  9299. *((long *) addr_1296X) = (long) (1);
  9300. n_1297X = ps_abort_fd_op(((((*((long *) ((((char *) (-3 + channel_1294X))) + 8))))>>2)));
  9301. arg0K0 = (((n_1297X)<<2));
  9302. goto L54534;}
  9303. else {
  9304. if ((channel_1294X == head_1295X)) {
  9305. channel_1298X = Spending_channels_headS;
  9306. next_1299X = *((long *) ((((char *) (-3 + channel_1298X))) + 16));
  9307. Spending_channels_headS = next_1299X;
  9308. addr_1300X = (((char *) (-3 + channel_1298X))) + 16;S48_WRITE_BARRIER(channel_1298X, addr_1300X, 1);
  9309. *((long *) addr_1300X) = (long) (1);
  9310. if ((1 == next_1299X)) {
  9311. Spending_channels_tailS = 1;
  9312. goto L14931;}
  9313. else {
  9314. goto L14931;}}
  9315. else {
  9316. arg0K0 = (*((long *) ((((char *) (-3 + head_1295X))) + 16)));
  9317. arg0K1 = head_1295X;
  9318. goto L14949;}}}
  9319. else {
  9320. goto L54517;}}
  9321. else {
  9322. goto L54517;}}
  9323. break;
  9324. case 134 : {s48_make_availableAgc(((((3 * (Snumber_of_channelsS)))<<2)));
  9325. arg0K0 = (-1 + (Snumber_of_channelsS));
  9326. arg0K1 = 25;
  9327. goto L21533;}
  9328. break;
  9329. case 135 : {
  9330. SvalS = (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)));
  9331. Scode_pointerS = ((Scode_pointerS) + 1);
  9332. arg2K0 = (Scode_pointerS);
  9333. goto L31612;}
  9334. break;
  9335. case 136 : {
  9336. proposal_1301X = SvalS;
  9337. if ((1 == proposal_1301X)) {
  9338. goto L47528;}
  9339. else {
  9340. if ((3 == (3 & proposal_1301X))) {
  9341. if ((2 == (31 & ((((*((long *) ((((char *) (-3 + proposal_1301X))) + -4))))>>2))))) {
  9342. if ((4 == ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + proposal_1301X))) + -4))))>>8))))>>2)))) {
  9343. if ((1 == (*((long *) (((char *) (-3 + proposal_1301X))))))) {
  9344. goto L47528;}
  9345. else {
  9346. goto L47559;}}
  9347. else {
  9348. goto L47559;}}
  9349. else {
  9350. goto L47559;}}
  9351. else {
  9352. goto L47559;}}}
  9353. break;
  9354. case 137 : {
  9355. proposal_1302X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  9356. if ((1 == proposal_1302X)) {push_exception_setupB(26, 1);
  9357. arg0K0 = 0;
  9358. goto L29309;}
  9359. else {GET_PROPOSAL_LOCK();
  9360. log_1303X = *((long *) ((((char *) (-3 + proposal_1302X))) + 4));
  9361. arg0K0 = 0;
  9362. goto L13257;}}
  9363. break;
  9364. case 138 : {
  9365. stob_1304X = SvalS;
  9366. type_1305X = *((unsigned char *) ((Scode_pointerS) + 1));
  9367. offset_1306X = *((unsigned char *) ((Scode_pointerS) + 2));
  9368. if ((3 == (3 & stob_1304X))) {
  9369. if (((31 & ((((*((long *) ((((char *) (-3 + stob_1304X))) + -4))))>>2))) == type_1305X)) {
  9370. x_1307X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  9371. if ((1 == x_1307X)) {
  9372. arg0K0 = (*((long *) ((((char *) (-3 + stob_1304X))) + (((offset_1306X)<<2)))));
  9373. goto L36277;}
  9374. else {
  9375. merged_arg0K0 = stob_1304X;
  9376. merged_arg0K1 = (((offset_1306X)<<2));
  9377. proposal_d_read_return_tag = 1;
  9378. goto proposal_d_read;
  9379. proposal_d_read_return_1:
  9380. v_1308X = proposal_d_read0_return_value;
  9381. arg0K0 = v_1308X;
  9382. goto L36277;}}
  9383. else {
  9384. goto L36278;}}
  9385. else {
  9386. goto L36278;}}
  9387. break;
  9388. case 139 : {
  9389. arg2_1309X = *((long *) (SstackS));
  9390. SstackS = ((SstackS) + 4);
  9391. arg3_1310X = *((long *) (SstackS));
  9392. SstackS = ((SstackS) + 4);
  9393. arg4_1311X = *((long *) (SstackS));
  9394. SstackS = ((SstackS) + 4);
  9395. arg5_1312X = *((long *) (SstackS));
  9396. SstackS = ((SstackS) + 4);
  9397. if ((3 == (3 & arg5_1312X))) {
  9398. if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg5_1312X))) + -4))))>>2))))) {
  9399. if ((0 == (3 & arg4_1311X))) {
  9400. if ((3 == (3 & arg3_1310X))) {
  9401. if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1310X))) + -4))))>>2))))) {
  9402. if ((0 == (3 & (arg2_1309X | (SvalS))))) {
  9403. from_index_1313X = ((arg4_1311X)>>2);
  9404. to_index_1314X = ((arg2_1309X)>>2);
  9405. count_1315X = (((SvalS))>>2);
  9406. v_1316X = *((unsigned char *) ((Scode_pointerS) + 1));
  9407. if ((from_index_1313X < 0)) {
  9408. goto L36371;}
  9409. else {
  9410. if ((((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg5_1312X))) + -4))))>>8)) < (from_index_1313X + count_1315X))) {
  9411. goto L36371;}
  9412. else {
  9413. if ((to_index_1314X < 0)) {
  9414. goto L36371;}
  9415. else {
  9416. if ((((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1310X))) + -4))))>>8)) < (to_index_1314X + count_1315X))) {
  9417. goto L36371;}
  9418. else {
  9419. if ((3 == (3 & arg3_1310X))) {
  9420. if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_1310X))) + -4)))))) {
  9421. if ((count_1315X < 0)) {
  9422. goto L36371;}
  9423. else {
  9424. if ((0 == v_1316X)) {
  9425. goto L36431;}
  9426. else {
  9427. if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
  9428. goto L36431;}
  9429. else {
  9430. arg0K0 = 4096;
  9431. arg0K1 = (*((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)))))) + 12)));
  9432. goto L36528;}}}}
  9433. else {
  9434. goto L36371;}}
  9435. else {
  9436. goto L36371;}}}}}}
  9437. else {
  9438. goto L41415;}}
  9439. else {
  9440. goto L41415;}}
  9441. else {
  9442. goto L41415;}}
  9443. else {
  9444. goto L41415;}}
  9445. else {
  9446. goto L41415;}}
  9447. else {
  9448. goto L41415;}}
  9449. break;
  9450. case 140 : {
  9451. arg2_1317X = *((long *) (SstackS));
  9452. SstackS = ((SstackS) + 4);
  9453. if ((3 == (3 & arg2_1317X))) {
  9454. if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1317X))) + -4))))>>2))))) {
  9455. if ((0 == (3 & (SvalS)))) {
  9456. index_1318X = (((SvalS))>>2);
  9457. len_1319X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_1317X))) + -4))))>>8);
  9458. if ((index_1318X < 0)) {
  9459. goto L36797;}
  9460. else {
  9461. if ((index_1318X < len_1319X)) {
  9462. x_1320X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  9463. if ((1 == x_1320X)) {
  9464. arg0K0 = ((((*((unsigned char *) ((((char *) (-3 + arg2_1317X))) + index_1318X))))<<2));
  9465. goto L36796;}
  9466. else {
  9467. index_1321X = ((index_1318X)<<2);
  9468. log_1322X = *((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)))))) + 8));
  9469. arg0K0 = 0;
  9470. goto L19676;}}
  9471. else {
  9472. goto L36797;}}}
  9473. else {
  9474. goto L41611;}}
  9475. else {
  9476. goto L41611;}}
  9477. else {
  9478. goto L41611;}}
  9479. break;
  9480. case 141 : {
  9481. arg2_1323X = *((long *) (SstackS));
  9482. SstackS = ((SstackS) + 4);
  9483. arg3_1324X = *((long *) (SstackS));
  9484. SstackS = ((SstackS) + 4);
  9485. if ((3 == (3 & arg3_1324X))) {
  9486. if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1324X))) + -4))))>>2))))) {
  9487. if ((0 == (3 & arg2_1323X))) {
  9488. index_1325X = ((arg2_1323X)>>2);
  9489. byte_1326X = SvalS;
  9490. if ((3 == (3 & arg3_1324X))) {
  9491. if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_1324X))) + -4)))))) {
  9492. if ((0 == (3 & byte_1326X))) {
  9493. len_1327X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1324X))) + -4))))>>8);
  9494. if ((index_1325X < 0)) {
  9495. goto L36923;}
  9496. else {
  9497. if ((index_1325X < len_1327X)) {
  9498. x_1328X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  9499. if ((1 == x_1328X)) {
  9500. *((unsigned char *) ((((char *) (-3 + arg3_1324X))) + index_1325X)) = (unsigned char) ((((byte_1326X)>>2)));
  9501. goto L36922;}
  9502. else {
  9503. index_1329X = ((index_1325X)<<2);
  9504. log_1330X = *((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)))))) + 8));
  9505. arg0K0 = 0;
  9506. goto L19852;}}
  9507. else {
  9508. goto L36923;}}}
  9509. else {
  9510. goto L36888;}}
  9511. else {
  9512. goto L36888;}}
  9513. else {
  9514. goto L36888;}}
  9515. else {
  9516. goto L41716;}}
  9517. else {
  9518. goto L41716;}}
  9519. else {
  9520. goto L41716;}}
  9521. break;
  9522. case 142 : {
  9523. SvalS = 529;
  9524. Scode_pointerS = ((Scode_pointerS) + 1);
  9525. arg2K0 = (Scode_pointerS);
  9526. goto L31612;}
  9527. break;
  9528. case 143 : {
  9529. SvalS = 13;
  9530. Scode_pointerS = ((Scode_pointerS) + 1);
  9531. arg2K0 = (Scode_pointerS);
  9532. goto L31612;}
  9533. break;
  9534. case 144 : {
  9535. x_1331X = SvalS;push_exception_setupB(15, 1);
  9536. SstackS = ((SstackS) + -4);
  9537. *((long *) (SstackS)) = (long) (x_1331X);
  9538. arg0K0 = 1;
  9539. goto L29309;}
  9540. break;
  9541. case 145 : {
  9542. SvalS = 1;
  9543. Scode_pointerS = ((Scode_pointerS) + 1);
  9544. arg2K0 = (Scode_pointerS);
  9545. goto L31612;}
  9546. break;
  9547. case 146 : {
  9548. SvalS = 21;
  9549. Scode_pointerS = ((Scode_pointerS) + 1);
  9550. arg2K0 = (Scode_pointerS);
  9551. goto L31612;}
  9552. break;
  9553. case 147 : {s48_make_availableAgc(2052);
  9554. arg2_1332X = *((long *) (SstackS));
  9555. SstackS = ((SstackS) + 4);
  9556. arg3_1333X = *((long *) (SstackS));
  9557. SstackS = ((SstackS) + 4);
  9558. arg4_1334X = *((long *) (SstackS));
  9559. SstackS = ((SstackS) + 4);
  9560. if ((3 == (3 & arg4_1334X))) {
  9561. if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg4_1334X))) + -4))))>>2))))) {
  9562. if ((3 == (3 & arg2_1332X))) {
  9563. if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1332X))) + -4))))>>2))))) {
  9564. obj_1335X = SvalS;
  9565. if ((3 == (3 & obj_1335X))) {
  9566. if ((2 == (31 & ((((*((long *) ((((char *) (-3 + obj_1335X))) + -4))))>>2))))) {
  9567. undumpables_1336X = SvalS;
  9568. port_1337X = ps_open_output_file((((char *)(((char *) (-3 + arg4_1334X))))), &status_1338X);
  9569. if ((status_1338X == NO_ERRORS)) {
  9570. status_1339X = ps_write_string((((char *)(((char *) (-3 + arg2_1332X))))), port_1337X);
  9571. if ((status_1339X == NO_ERRORS)) {
  9572. status_1340X = s48_write_image(arg3_1333X, undumpables_1336X, port_1337X);
  9573. if ((status_1340X == NO_ERRORS)) {
  9574. status_1341X = ps_close(port_1337X);
  9575. if ((status_1341X == NO_ERRORS)) {
  9576. SvalS = 13;
  9577. Scode_pointerS = ((Scode_pointerS) + 1);
  9578. arg2K0 = (Scode_pointerS);
  9579. goto L31612;}
  9580. else {
  9581. arg0K0 = 24;
  9582. arg0K1 = status_1341X;
  9583. goto L51307;}}
  9584. else {
  9585. status_1342X = ps_close(port_1337X);
  9586. if ((status_1342X == NO_ERRORS)) {
  9587. arg0K0 = 24;
  9588. arg0K1 = status_1340X;
  9589. goto L51307;}
  9590. else {
  9591. ps_write_string("Unable to close image file", (stderr));
  9592. { long ignoreXX;
  9593. PS_WRITE_CHAR(10, (stderr), ignoreXX) }
  9594. arg0K0 = 24;
  9595. arg0K1 = status_1340X;
  9596. goto L51307;}}}
  9597. else {
  9598. status_1343X = ps_close(port_1337X);
  9599. if ((status_1343X == NO_ERRORS)) {
  9600. arg0K0 = 24;
  9601. arg0K1 = status_1339X;
  9602. goto L51307;}
  9603. else {
  9604. ps_write_string("Unable to close image file", (stderr));
  9605. { long ignoreXX;
  9606. PS_WRITE_CHAR(10, (stderr), ignoreXX) }
  9607. arg0K0 = 24;
  9608. arg0K1 = status_1339X;
  9609. goto L51307;}}}
  9610. else {
  9611. arg0K0 = 10;
  9612. arg0K1 = status_1338X;
  9613. goto L51307;}}
  9614. else {
  9615. goto L56319;}}
  9616. else {
  9617. goto L56319;}}
  9618. else {
  9619. goto L56319;}}
  9620. else {
  9621. goto L56319;}}
  9622. else {
  9623. goto L56319;}}
  9624. else {
  9625. goto L56319;}}
  9626. break;
  9627. case 148 : {
  9628. SvalS = 13;s48_collect();
  9629. Scode_pointerS = ((Scode_pointerS) + 1);
  9630. arg2K0 = (Scode_pointerS);
  9631. goto L31612;}
  9632. break;
  9633. case 149 : {
  9634. obj_1344X = SvalS;
  9635. if ((3 == (3 & obj_1344X))) {
  9636. if ((16 == (31 & ((((*((long *) ((((char *) (-3 + obj_1344X))) + -4))))>>2))))) {
  9637. x_1345X = Haction4940((SvalS));
  9638. SvalS = (((x_1345X)<<2));
  9639. Scode_pointerS = ((Scode_pointerS) + 1);
  9640. arg2K0 = (Scode_pointerS);
  9641. goto L31612;}
  9642. else {
  9643. goto L57032;}}
  9644. else {
  9645. goto L57032;}}
  9646. break;
  9647. case 150 : {s48_make_availableAgc(24);
  9648. arg2_1346X = *((long *) (SstackS));
  9649. SstackS = ((SstackS) + 4);
  9650. proc_1347X = SvalS;
  9651. if ((3 == (3 & arg2_1346X))) {
  9652. if ((3 == (3 & proc_1347X))) {
  9653. if ((3 == (31 & ((((*((long *) ((((char *) (-3 + proc_1347X))) + -4))))>>2))))) {GET_PROPOSAL_LOCK();
  9654. addr_1348X = s48_allocate_small(12);
  9655. *((long *) addr_1348X) = (long) (2050);
  9656. x_1349X = 3 + (((long) (addr_1348X + 4)));
  9657. *((long *) (((char *) (-3 + x_1349X)))) = (long) (arg2_1346X);
  9658. *((long *) ((((char *) (-3 + x_1349X))) + 4)) = (long) (proc_1347X);
  9659. b_1350X = SHARED_REF((Sfinalizer_alistS));
  9660. addr_1351X = s48_allocate_small(12);
  9661. *((long *) addr_1351X) = (long) (2050);
  9662. x_1352X = 3 + (((long) (addr_1351X + 4)));
  9663. *((long *) (((char *) (-3 + x_1352X)))) = (long) (x_1349X);
  9664. *((long *) ((((char *) (-3 + x_1352X))) + 4)) = (long) (b_1350X);SHARED_SETB((Sfinalizer_alistS), x_1352X);RELEASE_PROPOSAL_LOCK();
  9665. SvalS = 13;
  9666. Scode_pointerS = ((Scode_pointerS) + 1);
  9667. arg2K0 = (Scode_pointerS);
  9668. goto L31612;}
  9669. else {
  9670. goto L51582;}}
  9671. else {
  9672. goto L51582;}}
  9673. else {
  9674. goto L51582;}}
  9675. break;
  9676. case 151 : {
  9677. arg2_1353X = *((long *) (SstackS));
  9678. SstackS = ((SstackS) + 4);
  9679. if ((0 == (3 & arg2_1353X))) {
  9680. key_1354X = ((arg2_1353X)>>2);
  9681. other_1355X = SvalS;
  9682. if ((5 == key_1354X)) {
  9683. SvalS = (-4 & other_1355X);
  9684. Scode_pointerS = ((Scode_pointerS) + 1);
  9685. arg2K0 = (Scode_pointerS);
  9686. goto L31612;}
  9687. else {
  9688. if ((0 == key_1354X)) {
  9689. x_1356X = s48_available();
  9690. SvalS = (((x_1356X)<<2));
  9691. Scode_pointerS = ((Scode_pointerS) + 1);
  9692. arg2K0 = (Scode_pointerS);
  9693. goto L31612;}
  9694. else {
  9695. if ((1 == key_1354X)) {
  9696. bytes_1357X = s48_heap_size();
  9697. SvalS = (-4 & (3 + bytes_1357X));
  9698. Scode_pointerS = ((Scode_pointerS) + 1);
  9699. arg2K0 = (Scode_pointerS);
  9700. goto L31612;}
  9701. else {
  9702. if ((2 == key_1354X)) {
  9703. SvalS = (((((Sstack_endS) - (Sstack_beginS)))<<2));
  9704. Scode_pointerS = ((Scode_pointerS) + 1);
  9705. arg2K0 = (Scode_pointerS);
  9706. goto L31612;}
  9707. else {
  9708. if ((3 == key_1354X)) {
  9709. x_1358X = s48_gc_count();
  9710. SvalS = (((x_1358X)<<2));
  9711. Scode_pointerS = ((Scode_pointerS) + 1);
  9712. arg2K0 = (Scode_pointerS);
  9713. goto L31612;}
  9714. else {
  9715. if ((4 == key_1354X)) {push_exception_setupB(14, 1);
  9716. SstackS = ((SstackS) + -4);
  9717. *((long *) (SstackS)) = (long) ((((key_1354X)<<2)));
  9718. SstackS = ((SstackS) + -4);
  9719. *((long *) (SstackS)) = (long) (other_1355X);
  9720. arg0K0 = 2;
  9721. goto L29309;}
  9722. else {push_exception_setupB(17, 1);
  9723. SstackS = ((SstackS) + -4);
  9724. *((long *) (SstackS)) = (long) ((((key_1354X)<<2)));
  9725. SstackS = ((SstackS) + -4);
  9726. *((long *) (SstackS)) = (long) (other_1355X);
  9727. arg0K0 = 2;
  9728. goto L29309;}}}}}}}
  9729. else {push_exception_setupB(5, 1);
  9730. SstackS = ((SstackS) + -4);
  9731. *((long *) (SstackS)) = (long) (arg2_1353X);
  9732. x_1359X = SvalS;
  9733. SstackS = ((SstackS) + -4);
  9734. *((long *) (SstackS)) = (long) (x_1359X);
  9735. arg0K0 = 2;
  9736. goto L29309;}}
  9737. break;
  9738. case 152 : {
  9739. if ((0 == (3 & (SvalS)))) {
  9740. type_1360X = (((SvalS))>>2);
  9741. arg3K0 = 1;
  9742. goto L54653;}
  9743. else {push_exception_setupB(5, 1);
  9744. x_1361X = SvalS;
  9745. SstackS = ((SstackS) + -4);
  9746. *((long *) (SstackS)) = (long) (x_1361X);
  9747. arg0K0 = 1;
  9748. goto L29309;}}
  9749. break;
  9750. case 153 : {
  9751. x_1362X = SvalS;
  9752. arg3K0 = 1;
  9753. arg0K1 = x_1362X;
  9754. goto L60862;}
  9755. break;
  9756. case 154 : {
  9757. SvalS = (Scurrent_threadS);
  9758. Scode_pointerS = ((Scode_pointerS) + 1);
  9759. arg2K0 = (Scode_pointerS);
  9760. goto L31612;}
  9761. break;
  9762. case 155 : {
  9763. Scurrent_threadS = (SvalS);
  9764. SvalS = 13;
  9765. Scode_pointerS = ((Scode_pointerS) + 1);
  9766. arg2K0 = (Scode_pointerS);
  9767. goto L31612;}
  9768. break;
  9769. case 156 : {
  9770. val_1363X = SHARED_REF((Ssession_dataS));
  9771. SvalS = val_1363X;
  9772. Scode_pointerS = ((Scode_pointerS) + 1);
  9773. arg2K0 = (Scode_pointerS);
  9774. goto L31612;}
  9775. break;
  9776. case 157 : {SHARED_SETB((Ssession_dataS), (SvalS));
  9777. SvalS = 13;
  9778. Scode_pointerS = ((Scode_pointerS) + 1);
  9779. arg2K0 = (Scode_pointerS);
  9780. goto L31612;}
  9781. break;
  9782. case 158 : {
  9783. obj_1364X = SvalS;
  9784. if ((3 == (3 & obj_1364X))) {
  9785. if ((2 == (31 & ((((*((long *) ((((char *) (-3 + obj_1364X))) + -4))))>>2))))) {
  9786. if ((((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8))))>>2)) < 194)) {
  9787. goto L33348;}
  9788. else {
  9789. temp_1365X = SHARED_REF((Sexception_handlersS));SHARED_SETB((Sexception_handlersS), (SvalS));
  9790. SvalS = temp_1365X;
  9791. Scode_pointerS = ((Scode_pointerS) + 1);
  9792. arg2K0 = (Scode_pointerS);
  9793. goto L31612;}}
  9794. else {
  9795. goto L33348;}}
  9796. else {
  9797. goto L33348;}}
  9798. break;
  9799. case 159 : {
  9800. data_1366X = 3 + (((long) (SstackS)));
  9801. SstackS = ((SstackS) + 20);
  9802. code_1367X = *((long *) ((((char *) (-3 + data_1366X))) + 8));
  9803. exception_1368X = *((long *) ((((char *) (-3 + data_1366X))) + 12));
  9804. size_1369X = *((long *) ((((char *) (-3 + data_1366X))) + 16));
  9805. pc_1370X = (((*((long *) ((((char *) (-3 + data_1366X))) + 4))))>>2);
  9806. opcode_1371X = *((unsigned char *) ((((char *) (-3 + code_1367X))) + pc_1370X));
  9807. if ((opcode_1371X < 51)) {
  9808. if ((4 == opcode_1371X)) {
  9809. goto L31694;}
  9810. else {
  9811. Slast_code_calledS = code_1367X;
  9812. Scode_pointerS = ((((char *) (-3 + code_1367X))) + pc_1370X);push_exception_setupB(28, 1);
  9813. SstackS = ((SstackS) + -4);
  9814. *((long *) (SstackS)) = (long) (exception_1368X);
  9815. arg0K0 = 1;
  9816. goto L29309;}}
  9817. else {
  9818. goto L31694;}}
  9819. break;
  9820. case 160 : {
  9821. data_1372X = 3 + (((long) (SstackS)));
  9822. SstackS = ((SstackS) + 20);
  9823. code_1373X = *((long *) ((((char *) (-3 + data_1372X))) + 8));
  9824. exception_1374X = *((long *) ((((char *) (-3 + data_1372X))) + 12));
  9825. opcode_1375X = (((*((long *) ((((char *) (-3 + data_1372X))) + 4))))>>2);
  9826. if ((opcode_1375X < 51)) {
  9827. if ((4 == opcode_1375X)) {
  9828. goto L29570;}
  9829. else {
  9830. Slast_code_calledS = code_1373X;
  9831. Scode_pointerS = (((char *) (-3 + code_1373X)));push_exception_setupB(28, 1);
  9832. SstackS = ((SstackS) + -4);
  9833. *((long *) (SstackS)) = (long) (exception_1374X);
  9834. arg0K0 = 1;
  9835. goto L29309;}}
  9836. else {
  9837. goto L29570;}}
  9838. break;
  9839. case 161 : {
  9840. obj_1376X = SvalS;
  9841. if ((3 == (3 & obj_1376X))) {
  9842. if ((2 == (31 & ((((*((long *) ((((char *) (-3 + obj_1376X))) + -4))))>>2))))) {
  9843. if ((((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + (SvalS)))) + -4))))>>8))))>>2)) < 5)) {
  9844. goto L32253;}
  9845. else {
  9846. temp_1377X = SHARED_REF((Sinterrupt_handlersS));SHARED_SETB((Sinterrupt_handlersS), (SvalS));
  9847. SvalS = temp_1377X;
  9848. Scode_pointerS = ((Scode_pointerS) + 1);
  9849. arg2K0 = (Scode_pointerS);
  9850. goto L31612;}}
  9851. else {
  9852. goto L32253;}}
  9853. else {
  9854. goto L32253;}}
  9855. break;
  9856. case 162 : {
  9857. old_1378X = Senabled_interruptsS;
  9858. p_1379X = SvalS;
  9859. Senabled_interruptsS = (((p_1379X)>>2));
  9860. if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
  9861. s48_Sstack_limitS = (Sreal_stack_limitS);
  9862. if ((s48_Spending_eventsPS)) {
  9863. s48_Sstack_limitS = (((char *) -1));
  9864. goto L60910;}
  9865. else {
  9866. goto L60910;}}
  9867. else {
  9868. s48_Sstack_limitS = (((char *) -1));
  9869. goto L60910;}}
  9870. break;
  9871. case 163 : {
  9872. SstackS = ((SstackS) + 4);
  9873. s48_pop_interrupt_state_return_tag = 0;
  9874. goto s48_pop_interrupt_state;
  9875. s48_pop_interrupt_state_return_0:
  9876. pc_1380X = *((long *) (SstackS));
  9877. SstackS = ((SstackS) + 4);
  9878. code_1381X = *((long *) (SstackS));
  9879. SstackS = ((SstackS) + 4);
  9880. Slast_code_calledS = code_1381X;
  9881. Scode_pointerS = ((((char *) (-3 + code_1381X))) + (((pc_1380X)>>2)));
  9882. v_1382X = *((long *) (SstackS));
  9883. SstackS = ((SstackS) + 4);
  9884. SvalS = v_1382X;
  9885. arg2K0 = (Scode_pointerS);
  9886. goto L31612;}
  9887. break;
  9888. case 164 : {
  9889. SstackS = ((SstackS) + 4);
  9890. s48_pop_interrupt_state_return_tag = 1;
  9891. goto s48_pop_interrupt_state;
  9892. s48_pop_interrupt_state_return_1:
  9893. v_1383X = *((long *) (SstackS));
  9894. SstackS = ((SstackS) + 4);
  9895. SvalS = v_1383X;
  9896. p_1384X = *((long *) (SstackS));
  9897. SstackS = ((SstackS) + 4);
  9898. v_1385X = s48_call_native_procedure((SvalS), (((p_1384X)>>2)));
  9899. arg0K0 = v_1385X;
  9900. goto L58572;}
  9901. break;
  9902. case 165 : {
  9903. SstackS = ((SstackS) + 4);
  9904. s48_pop_interrupt_state_return_tag = 2;
  9905. goto s48_pop_interrupt_state;
  9906. s48_pop_interrupt_state_return_2:
  9907. return_address_1386X = *((long *) (SstackS));
  9908. SstackS = ((SstackS) + 4);
  9909. template_1387X = *((long *) (SstackS));
  9910. SstackS = ((SstackS) + 4);
  9911. v_1388X = *((long *) (SstackS));
  9912. SstackS = ((SstackS) + 4);
  9913. SvalS = v_1388X;
  9914. v_1389X = s48_jump_to_native_address(return_address_1386X, template_1387X);
  9915. arg0K0 = v_1389X;
  9916. goto L58572;}
  9917. break;
  9918. case 166 : {
  9919. if ((0 == (3 & (SvalS)))) {
  9920. p_1390X = SvalS;
  9921. Spending_interruptsS = (-2 & (Spending_interruptsS));
  9922. if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
  9923. s48_Sstack_limitS = (Sreal_stack_limitS);
  9924. if ((s48_Spending_eventsPS)) {
  9925. s48_Sstack_limitS = (((char *) -1));
  9926. goto L58129;}
  9927. else {
  9928. goto L58129;}}
  9929. else {
  9930. s48_Sstack_limitS = (((char *) -1));
  9931. goto L58129;}}
  9932. else {push_exception_setupB(5, 1);
  9933. x_1391X = SvalS;
  9934. SstackS = ((SstackS) + -4);
  9935. *((long *) (SstackS)) = (long) (x_1391X);
  9936. arg0K0 = 1;
  9937. goto L29309;}}
  9938. break;
  9939. case 167 : {
  9940. arg2_1392X = *((long *) (SstackS));
  9941. SstackS = ((SstackS) + 4);
  9942. if ((0 == (3 & arg2_1392X))) {
  9943. x_1393X = SvalS;
  9944. if ((1 == x_1393X)) {
  9945. goto L55867;}
  9946. else {
  9947. if ((5 == x_1393X)) {
  9948. goto L55867;}
  9949. else {
  9950. goto L55872;}}}
  9951. else {
  9952. goto L55872;}}
  9953. break;
  9954. case 168 : {
  9955. p_1394X = *((long *) (SstackS));
  9956. SstackS = ((SstackS) + 4);
  9957. nargs_1395X = ((p_1394X)>>2);
  9958. p_1396X = *((long *) (SstackS));
  9959. SstackS = ((SstackS) + 4);
  9960. rest_list_1397X = *((long *) (SstackS));
  9961. SstackS = ((SstackS) + 4);
  9962. if ((14 < nargs_1395X)) {push_exception_setupB(19, 1);
  9963. x_1398X = *((long *) ((SstackS) + (-4 + (-4 & p_1396X))));
  9964. SstackS = ((SstackS) + -4);
  9965. *((long *) (SstackS)) = (long) (x_1398X);
  9966. SstackS = ((SstackS) + -4);
  9967. *((long *) (SstackS)) = (long) (nargs_1395X);
  9968. arg0K0 = 2;
  9969. goto L29309;}
  9970. else {
  9971. arg0K0 = rest_list_1397X;
  9972. goto L37122;}}
  9973. break;
  9974. case 169 : {s48_make_availableAgc(20);
  9975. arg2_1399X = *((long *) (SstackS));
  9976. SstackS = ((SstackS) + 4);
  9977. if ((3 == (3 & arg2_1399X))) {
  9978. if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1399X))) + -4))))>>2))))) {
  9979. x_1400X = SvalS;
  9980. if ((1 == x_1400X)) {
  9981. goto L54748;}
  9982. else {
  9983. if ((5 == x_1400X)) {
  9984. goto L54748;}
  9985. else {
  9986. goto L54753;}}}
  9987. else {
  9988. goto L54753;}}
  9989. else {
  9990. goto L54753;}}
  9991. break;
  9992. case 170 : {
  9993. arg2_1401X = *((long *) (SstackS));
  9994. SstackS = ((SstackS) + 4);
  9995. if ((3 == (3 & arg2_1401X))) {
  9996. if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1401X))) + -4))))>>2))))) {
  9997. x_1402X = SvalS;
  9998. if ((1 == x_1402X)) {
  9999. goto L40582;}
  10000. else {
  10001. if ((5 == x_1402X)) {
  10002. goto L40582;}
  10003. else {
  10004. goto L40587;}}}
  10005. else {
  10006. goto L40587;}}
  10007. else {
  10008. goto L40587;}}
  10009. break;
  10010. case 171 : {
  10011. arg3K0 = 1;
  10012. goto L60970;}
  10013. break;
  10014. case 172 : {
  10015. arg2_1403X = *((long *) (SstackS));
  10016. SstackS = ((SstackS) + 4);
  10017. if ((0 == (3 & arg2_1403X))) {
  10018. option_1404X = ((arg2_1403X)>>2);
  10019. other_1405X = SvalS;
  10020. if ((2 == option_1404X)) {
  10021. x_1406X = CHEAP_TIME();
  10022. SvalS = (((x_1406X)<<2));
  10023. Scode_pointerS = ((Scode_pointerS) + 1);
  10024. arg2K0 = (Scode_pointerS);
  10025. goto L31612;}
  10026. else {
  10027. if ((0 == option_1404X)) {
  10028. seconds_1407X = s48_run_time(&mseconds_1408X);
  10029. arg0K0 = option_1404X;
  10030. arg0K1 = seconds_1407X;
  10031. arg0K2 = mseconds_1408X;
  10032. goto L56966;}
  10033. else {
  10034. if ((1 == option_1404X)) {
  10035. seconds_1409X = s48_real_time(&mseconds_1410X);
  10036. arg0K0 = option_1404X;
  10037. arg0K1 = seconds_1409X;
  10038. arg0K2 = mseconds_1410X;
  10039. goto L56966;}
  10040. else {push_exception_setupB(17, 1);
  10041. SstackS = ((SstackS) + -4);
  10042. *((long *) (SstackS)) = (long) ((((option_1404X)<<2)));
  10043. SstackS = ((SstackS) + -4);
  10044. *((long *) (SstackS)) = (long) (other_1405X);
  10045. arg0K0 = 2;
  10046. goto L29309;}}}}
  10047. else {push_exception_setupB(5, 1);
  10048. SstackS = ((SstackS) + -4);
  10049. *((long *) (SstackS)) = (long) (arg2_1403X);
  10050. x_1411X = SvalS;
  10051. SstackS = ((SstackS) + -4);
  10052. *((long *) (SstackS)) = (long) (x_1411X);
  10053. arg0K0 = 2;
  10054. goto L29309;}}
  10055. break;
  10056. case 173 : {
  10057. if ((0 == (3 & (SvalS)))) {
  10058. key_1412X = (((SvalS))>>2);
  10059. if ((0 == key_1412X)) {
  10060. string_1413X = s48_get_os_string_encoding();
  10061. val_1414X = enter_stringAgc_n(string_1413X, (strlen((char *) string_1413X)));
  10062. SvalS = val_1414X;
  10063. Scode_pointerS = ((Scode_pointerS) + 1);
  10064. arg2K0 = (Scode_pointerS);
  10065. goto L31612;}
  10066. else {push_exception_setupB(17, 1);
  10067. SstackS = ((SstackS) + -4);
  10068. *((long *) (SstackS)) = (long) ((((key_1412X)<<2)));
  10069. arg0K0 = 1;
  10070. goto L29309;}}
  10071. else {push_exception_setupB(5, 1);
  10072. x_1415X = SvalS;
  10073. SstackS = ((SstackS) + -4);
  10074. *((long *) (SstackS)) = (long) (x_1415X);
  10075. arg0K0 = 1;
  10076. goto L29309;}}
  10077. break;
  10078. case 174 : {
  10079. arg2_1416X = *((long *) (SstackS));
  10080. SstackS = ((SstackS) + 4);
  10081. if ((0 == (3 & arg2_1416X))) {
  10082. key_1417X = ((arg2_1416X)>>2);
  10083. value_1418X = SvalS;
  10084. status_1419X = s48_extended_vm(key_1417X, value_1418X);
  10085. if ((0 == status_1419X)) {
  10086. SvalS = (s48_Sextension_valueS);
  10087. Scode_pointerS = ((Scode_pointerS) + 1);
  10088. arg2K0 = (Scode_pointerS);
  10089. goto L31612;}
  10090. else {
  10091. if ((1 == status_1419X)) {push_exception_setupB(22, 1);
  10092. SstackS = ((SstackS) + -4);
  10093. *((long *) (SstackS)) = (long) ((((key_1417X)<<2)));
  10094. SstackS = ((SstackS) + -4);
  10095. *((long *) (SstackS)) = (long) (value_1418X);
  10096. arg0K0 = 2;
  10097. goto L29309;}
  10098. else {push_exception_setupB(23, 1);
  10099. SstackS = ((SstackS) + -4);
  10100. *((long *) (SstackS)) = (long) ((((key_1417X)<<2)));
  10101. SstackS = ((SstackS) + -4);
  10102. *((long *) (SstackS)) = (long) (value_1418X);
  10103. arg0K0 = 2;
  10104. goto L29309;}}}
  10105. else {push_exception_setupB(5, 1);
  10106. SstackS = ((SstackS) + -4);
  10107. *((long *) (SstackS)) = (long) (arg2_1416X);
  10108. x_1420X = SvalS;
  10109. SstackS = ((SstackS) + -4);
  10110. *((long *) (SstackS)) = (long) (x_1420X);
  10111. arg0K0 = 2;
  10112. goto L29309;}}
  10113. break;
  10114. case 175 : {
  10115. arg2_1421X = *((long *) (SstackS));
  10116. SstackS = ((SstackS) + 4);
  10117. x_1422X = SvalS;
  10118. Senabled_interruptsS = -1;
  10119. if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
  10120. s48_Sstack_limitS = (Sreal_stack_limitS);
  10121. if ((s48_Spending_eventsPS)) {
  10122. s48_Sstack_limitS = (((char *) -1));
  10123. goto L61027;}
  10124. else {
  10125. goto L61027;}}
  10126. else {
  10127. s48_Sstack_limitS = (((char *) -1));
  10128. goto L61027;}}
  10129. break;
  10130. case 176 : {
  10131. arg2_1423X = *((long *) (SstackS));
  10132. SstackS = ((SstackS) + 4);
  10133. if ((3 == (3 & arg2_1423X))) {
  10134. if ((16 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1423X))) + -4))))>>2))))) {
  10135. obj_1424X = SvalS;
  10136. if ((3 == (3 & obj_1424X))) {
  10137. if ((16 == (31 & ((((*((long *) ((((char *) (-3 + obj_1424X))) + -4))))>>2))))) {
  10138. x_1425X = SvalS;
  10139. len_1426X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_1423X))) + -4))))>>8);
  10140. if ((len_1426X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_1425X))) + -4))))>>8)))) {
  10141. if (((!memcmp((void *)(((char *) (-3 + x_1425X))), (void *)(((char *) (-3 + arg2_1423X))),len_1426X)))) {
  10142. arg0K0 = 5;
  10143. goto L49182;}
  10144. else {
  10145. arg0K0 = 1;
  10146. goto L49182;}}
  10147. else {
  10148. arg0K0 = 1;
  10149. goto L49182;}}
  10150. else {
  10151. goto L49147;}}
  10152. else {
  10153. goto L49147;}}
  10154. else {
  10155. goto L49147;}}
  10156. else {
  10157. goto L49147;}}
  10158. break;
  10159. case 177 : {s48_make_availableAgc((4 + (-4 & (3 + (-4 & (SvalS))))));
  10160. arg2_1427X = *((long *) (SstackS));
  10161. SstackS = ((SstackS) + 4);
  10162. if ((0 == (3 & (SvalS)))) {
  10163. n_1428X = (((SvalS))>>2);
  10164. if ((3 == (3 & arg2_1427X))) {
  10165. if ((0 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1427X))) + -4))))>>2))))) {
  10166. goto L48383;}
  10167. else {
  10168. goto L48335;}}
  10169. else {
  10170. goto L48335;}}
  10171. else {push_exception_setupB(5, 1);
  10172. SstackS = ((SstackS) + -4);
  10173. *((long *) (SstackS)) = (long) (arg2_1427X);
  10174. x_1429X = SvalS;
  10175. SstackS = ((SstackS) + -4);
  10176. *((long *) (SstackS)) = (long) (x_1429X);
  10177. arg0K0 = 2;
  10178. goto L29309;}}
  10179. break;
  10180. case 178 : {
  10181. arg2_1430X = *((long *) (SstackS));
  10182. SstackS = ((SstackS) + 4);
  10183. list_1431X = SvalS;
  10184. arg0K0 = list_1431X;
  10185. arg0K1 = list_1431X;
  10186. arg3K2 = 1;
  10187. goto L50325;}
  10188. break;
  10189. case 179 : {
  10190. if ((529 == (SvalS))) {push_exception_setupB(0, 1);
  10191. arg0K0 = 0;
  10192. goto L29309;}
  10193. else {
  10194. Scode_pointerS = ((Scode_pointerS) + 1);
  10195. arg2K0 = (Scode_pointerS);
  10196. goto L31612;}}
  10197. break;
  10198. case 180 : {
  10199. arg2_1432X = *((long *) (SstackS));
  10200. SstackS = ((SstackS) + 4);
  10201. arg3_1433X = *((long *) (SstackS));
  10202. SstackS = ((SstackS) + 4);
  10203. if ((0 == (3 & (SvalS)))) {
  10204. index_1434X = (((SvalS))>>2);
  10205. if ((3 == (3 & arg3_1433X))) {
  10206. if ((9 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1433X))) + -4))))>>2))))) {
  10207. if ((arg2_1432X == (*((long *) (((char *) (-3 + arg3_1433X))))))) {
  10208. len_1435X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1433X))) + -4))))>>8))))>>2);
  10209. if ((index_1434X < 0)) {
  10210. goto L37454;}
  10211. else {
  10212. if ((index_1434X < len_1435X)) {
  10213. v_1436X = *((unsigned char *) ((Scode_pointerS) + 1));
  10214. if ((0 == v_1436X)) {
  10215. goto L37444;}
  10216. else {
  10217. if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
  10218. goto L37444;}
  10219. else {
  10220. merged_arg0K0 = arg3_1433X;
  10221. merged_arg0K1 = (((index_1434X)<<2));
  10222. proposal_d_read_return_tag = 2;
  10223. goto proposal_d_read;
  10224. proposal_d_read_return_2:
  10225. v_1437X = proposal_d_read0_return_value;
  10226. arg0K0 = v_1437X;
  10227. goto L37453;}}}
  10228. else {
  10229. goto L37454;}}}
  10230. else {
  10231. goto L37474;}}
  10232. else {
  10233. goto L37474;}}
  10234. else {
  10235. goto L37474;}}
  10236. else {push_exception_setupB(5, 1);
  10237. SstackS = ((SstackS) + -4);
  10238. *((long *) (SstackS)) = (long) (arg3_1433X);
  10239. SstackS = ((SstackS) + -4);
  10240. *((long *) (SstackS)) = (long) (arg2_1432X);
  10241. x_1438X = SvalS;
  10242. SstackS = ((SstackS) + -4);
  10243. *((long *) (SstackS)) = (long) (x_1438X);
  10244. arg0K0 = 3;
  10245. goto L29309;}}
  10246. break;
  10247. case 181 : {
  10248. arg2_1439X = *((long *) (SstackS));
  10249. SstackS = ((SstackS) + 4);
  10250. arg3_1440X = *((long *) (SstackS));
  10251. SstackS = ((SstackS) + 4);
  10252. arg4_1441X = *((long *) (SstackS));
  10253. SstackS = ((SstackS) + 4);
  10254. if ((0 == (3 & arg2_1439X))) {
  10255. index_1442X = ((arg2_1439X)>>2);
  10256. value_1443X = SvalS;
  10257. if ((3 == (3 & arg4_1441X))) {
  10258. if ((9 == (31 & ((((*((long *) ((((char *) (-3 + arg4_1441X))) + -4))))>>2))))) {
  10259. if ((arg3_1440X == (*((long *) (((char *) (-3 + arg4_1441X))))))) {
  10260. if ((3 == (3 & arg4_1441X))) {
  10261. if ((0 == (128 & (*((long *) ((((char *) (-3 + arg4_1441X))) + -4)))))) {
  10262. len_1444X = (((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg4_1441X))) + -4))))>>8))))>>2);
  10263. if ((index_1442X < 0)) {
  10264. goto L37712;}
  10265. else {
  10266. if ((index_1442X < len_1444X)) {
  10267. v_1445X = *((unsigned char *) ((Scode_pointerS) + 1));
  10268. if ((0 == v_1445X)) {
  10269. goto L37702;}
  10270. else {
  10271. if ((1 == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
  10272. goto L37702;}
  10273. else {
  10274. merged_arg0K0 = arg4_1441X;
  10275. merged_arg0K1 = (((index_1442X)<<2));
  10276. merged_arg0K2 = value_1443X;
  10277. proposal_d_write_return_tag = 2;
  10278. goto proposal_d_write;
  10279. proposal_d_write_return_2:
  10280. goto L37711;}}}
  10281. else {
  10282. goto L37712;}}}
  10283. else {
  10284. goto L37734;}}
  10285. else {
  10286. goto L37734;}}
  10287. else {
  10288. goto L37734;}}
  10289. else {
  10290. goto L37734;}}
  10291. else {
  10292. goto L37734;}}
  10293. else {push_exception_setupB(5, 1);
  10294. SstackS = ((SstackS) + -4);
  10295. *((long *) (SstackS)) = (long) (arg4_1441X);
  10296. SstackS = ((SstackS) + -4);
  10297. *((long *) (SstackS)) = (long) (arg3_1440X);
  10298. SstackS = ((SstackS) + -4);
  10299. *((long *) (SstackS)) = (long) (arg2_1439X);
  10300. x_1446X = SvalS;
  10301. SstackS = ((SstackS) + -4);
  10302. *((long *) (SstackS)) = (long) (x_1446X);
  10303. arg0K0 = 4;
  10304. goto L29309;}}
  10305. break;
  10306. case 182 : {
  10307. arg2_1447X = *((long *) (SstackS));
  10308. SstackS = ((SstackS) + 4);
  10309. arg3_1448X = *((long *) (SstackS));
  10310. SstackS = ((SstackS) + 4);
  10311. arg4_1449X = *((long *) (SstackS));
  10312. SstackS = ((SstackS) + 4);
  10313. arg5_1450X = *((long *) (SstackS));
  10314. SstackS = ((SstackS) + 4);
  10315. if ((0 == (3 & arg5_1450X))) {
  10316. if ((9 == (255 & arg4_1449X))) {
  10317. if ((3 == (3 & arg3_1448X))) {
  10318. if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1448X))) + -4))))>>2))))) {
  10319. if ((0 == (3 & (arg2_1447X | (SvalS))))) {
  10320. encoding_1451X = ((arg5_1450X)>>2);
  10321. value_1452X = ((arg4_1449X)>>8);
  10322. start_1453X = ((arg2_1447X)>>2);
  10323. count_1454X = (((SvalS))>>2);
  10324. if ((3 == (3 & arg3_1448X))) {
  10325. if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_1448X))) + -4)))))) {
  10326. if ((start_1453X < 0)) {
  10327. goto L29928;}
  10328. else {
  10329. if ((count_1454X < 0)) {
  10330. goto L29928;}
  10331. else {
  10332. if ((((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1448X))) + -4))))>>8)) < (start_1453X + count_1454X))) {
  10333. goto L29928;}
  10334. else {
  10335. encoding_okP_1455X = encode_scalar_value(encoding_1451X, value_1452X, ((((char *) (-3 + arg3_1448X))) + start_1453X), count_1454X, &okP_1456X, &out_of_spaceP_1457X, &count_1458X);
  10336. if (encoding_okP_1455X) {
  10337. if (okP_1456X) {
  10338. if (out_of_spaceP_1457X) {
  10339. arg0K0 = 1;
  10340. goto L29980;}
  10341. else {
  10342. arg0K0 = 5;
  10343. goto L29980;}}
  10344. else {
  10345. arg0K0 = 1;
  10346. goto L29980;}}
  10347. else {push_exception_setupB(17, 1);
  10348. SstackS = ((SstackS) + -4);
  10349. *((long *) (SstackS)) = (long) ((((encoding_1451X)<<2)));
  10350. arg0K0 = 1;
  10351. goto L29309;}}}}}
  10352. else {
  10353. goto L29928;}}
  10354. else {
  10355. goto L29928;}}
  10356. else {
  10357. goto L30658;}}
  10358. else {
  10359. goto L30658;}}
  10360. else {
  10361. goto L30658;}}
  10362. else {
  10363. goto L30658;}}
  10364. else {
  10365. goto L30658;}}
  10366. break;
  10367. case 183 : {
  10368. arg2_1459X = *((long *) (SstackS));
  10369. SstackS = ((SstackS) + 4);
  10370. arg3_1460X = *((long *) (SstackS));
  10371. SstackS = ((SstackS) + 4);
  10372. arg4_1461X = *((long *) (SstackS));
  10373. SstackS = ((SstackS) + 4);
  10374. arg5_1462X = *((long *) (SstackS));
  10375. SstackS = ((SstackS) + 4);
  10376. if ((0 == (3 & arg5_1462X))) {
  10377. if ((9 == (255 & arg4_1461X))) {
  10378. if ((3 == (3 & arg3_1460X))) {
  10379. if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1460X))) + -4))))>>2))))) {
  10380. if ((0 == (3 & (arg2_1459X | (SvalS))))) {
  10381. encoding_1463X = ((arg5_1462X)>>2);
  10382. value_1464X = ((arg4_1461X)>>8);
  10383. start_1465X = ((arg2_1459X)>>2);
  10384. count_1466X = (((SvalS))>>2);
  10385. if ((3 == (3 & arg3_1460X))) {
  10386. if ((0 == (128 & (*((long *) ((((char *) (-3 + arg3_1460X))) + -4)))))) {
  10387. if ((start_1465X < 0)) {
  10388. goto L48538;}
  10389. else {
  10390. if ((count_1466X < 0)) {
  10391. goto L48538;}
  10392. else {
  10393. if ((((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1460X))) + -4))))>>8)) < (start_1465X + count_1466X))) {
  10394. goto L48538;}
  10395. else {
  10396. encoding_okP_1467X = encode_scalar_value(encoding_1463X, value_1464X, ((((char *) (-3 + arg3_1460X))) + start_1465X), count_1466X, &okP_1468X, &out_of_spaceP_1469X, &count_1470X);
  10397. if (encoding_okP_1467X) {
  10398. SvalS = 13;
  10399. Scode_pointerS = ((Scode_pointerS) + 1);
  10400. arg2K0 = (Scode_pointerS);
  10401. goto L31612;}
  10402. else {push_exception_setupB(17, 1);
  10403. SstackS = ((SstackS) + -4);
  10404. *((long *) (SstackS)) = (long) ((((encoding_1463X)<<2)));
  10405. arg0K0 = 1;
  10406. goto L29309;}}}}}
  10407. else {
  10408. goto L48538;}}
  10409. else {
  10410. goto L48538;}}
  10411. else {
  10412. goto L55151;}}
  10413. else {
  10414. goto L55151;}}
  10415. else {
  10416. goto L55151;}}
  10417. else {
  10418. goto L55151;}}
  10419. else {
  10420. goto L55151;}}
  10421. break;
  10422. case 184 : {
  10423. arg2_1471X = *((long *) (SstackS));
  10424. SstackS = ((SstackS) + 4);
  10425. arg3_1472X = *((long *) (SstackS));
  10426. SstackS = ((SstackS) + 4);
  10427. arg4_1473X = *((long *) (SstackS));
  10428. SstackS = ((SstackS) + 4);
  10429. if ((0 == (3 & arg4_1473X))) {
  10430. if ((3 == (3 & arg3_1472X))) {
  10431. if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1472X))) + -4))))>>2))))) {
  10432. if ((0 == (3 & (arg2_1471X | (SvalS))))) {
  10433. encoding_1474X = ((arg4_1473X)>>2);
  10434. start_1475X = ((arg2_1471X)>>2);
  10435. count_1476X = (((SvalS))>>2);
  10436. if ((start_1475X < 0)) {
  10437. goto L30213;}
  10438. else {
  10439. if ((count_1476X < 0)) {
  10440. goto L30213;}
  10441. else {
  10442. if ((((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1472X))) + -4))))>>8)) < (start_1475X + count_1476X))) {
  10443. goto L30213;}
  10444. else {
  10445. encoding_okP_1477X = decode_scalar_value(encoding_1474X, ((((char *) (-3 + arg3_1472X))) + start_1475X), count_1476X, &okP_1478X, &incompleteP_1479X, &value_1480X, &count_1481X);
  10446. if (encoding_okP_1477X) {
  10447. if (okP_1478X) {
  10448. if (incompleteP_1479X) {
  10449. arg0K0 = 1;
  10450. goto L30279;}
  10451. else {
  10452. arg0K0 = (9 + (((value_1480X)<<8)));
  10453. goto L30279;}}
  10454. else {
  10455. arg0K0 = 1;
  10456. goto L30279;}}
  10457. else {push_exception_setupB(17, 1);
  10458. SstackS = ((SstackS) + -4);
  10459. *((long *) (SstackS)) = (long) ((((encoding_1474X)<<2)));
  10460. arg0K0 = 1;
  10461. goto L29309;}}}}}
  10462. else {
  10463. goto L30854;}}
  10464. else {
  10465. goto L30854;}}
  10466. else {
  10467. goto L30854;}}
  10468. else {
  10469. goto L30854;}}
  10470. break;
  10471. case 185 : {
  10472. arg2_1482X = *((long *) (SstackS));
  10473. SstackS = ((SstackS) + 4);
  10474. arg3_1483X = *((long *) (SstackS));
  10475. SstackS = ((SstackS) + 4);
  10476. arg4_1484X = *((long *) (SstackS));
  10477. SstackS = ((SstackS) + 4);
  10478. if ((0 == (3 & arg4_1484X))) {
  10479. if ((3 == (3 & arg3_1483X))) {
  10480. if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg3_1483X))) + -4))))>>2))))) {
  10481. if ((0 == (3 & (arg2_1482X | (SvalS))))) {
  10482. encoding_1485X = ((arg4_1484X)>>2);
  10483. start_1486X = ((arg2_1482X)>>2);
  10484. count_1487X = (((SvalS))>>2);
  10485. if ((start_1486X < 0)) {
  10486. goto L48757;}
  10487. else {
  10488. if ((count_1487X < 0)) {
  10489. goto L48757;}
  10490. else {
  10491. if ((((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg3_1483X))) + -4))))>>8)) < (start_1486X + count_1487X))) {
  10492. goto L48757;}
  10493. else {
  10494. encoding_okP_1488X = decode_scalar_value(encoding_1485X, ((((char *) (-3 + arg3_1483X))) + start_1486X), count_1487X, &okP_1489X, &incompleteP_1490X, &value_1491X, &count_1492X);
  10495. if (encoding_okP_1488X) {
  10496. SvalS = 13;
  10497. Scode_pointerS = ((Scode_pointerS) + 1);
  10498. arg2K0 = (Scode_pointerS);
  10499. goto L31612;}
  10500. else {push_exception_setupB(17, 1);
  10501. SstackS = ((SstackS) + -4);
  10502. *((long *) (SstackS)) = (long) ((((encoding_1485X)<<2)));
  10503. arg0K0 = 1;
  10504. goto L29309;}}}}}
  10505. else {
  10506. goto L55347;}}
  10507. else {
  10508. goto L55347;}}
  10509. else {
  10510. goto L55347;}}
  10511. else {
  10512. goto L55347;}}
  10513. break;
  10514. case 186 : {
  10515. v_1493X = *((unsigned char *) ((Scode_pointerS) + 1));
  10516. if ((0 == v_1493X)) {
  10517. arg0K0 = (SvalS);
  10518. goto L37991;}
  10519. else {
  10520. merged_arg0K0 = 0;
  10521. get_current_port_return_tag = 0;
  10522. goto get_current_port;
  10523. get_current_port_return_0:
  10524. v_1494X = get_current_port0_return_value;
  10525. arg0K0 = v_1494X;
  10526. goto L37991;}}
  10527. break;
  10528. case 187 : {
  10529. v_1495X = *((unsigned char *) ((Scode_pointerS) + 1));
  10530. if ((0 == v_1495X)) {
  10531. arg0K0 = (SvalS);
  10532. goto L38193;}
  10533. else {
  10534. merged_arg0K0 = 0;
  10535. get_current_port_return_tag = 1;
  10536. goto get_current_port;
  10537. get_current_port_return_1:
  10538. v_1496X = get_current_port0_return_value;
  10539. arg0K0 = v_1496X;
  10540. goto L38193;}}
  10541. break;
  10542. case 188 : {
  10543. v_1497X = *((unsigned char *) ((Scode_pointerS) + 1));
  10544. if ((0 == v_1497X)) {
  10545. v_1498X = *((long *) (SstackS));
  10546. SstackS = ((SstackS) + 4);
  10547. arg0K0 = v_1498X;
  10548. arg0K1 = (SvalS);
  10549. goto L38388;}
  10550. else {
  10551. merged_arg0K0 = 4;
  10552. get_current_port_return_tag = 2;
  10553. goto get_current_port;
  10554. get_current_port_return_2:
  10555. v_1499X = get_current_port0_return_value;
  10556. arg0K0 = (SvalS);
  10557. arg0K1 = v_1499X;
  10558. goto L38388;}}
  10559. break;
  10560. case 189 : {
  10561. v_1500X = *((unsigned char *) ((Scode_pointerS) + 1));
  10562. if ((0 == v_1500X)) {
  10563. arg0K0 = (SvalS);
  10564. goto L38657;}
  10565. else {
  10566. merged_arg0K0 = 0;
  10567. get_current_port_return_tag = 3;
  10568. goto get_current_port;
  10569. get_current_port_return_3:
  10570. v_1501X = get_current_port0_return_value;
  10571. arg0K0 = v_1501X;
  10572. goto L38657;}}
  10573. break;
  10574. case 190 : {
  10575. v_1502X = *((unsigned char *) ((Scode_pointerS) + 1));
  10576. if ((0 == v_1502X)) {
  10577. arg0K0 = (SvalS);
  10578. goto L39248;}
  10579. else {
  10580. merged_arg0K0 = 0;
  10581. get_current_port_return_tag = 4;
  10582. goto get_current_port;
  10583. get_current_port_return_4:
  10584. v_1503X = get_current_port0_return_value;
  10585. arg0K0 = v_1503X;
  10586. goto L39248;}}
  10587. break;
  10588. case 191 : {
  10589. v_1504X = *((unsigned char *) ((Scode_pointerS) + 1));
  10590. if ((0 == v_1504X)) {
  10591. v_1505X = *((long *) (SstackS));
  10592. SstackS = ((SstackS) + 4);
  10593. arg0K0 = v_1505X;
  10594. arg0K1 = (SvalS);
  10595. goto L39759;}
  10596. else {
  10597. merged_arg0K0 = 4;
  10598. get_current_port_return_tag = 5;
  10599. goto get_current_port;
  10600. get_current_port_return_5:
  10601. v_1506X = get_current_port0_return_value;
  10602. arg0K0 = (SvalS);
  10603. arg0K1 = v_1506X;
  10604. goto L39759;}}
  10605. break;
  10606. case 192 : {s48_make_availableAgc(2052);
  10607. if ((0 == (3 & (SvalS)))) {
  10608. merged_arg0K0 = ((((SvalS))>>2));
  10609. merged_arg0K1 = 0;
  10610. get_error_string_return_tag = 2;
  10611. goto get_error_string;
  10612. get_error_string_return_2:
  10613. val_1507X = get_error_string0_return_value;
  10614. SvalS = val_1507X;
  10615. Scode_pointerS = ((Scode_pointerS) + 1);
  10616. arg2K0 = (Scode_pointerS);
  10617. goto L31612;}
  10618. else {push_exception_setupB(5, 1);
  10619. x_1508X = SvalS;
  10620. SstackS = ((SstackS) + -4);
  10621. *((long *) (SstackS)) = (long) (x_1508X);
  10622. arg0K0 = 1;
  10623. goto L29309;}}
  10624. break;
  10625. case 193 : {
  10626. x_1509X = SvalS;
  10627. out_1510X = stderr;
  10628. arg0K0 = x_1509X;
  10629. goto L50578;}
  10630. break;
  10631. }}
  10632. L28384: {
  10633. i_1511X = arg0K0;
  10634. m_1512X = arg0K1;
  10635. if ((0 == (n_970X & m_1512X))) {
  10636. arg0K0 = (1 + i_1511X);
  10637. arg0K1 = (((m_1512X)<<1));
  10638. goto L28384;}
  10639. else {
  10640. Spending_interruptsS = ((Spending_interruptsS) & (~ m_1512X));
  10641. handlers_1513X = SHARED_REF((Sinterrupt_handlersS));
  10642. if ((i_1511X == 0)) {
  10643. x_1514X = Sinterrupted_templateS;
  10644. SstackS = ((SstackS) + -4);
  10645. *((long *) (SstackS)) = (long) (x_1514X);
  10646. Sinterrupted_templateS = 1;
  10647. n_1515X = Senabled_interruptsS;
  10648. SstackS = ((SstackS) + -4);
  10649. *((long *) (SstackS)) = (long) ((((n_1515X)<<2)));
  10650. arg0K0 = 2;
  10651. goto L28341;}
  10652. else {
  10653. if ((i_1511X == 2)) {
  10654. x_1516X = Sfinalize_theseS;
  10655. SstackS = ((SstackS) + -4);
  10656. *((long *) (SstackS)) = (long) (x_1516X);
  10657. Sfinalize_theseS = 25;
  10658. n_1517X = Senabled_interruptsS;
  10659. SstackS = ((SstackS) + -4);
  10660. *((long *) (SstackS)) = (long) ((((n_1517X)<<2)));
  10661. arg0K0 = 2;
  10662. goto L28341;}
  10663. else {
  10664. if ((i_1511X == 3)) {
  10665. channel_1518X = Spending_channels_headS;
  10666. next_1519X = *((long *) ((((char *) (-3 + channel_1518X))) + 16));
  10667. Spending_channels_headS = next_1519X;
  10668. addr_1520X = (((char *) (-3 + channel_1518X))) + 16;S48_WRITE_BARRIER(channel_1518X, addr_1520X, 1);
  10669. *((long *) addr_1520X) = (long) (1);
  10670. if ((1 == next_1519X)) {
  10671. Spending_channels_tailS = 1;
  10672. arg0K0 = channel_1518X;
  10673. goto L15148;}
  10674. else {
  10675. arg0K0 = channel_1518X;
  10676. goto L15148;}}
  10677. else {
  10678. if ((i_1511X == 4)) {
  10679. v_1521X = (Sos_signal_ring_startS) == (Sos_signal_ring_endS);
  10680. if (v_1521X) {
  10681. ps_error("This cannot happen: OS signal ring empty", 0);
  10682. goto L15332;}
  10683. else {
  10684. goto L15332;}}
  10685. else {
  10686. n_1522X = Senabled_interruptsS;
  10687. SstackS = ((SstackS) + -4);
  10688. *((long *) (SstackS)) = (long) ((((n_1522X)<<2)));
  10689. arg0K0 = 1;
  10690. goto L28341;}}}}}}
  10691. L58576: {
  10692. tag_1523X = arg0K0;
  10693. if ((tag_1523X == 0)) {
  10694. arg0K0 = (s48_Snative_protocolS);
  10695. arg0K1 = 25;
  10696. arg0K2 = 0;
  10697. goto L28737;}
  10698. else {
  10699. if ((tag_1523X == 1)) {
  10700. stack_arg_count_1524X = s48_Snative_protocolS;
  10701. obj_1525X = SvalS;
  10702. if ((3 == (3 & obj_1525X))) {
  10703. if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1525X))) + -4))))>>2))))) {
  10704. arg0K0 = stack_arg_count_1524X;
  10705. arg0K1 = 25;
  10706. arg0K2 = 0;
  10707. arg0K3 = -1;
  10708. goto L59362;}
  10709. else {
  10710. arg0K0 = 3;
  10711. arg0K1 = stack_arg_count_1524X;
  10712. arg0K2 = 25;
  10713. arg0K3 = 0;
  10714. goto L28999;}}
  10715. else {
  10716. arg0K0 = 3;
  10717. arg0K1 = stack_arg_count_1524X;
  10718. arg0K2 = 25;
  10719. arg0K3 = 0;
  10720. goto L28999;}}
  10721. else {
  10722. if ((tag_1523X == 2)) {
  10723. template_1526X = *((long *) (SstackS));
  10724. SstackS = ((SstackS) + 4);
  10725. return_address_1527X = *((long *) (SstackS));
  10726. SstackS = ((SstackS) + 4);
  10727. pending_interruptP_return_tag = 4;
  10728. goto pending_interruptP;
  10729. pending_interruptP_return_4:
  10730. v_1528X = pending_interruptP0_return_value;
  10731. if (v_1528X) {
  10732. x_1529X = SvalS;
  10733. SstackS = ((SstackS) + -4);
  10734. *((long *) (SstackS)) = (long) (x_1529X);
  10735. SstackS = ((SstackS) + -4);
  10736. *((long *) (SstackS)) = (long) (template_1526X);
  10737. SstackS = ((SstackS) + -4);
  10738. *((long *) (SstackS)) = (long) (return_address_1527X);
  10739. x_1530X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  10740. SstackS = ((SstackS) + -4);
  10741. *((long *) (SstackS)) = (long) (x_1530X);
  10742. x_1531X = Scurrent_threadS;
  10743. addr_1532X = (((char *) (-3 + x_1531X))) + 12;S48_WRITE_BARRIER(x_1531X, addr_1532X, 1);
  10744. *((long *) addr_1532X) = (long) (1);
  10745. n_1533X = Senabled_interruptsS;
  10746. SstackS = ((SstackS) + -4);
  10747. *((long *) (SstackS)) = (long) ((((n_1533X)<<2)));
  10748. code_1534X = Snative_poll_return_codeS;
  10749. v_1535X = ((((ScontS) - (SstackS)))>>2);
  10750. SstackS = ((SstackS) + -4);
  10751. *((long *) (SstackS)) = (long) ((4 + (((v_1535X)<<2))));
  10752. SstackS = ((SstackS) + -4);
  10753. *((long *) (SstackS)) = (long) ((((long) ((((char *) (-3 + code_1534X))) + 13))));
  10754. ScontS = (SstackS);
  10755. goto L28331;}
  10756. else {
  10757. v_1536X = s48_jump_to_native_address(return_address_1527X, template_1526X);
  10758. arg0K0 = v_1536X;
  10759. goto L58576;}}
  10760. else {
  10761. if ((tag_1523X == 3)) {
  10762. arg0K0 = (s48_Snative_protocolS);
  10763. arg0K1 = 25;
  10764. arg0K2 = 0;
  10765. goto L28737;}
  10766. else {
  10767. if ((tag_1523X == 4)) {
  10768. arg2K0 = (Scode_pointerS);
  10769. goto L31612;}
  10770. else {
  10771. if ((tag_1523X == 5)) {
  10772. maybe_cont_1537X = *((long *) (SstackS));
  10773. SstackS = ((SstackS) + 4);
  10774. stack_nargs_1538X = s48_Snative_protocolS;
  10775. list_args_1539X = *((long *) (SstackS));
  10776. SstackS = ((SstackS) + 4);
  10777. merged_arg0K0 = list_args_1539X;
  10778. okay_argument_list_return_tag = 1;
  10779. goto okay_argument_list;
  10780. okay_argument_list_return_1:
  10781. okayP_1540X = okay_argument_list0_return_value;
  10782. length_1541X = okay_argument_list1_return_value;
  10783. if (okayP_1540X) {
  10784. if ((0 == maybe_cont_1537X)) {
  10785. merged_arg0K0 = stack_nargs_1538X;
  10786. move_args_above_contB_return_tag = 5;
  10787. goto move_args_above_contB;
  10788. move_args_above_contB_return_5:
  10789. arg0K0 = stack_nargs_1538X;
  10790. arg0K1 = list_args_1539X;
  10791. arg0K2 = length_1541X;
  10792. goto L58313;}
  10793. else {
  10794. ScontS = ((SstackS) + (((stack_nargs_1538X)<<2)));
  10795. *((long *) (ScontS)) = (long) ((((long) (((char *) maybe_cont_1537X)))));
  10796. arg0K0 = stack_nargs_1538X;
  10797. arg0K1 = list_args_1539X;
  10798. arg0K2 = length_1541X;
  10799. goto L58313;}}
  10800. else {
  10801. merged_arg0K0 = list_args_1539X;
  10802. merged_arg0K1 = stack_nargs_1538X;
  10803. pop_args_GlistSAgc_return_tag = 2;
  10804. goto pop_args_GlistSAgc;
  10805. pop_args_GlistSAgc_return_2:
  10806. args_1542X = pop_args_GlistSAgc0_return_value;push_exception_setupB(5, 0);
  10807. x_1543X = SvalS;
  10808. SstackS = ((SstackS) + -4);
  10809. *((long *) (SstackS)) = (long) (x_1543X);
  10810. SstackS = ((SstackS) + -4);
  10811. *((long *) (SstackS)) = (long) (args_1542X);
  10812. arg0K0 = 2;
  10813. goto L29309;}}
  10814. else {
  10815. if ((tag_1523X == 6)) {push_exception_setupB(15, 1);
  10816. x_1544X = SvalS;
  10817. SstackS = ((SstackS) + -4);
  10818. *((long *) (SstackS)) = (long) (x_1544X);
  10819. arg0K0 = 1;
  10820. goto L29309;}
  10821. else {
  10822. ps_error("unexpected native return value", 1, tag_1523X);
  10823. arg0K0 = v_1545X;
  10824. goto L63848;}}}}}}}}
  10825. L32064: {
  10826. arg2K0 = (Scode_pointerS);
  10827. goto L31612;}
  10828. L11335: {
  10829. new_env_1546X = arg0K0;
  10830. i_1547X = arg0K1;
  10831. offset_1548X = arg0K2;
  10832. total_count_1549X = arg0K3;
  10833. arg0K0 = (*((unsigned char *) ((Scode_pointerS) + (1 + offset_1548X))));
  10834. arg0K1 = i_1547X;
  10835. arg0K2 = (1 + offset_1548X);
  10836. goto L11341;}
  10837. L21803: {
  10838. count_1550X = arg0K0;
  10839. i_1551X = arg0K1;
  10840. offset_1552X = arg0K2;
  10841. if ((0 == count_1550X)) {
  10842. arg0K0 = new_env_1000X;
  10843. arg0K1 = i_1551X;
  10844. arg0K2 = offset_1552X;
  10845. arg0K3 = total_count_996X;
  10846. goto L11335;}
  10847. else {
  10848. merged_arg0K0 = (*((long *) ((((char *) (-3 + template_1001X))) + ((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1552X)))))<<2)))));
  10849. merged_arg0K1 = new_env_1000X;
  10850. merged_arg0K2 = 0;
  10851. make_closure_return_tag = 0;
  10852. goto make_closure;
  10853. make_closure_return_0:
  10854. value_1553X = make_closure0_return_value;
  10855. addr_1554X = (((char *) (-3 + new_env_1000X))) + (((i_1551X)<<2));S48_WRITE_BARRIER(new_env_1000X, addr_1554X, value_1553X);
  10856. *((long *) addr_1554X) = (long) (value_1553X);
  10857. arg0K0 = (-1 + count_1550X);
  10858. arg0K1 = (1 + i_1551X);
  10859. arg0K2 = (1 + offset_1552X);
  10860. goto L21803;}}
  10861. L14085: {
  10862. new_env_1555X = arg0K0;
  10863. i_1556X = arg0K1;
  10864. offset_1557X = arg0K2;
  10865. total_count_1558X = arg0K3;
  10866. arg0K0 = (((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1557X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + offset_1557X)))));
  10867. arg0K1 = i_1556X;
  10868. arg0K2 = (2 + offset_1557X);
  10869. goto L14091;}
  10870. L21864: {
  10871. count_1559X = arg0K0;
  10872. i_1560X = arg0K1;
  10873. offset_1561X = arg0K2;
  10874. if ((0 == count_1559X)) {
  10875. arg0K0 = new_env_1006X;
  10876. arg0K1 = i_1560X;
  10877. arg0K2 = offset_1561X;
  10878. arg0K3 = total_count_1002X;
  10879. goto L14085;}
  10880. else {
  10881. merged_arg0K0 = (*((long *) ((((char *) (-3 + template_1007X))) + ((((((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1561X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + offset_1561X))))))<<2)))));
  10882. merged_arg0K1 = new_env_1006X;
  10883. merged_arg0K2 = 0;
  10884. make_closure_return_tag = 1;
  10885. goto make_closure;
  10886. make_closure_return_1:
  10887. value_1562X = make_closure0_return_value;
  10888. addr_1563X = (((char *) (-3 + new_env_1006X))) + (((i_1560X)<<2));S48_WRITE_BARRIER(new_env_1006X, addr_1563X, value_1562X);
  10889. *((long *) addr_1563X) = (long) (value_1562X);
  10890. arg0K0 = (-1 + count_1559X);
  10891. arg0K1 = (1 + i_1560X);
  10892. arg0K2 = (2 + offset_1561X);
  10893. goto L21864;}}
  10894. L34245: {
  10895. i_1564X = arg0K0;
  10896. if ((0 == i_1564X)) {
  10897. SvalS = closure_1018X;
  10898. Scode_pointerS = ((Scode_pointerS) + 3);
  10899. arg2K0 = (Scode_pointerS);
  10900. goto L31612;}
  10901. else {
  10902. value_1565X = *((long *) (SstackS));
  10903. SstackS = ((SstackS) + 4);
  10904. *((long *) ((((char *) (-3 + closure_1018X))) + (((i_1564X)<<2)))) = (long) (value_1565X);
  10905. arg0K0 = (-1 + i_1564X);
  10906. goto L34245;}}
  10907. L60137: {
  10908. n_1566X = arg0K0;
  10909. if ((0 == n_1566X)) {
  10910. Scode_pointerS = ((Scode_pointerS) + 3);
  10911. arg2K0 = (Scode_pointerS);
  10912. goto L31612;}
  10913. else {
  10914. SstackS = ((SstackS) + -4);
  10915. *((long *) (SstackS)) = (long) (1);
  10916. arg0K0 = (-1 + n_1566X);
  10917. goto L60137;}}
  10918. L33579: {
  10919. move_1567X = arg0K0;
  10920. if ((move_1567X == n_moves_1026X)) {
  10921. value_1568X = *((long *) (SstackS));
  10922. SstackS = ((SstackS) + 4);
  10923. SvalS = value_1568X;
  10924. Scode_pointerS = ((Scode_pointerS) + (2 + (((n_moves_1026X)<<1))));
  10925. arg2K0 = (Scode_pointerS);
  10926. goto L31612;}
  10927. else {
  10928. index_1569X = 1 + (((move_1567X)<<1));
  10929. *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + (2 + index_1569X)))))<<2)))) = (long) ((*((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + (1 + index_1569X)))))<<2))))));
  10930. arg0K0 = (1 + move_1567X);
  10931. goto L33579;}}
  10932. L33496: {
  10933. move_1570X = arg0K0;
  10934. if ((move_1570X == n_moves_1028X)) {
  10935. value_1571X = *((long *) (SstackS));
  10936. SstackS = ((SstackS) + 4);
  10937. SvalS = value_1571X;
  10938. Scode_pointerS = ((Scode_pointerS) + (3 + (((n_moves_1028X)<<2))));
  10939. arg2K0 = (Scode_pointerS);
  10940. goto L31612;}
  10941. else {
  10942. index_1572X = 2 + (((move_1570X)<<2));
  10943. value_1573X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + (1 + index_1572X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + index_1572X))))))<<2))));
  10944. index_1574X = 2 + index_1572X;
  10945. *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + (1 + index_1574X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + index_1574X))))))<<2)))) = (long) (value_1573X);
  10946. arg0K0 = (1 + move_1570X);
  10947. goto L33496;}}
  10948. L60206: {
  10949. value_1575X = arg0K0;
  10950. SvalS = value_1575X;
  10951. Scode_pointerS = ((Scode_pointerS) + 1);
  10952. arg2K0 = (Scode_pointerS);
  10953. goto L31612;}
  10954. L59289: {
  10955. stack_arg_count_1576X = arg0K0;
  10956. obj_1577X = SvalS;
  10957. if ((3 == (3 & obj_1577X))) {
  10958. if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1577X))) + -4))))>>2))))) {
  10959. template_1578X = *((long *) (((char *) (-3 + (SvalS)))));
  10960. code_1579X = *((long *) (((char *) (-3 + template_1578X))));
  10961. protocol_1580X = *((unsigned char *) ((((char *) (-3 + code_1579X))) + 1));
  10962. if ((protocol_1580X == stack_arg_count_1576X)) {
  10963. arg0K0 = code_1579X;
  10964. arg0K1 = 2;
  10965. arg0K2 = 3;
  10966. arg0K3 = template_1578X;
  10967. goto L28125;}
  10968. else {
  10969. if (((127 & protocol_1580X) == stack_arg_count_1576X)) {
  10970. if (((SstackS) < (s48_Sstack_limitS))) {
  10971. interruptP_1581X = (s48_Sstack_limitS) == (((char *) -1));
  10972. s48_Sstack_limitS = (Sreal_stack_limitS);
  10973. if (((SstackS) < (Sreal_stack_limitS))) {s48_copy_stack_into_heap();
  10974. if (((SstackS) < (Sreal_stack_limitS))) {
  10975. ps_error("VM's stack is too small (how can this happen?)", 0);
  10976. if (interruptP_1581X) {
  10977. goto L58775;}
  10978. else {
  10979. goto L58782;}}
  10980. else {
  10981. if (interruptP_1581X) {
  10982. goto L58775;}
  10983. else {
  10984. goto L58782;}}}
  10985. else {
  10986. if (interruptP_1581X) {
  10987. goto L58775;}
  10988. else {
  10989. goto L58782;}}}
  10990. else {
  10991. goto L58782;}}
  10992. else {
  10993. arg0K0 = stack_arg_count_1576X;
  10994. arg0K1 = 25;
  10995. arg0K2 = 0;
  10996. arg0K3 = -1;
  10997. goto L59362;}}}
  10998. else {
  10999. arg0K0 = 3;
  11000. arg0K1 = stack_arg_count_1576X;
  11001. arg0K2 = 25;
  11002. arg0K3 = 0;
  11003. goto L28999;}}
  11004. else {
  11005. arg0K0 = 3;
  11006. arg0K1 = stack_arg_count_1576X;
  11007. arg0K2 = 25;
  11008. arg0K3 = 0;
  11009. goto L28999;}}
  11010. L29112: {
  11011. obj_1582X = SvalS;
  11012. if ((3 == (3 & obj_1582X))) {
  11013. if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1582X))) + -4))))>>2))))) {
  11014. arg0K0 = stack_arg_count_1032X;
  11015. arg0K1 = 25;
  11016. arg0K2 = 0;
  11017. arg0K3 = -1;
  11018. goto L59362;}
  11019. else {
  11020. arg0K0 = 3;
  11021. arg0K1 = stack_arg_count_1032X;
  11022. arg0K2 = 25;
  11023. arg0K3 = 0;
  11024. goto L28999;}}
  11025. else {
  11026. arg0K0 = 3;
  11027. arg0K1 = stack_arg_count_1032X;
  11028. arg0K2 = 25;
  11029. arg0K3 = 0;
  11030. goto L28999;}}
  11031. L60232: {
  11032. Scode_pointerS = ((Scode_pointerS) + 1);
  11033. arg2K0 = (Scode_pointerS);
  11034. goto L31612;}
  11035. L58313: {
  11036. stack_arg_count_1583X = arg0K0;
  11037. list_args_1584X = arg0K1;
  11038. list_arg_count_1585X = arg0K2;
  11039. if ((0 == list_arg_count_1585X)) {
  11040. obj_1586X = SvalS;
  11041. if ((3 == (3 & obj_1586X))) {
  11042. if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1586X))) + -4))))>>2))))) {
  11043. arg0K0 = stack_arg_count_1583X;
  11044. arg0K1 = 25;
  11045. arg0K2 = 0;
  11046. arg0K3 = -1;
  11047. goto L59362;}
  11048. else {
  11049. arg0K0 = 3;
  11050. arg0K1 = stack_arg_count_1583X;
  11051. arg0K2 = 25;
  11052. arg0K3 = 0;
  11053. goto L28999;}}
  11054. else {
  11055. arg0K0 = 3;
  11056. arg0K1 = stack_arg_count_1583X;
  11057. arg0K2 = 25;
  11058. arg0K3 = 0;
  11059. goto L28999;}}
  11060. else {
  11061. obj_1587X = SvalS;
  11062. if ((3 == (3 & obj_1587X))) {
  11063. if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1587X))) + -4))))>>2))))) {
  11064. arg0K0 = stack_arg_count_1583X;
  11065. arg0K1 = list_args_1584X;
  11066. arg0K2 = list_arg_count_1585X;
  11067. arg0K3 = -1;
  11068. goto L59362;}
  11069. else {
  11070. arg0K0 = 3;
  11071. arg0K1 = stack_arg_count_1583X;
  11072. arg0K2 = list_args_1584X;
  11073. arg0K3 = list_arg_count_1585X;
  11074. goto L28999;}}
  11075. else {
  11076. arg0K0 = 3;
  11077. arg0K1 = stack_arg_count_1583X;
  11078. arg0K2 = list_args_1584X;
  11079. arg0K3 = list_arg_count_1585X;
  11080. goto L28999;}}}
  11081. L20800: {
  11082. list_args_1588X = arg0K0;
  11083. stack_nargs_1589X = arg0K1;
  11084. merged_arg0K0 = list_args_1588X;
  11085. okay_argument_list_return_tag = 2;
  11086. goto okay_argument_list;
  11087. okay_argument_list_return_2:
  11088. okayP_1590X = okay_argument_list0_return_value;
  11089. list_arg_count_1591X = okay_argument_list1_return_value;
  11090. if (okayP_1590X) {
  11091. arg0K0 = stack_nargs_1589X;
  11092. arg0K1 = list_args_1588X;
  11093. arg0K2 = list_arg_count_1591X;
  11094. goto L58313;}
  11095. else {
  11096. merged_arg0K0 = list_args_1588X;
  11097. merged_arg0K1 = stack_nargs_1589X;
  11098. pop_args_GlistSAgc_return_tag = 3;
  11099. goto pop_args_GlistSAgc;
  11100. pop_args_GlistSAgc_return_3:
  11101. args_1592X = pop_args_GlistSAgc0_return_value;push_exception_setupB(5, 0);
  11102. x_1593X = SvalS;
  11103. SstackS = ((SstackS) + -4);
  11104. *((long *) (SstackS)) = (long) (x_1593X);
  11105. SstackS = ((SstackS) + -4);
  11106. *((long *) (SstackS)) = (long) (args_1592X);
  11107. arg0K0 = 2;
  11108. goto L29309;}}
  11109. L20845: {
  11110. list_1594X = arg0K0;
  11111. follower_1595X = arg0K1;
  11112. if ((25 == list_1594X)) {
  11113. list_args_1596X = *((long *) (((char *) (-3 + (*((long *) ((((char *) (-3 + follower_1595X))) + 4)))))));
  11114. addr_1597X = (((char *) (-3 + follower_1595X))) + 4;S48_WRITE_BARRIER(follower_1595X, addr_1597X, list_args_1596X);
  11115. *((long *) addr_1597X) = (long) (list_args_1596X);
  11116. arg0K0 = rest_list_1047X;
  11117. arg0K1 = (-1 + stack_nargs_1046X);
  11118. goto L20800;}
  11119. else {
  11120. arg0K0 = (*((long *) ((((char *) (-3 + list_1594X))) + 4)));
  11121. arg0K1 = (*((long *) ((((char *) (-3 + follower_1595X))) + 4)));
  11122. goto L20845;}}
  11123. L29070: {
  11124. obj_1598X = SvalS;
  11125. if ((3 == (3 & obj_1598X))) {
  11126. if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_1598X))) + -4))))>>2))))) {
  11127. arg0K0 = 0;
  11128. arg0K1 = 25;
  11129. arg0K2 = 0;
  11130. arg0K3 = -1;
  11131. goto L59362;}
  11132. else {
  11133. arg0K0 = 3;
  11134. arg0K1 = 0;
  11135. arg0K2 = 25;
  11136. arg0K3 = 0;
  11137. goto L28999;}}
  11138. else {
  11139. arg0K0 = 3;
  11140. arg0K1 = 0;
  11141. arg0K2 = 25;
  11142. arg0K3 = 0;
  11143. goto L28999;}}
  11144. L29079: {
  11145. SstackS = (Sbottom_of_stackS);
  11146. Sheap_continuationS = cont_1049X;
  11147. ScontS = (Sbottom_of_stackS);
  11148. goto L29070;}
  11149. L58900: {
  11150. code_pointer_1599X = ((char *) (*((long *) (ScontS))));
  11151. protocol_1600X = *((unsigned char *) (code_pointer_1599X + 1));
  11152. if ((1 == protocol_1600X)) {
  11153. goto L58917;}
  11154. else {
  11155. if ((66 == protocol_1600X)) {
  11156. goto L58917;}
  11157. else {
  11158. if ((129 == protocol_1600X)) {
  11159. arg0K0 = 2;
  11160. goto L58702;}
  11161. else {
  11162. if ((194 == protocol_1600X)) {
  11163. arg0K0 = 2;
  11164. goto L58702;}
  11165. else {
  11166. if ((71 == protocol_1600X)) {
  11167. cont_1601X = Sheap_continuationS;
  11168. if ((3 == (3 & cont_1601X))) {
  11169. if ((10 == (31 & ((((*((long *) ((((char *) (-3 + cont_1601X))) + -4))))>>2))))) {
  11170. merged_arg0K0 = cont_1601X;
  11171. merged_arg0K1 = 0;
  11172. copy_continuation_from_heapB_return_tag = 1;
  11173. goto copy_continuation_from_heapB;
  11174. copy_continuation_from_heapB_return_1:
  11175. goto L58900;}
  11176. else {
  11177. arg0K0 = cont_1601X;
  11178. goto L29655;}}
  11179. else {
  11180. arg0K0 = cont_1601X;
  11181. goto L29655;}}
  11182. else {
  11183. if ((70 == protocol_1600X)) {
  11184. offset_1602X = ((((*((unsigned char *) (code_pointer_1599X + 2))))<<8)) + (*((unsigned char *) (code_pointer_1599X + 3)));
  11185. proc_1603X = *((long *) ((ScontS) + 4));
  11186. if ((0 == offset_1602X)) {
  11187. cont_1604X = ScontS;
  11188. pointer_1605X = (((char *) (*((long *) cont_1604X)))) + -2;
  11189. size_1606X = ((((*((unsigned char *) pointer_1605X)))<<8)) + (*((unsigned char *) (pointer_1605X + 1)));
  11190. if ((65535 == size_1606X)) {
  11191. arg0K0 = ((((*((long *) (cont_1604X + 4))))>>2));
  11192. goto L59061;}
  11193. else {
  11194. arg0K0 = size_1606X;
  11195. goto L59061;}}
  11196. else {
  11197. ScontS = ((ScontS) + 4);
  11198. *((long *) (ScontS)) = (long) ((((long) (code_pointer_1599X + offset_1602X))));
  11199. SstackS = (ScontS);
  11200. goto L58966;}}
  11201. else {
  11202. if ((65 == protocol_1600X)) {
  11203. wants_stack_args_1607X = ((((*((unsigned char *) (code_pointer_1599X + 2))))<<8)) + (*((unsigned char *) (code_pointer_1599X + 3)));
  11204. if ((0 == wants_stack_args_1607X)) {
  11205. pop_continuationB_return_tag = 0;
  11206. goto pop_continuationB;
  11207. pop_continuationB_return_0:s48_make_availableAgc(12);
  11208. a_1608X = SvalS;
  11209. addr_1609X = s48_allocate_small(12);
  11210. *((long *) addr_1609X) = (long) (2050);
  11211. x_1610X = 3 + (((long) (addr_1609X + 4)));
  11212. *((long *) (((char *) (-3 + x_1610X)))) = (long) (a_1608X);
  11213. *((long *) ((((char *) (-3 + x_1610X))) + 4)) = (long) (25);
  11214. SstackS = ((SstackS) + -4);
  11215. *((long *) (SstackS)) = (long) (x_1610X);
  11216. Scode_pointerS = ((Scode_pointerS) + 4);
  11217. arg2K0 = (Scode_pointerS);
  11218. goto L31612;}
  11219. else {
  11220. if ((1 == wants_stack_args_1607X)) {
  11221. pop_continuationB_return_tag = 1;
  11222. goto pop_continuationB;
  11223. pop_continuationB_return_1:
  11224. x_1611X = SvalS;
  11225. SstackS = ((SstackS) + -4);
  11226. *((long *) (SstackS)) = (long) (x_1611X);
  11227. SstackS = ((SstackS) + -4);
  11228. *((long *) (SstackS)) = (long) (25);
  11229. Scode_pointerS = ((Scode_pointerS) + 4);
  11230. arg2K0 = (Scode_pointerS);
  11231. goto L31612;}
  11232. else {
  11233. x_1612X = SvalS;
  11234. SstackS = ((SstackS) + -4);
  11235. *((long *) (SstackS)) = (long) (x_1612X);
  11236. merged_arg0K0 = 25;
  11237. merged_arg0K1 = 1;
  11238. pop_args_GlistSAgc_return_tag = 4;
  11239. goto pop_args_GlistSAgc;
  11240. pop_args_GlistSAgc_return_4:
  11241. args_1613X = pop_args_GlistSAgc0_return_value;push_exception_setupB(4, 0);
  11242. SstackS = ((SstackS) + -4);
  11243. *((long *) (SstackS)) = (long) (1);
  11244. SstackS = ((SstackS) + -4);
  11245. *((long *) (SstackS)) = (long) (args_1613X);
  11246. arg0K0 = 2;
  11247. goto L29309;}}}
  11248. else {
  11249. x_1614X = SvalS;
  11250. SstackS = ((SstackS) + -4);
  11251. *((long *) (SstackS)) = (long) (x_1614X);
  11252. merged_arg0K0 = 25;
  11253. merged_arg0K1 = 1;
  11254. pop_args_GlistSAgc_return_tag = 5;
  11255. goto pop_args_GlistSAgc;
  11256. pop_args_GlistSAgc_return_5:
  11257. args_1615X = pop_args_GlistSAgc0_return_value;push_exception_setupB(4, 0);
  11258. SstackS = ((SstackS) + -4);
  11259. *((long *) (SstackS)) = (long) (1);
  11260. SstackS = ((SstackS) + -4);
  11261. *((long *) (SstackS)) = (long) (args_1615X);
  11262. arg0K0 = 2;
  11263. goto L29309;}}}}}}}}
  11264. L28737: {
  11265. stack_nargs_1616X = arg0K0;
  11266. list_args_1617X = arg0K1;
  11267. list_arg_count_1618X = arg0K2;
  11268. code_pointer_1619X = ((char *) (*((long *) (ScontS))));
  11269. protocol_1620X = *((unsigned char *) (code_pointer_1619X + 1));
  11270. if ((1 == protocol_1620X)) {
  11271. if ((1 == (stack_nargs_1616X + list_arg_count_1618X))) {
  11272. if ((1 == stack_nargs_1616X)) {
  11273. v_1621X = *((long *) (SstackS));
  11274. SstackS = ((SstackS) + 4);
  11275. arg0K0 = v_1621X;
  11276. goto L28826;}
  11277. else {
  11278. arg0K0 = (*((long *) (((char *) (-3 + list_args_1617X)))));
  11279. goto L28826;}}
  11280. else {
  11281. arg0K0 = stack_nargs_1616X;
  11282. arg0K1 = list_args_1617X;
  11283. goto L29738;}}
  11284. else {
  11285. if ((66 == protocol_1620X)) {
  11286. pop_continuationB_return_tag = 2;
  11287. goto pop_continuationB;
  11288. pop_continuationB_return_2:
  11289. arg0K0 = 1;
  11290. goto L32036;}
  11291. else {
  11292. if ((127 < protocol_1620X)) {
  11293. if ((129 == protocol_1620X)) {
  11294. if ((1 == (stack_nargs_1616X + list_arg_count_1618X))) {
  11295. if ((1 == stack_nargs_1616X)) {
  11296. v_1622X = *((long *) (SstackS));
  11297. SstackS = ((SstackS) + 4);
  11298. arg0K0 = v_1622X;
  11299. goto L59246;}
  11300. else {
  11301. arg0K0 = (*((long *) (((char *) (-3 + list_args_1617X)))));
  11302. goto L59246;}}
  11303. else {
  11304. merged_arg0K0 = list_args_1617X;
  11305. merged_arg0K1 = stack_nargs_1616X;
  11306. pop_args_GlistSAgc_return_tag = 6;
  11307. goto pop_args_GlistSAgc;
  11308. pop_args_GlistSAgc_return_6:
  11309. args_1623X = pop_args_GlistSAgc0_return_value;push_exception_setupB(4, 0);
  11310. SstackS = ((SstackS) + -4);
  11311. *((long *) (SstackS)) = (long) (1);
  11312. SstackS = ((SstackS) + -4);
  11313. *((long *) (SstackS)) = (long) (args_1623X);
  11314. arg0K0 = 2;
  11315. goto L29309;}}
  11316. else {
  11317. if ((194 == protocol_1620X)) {
  11318. arg0K0 = 2;
  11319. goto L58702;}
  11320. else {
  11321. ps_error("unknown native return protocol", 1, protocol_1620X);
  11322. merged_arg0K0 = list_args_1617X;
  11323. merged_arg0K1 = stack_nargs_1616X;
  11324. pop_args_GlistSAgc_return_tag = 7;
  11325. goto pop_args_GlistSAgc;
  11326. pop_args_GlistSAgc_return_7:
  11327. args_1624X = pop_args_GlistSAgc0_return_value;push_exception_setupB(4, 0);
  11328. SstackS = ((SstackS) + -4);
  11329. *((long *) (SstackS)) = (long) (1);
  11330. SstackS = ((SstackS) + -4);
  11331. *((long *) (SstackS)) = (long) (args_1624X);
  11332. arg0K0 = 2;
  11333. goto L29309;}}}
  11334. else {
  11335. if ((71 == protocol_1620X)) {
  11336. cont_1625X = Sheap_continuationS;
  11337. if ((3 == (3 & cont_1625X))) {
  11338. if ((10 == (31 & ((((*((long *) ((((char *) (-3 + cont_1625X))) + -4))))>>2))))) {
  11339. merged_arg0K0 = cont_1625X;
  11340. merged_arg0K1 = stack_nargs_1616X;
  11341. copy_continuation_from_heapB_return_tag = 2;
  11342. goto copy_continuation_from_heapB;
  11343. copy_continuation_from_heapB_return_2:
  11344. arg0K0 = stack_nargs_1616X;
  11345. arg0K1 = list_args_1617X;
  11346. arg0K2 = list_arg_count_1618X;
  11347. goto L28737;}
  11348. else {
  11349. goto L28772;}}
  11350. else {
  11351. goto L28772;}}
  11352. else {
  11353. if ((70 == protocol_1620X)) {
  11354. SvalS = (*((long *) ((ScontS) + 4)));
  11355. offset_1626X = ((((*((unsigned char *) (code_pointer_1619X + 2))))<<8)) + (*((unsigned char *) (code_pointer_1619X + 3)));
  11356. if ((0 == offset_1626X)) {
  11357. cont_1627X = ScontS;
  11358. pointer_1628X = (((char *) (*((long *) cont_1627X)))) + -2;
  11359. size_1629X = ((((*((unsigned char *) pointer_1628X)))<<8)) + (*((unsigned char *) (pointer_1628X + 1)));
  11360. if ((65535 == size_1629X)) {
  11361. arg0K0 = ((((*((long *) (cont_1627X + 4))))>>2));
  11362. goto L28889;}
  11363. else {
  11364. arg0K0 = size_1629X;
  11365. goto L28889;}}
  11366. else {
  11367. ScontS = ((ScontS) + 4);
  11368. *((long *) (ScontS)) = (long) ((((long) (code_pointer_1619X + offset_1626X))));
  11369. merged_arg0K0 = stack_nargs_1616X;
  11370. move_args_above_contB_return_tag = 6;
  11371. goto move_args_above_contB;
  11372. move_args_above_contB_return_6:
  11373. arg0K0 = stack_nargs_1616X;
  11374. arg0K1 = list_args_1617X;
  11375. arg0K2 = list_arg_count_1618X;
  11376. goto L58313;}}
  11377. else {
  11378. if ((63 < protocol_1620X)) {
  11379. if ((65 == protocol_1620X)) {
  11380. count_1630X = ((((*((unsigned char *) (code_pointer_1619X + 2))))<<8)) + (*((unsigned char *) (code_pointer_1619X + 3)));
  11381. if (((stack_nargs_1616X + list_arg_count_1618X) < count_1630X)) {
  11382. merged_arg0K0 = list_args_1617X;
  11383. merged_arg0K1 = stack_nargs_1616X;
  11384. pop_args_GlistSAgc_return_tag = 8;
  11385. goto pop_args_GlistSAgc;
  11386. pop_args_GlistSAgc_return_8:
  11387. args_1631X = pop_args_GlistSAgc0_return_value;push_exception_setupB(4, 0);
  11388. SstackS = ((SstackS) + -4);
  11389. *((long *) (SstackS)) = (long) (1);
  11390. SstackS = ((SstackS) + -4);
  11391. *((long *) (SstackS)) = (long) (args_1631X);
  11392. arg0K0 = 2;
  11393. goto L29309;}
  11394. else {
  11395. arg_top_1632X = SstackS;
  11396. pop_continuationB_return_tag = 3;
  11397. goto pop_continuationB;
  11398. pop_continuationB_return_3:
  11399. arg2K0 = ((SstackS) + -4);
  11400. arg2K1 = (arg_top_1632X + (-4 + (((stack_nargs_1616X)<<2))));
  11401. goto L33086;}}
  11402. else {
  11403. if ((64 == protocol_1620X)) {
  11404. arg0K0 = (((((*((unsigned char *) (code_pointer_1619X + 2))))<<8)) + (*((unsigned char *) (code_pointer_1619X + 3))));
  11405. arg0K1 = 3;
  11406. arg0K2 = stack_nargs_1616X;
  11407. arg0K3 = list_args_1617X;
  11408. arg0K4 = list_arg_count_1618X;
  11409. goto L32938;}
  11410. else {
  11411. ps_error("unknown protocol", 1, protocol_1620X);
  11412. arg0K0 = stack_nargs_1616X;
  11413. arg0K1 = list_args_1617X;
  11414. goto L29738;}}}
  11415. else {
  11416. arg0K0 = protocol_1620X;
  11417. arg0K1 = 1;
  11418. arg0K2 = stack_nargs_1616X;
  11419. arg0K3 = list_args_1617X;
  11420. arg0K4 = list_arg_count_1618X;
  11421. goto L32938;}}}}}}}
  11422. L33230: {
  11423. if ((nargs_1056X == (*((unsigned char *) ((((char *) (-3 + code_1055X))) + 1))))) {
  11424. arg0K0 = code_1055X;
  11425. arg0K1 = 2;
  11426. arg0K2 = 3;
  11427. arg0K3 = template_1054X;
  11428. goto L28125;}
  11429. else {
  11430. v_1633X = *((unsigned char *) ((((char *) (-3 + code_1055X))) + 1));
  11431. if ((67 == v_1633X)) {
  11432. if ((nargs_1056X == (*((unsigned char *) ((((char *) (-3 + code_1055X))) + (-3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + code_1055X))) + -4))))>>8)))))))) {
  11433. index_1634X = -2 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + code_1055X))) + -4))))>>8));
  11434. arg0K0 = code_1055X;
  11435. arg0K1 = 2;
  11436. arg0K2 = template_1054X;
  11437. arg0K3 = (((((*((unsigned char *) ((((char *) (-3 + code_1055X))) + index_1634X))))<<8)) + (*((unsigned char *) ((((char *) (-3 + code_1055X))) + (1 + index_1634X)))));
  11438. goto L32046;}
  11439. else {
  11440. goto L33252;}}
  11441. else {
  11442. goto L33252;}}}
  11443. L31921: {
  11444. arg0K0 = (2 + (((max_1060X)<<1)));
  11445. goto L31923;}
  11446. L31923: {
  11447. offset_1635X = arg0K0;
  11448. Scode_pointerS = ((Scode_pointerS) + offset_1635X);
  11449. arg2K0 = (Scode_pointerS);
  11450. goto L31612;}
  11451. L32510: {
  11452. Scode_pointerS = ((Scode_pointerS) + 1);
  11453. arg2K0 = (Scode_pointerS);
  11454. goto L31612;}
  11455. L31819: {
  11456. delta_1636X = arg0K0;
  11457. Scode_pointerS = ((Scode_pointerS) + delta_1636X);
  11458. arg2K0 = (Scode_pointerS);
  11459. goto L31612;}
  11460. L32401: {
  11461. delta_1637X = arg0K0;
  11462. Scode_pointerS = ((Scode_pointerS) + delta_1637X);
  11463. arg2K0 = (Scode_pointerS);
  11464. goto L31612;}
  11465. L60277: {
  11466. val_1638X = arg0K0;
  11467. SvalS = val_1638X;
  11468. Scode_pointerS = ((Scode_pointerS) + 1);
  11469. arg2K0 = (Scode_pointerS);
  11470. goto L31612;}
  11471. L60289: {
  11472. val_1639X = arg0K0;
  11473. SvalS = val_1639X;
  11474. Scode_pointerS = ((Scode_pointerS) + 1);
  11475. arg2K0 = (Scode_pointerS);
  11476. goto L31612;}
  11477. L18518: {
  11478. if ((3 == (3 & x_1075X))) {
  11479. if ((8 == (31 & ((((*((long *) ((((char *) (-3 + x_1075X))) + -4))))>>2))))) {
  11480. arg0K0 = 5;
  11481. goto L60289;}
  11482. else {
  11483. goto L18524;}}
  11484. else {
  11485. goto L18524;}}
  11486. L49795: {
  11487. SvalS = 5;
  11488. Scode_pointerS = ((Scode_pointerS) + 1);
  11489. arg2K0 = (Scode_pointerS);
  11490. goto L31612;}
  11491. L49796: {
  11492. if ((3 == (3 & n_1076X))) {
  11493. if ((11 == (31 & ((((*((long *) ((((char *) (-3 + n_1076X))) + -4))))>>2))))) {
  11494. goto L49809;}
  11495. else {
  11496. goto L49804;}}
  11497. else {
  11498. goto L49804;}}
  11499. L49929: {
  11500. n_1640X = arg0K0;
  11501. if ((0 == (3 & n_1640X))) {
  11502. goto L49962;}
  11503. else {
  11504. if ((3 == (3 & n_1640X))) {
  11505. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + n_1640X))) + -4))))>>2))))) {
  11506. goto L49962;}
  11507. else {
  11508. goto L49945;}}
  11509. else {
  11510. goto L49945;}}}
  11511. L42403: {
  11512. SvalS = 5;
  11513. Scode_pointerS = ((Scode_pointerS) + 1);
  11514. arg2K0 = (Scode_pointerS);
  11515. goto L31612;}
  11516. L42404: {
  11517. push_exception_setupB(5, 1);
  11518. SstackS = ((SstackS) + -4);
  11519. *((long *) (SstackS)) = (long) (n_1077X);
  11520. arg0K0 = 1;
  11521. goto L29309;}
  11522. L42529: {
  11523. v_1641X = (char *) s48_long_to_bignum(x_1082X);
  11524. v_1642X = enter_bignum(v_1641X);
  11525. arg0K0 = v_1642X;
  11526. goto L42475;}
  11527. L42475: {
  11528. val_1643X = arg0K0;
  11529. SvalS = val_1643X;
  11530. Scode_pointerS = ((Scode_pointerS) + 1);
  11531. arg2K0 = (Scode_pointerS);
  11532. goto L31612;}
  11533. L42481: {
  11534. if ((0 == (3 & y_1081X))) {
  11535. goto L42487;}
  11536. else {
  11537. if ((3 == (3 & y_1081X))) {
  11538. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1081X))) + -4))))>>2))))) {
  11539. goto L42487;}
  11540. else {
  11541. goto L42490;}}
  11542. else {
  11543. goto L42490;}}}
  11544. L42490: {
  11545. if ((3 == (3 & arg2_1080X))) {
  11546. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1080X))) + -4))))>>2))))) {
  11547. if ((3 == (3 & y_1081X))) {
  11548. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + y_1081X))) + -4))))>>2))))) {
  11549. Stemp0S = arg2_1080X;
  11550. Stemp1S = y_1081X;s48_make_availableAgc(12);
  11551. value_1644X = Stemp0S;
  11552. Stemp0S = 1;
  11553. x_1645X = *((double *) (((char *) (-3 + value_1644X))));
  11554. value_1646X = Stemp1S;
  11555. Stemp1S = 1;
  11556. y_1647X = *((double *) (((char *) (-3 + value_1646X))));
  11557. addr_1648X = s48_allocate_small(12);
  11558. *((long *) addr_1648X) = (long) (2122);
  11559. Kdouble_1649X = 3 + (((long) (addr_1648X + 4)));
  11560. *((double *) (((char *) (-3 + Kdouble_1649X)))) = (double) ((x_1645X + y_1647X));
  11561. SvalS = Kdouble_1649X;
  11562. Scode_pointerS = ((Scode_pointerS) + 1);
  11563. arg2K0 = (Scode_pointerS);
  11564. goto L31612;}
  11565. else {
  11566. goto L42504;}}
  11567. else {
  11568. goto L42504;}}
  11569. else {
  11570. goto L42504;}}
  11571. else {
  11572. goto L42504;}}
  11573. L11584: {
  11574. a_1650X = arg0K0;
  11575. if ((b_1086X < 0)) {
  11576. arg0K0 = (0 - b_1086X);
  11577. goto L11588;}
  11578. else {
  11579. arg0K0 = b_1086X;
  11580. goto L11588;}}
  11581. L51702: {
  11582. if ((0 == (3 & y_1084X))) {
  11583. goto L51708;}
  11584. else {
  11585. if ((3 == (3 & y_1084X))) {
  11586. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1084X))) + -4))))>>2))))) {
  11587. goto L51708;}
  11588. else {
  11589. goto L51711;}}
  11590. else {
  11591. goto L51711;}}}
  11592. L51711: {
  11593. if ((3 == (3 & arg2_1083X))) {
  11594. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1083X))) + -4))))>>2))))) {
  11595. if ((3 == (3 & y_1084X))) {
  11596. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + y_1084X))) + -4))))>>2))))) {
  11597. Stemp0S = arg2_1083X;
  11598. Stemp1S = y_1084X;s48_make_availableAgc(12);
  11599. value_1651X = Stemp0S;
  11600. Stemp0S = 1;
  11601. x_1652X = *((double *) (((char *) (-3 + value_1651X))));
  11602. value_1653X = Stemp1S;
  11603. Stemp1S = 1;
  11604. y_1654X = *((double *) (((char *) (-3 + value_1653X))));
  11605. addr_1655X = s48_allocate_small(12);
  11606. *((long *) addr_1655X) = (long) (2122);
  11607. Kdouble_1656X = 3 + (((long) (addr_1655X + 4)));
  11608. *((double *) (((char *) (-3 + Kdouble_1656X)))) = (double) ((x_1652X * y_1654X));
  11609. SvalS = Kdouble_1656X;
  11610. Scode_pointerS = ((Scode_pointerS) + 1);
  11611. arg2K0 = (Scode_pointerS);
  11612. goto L31612;}
  11613. else {
  11614. goto L51725;}}
  11615. else {
  11616. goto L51725;}}
  11617. else {
  11618. goto L51725;}}
  11619. else {
  11620. goto L51725;}}
  11621. L42818: {
  11622. v_1657X = (char *) s48_long_to_bignum(x_1089X);
  11623. v_1658X = enter_bignum(v_1657X);
  11624. arg0K0 = v_1658X;
  11625. goto L42764;}
  11626. L42764: {
  11627. val_1659X = arg0K0;
  11628. SvalS = val_1659X;
  11629. Scode_pointerS = ((Scode_pointerS) + 1);
  11630. arg2K0 = (Scode_pointerS);
  11631. goto L31612;}
  11632. L42770: {
  11633. if ((0 == (3 & y_1088X))) {
  11634. goto L42776;}
  11635. else {
  11636. if ((3 == (3 & y_1088X))) {
  11637. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1088X))) + -4))))>>2))))) {
  11638. goto L42776;}
  11639. else {
  11640. goto L42779;}}
  11641. else {
  11642. goto L42779;}}}
  11643. L42779: {
  11644. if ((3 == (3 & arg2_1087X))) {
  11645. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1087X))) + -4))))>>2))))) {
  11646. if ((3 == (3 & y_1088X))) {
  11647. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + y_1088X))) + -4))))>>2))))) {
  11648. Stemp0S = arg2_1087X;
  11649. Stemp1S = y_1088X;s48_make_availableAgc(12);
  11650. value_1660X = Stemp0S;
  11651. Stemp0S = 1;
  11652. x_1661X = *((double *) (((char *) (-3 + value_1660X))));
  11653. value_1662X = Stemp1S;
  11654. Stemp1S = 1;
  11655. y_1663X = *((double *) (((char *) (-3 + value_1662X))));
  11656. addr_1664X = s48_allocate_small(12);
  11657. *((long *) addr_1664X) = (long) (2122);
  11658. Kdouble_1665X = 3 + (((long) (addr_1664X + 4)));
  11659. *((double *) (((char *) (-3 + Kdouble_1665X)))) = (double) ((x_1661X - y_1663X));
  11660. SvalS = Kdouble_1665X;
  11661. Scode_pointerS = ((Scode_pointerS) + 1);
  11662. arg2K0 = (Scode_pointerS);
  11663. goto L31612;}
  11664. else {
  11665. goto L42793;}}
  11666. else {
  11667. goto L42793;}}
  11668. else {
  11669. goto L42793;}}
  11670. else {
  11671. goto L42793;}}
  11672. L11842: {
  11673. a_1666X = arg0K0;
  11674. if ((b_1093X < 0)) {
  11675. arg0K0 = (0 - b_1093X);
  11676. goto L11846;}
  11677. else {
  11678. arg0K0 = b_1093X;
  11679. goto L11846;}}
  11680. L51955: {
  11681. if ((0 == (3 & y_1091X))) {
  11682. goto L51961;}
  11683. else {
  11684. if ((3 == (3 & y_1091X))) {
  11685. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1091X))) + -4))))>>2))))) {
  11686. goto L51961;}
  11687. else {
  11688. goto L51992;}}
  11689. else {
  11690. goto L51992;}}}
  11691. L51992: {
  11692. if ((3 == (3 & arg2_1090X))) {
  11693. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1090X))) + -4))))>>2))))) {
  11694. if ((3 == (3 & y_1091X))) {
  11695. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + y_1091X))) + -4))))>>2))))) {
  11696. Stemp0S = arg2_1090X;
  11697. Stemp1S = y_1091X;s48_make_availableAgc(12);
  11698. value_1667X = Stemp0S;
  11699. Stemp0S = 1;
  11700. x_1668X = *((double *) (((char *) (-3 + value_1667X))));
  11701. value_1669X = Stemp1S;
  11702. Stemp1S = 1;
  11703. value_1670X = x_1668X / (*((double *) (((char *) (-3 + value_1669X)))));
  11704. addr_1671X = s48_allocate_small(12);
  11705. *((long *) addr_1671X) = (long) (2122);
  11706. Kdouble_1672X = 3 + (((long) (addr_1671X + 4)));
  11707. *((double *) (((char *) (-3 + Kdouble_1672X)))) = (double) (value_1670X);
  11708. SvalS = Kdouble_1672X;
  11709. Scode_pointerS = ((Scode_pointerS) + 1);
  11710. arg2K0 = (Scode_pointerS);
  11711. goto L31612;}
  11712. else {
  11713. goto L52006;}}
  11714. else {
  11715. goto L52006;}}
  11716. else {
  11717. goto L52006;}}
  11718. else {
  11719. goto L52006;}}
  11720. L43049: {
  11721. val_1673X = arg0K0;
  11722. SvalS = val_1673X;
  11723. Scode_pointerS = ((Scode_pointerS) + 1);
  11724. arg2K0 = (Scode_pointerS);
  11725. goto L31612;}
  11726. L43055: {
  11727. if ((0 == (3 & y_1095X))) {
  11728. goto L43061;}
  11729. else {
  11730. if ((3 == (3 & y_1095X))) {
  11731. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1095X))) + -4))))>>2))))) {
  11732. goto L43061;}
  11733. else {
  11734. goto L43066;}}
  11735. else {
  11736. goto L43066;}}}
  11737. L43066: {
  11738. if ((3 == (3 & arg2_1094X))) {
  11739. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1094X))) + -4))))>>2))))) {
  11740. if ((3 == (3 & y_1095X))) {
  11741. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + y_1095X))) + -4))))>>2))))) {
  11742. b_1674X = (*((double *) (((char *) (-3 + arg2_1094X))))) == (*((double *) (((char *) (-3 + y_1095X)))));
  11743. if (b_1674X) {
  11744. arg0K0 = 5;
  11745. goto L43081;}
  11746. else {
  11747. arg0K0 = 1;
  11748. goto L43081;}}
  11749. else {
  11750. goto L43082;}}
  11751. else {
  11752. goto L43082;}}
  11753. else {
  11754. goto L43082;}}
  11755. else {
  11756. goto L43082;}}
  11757. L43309: {
  11758. val_1675X = arg0K0;
  11759. SvalS = val_1675X;
  11760. Scode_pointerS = ((Scode_pointerS) + 1);
  11761. arg2K0 = (Scode_pointerS);
  11762. goto L31612;}
  11763. L43315: {
  11764. if ((0 == (3 & y_1097X))) {
  11765. goto L43321;}
  11766. else {
  11767. if ((3 == (3 & y_1097X))) {
  11768. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1097X))) + -4))))>>2))))) {
  11769. goto L43321;}
  11770. else {
  11771. goto L43326;}}
  11772. else {
  11773. goto L43326;}}}
  11774. L43326: {
  11775. if ((3 == (3 & arg2_1096X))) {
  11776. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1096X))) + -4))))>>2))))) {
  11777. if ((3 == (3 & y_1097X))) {
  11778. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + y_1097X))) + -4))))>>2))))) {
  11779. b_1676X = (*((double *) (((char *) (-3 + arg2_1096X))))) < (*((double *) (((char *) (-3 + y_1097X)))));
  11780. if (b_1676X) {
  11781. arg0K0 = 5;
  11782. goto L43341;}
  11783. else {
  11784. arg0K0 = 1;
  11785. goto L43341;}}
  11786. else {
  11787. goto L43342;}}
  11788. else {
  11789. goto L43342;}}
  11790. else {
  11791. goto L43342;}}
  11792. else {
  11793. goto L43342;}}
  11794. L43632: {
  11795. val_1677X = arg0K0;
  11796. SvalS = val_1677X;
  11797. Scode_pointerS = ((Scode_pointerS) + 1);
  11798. arg2K0 = (Scode_pointerS);
  11799. goto L31612;}
  11800. L43638: {
  11801. if ((0 == (3 & y_1099X))) {
  11802. goto L43644;}
  11803. else {
  11804. if ((3 == (3 & y_1099X))) {
  11805. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1099X))) + -4))))>>2))))) {
  11806. goto L43644;}
  11807. else {
  11808. goto L43649;}}
  11809. else {
  11810. goto L43649;}}}
  11811. L43649: {
  11812. if ((3 == (3 & arg2_1098X))) {
  11813. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1098X))) + -4))))>>2))))) {
  11814. if ((3 == (3 & y_1099X))) {
  11815. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + y_1099X))) + -4))))>>2))))) {
  11816. b_1678X = (*((double *) (((char *) (-3 + y_1099X))))) < (*((double *) (((char *) (-3 + arg2_1098X)))));
  11817. if (b_1678X) {
  11818. arg0K0 = 5;
  11819. goto L43664;}
  11820. else {
  11821. arg0K0 = 1;
  11822. goto L43664;}}
  11823. else {
  11824. goto L43665;}}
  11825. else {
  11826. goto L43665;}}
  11827. else {
  11828. goto L43665;}}
  11829. else {
  11830. goto L43665;}}
  11831. L43955: {
  11832. val_1679X = arg0K0;
  11833. SvalS = val_1679X;
  11834. Scode_pointerS = ((Scode_pointerS) + 1);
  11835. arg2K0 = (Scode_pointerS);
  11836. goto L31612;}
  11837. L43961: {
  11838. if ((0 == (3 & y_1101X))) {
  11839. goto L43967;}
  11840. else {
  11841. if ((3 == (3 & y_1101X))) {
  11842. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1101X))) + -4))))>>2))))) {
  11843. goto L43967;}
  11844. else {
  11845. goto L43972;}}
  11846. else {
  11847. goto L43972;}}}
  11848. L43972: {
  11849. if ((3 == (3 & arg2_1100X))) {
  11850. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1100X))) + -4))))>>2))))) {
  11851. if ((3 == (3 & y_1101X))) {
  11852. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + y_1101X))) + -4))))>>2))))) {
  11853. if (((*((double *) (((char *) (-3 + y_1101X))))) < (*((double *) (((char *) (-3 + arg2_1100X))))))) {
  11854. arg0K0 = 1;
  11855. goto L43987;}
  11856. else {
  11857. arg0K0 = 5;
  11858. goto L43987;}}
  11859. else {
  11860. goto L43988;}}
  11861. else {
  11862. goto L43988;}}
  11863. else {
  11864. goto L43988;}}
  11865. else {
  11866. goto L43988;}}
  11867. L44249: {
  11868. val_1680X = arg0K0;
  11869. SvalS = val_1680X;
  11870. Scode_pointerS = ((Scode_pointerS) + 1);
  11871. arg2K0 = (Scode_pointerS);
  11872. goto L31612;}
  11873. L44255: {
  11874. if ((0 == (3 & y_1103X))) {
  11875. goto L44261;}
  11876. else {
  11877. if ((3 == (3 & y_1103X))) {
  11878. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1103X))) + -4))))>>2))))) {
  11879. goto L44261;}
  11880. else {
  11881. goto L44266;}}
  11882. else {
  11883. goto L44266;}}}
  11884. L44266: {
  11885. if ((3 == (3 & arg2_1102X))) {
  11886. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1102X))) + -4))))>>2))))) {
  11887. if ((3 == (3 & y_1103X))) {
  11888. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + y_1103X))) + -4))))>>2))))) {
  11889. if (((*((double *) (((char *) (-3 + arg2_1102X))))) < (*((double *) (((char *) (-3 + y_1103X))))))) {
  11890. arg0K0 = 1;
  11891. goto L44281;}
  11892. else {
  11893. arg0K0 = 5;
  11894. goto L44281;}}
  11895. else {
  11896. goto L44282;}}
  11897. else {
  11898. goto L44282;}}
  11899. else {
  11900. goto L44282;}}
  11901. else {
  11902. goto L44282;}}
  11903. L12456: {
  11904. a_1681X = arg0K0;
  11905. if ((b_1108X < 0)) {
  11906. arg0K0 = (0 - b_1108X);
  11907. goto L12460;}
  11908. else {
  11909. arg0K0 = b_1108X;
  11910. goto L12460;}}
  11911. L44555: {
  11912. if ((0 == (3 & y_1105X))) {
  11913. goto L44561;}
  11914. else {
  11915. if ((3 == (3 & y_1105X))) {
  11916. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1105X))) + -4))))>>2))))) {
  11917. goto L44561;}
  11918. else {
  11919. goto L44564;}}
  11920. else {
  11921. goto L44564;}}}
  11922. L44564: {
  11923. push_exception_setupB(5, 1);
  11924. SstackS = ((SstackS) + -4);
  11925. *((long *) (SstackS)) = (long) (arg2_1104X);
  11926. SstackS = ((SstackS) + -4);
  11927. *((long *) (SstackS)) = (long) (y_1105X);
  11928. arg0K0 = 2;
  11929. goto L29309;}
  11930. L44769: {
  11931. a_1682X = arg0K0;
  11932. n_1683X = ((y_1110X)>>2);
  11933. if ((n_1683X < 0)) {
  11934. arg0K0 = (0 - n_1683X);
  11935. goto L44771;}
  11936. else {
  11937. arg0K0 = n_1683X;
  11938. goto L44771;}}
  11939. L44731: {
  11940. if ((0 == (3 & y_1110X))) {
  11941. goto L44737;}
  11942. else {
  11943. if ((3 == (3 & y_1110X))) {
  11944. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1110X))) + -4))))>>2))))) {
  11945. goto L44737;}
  11946. else {
  11947. goto L44740;}}
  11948. else {
  11949. goto L44740;}}}
  11950. L44740: {
  11951. push_exception_setupB(5, 1);
  11952. SstackS = ((SstackS) + -4);
  11953. *((long *) (SstackS)) = (long) (arg2_1109X);
  11954. SstackS = ((SstackS) + -4);
  11955. *((long *) (SstackS)) = (long) (y_1110X);
  11956. arg0K0 = 2;
  11957. goto L29309;}
  11958. L44918: {
  11959. SvalS = n_1113X;
  11960. Scode_pointerS = ((Scode_pointerS) + 1);
  11961. arg2K0 = (Scode_pointerS);
  11962. goto L31612;}
  11963. L44919: {
  11964. push_exception_setupB(5, 1);
  11965. SstackS = ((SstackS) + -4);
  11966. *((long *) (SstackS)) = (long) (n_1113X);
  11967. arg0K0 = 1;
  11968. goto L29309;}
  11969. L44973: {
  11970. SvalS = n_1114X;
  11971. Scode_pointerS = ((Scode_pointerS) + 1);
  11972. arg2K0 = (Scode_pointerS);
  11973. goto L31612;}
  11974. L44974: {
  11975. push_exception_setupB(5, 1);
  11976. SstackS = ((SstackS) + -4);
  11977. *((long *) (SstackS)) = (long) (n_1114X);
  11978. arg0K0 = 1;
  11979. goto L29309;}
  11980. L45028: {
  11981. SvalS = 4;
  11982. Scode_pointerS = ((Scode_pointerS) + 1);
  11983. arg2K0 = (Scode_pointerS);
  11984. goto L31612;}
  11985. L45031: {
  11986. push_exception_setupB(5, 1);
  11987. SstackS = ((SstackS) + -4);
  11988. *((long *) (SstackS)) = (long) (n_1115X);
  11989. arg0K0 = 1;
  11990. goto L29309;}
  11991. L45088: {
  11992. SvalS = n_1116X;
  11993. Scode_pointerS = ((Scode_pointerS) + 1);
  11994. arg2K0 = (Scode_pointerS);
  11995. goto L31612;}
  11996. L45089: {
  11997. push_exception_setupB(5, 1);
  11998. SstackS = ((SstackS) + -4);
  11999. *((long *) (SstackS)) = (long) (n_1116X);
  12000. arg0K0 = 1;
  12001. goto L29309;}
  12002. L45143: {
  12003. SvalS = 0;
  12004. Scode_pointerS = ((Scode_pointerS) + 1);
  12005. arg2K0 = (Scode_pointerS);
  12006. goto L31612;}
  12007. L45146: {
  12008. push_exception_setupB(5, 1);
  12009. SstackS = ((SstackS) + -4);
  12010. *((long *) (SstackS)) = (long) (n_1117X);
  12011. arg0K0 = 1;
  12012. goto L29309;}
  12013. L53282: {
  12014. x_1684X = SvalS;
  12015. if ((0 == (3 & x_1684X))) {
  12016. if ((0 < x_1684X)) {
  12017. goto L53311;}
  12018. else {
  12019. goto L53305;}}
  12020. else {
  12021. v_1685X = s48_bignum_test((((char *) (-3 + x_1684X))));
  12022. if ((-1 == v_1685X)) {
  12023. goto L53305;}
  12024. else {
  12025. goto L53311;}}}
  12026. L53285: {
  12027. push_exception_setupB(5, 1);
  12028. x_1686X = SvalS;
  12029. SstackS = ((SstackS) + -4);
  12030. *((long *) (SstackS)) = (long) (x_1686X);
  12031. arg0K0 = 1;
  12032. goto L29309;}
  12033. L56668: {
  12034. x_1687X = SvalS;
  12035. if ((0 == (3 & x_1687X))) {
  12036. n_1688X = ((x_1687X)>>2);
  12037. if ((n_1688X < 0)) {
  12038. arg0K0 = (0 - n_1688X);
  12039. goto L52292;}
  12040. else {
  12041. arg0K0 = n_1688X;
  12042. goto L52292;}}
  12043. else {
  12044. if ((0 == (3 & x_1687X))) {
  12045. arg0K0 = 1;
  12046. arg0K1 = 3;
  12047. goto L23679;}
  12048. else {
  12049. arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_1687X))) + -4))))>>8))))>>2)));
  12050. arg0K1 = 0;
  12051. goto L23679;}}}
  12052. L56671: {
  12053. push_exception_setupB(5, 1);
  12054. x_1689X = SvalS;
  12055. SstackS = ((SstackS) + -4);
  12056. *((long *) (SstackS)) = (long) (x_1689X);
  12057. arg0K0 = 1;
  12058. goto L29309;}
  12059. L45289: {
  12060. val_1690X = integer_bitwise_not(x_1135X);
  12061. SvalS = val_1690X;
  12062. Scode_pointerS = ((Scode_pointerS) + 1);
  12063. arg2K0 = (Scode_pointerS);
  12064. goto L31612;}
  12065. L45292: {
  12066. push_exception_setupB(5, 1);
  12067. SstackS = ((SstackS) + -4);
  12068. *((long *) (SstackS)) = (long) (x_1135X);
  12069. arg0K0 = 1;
  12070. goto L29309;}
  12071. L45380: {
  12072. x_1691X = arg0K0;
  12073. arg0K0 = x_1691X;
  12074. arg0K1 = 0;
  12075. goto L45386;}
  12076. L45363: {
  12077. val_1692X = integer_bit_count(x_1136X);
  12078. SvalS = val_1692X;
  12079. Scode_pointerS = ((Scode_pointerS) + 1);
  12080. arg2K0 = (Scode_pointerS);
  12081. goto L31612;}
  12082. L45366: {
  12083. push_exception_setupB(5, 1);
  12084. SstackS = ((SstackS) + -4);
  12085. *((long *) (SstackS)) = (long) (x_1136X);
  12086. arg0K0 = 1;
  12087. goto L29309;}
  12088. L45465: {
  12089. if ((0 == (3 & y_1139X))) {
  12090. goto L45471;}
  12091. else {
  12092. if ((3 == (3 & y_1139X))) {
  12093. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1139X))) + -4))))>>2))))) {
  12094. goto L45471;}
  12095. else {
  12096. goto L45474;}}
  12097. else {
  12098. goto L45474;}}}
  12099. L45474: {
  12100. push_exception_setupB(5, 1);
  12101. SstackS = ((SstackS) + -4);
  12102. *((long *) (SstackS)) = (long) (arg2_1138X);
  12103. SstackS = ((SstackS) + -4);
  12104. *((long *) (SstackS)) = (long) (y_1139X);
  12105. arg0K0 = 2;
  12106. goto L29309;}
  12107. L45628: {
  12108. if ((0 == (3 & y_1141X))) {
  12109. goto L45634;}
  12110. else {
  12111. if ((3 == (3 & y_1141X))) {
  12112. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1141X))) + -4))))>>2))))) {
  12113. goto L45634;}
  12114. else {
  12115. goto L45637;}}
  12116. else {
  12117. goto L45637;}}}
  12118. L45637: {
  12119. push_exception_setupB(5, 1);
  12120. SstackS = ((SstackS) + -4);
  12121. *((long *) (SstackS)) = (long) (arg2_1140X);
  12122. SstackS = ((SstackS) + -4);
  12123. *((long *) (SstackS)) = (long) (y_1141X);
  12124. arg0K0 = 2;
  12125. goto L29309;}
  12126. L45791: {
  12127. if ((0 == (3 & y_1143X))) {
  12128. goto L45797;}
  12129. else {
  12130. if ((3 == (3 & y_1143X))) {
  12131. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + y_1143X))) + -4))))>>2))))) {
  12132. goto L45797;}
  12133. else {
  12134. goto L45800;}}
  12135. else {
  12136. goto L45800;}}}
  12137. L45800: {
  12138. push_exception_setupB(5, 1);
  12139. SstackS = ((SstackS) + -4);
  12140. *((long *) (SstackS)) = (long) (arg2_1142X);
  12141. SstackS = ((SstackS) + -4);
  12142. *((long *) (SstackS)) = (long) (y_1143X);
  12143. arg0K0 = 2;
  12144. goto L29309;}
  12145. L42183: {
  12146. val_1693X = arg0K0;
  12147. SvalS = val_1693X;
  12148. Scode_pointerS = ((Scode_pointerS) + 1);
  12149. arg2K0 = (Scode_pointerS);
  12150. goto L31612;}
  12151. L42199: {
  12152. val_1694X = arg0K0;
  12153. SvalS = val_1694X;
  12154. Scode_pointerS = ((Scode_pointerS) + 1);
  12155. arg2K0 = (Scode_pointerS);
  12156. goto L31612;}
  12157. L42200: {
  12158. push_exception_setupB(6, 1);
  12159. SstackS = ((SstackS) + -4);
  12160. *((long *) (SstackS)) = (long) (arg2_1144X);
  12161. SstackS = ((SstackS) + -4);
  12162. *((long *) (SstackS)) = (long) (y_1145X);
  12163. arg0K0 = 2;
  12164. goto L29309;}
  12165. L52342: {
  12166. if ((0 == (3 & y_1145X))) {
  12167. if ((0 == (3 & arg2_1144X))) {
  12168. value_1695X = ((arg2_1144X)>>2);
  12169. count_1696X = ((y_1145X)>>2);
  12170. if ((count_1696X < 0)) {
  12171. PS_SHIFT_RIGHT(value_1695X, (0 - count_1696X), x_1697X)
  12172. x_1698X = x_1697X;s48_make_availableAgc(16);
  12173. if ((536870911 < x_1698X)) {
  12174. goto L52462;}
  12175. else {
  12176. if ((x_1698X < -536870912)) {
  12177. goto L52462;}
  12178. else {
  12179. arg0K0 = (((x_1698X)<<2));
  12180. goto L52457;}}}
  12181. else {
  12182. PS_SHIFT_LEFT(value_1695X, count_1696X, x_1699X)
  12183. result_1700X = x_1699X;
  12184. PS_SHIFT_RIGHT(result_1700X, count_1696X, x_1701X)
  12185. if ((value_1695X == x_1701X)) {
  12186. if ((value_1695X < 0)) {
  12187. if ((result_1700X < 0)) {s48_make_availableAgc(16);
  12188. if ((536870911 < result_1700X)) {
  12189. goto L52484;}
  12190. else {
  12191. if ((result_1700X < -536870912)) {
  12192. goto L52484;}
  12193. else {
  12194. arg0K0 = (((result_1700X)<<2));
  12195. goto L52479;}}}
  12196. else {
  12197. arg0K0 = arg2_1144X;
  12198. arg0K1 = y_1145X;
  12199. goto L52355;}}
  12200. else {
  12201. if ((result_1700X < 0)) {
  12202. arg0K0 = arg2_1144X;
  12203. arg0K1 = y_1145X;
  12204. goto L52355;}
  12205. else {s48_make_availableAgc(16);
  12206. if ((536870911 < result_1700X)) {
  12207. goto L52506;}
  12208. else {
  12209. if ((result_1700X < -536870912)) {
  12210. goto L52506;}
  12211. else {
  12212. arg0K0 = (((result_1700X)<<2));
  12213. goto L52501;}}}}}
  12214. else {
  12215. arg0K0 = arg2_1144X;
  12216. arg0K1 = y_1145X;
  12217. goto L52355;}}}
  12218. else {
  12219. if ((3 == (3 & arg2_1144X))) {
  12220. if ((19 == (31 & ((((*((long *) ((((char *) (-3 + arg2_1144X))) + -4))))>>2))))) {
  12221. y_1702X = ((y_1145X)>>2);
  12222. merged_arg0K0 = arg2_1144X;
  12223. merged_arg0K1 = y_1702X;
  12224. shift_space_return_tag = 0;
  12225. goto shift_space;
  12226. shift_space_return_0:
  12227. needed_1703X = shift_space0_return_value;
  12228. Stemp0S = arg2_1144X;s48_make_availableAgc((((needed_1703X)<<2)));
  12229. value_1704X = Stemp0S;
  12230. Stemp0S = 1;
  12231. if ((0 == (3 & value_1704X))) {
  12232. v_1705X = (char *) s48_long_to_bignum((((value_1704X)>>2)));
  12233. arg2K0 = v_1705X;
  12234. goto L52537;}
  12235. else {
  12236. arg2K0 = (((char *) (-3 + value_1704X)));
  12237. goto L52537;}}
  12238. else {
  12239. goto L52364;}}
  12240. else {
  12241. goto L52364;}}}
  12242. else {push_exception_setupB(5, 1);
  12243. SstackS = ((SstackS) + -4);
  12244. *((long *) (SstackS)) = (long) (arg2_1144X);
  12245. SstackS = ((SstackS) + -4);
  12246. *((long *) (SstackS)) = (long) (y_1145X);
  12247. arg0K0 = 2;
  12248. goto L29309;}}
  12249. L60548: {
  12250. val_1706X = arg0K0;
  12251. SvalS = val_1706X;
  12252. Scode_pointerS = ((Scode_pointerS) + 1);
  12253. arg2K0 = (Scode_pointerS);
  12254. goto L31612;}
  12255. L49596: {
  12256. val_1707X = arg0K0;
  12257. SvalS = val_1707X;
  12258. Scode_pointerS = ((Scode_pointerS) + 1);
  12259. arg2K0 = (Scode_pointerS);
  12260. goto L31612;}
  12261. L49567: {
  12262. push_exception_setupB(5, 1);
  12263. SstackS = ((SstackS) + -4);
  12264. *((long *) (SstackS)) = (long) (arg2_1149X);
  12265. x_1708X = SvalS;
  12266. SstackS = ((SstackS) + -4);
  12267. *((long *) (SstackS)) = (long) (x_1708X);
  12268. arg0K0 = 2;
  12269. goto L29309;}
  12270. L49504: {
  12271. val_1709X = arg0K0;
  12272. SvalS = val_1709X;
  12273. Scode_pointerS = ((Scode_pointerS) + 1);
  12274. arg2K0 = (Scode_pointerS);
  12275. goto L31612;}
  12276. L49475: {
  12277. push_exception_setupB(5, 1);
  12278. SstackS = ((SstackS) + -4);
  12279. *((long *) (SstackS)) = (long) (arg2_1151X);
  12280. x_1710X = SvalS;
  12281. SstackS = ((SstackS) + -4);
  12282. *((long *) (SstackS)) = (long) (x_1710X);
  12283. arg0K0 = 2;
  12284. goto L29309;}
  12285. L53591: {
  12286. push_exception_setupB(5, 1);
  12287. SstackS = ((SstackS) + -4);
  12288. *((long *) (SstackS)) = (long) ((((x_1154X)<<2)));
  12289. arg0K0 = 1;
  12290. goto L29309;}
  12291. L53597: {
  12292. SvalS = (9 + (((x_1154X)<<8)));
  12293. Scode_pointerS = ((Scode_pointerS) + 1);
  12294. arg2K0 = (Scode_pointerS);
  12295. goto L31612;}
  12296. L49402: {
  12297. val_1711X = arg0K0;
  12298. SvalS = val_1711X;
  12299. Scode_pointerS = ((Scode_pointerS) + 1);
  12300. arg2K0 = (Scode_pointerS);
  12301. goto L31612;}
  12302. L60581: {
  12303. val_1712X = arg0K0;
  12304. SvalS = val_1712X;
  12305. Scode_pointerS = ((Scode_pointerS) + 1);
  12306. arg2K0 = (Scode_pointerS);
  12307. goto L31612;}
  12308. L60595: {
  12309. value_1713X = arg0K0;
  12310. SvalS = value_1713X;
  12311. Scode_pointerS = ((Scode_pointerS) + 2);
  12312. arg2K0 = (Scode_pointerS);
  12313. goto L31612;}
  12314. L34375: {
  12315. push_exception_setupB(5, 2);
  12316. SstackS = ((SstackS) + -4);
  12317. *((long *) (SstackS)) = (long) (stob_1161X);
  12318. SstackS = ((SstackS) + -4);
  12319. *((long *) (SstackS)) = (long) ((((type_1162X)<<2)));
  12320. arg0K0 = 2;
  12321. goto L29309;}
  12322. L34480: {
  12323. SvalS = new_1167X;
  12324. Scode_pointerS = ((Scode_pointerS) + 3);
  12325. arg2K0 = (Scode_pointerS);
  12326. goto L31612;}
  12327. L34464: {
  12328. i_1714X = arg0K0;
  12329. if ((i_1714X < 0)) {
  12330. goto L34480;}
  12331. else {
  12332. value_1715X = *((long *) (SstackS));
  12333. SstackS = ((SstackS) + 4);
  12334. *((long *) ((((char *) (-3 + new_1167X))) + (((i_1714X)<<2)))) = (long) (value_1715X);
  12335. arg0K0 = (-1 + i_1714X);
  12336. goto L34464;}}
  12337. L34598: {
  12338. i_1716X = arg0K0;
  12339. if ((i_1716X < 0)) {
  12340. arg0K0 = stack_nargs_1175X;
  12341. arg0K1 = rest_list_1176X;
  12342. goto L34740;}
  12343. else {
  12344. value_1717X = *((long *) (SstackS));
  12345. SstackS = ((SstackS) + 4);
  12346. *((long *) ((((char *) (-3 + new_1173X))) + (((i_1716X)<<2)))) = (long) (value_1717X);
  12347. arg0K0 = (-1 + i_1716X);
  12348. goto L34598;}}
  12349. L34766: {
  12350. push_exception_setupB(5, 3);
  12351. SstackS = ((SstackS) + -4);
  12352. *((long *) (SstackS)) = (long) (stob_1177X);
  12353. SstackS = ((SstackS) + -4);
  12354. *((long *) (SstackS)) = (long) ((((type_1178X)<<2)));
  12355. SstackS = ((SstackS) + -4);
  12356. *((long *) (SstackS)) = (long) ((((offset_1179X)<<2)));
  12357. arg0K0 = 3;
  12358. goto L29309;}
  12359. L34883: {
  12360. addr_1718X = (((char *) (-3 + arg2_1180X))) + (((offset_1183X)<<2));S48_WRITE_BARRIER(arg2_1180X, addr_1718X, value_1181X);
  12361. *((long *) addr_1718X) = (long) (value_1181X);
  12362. goto L34892;}
  12363. L34892: {
  12364. SvalS = 13;
  12365. Scode_pointerS = ((Scode_pointerS) + 4);
  12366. arg2K0 = (Scode_pointerS);
  12367. goto L31612;}
  12368. L34893: {
  12369. push_exception_setupB(5, 4);
  12370. SstackS = ((SstackS) + -4);
  12371. *((long *) (SstackS)) = (long) (arg2_1180X);
  12372. SstackS = ((SstackS) + -4);
  12373. *((long *) (SstackS)) = (long) ((((type_1182X)<<2)));
  12374. SstackS = ((SstackS) + -4);
  12375. *((long *) (SstackS)) = (long) ((((offset_1183X)<<2)));
  12376. SstackS = ((SstackS) + -4);
  12377. *((long *) (SstackS)) = (long) (value_1181X);
  12378. arg0K0 = 4;
  12379. goto L29309;}
  12380. L35110: {
  12381. push_exception_setupB(5, 2);
  12382. SstackS = ((SstackS) + -4);
  12383. *((long *) (SstackS)) = (long) ((((type_1187X)<<2)));
  12384. SstackS = ((SstackS) + -4);
  12385. *((long *) (SstackS)) = (long) ((((len_1188X)<<2)));
  12386. SstackS = ((SstackS) + -4);
  12387. *((long *) (SstackS)) = (long) (init_1186X);
  12388. arg0K0 = 3;
  12389. goto L29309;}
  12390. L35127: {
  12391. x_1719X = arg0K0;
  12392. value_1720X = Stemp0S;
  12393. Stemp0S = 1;
  12394. if ((1 == x_1719X)) {push_exception_setupB(8, 2);
  12395. SstackS = ((SstackS) + -4);
  12396. *((long *) (SstackS)) = (long) ((((type_1187X)<<2)));
  12397. SstackS = ((SstackS) + -4);
  12398. *((long *) (SstackS)) = (long) ((((len_1188X)<<2)));
  12399. SstackS = ((SstackS) + -4);
  12400. *((long *) (SstackS)) = (long) (value_1720X);
  12401. arg0K0 = 3;
  12402. goto L29309;}
  12403. else {
  12404. arg0K0 = (-1 + len_1188X);
  12405. goto L35153;}}
  12406. L35400: {
  12407. push_exception_setupB(7, 3);
  12408. SstackS = ((SstackS) + -4);
  12409. *((long *) (SstackS)) = (long) (arg2_1191X);
  12410. SstackS = ((SstackS) + -4);
  12411. *((long *) (SstackS)) = (long) ((((type_1193X)<<2)));
  12412. SstackS = ((SstackS) + -4);
  12413. *((long *) (SstackS)) = (long) (index_1192X);
  12414. arg0K0 = 3;
  12415. goto L29309;}
  12416. L35390: {
  12417. arg0K0 = (*((long *) ((((char *) (-3 + arg2_1191X))) + (-4 & index_1192X))));
  12418. goto L35399;}
  12419. L35399: {
  12420. value_1721X = arg0K0;
  12421. SvalS = value_1721X;
  12422. Scode_pointerS = ((Scode_pointerS) + 3);
  12423. arg2K0 = (Scode_pointerS);
  12424. goto L31612;}
  12425. L35355: {
  12426. push_exception_setupB(5, 3);
  12427. SstackS = ((SstackS) + -4);
  12428. *((long *) (SstackS)) = (long) (arg2_1191X);
  12429. SstackS = ((SstackS) + -4);
  12430. *((long *) (SstackS)) = (long) ((((type_1193X)<<2)));
  12431. SstackS = ((SstackS) + -4);
  12432. *((long *) (SstackS)) = (long) (index_1192X);
  12433. arg0K0 = 3;
  12434. goto L29309;}
  12435. L35687: {
  12436. push_exception_setupB(7, 3);
  12437. SstackS = ((SstackS) + -4);
  12438. *((long *) (SstackS)) = (long) (arg3_1199X);
  12439. SstackS = ((SstackS) + -4);
  12440. *((long *) (SstackS)) = (long) ((((type_1201X)<<2)));
  12441. SstackS = ((SstackS) + -4);
  12442. *((long *) (SstackS)) = (long) (arg2_1198X);
  12443. SstackS = ((SstackS) + -4);
  12444. *((long *) (SstackS)) = (long) (value_1200X);
  12445. arg0K0 = 4;
  12446. goto L29309;}
  12447. L35677: {
  12448. addr_1722X = (((char *) (-3 + arg3_1199X))) + (-4 & arg2_1198X);S48_WRITE_BARRIER(arg3_1199X, addr_1722X, value_1200X);
  12449. *((long *) addr_1722X) = (long) (value_1200X);
  12450. goto L35686;}
  12451. L35686: {
  12452. SvalS = 13;
  12453. Scode_pointerS = ((Scode_pointerS) + 3);
  12454. arg2K0 = (Scode_pointerS);
  12455. goto L31612;}
  12456. L35640: {
  12457. push_exception_setupB(5, 3);
  12458. SstackS = ((SstackS) + -4);
  12459. *((long *) (SstackS)) = (long) (arg3_1199X);
  12460. SstackS = ((SstackS) + -4);
  12461. *((long *) (SstackS)) = (long) ((((type_1201X)<<2)));
  12462. SstackS = ((SstackS) + -4);
  12463. *((long *) (SstackS)) = (long) (arg2_1198X);
  12464. SstackS = ((SstackS) + -4);
  12465. *((long *) (SstackS)) = (long) (value_1200X);
  12466. arg0K0 = 4;
  12467. goto L29309;}
  12468. L60638: {
  12469. new_1723X = arg0K0;
  12470. if ((1 == new_1723X)) {push_exception_setupB(8, 1);
  12471. SstackS = ((SstackS) + -4);
  12472. *((long *) (SstackS)) = (long) (72);
  12473. arg0K0 = 1;
  12474. goto L29309;}
  12475. else {
  12476. SvalS = new_1723X;
  12477. Scode_pointerS = ((Scode_pointerS) + 1);
  12478. arg2K0 = (Scode_pointerS);
  12479. goto L31612;}}
  12480. L46073: {
  12481. push_exception_setupB(5, 1);
  12482. SstackS = ((SstackS) + -4);
  12483. *((long *) (SstackS)) = (long) ((((len_1207X)<<2)));
  12484. SstackS = ((SstackS) + -4);
  12485. *((long *) (SstackS)) = (long) ((((init_1208X)<<2)));
  12486. arg0K0 = 2;
  12487. goto L29309;}
  12488. L46088: {
  12489. vector_1724X = arg0K0;
  12490. if ((1 == vector_1724X)) {push_exception_setupB(8, 1);
  12491. SstackS = ((SstackS) + -4);
  12492. *((long *) (SstackS)) = (long) ((((len_1207X)<<2)));
  12493. SstackS = ((SstackS) + -4);
  12494. *((long *) (SstackS)) = (long) ((((init_1208X)<<2)));
  12495. arg0K0 = 2;
  12496. goto L29309;}
  12497. else {
  12498. arg0K0 = (-1 + len_1207X);
  12499. goto L46110;}}
  12500. L57914: {
  12501. push_exception_setupB(5, 1);
  12502. x_1725X = SvalS;
  12503. SstackS = ((SstackS) + -4);
  12504. *((long *) (SstackS)) = (long) (x_1725X);
  12505. arg0K0 = 1;
  12506. goto L29309;}
  12507. L53734: {
  12508. push_exception_setupB(7, 1);
  12509. SstackS = ((SstackS) + -4);
  12510. *((long *) (SstackS)) = (long) (arg2_1212X);
  12511. SstackS = ((SstackS) + -4);
  12512. *((long *) (SstackS)) = (long) ((((index_1213X)<<2)));
  12513. arg0K0 = 2;
  12514. goto L29309;}
  12515. L57340: {
  12516. push_exception_setupB(5, 1);
  12517. SstackS = ((SstackS) + -4);
  12518. *((long *) (SstackS)) = (long) (arg2_1212X);
  12519. x_1726X = SvalS;
  12520. SstackS = ((SstackS) + -4);
  12521. *((long *) (SstackS)) = (long) (x_1726X);
  12522. arg0K0 = 2;
  12523. goto L29309;}
  12524. L50914: {
  12525. push_exception_setupB(7, 1);
  12526. SstackS = ((SstackS) + -4);
  12527. *((long *) (SstackS)) = (long) (arg3_1216X);
  12528. SstackS = ((SstackS) + -4);
  12529. *((long *) (SstackS)) = (long) ((((index_1217X)<<2)));
  12530. SstackS = ((SstackS) + -4);
  12531. *((long *) (SstackS)) = (long) ((((Kchar_1218X)<<2)));
  12532. arg0K0 = 3;
  12533. goto L29309;}
  12534. L50893: {
  12535. push_exception_setupB(5, 1);
  12536. SstackS = ((SstackS) + -4);
  12537. *((long *) (SstackS)) = (long) (arg3_1216X);
  12538. SstackS = ((SstackS) + -4);
  12539. *((long *) (SstackS)) = (long) ((((index_1217X)<<2)));
  12540. SstackS = ((SstackS) + -4);
  12541. *((long *) (SstackS)) = (long) ((((Kchar_1218X)<<2)));
  12542. arg0K0 = 3;
  12543. goto L29309;}
  12544. L55988: {
  12545. push_exception_setupB(5, 1);
  12546. SstackS = ((SstackS) + -4);
  12547. *((long *) (SstackS)) = (long) (arg3_1216X);
  12548. SstackS = ((SstackS) + -4);
  12549. *((long *) (SstackS)) = (long) (arg2_1215X);
  12550. x_1727X = SvalS;
  12551. SstackS = ((SstackS) + -4);
  12552. *((long *) (SstackS)) = (long) (x_1727X);
  12553. arg0K0 = 3;
  12554. goto L29309;}
  12555. L46258: {
  12556. push_exception_setupB(5, 1);
  12557. SstackS = ((SstackS) + -4);
  12558. *((long *) (SstackS)) = (long) ((((len_1221X)<<2)));
  12559. SstackS = ((SstackS) + -4);
  12560. *((long *) (SstackS)) = (long) ((9 + (((init_1222X)<<8))));
  12561. arg0K0 = 2;
  12562. goto L29309;}
  12563. L46273: {
  12564. vector_1728X = arg0K0;
  12565. if ((1 == vector_1728X)) {push_exception_setupB(8, 1);
  12566. SstackS = ((SstackS) + -4);
  12567. *((long *) (SstackS)) = (long) ((((len_1221X)<<2)));
  12568. SstackS = ((SstackS) + -4);
  12569. *((long *) (SstackS)) = (long) ((9 + (((init_1222X)<<8))));
  12570. arg0K0 = 2;
  12571. goto L29309;}
  12572. else {
  12573. arg0K0 = (-1 + len_1221X);
  12574. goto L46295;}}
  12575. L53815: {
  12576. push_exception_setupB(5, 1);
  12577. SstackS = ((SstackS) + -4);
  12578. *((long *) (SstackS)) = (long) (arg2_1220X);
  12579. x_1729X = SvalS;
  12580. SstackS = ((SstackS) + -4);
  12581. *((long *) (SstackS)) = (long) (x_1729X);
  12582. arg0K0 = 2;
  12583. goto L29309;}
  12584. L57964: {
  12585. push_exception_setupB(5, 1);
  12586. x_1730X = SvalS;
  12587. SstackS = ((SstackS) + -4);
  12588. *((long *) (SstackS)) = (long) (x_1730X);
  12589. arg0K0 = 1;
  12590. goto L29309;}
  12591. L53880: {
  12592. push_exception_setupB(7, 1);
  12593. SstackS = ((SstackS) + -4);
  12594. *((long *) (SstackS)) = (long) (arg2_1227X);
  12595. SstackS = ((SstackS) + -4);
  12596. *((long *) (SstackS)) = (long) ((((index_1228X)<<2)));
  12597. arg0K0 = 2;
  12598. goto L29309;}
  12599. L53908: {
  12600. bits_1731X = arg0K0;
  12601. j_1732X = arg0K1;
  12602. scalar_value_1733X = arg0K2;
  12603. if ((j_1732X < 4)) {
  12604. PS_SHIFT_LEFT((*((unsigned char *) ((((char *) (-3 + arg2_1227X))) + ((((index_1228X)<<2)) + j_1732X)))), bits_1731X, x_1734X)
  12605. arg0K0 = (8 + bits_1731X);
  12606. arg0K1 = (1 + j_1732X);
  12607. arg0K2 = (x_1734X + scalar_value_1733X);
  12608. goto L53908;}
  12609. else {
  12610. SvalS = (9 + (((scalar_value_1733X)<<8)));
  12611. Scode_pointerS = ((Scode_pointerS) + 1);
  12612. arg2K0 = (Scode_pointerS);
  12613. goto L31612;}}
  12614. L57438: {
  12615. push_exception_setupB(5, 1);
  12616. SstackS = ((SstackS) + -4);
  12617. *((long *) (SstackS)) = (long) (arg2_1227X);
  12618. x_1735X = SvalS;
  12619. SstackS = ((SstackS) + -4);
  12620. *((long *) (SstackS)) = (long) (x_1735X);
  12621. arg0K0 = 2;
  12622. goto L29309;}
  12623. L51069: {
  12624. push_exception_setupB(7, 1);
  12625. SstackS = ((SstackS) + -4);
  12626. *((long *) (SstackS)) = (long) (arg3_1231X);
  12627. SstackS = ((SstackS) + -4);
  12628. *((long *) (SstackS)) = (long) ((((index_1232X)<<2)));
  12629. SstackS = ((SstackS) + -4);
  12630. *((long *) (SstackS)) = (long) ((9 + (((Kchar_1233X)<<8))));
  12631. arg0K0 = 3;
  12632. goto L29309;}
  12633. L51133: {
  12634. bits_1736X = arg0K0;
  12635. j_1737X = arg0K1;
  12636. shifted_1738X = arg0K2;
  12637. if ((j_1737X < 4)) {
  12638. *((unsigned char *) ((((char *) (-3 + arg3_1231X))) + ((((index_1232X)<<2)) + j_1737X))) = (unsigned char) ((255 & shifted_1738X));
  12639. arg0K0 = (8 + bits_1736X);
  12640. arg0K1 = (1 + j_1737X);
  12641. arg0K2 = ((long)(((unsigned long)shifted_1738X)>>8));
  12642. goto L51133;}
  12643. else {
  12644. SvalS = 13;
  12645. Scode_pointerS = ((Scode_pointerS) + 1);
  12646. arg2K0 = (Scode_pointerS);
  12647. goto L31612;}}
  12648. L51048: {
  12649. push_exception_setupB(5, 1);
  12650. SstackS = ((SstackS) + -4);
  12651. *((long *) (SstackS)) = (long) (arg3_1231X);
  12652. SstackS = ((SstackS) + -4);
  12653. *((long *) (SstackS)) = (long) ((((index_1232X)<<2)));
  12654. SstackS = ((SstackS) + -4);
  12655. *((long *) (SstackS)) = (long) ((9 + (((Kchar_1233X)<<8))));
  12656. arg0K0 = 3;
  12657. goto L29309;}
  12658. L56118: {
  12659. push_exception_setupB(5, 1);
  12660. SstackS = ((SstackS) + -4);
  12661. *((long *) (SstackS)) = (long) (arg3_1231X);
  12662. SstackS = ((SstackS) + -4);
  12663. *((long *) (SstackS)) = (long) (arg2_1230X);
  12664. x_1739X = SvalS;
  12665. SstackS = ((SstackS) + -4);
  12666. *((long *) (SstackS)) = (long) (x_1739X);
  12667. arg0K0 = 3;
  12668. goto L29309;}
  12669. L36022: {
  12670. push_exception_setupB(5, 1);
  12671. SstackS = ((SstackS) + -4);
  12672. *((long *) (SstackS)) = (long) (arg5_1238X);
  12673. SstackS = ((SstackS) + -4);
  12674. *((long *) (SstackS)) = (long) ((((from_index_1239X)<<2)));
  12675. SstackS = ((SstackS) + -4);
  12676. *((long *) (SstackS)) = (long) (arg3_1236X);
  12677. SstackS = ((SstackS) + -4);
  12678. *((long *) (SstackS)) = (long) ((((to_index_1240X)<<2)));
  12679. SstackS = ((SstackS) + -4);
  12680. *((long *) (SstackS)) = (long) ((((count_1241X)<<2)));
  12681. arg0K0 = 5;
  12682. goto L29309;}
  12683. L41169: {
  12684. push_exception_setupB(5, 1);
  12685. SstackS = ((SstackS) + -4);
  12686. *((long *) (SstackS)) = (long) (arg5_1238X);
  12687. SstackS = ((SstackS) + -4);
  12688. *((long *) (SstackS)) = (long) (arg4_1237X);
  12689. SstackS = ((SstackS) + -4);
  12690. *((long *) (SstackS)) = (long) (arg3_1236X);
  12691. SstackS = ((SstackS) + -4);
  12692. *((long *) (SstackS)) = (long) (arg2_1235X);
  12693. x_1740X = SvalS;
  12694. SstackS = ((SstackS) + -4);
  12695. *((long *) (SstackS)) = (long) (x_1740X);
  12696. arg0K0 = 5;
  12697. goto L29309;}
  12698. L26959: {
  12699. bucket_1741X = arg0K0;
  12700. arg0K0 = bucket_1741X;
  12701. goto L26965;}
  12702. L42345: {
  12703. push_exception_setupB(5, 1);
  12704. x_1742X = SvalS;
  12705. SstackS = ((SstackS) + -4);
  12706. *((long *) (SstackS)) = (long) (x_1742X);
  12707. arg0K0 = 1;
  12708. goto L29309;}
  12709. L55682: {
  12710. val_1743X = arg0K0;
  12711. SvalS = val_1743X;
  12712. Scode_pointerS = ((Scode_pointerS) + 1);
  12713. arg2K0 = (Scode_pointerS);
  12714. goto L31612;}
  12715. L55663: {
  12716. push_exception_setupB(5, 1);
  12717. x_1744X = SvalS;
  12718. SstackS = ((SstackS) + -4);
  12719. *((long *) (SstackS)) = (long) (x_1744X);
  12720. arg0K0 = 1;
  12721. goto L29309;}
  12722. L50671: {
  12723. if ((1 == (SvalS))) {
  12724. addr_1745X = (((char *) (-3 + arg2_1253X))) + 4;S48_WRITE_BARRIER(arg2_1253X, addr_1745X, 273);
  12725. *((long *) addr_1745X) = (long) (273);
  12726. goto L50677;}
  12727. else {
  12728. if ((17 == (255 & (*((long *) ((((char *) (-3 + arg2_1253X))) + 4)))))) {
  12729. addr_1746X = (((char *) (-3 + arg2_1253X))) + 4;S48_WRITE_BARRIER(arg2_1253X, addr_1746X, 529);
  12730. *((long *) addr_1746X) = (long) (529);
  12731. goto L50677;}
  12732. else {
  12733. goto L50677;}}}
  12734. L50678: {
  12735. push_exception_setupB(5, 1);
  12736. SstackS = ((SstackS) + -4);
  12737. *((long *) (SstackS)) = (long) (arg2_1253X);
  12738. x_1747X = SvalS;
  12739. SstackS = ((SstackS) + -4);
  12740. *((long *) (SstackS)) = (long) (x_1747X);
  12741. arg0K0 = 2;
  12742. goto L29309;}
  12743. L60700: {
  12744. val_1748X = arg0K0;
  12745. SvalS = val_1748X;
  12746. Scode_pointerS = ((Scode_pointerS) + 1);
  12747. arg2K0 = (Scode_pointerS);
  12748. goto L31612;}
  12749. L53972: {
  12750. SvalS = x_1256X;
  12751. Scode_pointerS = ((Scode_pointerS) + 1);
  12752. arg2K0 = (Scode_pointerS);
  12753. goto L31612;}
  12754. L46697: {
  12755. if ((0 == (3 & arg4_1259X))) {
  12756. if (((((arg4_1259X)>>2)) < 0)) {push_exception_setupB(5, 1);
  12757. SstackS = ((SstackS) + -4);
  12758. *((long *) (SstackS)) = (long) (arg4_1259X);
  12759. SstackS = ((SstackS) + -4);
  12760. *((long *) (SstackS)) = (long) ((((mode_1260X)<<2)));
  12761. arg0K0 = 2;
  12762. goto L29309;}
  12763. else {
  12764. arg0K0 = (((arg4_1259X)>>2));
  12765. goto L46483;}}
  12766. else {
  12767. if ((3 == (3 & arg4_1259X))) {
  12768. if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg4_1259X))) + -4))))>>2))))) {
  12769. filename_1749X = ((char *)(((char *) (-3 + arg4_1259X))));
  12770. if ((1 == mode_1260X)) {
  12771. goto L46545;}
  12772. else {
  12773. if ((3 == mode_1260X)) {
  12774. goto L46545;}
  12775. else {
  12776. v_1750X = ps_open_fd(filename_1749X, 0, &v_1751X);
  12777. arg0K0 = v_1750X;
  12778. arg0K1 = v_1751X;
  12779. goto L46554;}}}
  12780. else {push_exception_setupB(5, 1);
  12781. SstackS = ((SstackS) + -4);
  12782. *((long *) (SstackS)) = (long) (arg4_1259X);
  12783. SstackS = ((SstackS) + -4);
  12784. *((long *) (SstackS)) = (long) ((((mode_1260X)<<2)));
  12785. arg0K0 = 2;
  12786. goto L29309;}}
  12787. else {push_exception_setupB(5, 1);
  12788. SstackS = ((SstackS) + -4);
  12789. *((long *) (SstackS)) = (long) (arg4_1259X);
  12790. SstackS = ((SstackS) + -4);
  12791. *((long *) (SstackS)) = (long) ((((mode_1260X)<<2)));
  12792. arg0K0 = 2;
  12793. goto L29309;}}}
  12794. L60719: {
  12795. push_exception_setupB(5, 1);
  12796. x_1752X = SvalS;
  12797. SstackS = ((SstackS) + -4);
  12798. *((long *) (SstackS)) = (long) (x_1752X);
  12799. arg0K0 = 1;
  12800. goto L29309;}
  12801. L54172: {
  12802. if ((1 == (SvalS))) {
  12803. arg3K0 = 0;
  12804. goto L54182;}
  12805. else {
  12806. arg3K0 = 1;
  12807. goto L54182;}}
  12808. L54183: {
  12809. push_exception_setupB(5, 1);
  12810. SstackS = ((SstackS) + -4);
  12811. *((long *) (SstackS)) = (long) (arg5_1270X);
  12812. SstackS = ((SstackS) + -4);
  12813. *((long *) (SstackS)) = (long) (arg4_1269X);
  12814. SstackS = ((SstackS) + -4);
  12815. *((long *) (SstackS)) = (long) (arg3_1268X);
  12816. SstackS = ((SstackS) + -4);
  12817. *((long *) (SstackS)) = (long) (arg2_1267X);
  12818. x_1753X = SvalS;
  12819. SstackS = ((SstackS) + -4);
  12820. *((long *) (SstackS)) = (long) (x_1753X);
  12821. arg0K0 = 5;
  12822. goto L29309;}
  12823. L47307: {
  12824. push_exception_setupB(5, 1);
  12825. SstackS = ((SstackS) + -4);
  12826. *((long *) (SstackS)) = (long) (arg4_1274X);
  12827. SstackS = ((SstackS) + -4);
  12828. *((long *) (SstackS)) = (long) (arg3_1273X);
  12829. SstackS = ((SstackS) + -4);
  12830. *((long *) (SstackS)) = (long) ((((start_1275X)<<2)));
  12831. SstackS = ((SstackS) + -4);
  12832. *((long *) (SstackS)) = (long) ((((count_1276X)<<2)));
  12833. arg0K0 = 4;
  12834. goto L29309;}
  12835. L47306: {
  12836. val_1754X = arg0K0;
  12837. SvalS = val_1754X;
  12838. Scode_pointerS = ((Scode_pointerS) + 1);
  12839. arg2K0 = (Scode_pointerS);
  12840. goto L31612;}
  12841. L54386: {
  12842. push_exception_setupB(5, 1);
  12843. SstackS = ((SstackS) + -4);
  12844. *((long *) (SstackS)) = (long) (arg4_1274X);
  12845. SstackS = ((SstackS) + -4);
  12846. *((long *) (SstackS)) = (long) (arg3_1273X);
  12847. SstackS = ((SstackS) + -4);
  12848. *((long *) (SstackS)) = (long) (arg2_1272X);
  12849. x_1755X = SvalS;
  12850. SstackS = ((SstackS) + -4);
  12851. *((long *) (SstackS)) = (long) (x_1755X);
  12852. arg0K0 = 4;
  12853. goto L29309;}
  12854. L57164: {
  12855. val_1756X = arg0K0;
  12856. SvalS = val_1756X;
  12857. Scode_pointerS = ((Scode_pointerS) + 1);
  12858. arg2K0 = (Scode_pointerS);
  12859. goto L31612;}
  12860. L50262: {
  12861. val_1757X = arg0K0;
  12862. SvalS = val_1757X;
  12863. Scode_pointerS = ((Scode_pointerS) + 1);
  12864. arg2K0 = (Scode_pointerS);
  12865. goto L31612;}
  12866. L60754: {
  12867. push_exception_setupB(5, 1);
  12868. x_1758X = SvalS;
  12869. SstackS = ((SstackS) + -4);
  12870. *((long *) (SstackS)) = (long) (x_1758X);
  12871. arg0K0 = 1;
  12872. goto L29309;}
  12873. L54534: {
  12874. val_1759X = arg0K0;
  12875. SvalS = val_1759X;
  12876. Scode_pointerS = ((Scode_pointerS) + 1);
  12877. arg2K0 = (Scode_pointerS);
  12878. goto L31612;}
  12879. L14931: {
  12880. x_1760X = Spending_channels_headS;
  12881. if ((1 == x_1760X)) {
  12882. Spending_interruptsS = (-9 & (Spending_interruptsS));
  12883. goto L14943;}
  12884. else {
  12885. goto L14943;}}
  12886. L14949: {
  12887. ch_1761X = arg0K0;
  12888. prev_1762X = arg0K1;
  12889. if ((1 == ch_1761X)) {
  12890. addr_1763X = (((char *) (-3 + channel_1294X))) + 20;S48_WRITE_BARRIER(channel_1294X, addr_1763X, 1);
  12891. *((long *) addr_1763X) = (long) (1);
  12892. n_1764X = ps_abort_fd_op(((((*((long *) ((((char *) (-3 + channel_1294X))) + 8))))>>2)));
  12893. arg0K0 = (((n_1764X)<<2));
  12894. goto L54534;}
  12895. else {
  12896. if ((ch_1761X == channel_1294X)) {
  12897. y_1765X = Spending_channels_tailS;
  12898. if ((ch_1761X == y_1765X)) {
  12899. Spending_channels_tailS = prev_1762X;
  12900. goto L14973;}
  12901. else {
  12902. goto L14973;}}
  12903. else {
  12904. arg0K0 = (*((long *) ((((char *) (-3 + ch_1761X))) + 16)));
  12905. arg0K1 = ch_1761X;
  12906. goto L14949;}}}
  12907. L54517: {
  12908. push_exception_setupB(5, 1);
  12909. x_1766X = SvalS;
  12910. SstackS = ((SstackS) + -4);
  12911. *((long *) (SstackS)) = (long) (x_1766X);
  12912. arg0K0 = 1;
  12913. goto L29309;}
  12914. L21533: {
  12915. i_1767X = arg0K0;
  12916. res_1768X = arg0K1;
  12917. if ((-1 == i_1767X)) {
  12918. SvalS = res_1768X;
  12919. Scode_pointerS = ((Scode_pointerS) + 1);
  12920. arg2K0 = (Scode_pointerS);
  12921. goto L31612;}
  12922. else {
  12923. channel_1769X = *((Svm_channelsS) + i_1767X);
  12924. if ((3 == (3 & channel_1769X))) {
  12925. if ((6 == (31 & ((((*((long *) ((((char *) (-3 + channel_1769X))) + -4))))>>2))))) {
  12926. addr_1770X = s48_allocate_small(12);
  12927. *((long *) addr_1770X) = (long) (2050);
  12928. x_1771X = 3 + (((long) (addr_1770X + 4)));
  12929. *((long *) (((char *) (-3 + x_1771X)))) = (long) (channel_1769X);
  12930. *((long *) ((((char *) (-3 + x_1771X))) + 4)) = (long) (res_1768X);
  12931. arg0K0 = x_1771X;
  12932. goto L21547;}
  12933. else {
  12934. arg0K0 = res_1768X;
  12935. goto L21547;}}
  12936. else {
  12937. arg0K0 = res_1768X;
  12938. goto L21547;}}}
  12939. L47528: {
  12940. old_1772X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  12941. if ((1 == old_1772X)) {
  12942. goto L47544;}
  12943. else {
  12944. addr_1773X = ((char *) (-3 + old_1772X));S48_WRITE_BARRIER(old_1772X, addr_1773X, 1);
  12945. *((long *) addr_1773X) = (long) (1);
  12946. goto L47544;}}
  12947. L47559: {
  12948. if ((proposal_1301X == (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12))))) {
  12949. SvalS = 13;
  12950. Scode_pointerS = ((Scode_pointerS) + 1);
  12951. arg2K0 = (Scode_pointerS);
  12952. goto L31612;}
  12953. else {push_exception_setupB(5, 1);
  12954. SstackS = ((SstackS) + -4);
  12955. *((long *) (SstackS)) = (long) (proposal_1301X);
  12956. arg0K0 = 1;
  12957. goto L29309;}}
  12958. L13257: {
  12959. i_1774X = arg0K0;
  12960. stob_1775X = *((long *) ((((char *) (-3 + log_1303X))) + (((i_1774X)<<2))));
  12961. if ((1 == stob_1775X)) {
  12962. log_1776X = *((long *) ((((char *) (-3 + proposal_1302X))) + 8));
  12963. arg0K0 = 0;
  12964. goto L13495;}
  12965. else {
  12966. value_1777X = *((long *) ((((char *) (-3 + log_1303X))) + (8 + (((i_1774X)<<2)))));
  12967. verify_1778X = *((long *) ((((char *) (-3 + log_1303X))) + (12 + (((i_1774X)<<2)))));
  12968. if ((29 == verify_1778X)) {
  12969. if ((3 == (3 & stob_1775X))) {
  12970. if ((0 == (128 & (*((long *) ((((char *) (-3 + stob_1775X))) + -4)))))) {
  12971. goto L13309;}
  12972. else {
  12973. goto L47807;}}
  12974. else {
  12975. goto L47807;}}
  12976. else {
  12977. if ((verify_1778X == (*((long *) ((((char *) (-3 + stob_1775X))) + (-4 & (*((long *) ((((char *) (-3 + log_1303X))) + (4 + (((i_1774X)<<2)))))))))))) {
  12978. if ((verify_1778X == value_1777X)) {
  12979. goto L13309;}
  12980. else {
  12981. if ((3 == (3 & stob_1775X))) {
  12982. if ((0 == (128 & (*((long *) ((((char *) (-3 + stob_1775X))) + -4)))))) {
  12983. goto L13309;}
  12984. else {
  12985. goto L47807;}}
  12986. else {
  12987. goto L47807;}}}
  12988. else {
  12989. goto L47807;}}}}
  12990. L36277: {
  12991. value_1779X = arg0K0;
  12992. SvalS = value_1779X;
  12993. Scode_pointerS = ((Scode_pointerS) + 3);
  12994. arg2K0 = (Scode_pointerS);
  12995. goto L31612;}
  12996. L36278: {
  12997. push_exception_setupB(5, 3);
  12998. SstackS = ((SstackS) + -4);
  12999. *((long *) (SstackS)) = (long) (stob_1304X);
  13000. SstackS = ((SstackS) + -4);
  13001. *((long *) (SstackS)) = (long) ((((type_1305X)<<2)));
  13002. SstackS = ((SstackS) + -4);
  13003. *((long *) (SstackS)) = (long) ((((offset_1306X)<<2)));
  13004. arg0K0 = 3;
  13005. goto L29309;}
  13006. L36371: {
  13007. push_exception_setupB(5, 2);
  13008. SstackS = ((SstackS) + -4);
  13009. *((long *) (SstackS)) = (long) (arg5_1312X);
  13010. SstackS = ((SstackS) + -4);
  13011. *((long *) (SstackS)) = (long) ((((from_index_1313X)<<2)));
  13012. SstackS = ((SstackS) + -4);
  13013. *((long *) (SstackS)) = (long) (arg3_1310X);
  13014. SstackS = ((SstackS) + -4);
  13015. *((long *) (SstackS)) = (long) ((((to_index_1314X)<<2)));
  13016. SstackS = ((SstackS) + -4);
  13017. *((long *) (SstackS)) = (long) ((((count_1315X)<<2)));
  13018. arg0K0 = 5;
  13019. goto L29309;}
  13020. L36431: {
  13021. memmove((void *)((((char *) (-3 + arg3_1310X))) + to_index_1314X), (void *)((((char *) (-3 + arg5_1312X))) + from_index_1313X),count_1315X);
  13022. SvalS = 13;
  13023. Scode_pointerS = ((Scode_pointerS) + 2);
  13024. arg2K0 = (Scode_pointerS);
  13025. goto L31612;}
  13026. L36528: {
  13027. left_1780X = arg0K0;
  13028. copies_1781X = arg0K1;
  13029. if ((1 == copies_1781X)) {
  13030. if ((left_1780X < count_1315X)) {
  13031. goto L36371;}
  13032. else {
  13033. from_index_1782X = ((from_index_1313X)<<2);
  13034. to_index_1783X = ((to_index_1314X)<<2);
  13035. count_1784X = ((count_1315X)<<2);
  13036. Stemp0S = arg5_1312X;
  13037. Stemp1S = arg3_1310X;
  13038. addr_1785X = s48_allocate_tracedAgc(28);
  13039. if ((addr_1785X == NULL)) {
  13040. arg0K0 = 1;
  13041. goto L12972;}
  13042. else {
  13043. *((long *) addr_1785X) = (long) (6154);
  13044. arg0K0 = (3 + (((long) (addr_1785X + 4))));
  13045. goto L12972;}}}
  13046. else {
  13047. arg0K0 = (left_1780X - ((((*((long *) ((((char *) (-3 + copies_1781X))) + 16))))>>2)));
  13048. arg0K1 = (*((long *) ((((char *) (-3 + copies_1781X))) + 20)));
  13049. goto L36528;}}
  13050. L41415: {
  13051. push_exception_setupB(5, 1);
  13052. SstackS = ((SstackS) + -4);
  13053. *((long *) (SstackS)) = (long) (arg5_1312X);
  13054. SstackS = ((SstackS) + -4);
  13055. *((long *) (SstackS)) = (long) (arg4_1311X);
  13056. SstackS = ((SstackS) + -4);
  13057. *((long *) (SstackS)) = (long) (arg3_1310X);
  13058. SstackS = ((SstackS) + -4);
  13059. *((long *) (SstackS)) = (long) (arg2_1309X);
  13060. x_1786X = SvalS;
  13061. SstackS = ((SstackS) + -4);
  13062. *((long *) (SstackS)) = (long) (x_1786X);
  13063. arg0K0 = 5;
  13064. goto L29309;}
  13065. L36797: {
  13066. push_exception_setupB(7, 1);
  13067. SstackS = ((SstackS) + -4);
  13068. *((long *) (SstackS)) = (long) (arg2_1317X);
  13069. SstackS = ((SstackS) + -4);
  13070. *((long *) (SstackS)) = (long) ((((index_1318X)<<2)));
  13071. arg0K0 = 2;
  13072. goto L29309;}
  13073. L36796: {
  13074. value_1787X = arg0K0;
  13075. SvalS = value_1787X;
  13076. Scode_pointerS = ((Scode_pointerS) + 1);
  13077. arg2K0 = (Scode_pointerS);
  13078. goto L31612;}
  13079. L19676: {
  13080. i_1788X = arg0K0;
  13081. next_stob_1789X = *((long *) ((((char *) (-3 + log_1322X))) + (((i_1788X)<<2))));
  13082. if ((1 == next_stob_1789X)) {
  13083. v_1790X = add_log_entryAgc(2, i_1788X, arg2_1317X, index_1321X, ((((*((unsigned char *) ((((char *) (-3 + arg2_1317X))) + (((index_1321X)>>2))))))<<2)), 1);
  13084. arg0K0 = v_1790X;
  13085. goto L36796;}
  13086. else {
  13087. if ((arg2_1317X == next_stob_1789X)) {
  13088. if ((index_1321X == (*((long *) ((((char *) (-3 + log_1322X))) + (4 + (((i_1788X)<<2)))))))) {
  13089. arg0K0 = (*((long *) ((((char *) (-3 + log_1322X))) + (8 + (((i_1788X)<<2))))));
  13090. goto L36796;}
  13091. else {
  13092. goto L19698;}}
  13093. else {
  13094. goto L19698;}}}
  13095. L41611: {
  13096. push_exception_setupB(5, 1);
  13097. SstackS = ((SstackS) + -4);
  13098. *((long *) (SstackS)) = (long) (arg2_1317X);
  13099. x_1791X = SvalS;
  13100. SstackS = ((SstackS) + -4);
  13101. *((long *) (SstackS)) = (long) (x_1791X);
  13102. arg0K0 = 2;
  13103. goto L29309;}
  13104. L36923: {
  13105. push_exception_setupB(7, 1);
  13106. SstackS = ((SstackS) + -4);
  13107. *((long *) (SstackS)) = (long) (arg3_1324X);
  13108. SstackS = ((SstackS) + -4);
  13109. *((long *) (SstackS)) = (long) ((((index_1325X)<<2)));
  13110. SstackS = ((SstackS) + -4);
  13111. *((long *) (SstackS)) = (long) (byte_1326X);
  13112. arg0K0 = 3;
  13113. goto L29309;}
  13114. L36922: {
  13115. SvalS = 13;
  13116. Scode_pointerS = ((Scode_pointerS) + 1);
  13117. arg2K0 = (Scode_pointerS);
  13118. goto L31612;}
  13119. L19852: {
  13120. i_1792X = arg0K0;
  13121. next_stob_1793X = *((long *) ((((char *) (-3 + log_1330X))) + (((i_1792X)<<2))));
  13122. if ((1 == next_stob_1793X)) {add_log_entryAgc(2, i_1792X, arg3_1324X, index_1329X, byte_1326X, 0);
  13123. goto L36922;}
  13124. else {
  13125. if ((arg3_1324X == next_stob_1793X)) {
  13126. if ((index_1329X == (*((long *) ((((char *) (-3 + log_1330X))) + (4 + (((i_1792X)<<2)))))))) {
  13127. addr_1794X = (((char *) (-3 + log_1330X))) + (8 + (((i_1792X)<<2)));S48_WRITE_BARRIER(log_1330X, addr_1794X, byte_1326X);
  13128. *((long *) addr_1794X) = (long) (byte_1326X);
  13129. goto L36922;}
  13130. else {
  13131. goto L19872;}}
  13132. else {
  13133. goto L19872;}}}
  13134. L36888: {
  13135. push_exception_setupB(5, 1);
  13136. SstackS = ((SstackS) + -4);
  13137. *((long *) (SstackS)) = (long) (arg3_1324X);
  13138. SstackS = ((SstackS) + -4);
  13139. *((long *) (SstackS)) = (long) ((((index_1325X)<<2)));
  13140. SstackS = ((SstackS) + -4);
  13141. *((long *) (SstackS)) = (long) (byte_1326X);
  13142. arg0K0 = 3;
  13143. goto L29309;}
  13144. L41716: {
  13145. push_exception_setupB(5, 1);
  13146. SstackS = ((SstackS) + -4);
  13147. *((long *) (SstackS)) = (long) (arg3_1324X);
  13148. SstackS = ((SstackS) + -4);
  13149. *((long *) (SstackS)) = (long) (arg2_1323X);
  13150. x_1795X = SvalS;
  13151. SstackS = ((SstackS) + -4);
  13152. *((long *) (SstackS)) = (long) (x_1795X);
  13153. arg0K0 = 3;
  13154. goto L29309;}
  13155. L51307: {
  13156. reason_1796X = arg0K0;
  13157. status_1797X = arg0K1;push_exception_setupB(reason_1796X, 1);
  13158. SstackS = ((SstackS) + -4);
  13159. *((long *) (SstackS)) = (long) (arg4_1334X);
  13160. SstackS = ((SstackS) + -4);
  13161. *((long *) (SstackS)) = (long) (arg3_1333X);
  13162. SstackS = ((SstackS) + -4);
  13163. *((long *) (SstackS)) = (long) (arg2_1332X);
  13164. merged_arg0K0 = status_1797X;
  13165. merged_arg0K1 = 0;
  13166. get_error_string_return_tag = 3;
  13167. goto get_error_string;
  13168. get_error_string_return_3:
  13169. x_1798X = get_error_string0_return_value;
  13170. SstackS = ((SstackS) + -4);
  13171. *((long *) (SstackS)) = (long) (x_1798X);
  13172. arg0K0 = 4;
  13173. goto L29309;}
  13174. L56319: {
  13175. push_exception_setupB(5, 1);
  13176. SstackS = ((SstackS) + -4);
  13177. *((long *) (SstackS)) = (long) (arg4_1334X);
  13178. SstackS = ((SstackS) + -4);
  13179. *((long *) (SstackS)) = (long) (arg3_1333X);
  13180. SstackS = ((SstackS) + -4);
  13181. *((long *) (SstackS)) = (long) (arg2_1332X);
  13182. x_1799X = SvalS;
  13183. SstackS = ((SstackS) + -4);
  13184. *((long *) (SstackS)) = (long) (x_1799X);
  13185. arg0K0 = 4;
  13186. goto L29309;}
  13187. L57032: {
  13188. push_exception_setupB(5, 1);
  13189. x_1800X = SvalS;
  13190. SstackS = ((SstackS) + -4);
  13191. *((long *) (SstackS)) = (long) (x_1800X);
  13192. arg0K0 = 1;
  13193. goto L29309;}
  13194. L51582: {
  13195. push_exception_setupB(5, 1);
  13196. SstackS = ((SstackS) + -4);
  13197. *((long *) (SstackS)) = (long) (arg2_1346X);
  13198. SstackS = ((SstackS) + -4);
  13199. *((long *) (SstackS)) = (long) (proc_1347X);
  13200. arg0K0 = 2;
  13201. goto L29309;}
  13202. L54653: {
  13203. firstP_1801X = arg3K0;
  13204. vector_1802X = s48_find_all(type_1360X);
  13205. if ((1 == vector_1802X)) {
  13206. if (firstP_1801X) {s48_collect();
  13207. arg3K0 = 0;
  13208. goto L54653;}
  13209. else {push_exception_setupB(8, 1);
  13210. SstackS = ((SstackS) + -4);
  13211. *((long *) (SstackS)) = (long) ((((type_1360X)<<2)));
  13212. arg0K0 = 1;
  13213. goto L29309;}}
  13214. else {
  13215. SvalS = vector_1802X;
  13216. Scode_pointerS = ((Scode_pointerS) + 1);
  13217. arg2K0 = (Scode_pointerS);
  13218. goto L31612;}}
  13219. L60862: {
  13220. firstP_1803X = arg3K0;
  13221. type_1804X = arg0K1;
  13222. vector_1805X = s48_find_all_records(type_1804X);
  13223. if ((1 == vector_1805X)) {
  13224. if (firstP_1803X) {
  13225. Stemp0S = type_1804X;s48_collect();
  13226. value_1806X = Stemp0S;
  13227. Stemp0S = 1;
  13228. arg3K0 = 0;
  13229. arg0K1 = value_1806X;
  13230. goto L60862;}
  13231. else {push_exception_setupB(8, 1);
  13232. SstackS = ((SstackS) + -4);
  13233. *((long *) (SstackS)) = (long) (type_1804X);
  13234. arg0K0 = 1;
  13235. goto L29309;}}
  13236. else {
  13237. SvalS = vector_1805X;
  13238. Scode_pointerS = ((Scode_pointerS) + 1);
  13239. arg2K0 = (Scode_pointerS);
  13240. goto L31612;}}
  13241. L33348: {
  13242. push_exception_setupB(5, 1);
  13243. x_1807X = SvalS;
  13244. SstackS = ((SstackS) + -4);
  13245. *((long *) (SstackS)) = (long) (x_1807X);
  13246. arg0K0 = 1;
  13247. goto L29309;}
  13248. L31694: {
  13249. Slast_code_calledS = code_1367X;
  13250. Scode_pointerS = ((((char *) (-3 + code_1367X))) + (pc_1370X + (((size_1369X)>>2))));
  13251. arg2K0 = (Scode_pointerS);
  13252. goto L31612;}
  13253. L29570: {
  13254. ps_write_string("returning to nc ", (stderr));
  13255. ps_write_integer((*((long *) (SstackS))), (stderr));
  13256. arg0K0 = 0;
  13257. arg0K1 = 25;
  13258. arg0K2 = 0;
  13259. goto L28737;}
  13260. L32253: {
  13261. push_exception_setupB(5, 1);
  13262. x_1808X = SvalS;
  13263. SstackS = ((SstackS) + -4);
  13264. *((long *) (SstackS)) = (long) (x_1808X);
  13265. arg0K0 = 1;
  13266. goto L29309;}
  13267. L60910: {
  13268. SvalS = (((old_1378X)<<2));
  13269. Scode_pointerS = ((Scode_pointerS) + 1);
  13270. arg2K0 = (Scode_pointerS);
  13271. goto L31612;}
  13272. L58129: {
  13273. x_1809X = s48_schedule_alarm_interrupt((((p_1390X)>>2)));
  13274. SvalS = (((x_1809X)<<2));
  13275. Scode_pointerS = ((Scode_pointerS) + 1);
  13276. arg2K0 = (Scode_pointerS);
  13277. goto L31612;}
  13278. L55867: {
  13279. if ((1 == (SvalS))) {
  13280. arg3K0 = 0;
  13281. goto L55871;}
  13282. else {
  13283. arg3K0 = 1;
  13284. goto L55871;}}
  13285. L55872: {
  13286. push_exception_setupB(5, 1);
  13287. SstackS = ((SstackS) + -4);
  13288. *((long *) (SstackS)) = (long) (arg2_1392X);
  13289. x_1810X = SvalS;
  13290. SstackS = ((SstackS) + -4);
  13291. *((long *) (SstackS)) = (long) (x_1810X);
  13292. arg0K0 = 2;
  13293. goto L29309;}
  13294. L37122: {
  13295. rest_list_1811X = arg0K0;
  13296. if ((25 == rest_list_1811X)) {
  13297. name_1812X = *((long *) ((SstackS) + (-8 + (((nargs_1395X)<<2)))));
  13298. proc_1813X = *((long *) ((SstackS) + (-4 + (((nargs_1395X)<<2)))));
  13299. args_1814X = SstackS;
  13300. if ((3 == (3 & name_1812X))) {
  13301. if ((16 == (31 & ((((*((long *) ((((char *) (-3 + name_1812X))) + -4))))>>2))))) {
  13302. if ((3 == (3 & proc_1813X))) {
  13303. if ((17 == (31 & ((((*((long *) ((((char *) (-3 + proc_1813X))) + -4))))>>2))))) {
  13304. if ((4 == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + proc_1813X))) + -4))))>>8)))) {
  13305. SstackS = (ScontS);
  13306. result_1815X = s48_external_call(proc_1813X, name_1812X, (-2 + nargs_1395X), args_1814X);
  13307. if ((Sexternal_exceptionPS)) {
  13308. Sexternal_exceptionPS = 0;
  13309. arg0K0 = (Sexternal_exception_nargsS);
  13310. goto L29309;}
  13311. else {
  13312. SvalS = result_1815X;
  13313. Scode_pointerS = ((Scode_pointerS) + 1);
  13314. arg2K0 = (Scode_pointerS);
  13315. goto L31612;}}
  13316. else {
  13317. goto L37378;}}
  13318. else {
  13319. goto L37378;}}
  13320. else {
  13321. goto L37378;}}
  13322. else {
  13323. goto L37378;}}
  13324. else {
  13325. goto L37378;}}
  13326. else {
  13327. x_1816X = *((long *) (((char *) (-3 + rest_list_1811X))));
  13328. SstackS = ((SstackS) + -4);
  13329. *((long *) (SstackS)) = (long) (x_1816X);
  13330. arg0K0 = (*((long *) ((((char *) (-3 + rest_list_1811X))) + 4)));
  13331. goto L37122;}}
  13332. L54748: {
  13333. if ((1 == (SvalS))) {
  13334. v_1817X = Hlookup2943((Sexported_bindingsS), arg2_1399X, 0);
  13335. arg0K0 = v_1817X;
  13336. goto L54789;}
  13337. else {
  13338. v_1818X = Hlookup2924((Simported_bindingsS), arg2_1399X, 0);
  13339. arg0K0 = v_1818X;
  13340. goto L54789;}}
  13341. L54753: {
  13342. push_exception_setupB(5, 1);
  13343. SstackS = ((SstackS) + -4);
  13344. *((long *) (SstackS)) = (long) (arg2_1399X);
  13345. x_1819X = SvalS;
  13346. SstackS = ((SstackS) + -4);
  13347. *((long *) (SstackS)) = (long) (x_1819X);
  13348. arg0K0 = 2;
  13349. goto L29309;}
  13350. L40582: {
  13351. if ((1 == (SvalS))) {
  13352. arg0K0 = (Sexported_bindingsS);
  13353. goto L40617;}
  13354. else {
  13355. arg0K0 = (Simported_bindingsS);
  13356. goto L40617;}}
  13357. L40587: {
  13358. push_exception_setupB(5, 1);
  13359. SstackS = ((SstackS) + -4);
  13360. *((long *) (SstackS)) = (long) (arg2_1401X);
  13361. x_1820X = SvalS;
  13362. SstackS = ((SstackS) + -4);
  13363. *((long *) (SstackS)) = (long) (x_1820X);
  13364. arg0K0 = 2;
  13365. goto L29309;}
  13366. L60970: {
  13367. firstP_1821X = arg3K0;
  13368. vector_1822X = s48_gather_objects(shared_binding_undefinedP, for_each_imported_binding);
  13369. if ((1 == vector_1822X)) {
  13370. if (firstP_1821X) {s48_collect();
  13371. arg3K0 = 0;
  13372. goto L60970;}
  13373. else {push_exception_setupB(8, 1);
  13374. arg0K0 = 0;
  13375. goto L29309;}}
  13376. else {
  13377. SvalS = vector_1822X;
  13378. Scode_pointerS = ((Scode_pointerS) + 1);
  13379. arg2K0 = (Scode_pointerS);
  13380. goto L31612;}}
  13381. L56966: {
  13382. option_1823X = arg0K0;
  13383. seconds_1824X = arg0K1;
  13384. mseconds_1825X = arg0K2;
  13385. if ((536869 < seconds_1824X)) {push_exception_setupB(6, 1);
  13386. SstackS = ((SstackS) + -4);
  13387. *((long *) (SstackS)) = (long) ((((option_1823X)<<2)));
  13388. SstackS = ((SstackS) + -4);
  13389. *((long *) (SstackS)) = (long) ((((seconds_1824X)<<2)));
  13390. SstackS = ((SstackS) + -4);
  13391. *((long *) (SstackS)) = (long) ((((mseconds_1825X)<<2)));
  13392. arg0K0 = 3;
  13393. goto L29309;}
  13394. else {
  13395. SvalS = (((((1000 * seconds_1824X) + mseconds_1825X))<<2));
  13396. Scode_pointerS = ((Scode_pointerS) + 1);
  13397. arg2K0 = (Scode_pointerS);
  13398. goto L31612;}}
  13399. L61027: {
  13400. s48_Scallback_return_stack_blockS = arg2_1421X;
  13401. arg0K0 = x_1422X;
  13402. goto L63848;}
  13403. L49182: {
  13404. val_1826X = arg0K0;
  13405. SvalS = val_1826X;
  13406. Scode_pointerS = ((Scode_pointerS) + 1);
  13407. arg2K0 = (Scode_pointerS);
  13408. goto L31612;}
  13409. L49147: {
  13410. push_exception_setupB(5, 1);
  13411. SstackS = ((SstackS) + -4);
  13412. *((long *) (SstackS)) = (long) (arg2_1423X);
  13413. x_1827X = SvalS;
  13414. SstackS = ((SstackS) + -4);
  13415. *((long *) (SstackS)) = (long) (x_1827X);
  13416. arg0K0 = 2;
  13417. goto L29309;}
  13418. L48383: {
  13419. len_1828X = ((n_1428X)<<2);
  13420. addr_1829X = s48_allocate_small((4 + len_1828X));
  13421. *((long *) addr_1829X) = (long) ((66 + (((len_1828X)<<8))));
  13422. obj_1830X = 3 + (((long) (addr_1829X + 4)));
  13423. arg0K0 = arg2_1427X;
  13424. arg0K1 = (-1 + n_1428X);
  13425. goto L48360;}
  13426. L48335: {
  13427. if ((25 == arg2_1427X)) {
  13428. goto L48383;}
  13429. else {push_exception_setupB(5, 1);
  13430. SstackS = ((SstackS) + -4);
  13431. *((long *) (SstackS)) = (long) (arg2_1427X);
  13432. SstackS = ((SstackS) + -4);
  13433. *((long *) (SstackS)) = (long) ((((n_1428X)<<2)));
  13434. arg0K0 = 2;
  13435. goto L29309;}}
  13436. L50325: {
  13437. list_1831X = arg0K0;
  13438. slow_1832X = arg0K1;
  13439. move_slowP_1833X = arg3K2;
  13440. if ((25 == list_1831X)) {
  13441. SvalS = 1;
  13442. Scode_pointerS = ((Scode_pointerS) + 1);
  13443. arg2K0 = (Scode_pointerS);
  13444. goto L31612;}
  13445. else {
  13446. if ((3 == (3 & list_1831X))) {
  13447. if ((0 == (31 & ((((*((long *) ((((char *) (-3 + list_1831X))) + -4))))>>2))))) {
  13448. head_1834X = *((long *) (((char *) (-3 + list_1831X))));
  13449. if ((3 == (3 & head_1834X))) {
  13450. if ((0 == (31 & ((((*((long *) ((((char *) (-3 + head_1834X))) + -4))))>>2))))) {
  13451. if (((*((long *) (((char *) (-3 + head_1834X))))) == arg2_1430X)) {
  13452. SvalS = head_1834X;
  13453. Scode_pointerS = ((Scode_pointerS) + 1);
  13454. arg2K0 = (Scode_pointerS);
  13455. goto L31612;}
  13456. else {
  13457. list_1835X = *((long *) ((((char *) (-3 + list_1831X))) + 4));
  13458. if ((list_1835X == slow_1832X)) {push_exception_setupB(5, 1);
  13459. SstackS = ((SstackS) + -4);
  13460. *((long *) (SstackS)) = (long) (arg2_1430X);
  13461. SstackS = ((SstackS) + -4);
  13462. *((long *) (SstackS)) = (long) (list_1431X);
  13463. arg0K0 = 2;
  13464. goto L29309;}
  13465. else {
  13466. if (move_slowP_1833X) {
  13467. arg0K0 = list_1835X;
  13468. arg0K1 = (*((long *) ((((char *) (-3 + slow_1832X))) + 4)));
  13469. arg3K2 = 0;
  13470. goto L50325;}
  13471. else {
  13472. arg0K0 = list_1835X;
  13473. arg0K1 = slow_1832X;
  13474. arg3K2 = 1;
  13475. goto L50325;}}}}
  13476. else {push_exception_setupB(5, 1);
  13477. SstackS = ((SstackS) + -4);
  13478. *((long *) (SstackS)) = (long) (arg2_1430X);
  13479. SstackS = ((SstackS) + -4);
  13480. *((long *) (SstackS)) = (long) (list_1431X);
  13481. arg0K0 = 2;
  13482. goto L29309;}}
  13483. else {push_exception_setupB(5, 1);
  13484. SstackS = ((SstackS) + -4);
  13485. *((long *) (SstackS)) = (long) (arg2_1430X);
  13486. SstackS = ((SstackS) + -4);
  13487. *((long *) (SstackS)) = (long) (list_1431X);
  13488. arg0K0 = 2;
  13489. goto L29309;}}
  13490. else {push_exception_setupB(5, 1);
  13491. SstackS = ((SstackS) + -4);
  13492. *((long *) (SstackS)) = (long) (arg2_1430X);
  13493. SstackS = ((SstackS) + -4);
  13494. *((long *) (SstackS)) = (long) (list_1431X);
  13495. arg0K0 = 2;
  13496. goto L29309;}}
  13497. else {push_exception_setupB(5, 1);
  13498. SstackS = ((SstackS) + -4);
  13499. *((long *) (SstackS)) = (long) (arg2_1430X);
  13500. SstackS = ((SstackS) + -4);
  13501. *((long *) (SstackS)) = (long) (list_1431X);
  13502. arg0K0 = 2;
  13503. goto L29309;}}}
  13504. L37454: {
  13505. push_exception_setupB(7, 2);
  13506. SstackS = ((SstackS) + -4);
  13507. *((long *) (SstackS)) = (long) (arg3_1433X);
  13508. SstackS = ((SstackS) + -4);
  13509. *((long *) (SstackS)) = (long) (arg2_1432X);
  13510. SstackS = ((SstackS) + -4);
  13511. *((long *) (SstackS)) = (long) ((((index_1434X)<<2)));
  13512. arg0K0 = 3;
  13513. goto L29309;}
  13514. L37444: {
  13515. arg0K0 = (*((long *) ((((char *) (-3 + arg3_1433X))) + (((index_1434X)<<2)))));
  13516. goto L37453;}
  13517. L37453: {
  13518. value_1836X = arg0K0;
  13519. SvalS = value_1836X;
  13520. Scode_pointerS = ((Scode_pointerS) + 2);
  13521. arg2K0 = (Scode_pointerS);
  13522. goto L31612;}
  13523. L37474: {
  13524. push_exception_setupB(5, 2);
  13525. SstackS = ((SstackS) + -4);
  13526. *((long *) (SstackS)) = (long) (arg3_1433X);
  13527. SstackS = ((SstackS) + -4);
  13528. *((long *) (SstackS)) = (long) (arg2_1432X);
  13529. SstackS = ((SstackS) + -4);
  13530. *((long *) (SstackS)) = (long) ((((index_1434X)<<2)));
  13531. arg0K0 = 3;
  13532. goto L29309;}
  13533. L37712: {
  13534. push_exception_setupB(7, 2);
  13535. SstackS = ((SstackS) + -4);
  13536. *((long *) (SstackS)) = (long) (arg4_1441X);
  13537. SstackS = ((SstackS) + -4);
  13538. *((long *) (SstackS)) = (long) (arg3_1440X);
  13539. SstackS = ((SstackS) + -4);
  13540. *((long *) (SstackS)) = (long) ((((index_1442X)<<2)));
  13541. SstackS = ((SstackS) + -4);
  13542. *((long *) (SstackS)) = (long) (value_1443X);
  13543. arg0K0 = 4;
  13544. goto L29309;}
  13545. L37702: {
  13546. addr_1837X = (((char *) (-3 + arg4_1441X))) + (((index_1442X)<<2));S48_WRITE_BARRIER(arg4_1441X, addr_1837X, value_1443X);
  13547. *((long *) addr_1837X) = (long) (value_1443X);
  13548. goto L37711;}
  13549. L37711: {
  13550. SvalS = 13;
  13551. Scode_pointerS = ((Scode_pointerS) + 2);
  13552. arg2K0 = (Scode_pointerS);
  13553. goto L31612;}
  13554. L37734: {
  13555. push_exception_setupB(5, 2);
  13556. SstackS = ((SstackS) + -4);
  13557. *((long *) (SstackS)) = (long) (arg4_1441X);
  13558. SstackS = ((SstackS) + -4);
  13559. *((long *) (SstackS)) = (long) (arg3_1440X);
  13560. SstackS = ((SstackS) + -4);
  13561. *((long *) (SstackS)) = (long) ((((index_1442X)<<2)));
  13562. SstackS = ((SstackS) + -4);
  13563. *((long *) (SstackS)) = (long) (value_1443X);
  13564. arg0K0 = 4;
  13565. goto L29309;}
  13566. L29928: {
  13567. push_exception_setupB(5, 1);
  13568. SstackS = ((SstackS) + -4);
  13569. *((long *) (SstackS)) = (long) ((((encoding_1451X)<<2)));
  13570. SstackS = ((SstackS) + -4);
  13571. *((long *) (SstackS)) = (long) ((9 + (((value_1452X)<<8))));
  13572. SstackS = ((SstackS) + -4);
  13573. *((long *) (SstackS)) = (long) (arg3_1448X);
  13574. SstackS = ((SstackS) + -4);
  13575. *((long *) (SstackS)) = (long) ((((start_1453X)<<2)));
  13576. SstackS = ((SstackS) + -4);
  13577. *((long *) (SstackS)) = (long) ((((count_1454X)<<2)));
  13578. arg0K0 = 5;
  13579. goto L29309;}
  13580. L29980: {
  13581. x_1838X = arg0K0;
  13582. SstackS = ((SstackS) + -4);
  13583. *((long *) (SstackS)) = (long) (x_1838X);
  13584. if (okP_1456X) {
  13585. arg0K0 = (((count_1458X)<<2));
  13586. goto L29990;}
  13587. else {
  13588. arg0K0 = 1;
  13589. goto L29990;}}
  13590. L30658: {
  13591. push_exception_setupB(5, 1);
  13592. SstackS = ((SstackS) + -4);
  13593. *((long *) (SstackS)) = (long) (arg5_1450X);
  13594. SstackS = ((SstackS) + -4);
  13595. *((long *) (SstackS)) = (long) (arg4_1449X);
  13596. SstackS = ((SstackS) + -4);
  13597. *((long *) (SstackS)) = (long) (arg3_1448X);
  13598. SstackS = ((SstackS) + -4);
  13599. *((long *) (SstackS)) = (long) (arg2_1447X);
  13600. x_1839X = SvalS;
  13601. SstackS = ((SstackS) + -4);
  13602. *((long *) (SstackS)) = (long) (x_1839X);
  13603. arg0K0 = 5;
  13604. goto L29309;}
  13605. L48538: {
  13606. push_exception_setupB(5, 1);
  13607. SstackS = ((SstackS) + -4);
  13608. *((long *) (SstackS)) = (long) ((((encoding_1463X)<<2)));
  13609. SstackS = ((SstackS) + -4);
  13610. *((long *) (SstackS)) = (long) ((9 + (((value_1464X)<<8))));
  13611. SstackS = ((SstackS) + -4);
  13612. *((long *) (SstackS)) = (long) (arg3_1460X);
  13613. SstackS = ((SstackS) + -4);
  13614. *((long *) (SstackS)) = (long) ((((start_1465X)<<2)));
  13615. SstackS = ((SstackS) + -4);
  13616. *((long *) (SstackS)) = (long) ((((count_1466X)<<2)));
  13617. arg0K0 = 5;
  13618. goto L29309;}
  13619. L55151: {
  13620. push_exception_setupB(5, 1);
  13621. SstackS = ((SstackS) + -4);
  13622. *((long *) (SstackS)) = (long) (arg5_1462X);
  13623. SstackS = ((SstackS) + -4);
  13624. *((long *) (SstackS)) = (long) (arg4_1461X);
  13625. SstackS = ((SstackS) + -4);
  13626. *((long *) (SstackS)) = (long) (arg3_1460X);
  13627. SstackS = ((SstackS) + -4);
  13628. *((long *) (SstackS)) = (long) (arg2_1459X);
  13629. x_1840X = SvalS;
  13630. SstackS = ((SstackS) + -4);
  13631. *((long *) (SstackS)) = (long) (x_1840X);
  13632. arg0K0 = 5;
  13633. goto L29309;}
  13634. L30213: {
  13635. push_exception_setupB(5, 1);
  13636. SstackS = ((SstackS) + -4);
  13637. *((long *) (SstackS)) = (long) ((((encoding_1474X)<<2)));
  13638. SstackS = ((SstackS) + -4);
  13639. *((long *) (SstackS)) = (long) (arg3_1472X);
  13640. SstackS = ((SstackS) + -4);
  13641. *((long *) (SstackS)) = (long) ((((start_1475X)<<2)));
  13642. SstackS = ((SstackS) + -4);
  13643. *((long *) (SstackS)) = (long) ((((count_1476X)<<2)));
  13644. arg0K0 = 4;
  13645. goto L29309;}
  13646. L30279: {
  13647. x_1841X = arg0K0;
  13648. SstackS = ((SstackS) + -4);
  13649. *((long *) (SstackS)) = (long) (x_1841X);
  13650. if (okP_1478X) {
  13651. arg0K0 = (((count_1481X)<<2));
  13652. goto L30289;}
  13653. else {
  13654. arg0K0 = 1;
  13655. goto L30289;}}
  13656. L30854: {
  13657. push_exception_setupB(5, 1);
  13658. SstackS = ((SstackS) + -4);
  13659. *((long *) (SstackS)) = (long) (arg4_1473X);
  13660. SstackS = ((SstackS) + -4);
  13661. *((long *) (SstackS)) = (long) (arg3_1472X);
  13662. SstackS = ((SstackS) + -4);
  13663. *((long *) (SstackS)) = (long) (arg2_1471X);
  13664. x_1842X = SvalS;
  13665. SstackS = ((SstackS) + -4);
  13666. *((long *) (SstackS)) = (long) (x_1842X);
  13667. arg0K0 = 4;
  13668. goto L29309;}
  13669. L48757: {
  13670. push_exception_setupB(5, 1);
  13671. SstackS = ((SstackS) + -4);
  13672. *((long *) (SstackS)) = (long) ((((encoding_1485X)<<2)));
  13673. SstackS = ((SstackS) + -4);
  13674. *((long *) (SstackS)) = (long) (arg3_1483X);
  13675. SstackS = ((SstackS) + -4);
  13676. *((long *) (SstackS)) = (long) ((((start_1486X)<<2)));
  13677. SstackS = ((SstackS) + -4);
  13678. *((long *) (SstackS)) = (long) ((((count_1487X)<<2)));
  13679. arg0K0 = 4;
  13680. goto L29309;}
  13681. L55347: {
  13682. push_exception_setupB(5, 1);
  13683. SstackS = ((SstackS) + -4);
  13684. *((long *) (SstackS)) = (long) (arg4_1484X);
  13685. SstackS = ((SstackS) + -4);
  13686. *((long *) (SstackS)) = (long) (arg3_1483X);
  13687. SstackS = ((SstackS) + -4);
  13688. *((long *) (SstackS)) = (long) (arg2_1482X);
  13689. x_1843X = SvalS;
  13690. SstackS = ((SstackS) + -4);
  13691. *((long *) (SstackS)) = (long) (x_1843X);
  13692. arg0K0 = 4;
  13693. goto L29309;}
  13694. L37991: {
  13695. port_1844X = arg0K0;
  13696. if ((3 == (3 & port_1844X))) {
  13697. if ((7 == (31 & ((((*((long *) ((((char *) (-3 + port_1844X))) + -4))))>>2))))) {
  13698. if ((0 == (4 & ((((*((long *) ((((char *) (-3 + port_1844X))) + 12))))>>2))))) {
  13699. goto L38048;}
  13700. else {
  13701. b_1845X = *((long *) ((((char *) (-3 + port_1844X))) + 24));
  13702. if ((1 == b_1845X)) {push_exception_setupB(13, 2);
  13703. SstackS = ((SstackS) + -4);
  13704. *((long *) (SstackS)) = (long) (port_1844X);
  13705. arg0K0 = 1;
  13706. goto L29309;}
  13707. else {
  13708. p_1846X = *((long *) ((((char *) (-3 + port_1844X))) + 28));
  13709. p_1847X = *((long *) ((((char *) (-3 + port_1844X))) + 32));
  13710. i_1848X = ((p_1846X)>>2);
  13711. if ((i_1848X == (((p_1847X)>>2)))) {push_exception_setupB(13, 2);
  13712. SstackS = ((SstackS) + -4);
  13713. *((long *) (SstackS)) = (long) (port_1844X);
  13714. arg0K0 = 1;
  13715. goto L29309;}
  13716. else {
  13717. val_1849X = 4 + (((i_1848X)<<2));
  13718. addr_1850X = (((char *) (-3 + port_1844X))) + 28;S48_WRITE_BARRIER(port_1844X, addr_1850X, val_1849X);
  13719. *((long *) addr_1850X) = (long) (val_1849X);
  13720. SvalS = ((((*((unsigned char *) ((((char *) (-3 + b_1845X))) + i_1848X))))<<2));
  13721. Scode_pointerS = ((Scode_pointerS) + 2);
  13722. arg2K0 = (Scode_pointerS);
  13723. goto L31612;}}}}
  13724. else {
  13725. goto L38048;}}
  13726. else {
  13727. goto L38048;}}
  13728. L38193: {
  13729. port_1851X = arg0K0;
  13730. if ((3 == (3 & port_1851X))) {
  13731. if ((7 == (31 & ((((*((long *) ((((char *) (-3 + port_1851X))) + -4))))>>2))))) {
  13732. if ((0 == (4 & ((((*((long *) ((((char *) (-3 + port_1851X))) + 12))))>>2))))) {
  13733. goto L38250;}
  13734. else {
  13735. b_1852X = *((long *) ((((char *) (-3 + port_1851X))) + 24));
  13736. if ((1 == b_1852X)) {push_exception_setupB(13, 2);
  13737. SstackS = ((SstackS) + -4);
  13738. *((long *) (SstackS)) = (long) (port_1851X);
  13739. arg0K0 = 1;
  13740. goto L29309;}
  13741. else {
  13742. p_1853X = *((long *) ((((char *) (-3 + port_1851X))) + 28));
  13743. p_1854X = *((long *) ((((char *) (-3 + port_1851X))) + 32));
  13744. i_1855X = ((p_1853X)>>2);
  13745. if ((i_1855X == (((p_1854X)>>2)))) {push_exception_setupB(13, 2);
  13746. SstackS = ((SstackS) + -4);
  13747. *((long *) (SstackS)) = (long) (port_1851X);
  13748. arg0K0 = 1;
  13749. goto L29309;}
  13750. else {
  13751. SvalS = ((((*((unsigned char *) ((((char *) (-3 + b_1852X))) + i_1855X))))<<2));
  13752. Scode_pointerS = ((Scode_pointerS) + 2);
  13753. arg2K0 = (Scode_pointerS);
  13754. goto L31612;}}}}
  13755. else {
  13756. goto L38250;}}
  13757. else {
  13758. goto L38250;}}
  13759. L38388: {
  13760. byte_1856X = arg0K0;
  13761. port_1857X = arg0K1;
  13762. if ((0 == (3 & byte_1856X))) {
  13763. if ((3 == (3 & port_1857X))) {
  13764. if ((7 == (31 & ((((*((long *) ((((char *) (-3 + port_1857X))) + -4))))>>2))))) {
  13765. if ((0 == (8 & ((((*((long *) ((((char *) (-3 + port_1857X))) + 12))))>>2))))) {
  13766. goto L38465;}
  13767. else {
  13768. if ((1 == (*((long *) ((((char *) (-3 + port_1857X))) + 32))))) {push_exception_setupB(13, 2);
  13769. SstackS = ((SstackS) + -4);
  13770. *((long *) (SstackS)) = (long) (byte_1856X);
  13771. SstackS = ((SstackS) + -4);
  13772. *((long *) (SstackS)) = (long) (port_1857X);
  13773. arg0K0 = 2;
  13774. goto L29309;}
  13775. else {
  13776. p_1858X = *((long *) ((((char *) (-3 + port_1857X))) + 28));
  13777. b_1859X = *((long *) ((((char *) (-3 + port_1857X))) + 24));
  13778. i_1860X = ((p_1858X)>>2);
  13779. if ((i_1860X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + b_1859X))) + -4))))>>8)))) {push_exception_setupB(13, 2);
  13780. SstackS = ((SstackS) + -4);
  13781. *((long *) (SstackS)) = (long) (byte_1856X);
  13782. SstackS = ((SstackS) + -4);
  13783. *((long *) (SstackS)) = (long) (port_1857X);
  13784. arg0K0 = 2;
  13785. goto L29309;}
  13786. else {
  13787. val_1861X = 4 + (((i_1860X)<<2));
  13788. addr_1862X = (((char *) (-3 + port_1857X))) + 28;S48_WRITE_BARRIER(port_1857X, addr_1862X, val_1861X);
  13789. *((long *) addr_1862X) = (long) (val_1861X);
  13790. *((unsigned char *) ((((char *) (-3 + b_1859X))) + i_1860X)) = (unsigned char) ((((byte_1856X)>>2)));
  13791. SvalS = 13;
  13792. Scode_pointerS = ((Scode_pointerS) + 2);
  13793. arg2K0 = (Scode_pointerS);
  13794. goto L31612;}}}}
  13795. else {
  13796. goto L38465;}}
  13797. else {
  13798. goto L38465;}}
  13799. else {
  13800. goto L38465;}}
  13801. L38657: {
  13802. port_1863X = arg0K0;
  13803. if ((3 == (3 & port_1863X))) {
  13804. if ((7 == (31 & ((((*((long *) ((((char *) (-3 + port_1863X))) + -4))))>>2))))) {
  13805. if ((0 == (4 & ((((*((long *) ((((char *) (-3 + port_1863X))) + 12))))>>2))))) {
  13806. goto L38830;}
  13807. else {
  13808. b_1864X = *((long *) ((((char *) (-3 + port_1863X))) + 24));
  13809. if ((1 == b_1864X)) {push_exception_setupB(13, 2);
  13810. SstackS = ((SstackS) + -4);
  13811. *((long *) (SstackS)) = (long) (port_1863X);
  13812. arg0K0 = 1;
  13813. goto L29309;}
  13814. else {
  13815. arg0K0 = ((((*((long *) ((((char *) (-3 + port_1863X))) + 28))))>>2));
  13816. goto L38686;}}}
  13817. else {
  13818. goto L38830;}}
  13819. else {
  13820. goto L38830;}}
  13821. L39248: {
  13822. port_1865X = arg0K0;
  13823. if ((3 == (3 & port_1865X))) {
  13824. if ((7 == (31 & ((((*((long *) ((((char *) (-3 + port_1865X))) + -4))))>>2))))) {
  13825. if ((0 == (4 & ((((*((long *) ((((char *) (-3 + port_1865X))) + 12))))>>2))))) {
  13826. goto L39421;}
  13827. else {
  13828. b_1866X = *((long *) ((((char *) (-3 + port_1865X))) + 24));
  13829. if ((1 == b_1866X)) {push_exception_setupB(13, 2);
  13830. SstackS = ((SstackS) + -4);
  13831. *((long *) (SstackS)) = (long) (port_1865X);
  13832. arg0K0 = 1;
  13833. goto L29309;}
  13834. else {
  13835. arg0K0 = ((((*((long *) ((((char *) (-3 + port_1865X))) + 28))))>>2));
  13836. goto L39277;}}}
  13837. else {
  13838. goto L39421;}}
  13839. else {
  13840. goto L39421;}}
  13841. L39759: {
  13842. Kchar_1867X = arg0K0;
  13843. port_1868X = arg0K1;
  13844. if ((9 == (255 & Kchar_1867X))) {
  13845. if ((3 == (3 & port_1868X))) {
  13846. if ((7 == (31 & ((((*((long *) ((((char *) (-3 + port_1868X))) + -4))))>>2))))) {
  13847. if ((0 == (8 & ((((*((long *) ((((char *) (-3 + port_1868X))) + 12))))>>2))))) {
  13848. goto L39978;}
  13849. else {
  13850. if ((1 == (*((long *) ((((char *) (-3 + port_1868X))) + 32))))) {push_exception_setupB(13, 2);
  13851. SstackS = ((SstackS) + -4);
  13852. *((long *) (SstackS)) = (long) (Kchar_1867X);
  13853. SstackS = ((SstackS) + -4);
  13854. *((long *) (SstackS)) = (long) (port_1868X);
  13855. arg0K0 = 2;
  13856. goto L29309;}
  13857. else {
  13858. codec_1869X = *((long *) ((((char *) (-3 + port_1868X))) + 4));
  13859. if ((0 == (3 & codec_1869X))) {
  13860. b_1870X = *((long *) ((((char *) (-3 + port_1868X))) + 24));
  13861. i_1871X = (((*((long *) ((((char *) (-3 + port_1868X))) + 28))))>>2);
  13862. l_1872X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + b_1870X))) + -4))))>>8);
  13863. if ((i_1871X == l_1872X)) {push_exception_setupB(13, 2);
  13864. SstackS = ((SstackS) + -4);
  13865. *((long *) (SstackS)) = (long) (Kchar_1867X);
  13866. SstackS = ((SstackS) + -4);
  13867. *((long *) (SstackS)) = (long) (port_1868X);
  13868. arg0K0 = 2;
  13869. goto L29309;}
  13870. else {
  13871. x_1873X = *((long *) ((((char *) (-3 + port_1868X))) + 8));
  13872. if ((1 == x_1873X)) {
  13873. goto L39924;}
  13874. else {
  13875. if ((10 == (((Kchar_1867X)>>8)))) {
  13876. codec_okP_1874X = encode_scalar_value((((codec_1869X)>>2)), 13, ((((char *) (-3 + b_1870X))) + i_1871X), (l_1872X - i_1871X), &encoding_okP_1875X, &out_of_spaceP_1876X, &count_1877X);
  13877. if (codec_okP_1874X) {
  13878. if (encoding_okP_1875X) {
  13879. if (out_of_spaceP_1876X) {push_exception_setupB(13, 2);
  13880. SstackS = ((SstackS) + -4);
  13881. *((long *) (SstackS)) = (long) (Kchar_1867X);
  13882. SstackS = ((SstackS) + -4);
  13883. *((long *) (SstackS)) = (long) (port_1868X);
  13884. arg0K0 = 2;
  13885. goto L29309;}
  13886. else {
  13887. i_1878X = i_1871X + count_1877X;
  13888. if ((i_1878X == l_1872X)) {push_exception_setupB(13, 2);
  13889. SstackS = ((SstackS) + -4);
  13890. *((long *) (SstackS)) = (long) (Kchar_1867X);
  13891. SstackS = ((SstackS) + -4);
  13892. *((long *) (SstackS)) = (long) (port_1868X);
  13893. arg0K0 = 2;
  13894. goto L29309;}
  13895. else {encode_scalar_value((((codec_1869X)>>2)), 10, ((((char *) (-3 + b_1870X))) + i_1878X), (l_1872X - i_1878X), &encoding_okP_1879X, &out_of_spaceP_1880X, &count_1881X);
  13896. if (encoding_okP_1879X) {
  13897. if (out_of_spaceP_1880X) {push_exception_setupB(13, 2);
  13898. SstackS = ((SstackS) + -4);
  13899. *((long *) (SstackS)) = (long) (Kchar_1867X);
  13900. SstackS = ((SstackS) + -4);
  13901. *((long *) (SstackS)) = (long) (port_1868X);
  13902. arg0K0 = 2;
  13903. goto L29309;}
  13904. else {
  13905. val_1882X = (((i_1878X + count_1881X))<<2);
  13906. addr_1883X = (((char *) (-3 + port_1868X))) + 28;S48_WRITE_BARRIER(port_1868X, addr_1883X, val_1882X);
  13907. *((long *) addr_1883X) = (long) (val_1882X);
  13908. SvalS = 13;
  13909. Scode_pointerS = ((Scode_pointerS) + 2);
  13910. arg2K0 = (Scode_pointerS);
  13911. goto L31612;}}
  13912. else {push_exception_setupB(13, 2);
  13913. SstackS = ((SstackS) + -4);
  13914. *((long *) (SstackS)) = (long) (Kchar_1867X);
  13915. SstackS = ((SstackS) + -4);
  13916. *((long *) (SstackS)) = (long) (port_1868X);
  13917. arg0K0 = 2;
  13918. goto L29309;}}}}
  13919. else {push_exception_setupB(13, 2);
  13920. SstackS = ((SstackS) + -4);
  13921. *((long *) (SstackS)) = (long) (Kchar_1867X);
  13922. SstackS = ((SstackS) + -4);
  13923. *((long *) (SstackS)) = (long) (port_1868X);
  13924. arg0K0 = 2;
  13925. goto L29309;}}
  13926. else {push_exception_setupB(5, 2);
  13927. SstackS = ((SstackS) + -4);
  13928. *((long *) (SstackS)) = (long) (Kchar_1867X);
  13929. SstackS = ((SstackS) + -4);
  13930. *((long *) (SstackS)) = (long) (port_1868X);
  13931. arg0K0 = 2;
  13932. goto L29309;}}
  13933. else {
  13934. goto L39924;}}}}
  13935. else {push_exception_setupB(13, 2);
  13936. SstackS = ((SstackS) + -4);
  13937. *((long *) (SstackS)) = (long) (Kchar_1867X);
  13938. SstackS = ((SstackS) + -4);
  13939. *((long *) (SstackS)) = (long) (port_1868X);
  13940. arg0K0 = 2;
  13941. goto L29309;}}}}
  13942. else {
  13943. goto L39978;}}
  13944. else {
  13945. goto L39978;}}
  13946. else {
  13947. goto L39978;}}
  13948. L50578: {
  13949. stuff_1884X = arg0K0;
  13950. if ((3 == (3 & stuff_1884X))) {
  13951. if ((0 == (31 & ((((*((long *) ((((char *) (-3 + stuff_1884X))) + -4))))>>2))))) {
  13952. thing_1885X = *((long *) (((char *) (-3 + stuff_1884X))));
  13953. if ((0 == (3 & thing_1885X))) {
  13954. ps_write_integer((((thing_1885X)>>2)), out_1510X);
  13955. goto L50584;}
  13956. else {
  13957. if ((9 == (255 & thing_1885X))) {
  13958. ps_write_string("#\\", out_1510X);
  13959. { long ignoreXX;
  13960. PS_WRITE_CHAR((((char) (((thing_1885X)>>8)))), out_1510X, ignoreXX) }
  13961. goto L50584;}
  13962. else {
  13963. if ((3 == (3 & thing_1885X))) {
  13964. if ((9 == (31 & ((((*((long *) ((((char *) (-3 + thing_1885X))) + -4))))>>2))))) {
  13965. if ((0 < ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + thing_1885X))) + -4))))>>8))))>>2)))) {
  13966. type_1886X = *((long *) (((char *) (-3 + thing_1885X))));
  13967. if ((3 == (3 & type_1886X))) {
  13968. if ((9 == (31 & ((((*((long *) ((((char *) (-3 + type_1886X))) + -4))))>>2))))) {
  13969. if ((2 < ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + type_1886X))) + -4))))>>8))))>>2)))) {
  13970. obj_1887X = *((long *) ((((char *) (-3 + type_1886X))) + 8));
  13971. if ((3 == (3 & obj_1887X))) {
  13972. if ((1 == (31 & ((((*((long *) ((((char *) (-3 + obj_1887X))) + -4))))>>2))))) {
  13973. ps_write_string("#{", out_1510X);write_vm_string((*((long *) (((char *) (-3 + (*((long *) ((((char *) (-3 + (*((long *) (((char *) (-3 + thing_1885X)))))))) + 8)))))))), out_1510X);
  13974. { long ignoreXX;
  13975. PS_WRITE_CHAR(125, out_1510X, ignoreXX) }
  13976. goto L50584;}
  13977. else {
  13978. goto L22822;}}
  13979. else {
  13980. goto L22822;}}
  13981. else {
  13982. goto L22822;}}
  13983. else {
  13984. goto L22822;}}
  13985. else {
  13986. goto L22822;}}
  13987. else {
  13988. goto L22822;}}
  13989. else {
  13990. goto L22822;}}
  13991. else {
  13992. goto L22822;}}}}
  13993. else {
  13994. goto L50569;}}
  13995. else {
  13996. goto L50569;}}
  13997. L28341: {
  13998. arg_count_1888X = arg0K0;
  13999. if ((3 == (3 & handlers_1513X))) {
  14000. if ((2 == (31 & ((((*((long *) ((((char *) (-3 + handlers_1513X))) + -4))))>>2))))) {
  14001. goto L28355;}
  14002. else {
  14003. goto L28397;}}
  14004. else {
  14005. goto L28397;}}
  14006. L15148: {
  14007. channel_1889X = arg0K0;
  14008. x_1890X = 1 == (Spending_channels_headS);
  14009. if (x_1890X) {
  14010. goto L15162;}
  14011. else {
  14012. Spending_interruptsS = (8 | (Spending_interruptsS));
  14013. if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
  14014. s48_Sstack_limitS = (Sreal_stack_limitS);
  14015. if ((s48_Spending_eventsPS)) {
  14016. s48_Sstack_limitS = (((char *) -1));
  14017. goto L15162;}
  14018. else {
  14019. goto L15162;}}
  14020. else {
  14021. s48_Sstack_limitS = (((char *) -1));
  14022. goto L15162;}}}
  14023. L15332: {
  14024. sig_1891X = *(Sos_signal_ringS + (Sos_signal_ring_startS));
  14025. if ((31 == (Sos_signal_ring_startS))) {
  14026. arg0K0 = 0;
  14027. goto L15336;}
  14028. else {
  14029. arg0K0 = (1 + (Sos_signal_ring_startS));
  14030. goto L15336;}}
  14031. L11341: {
  14032. count_1892X = arg0K0;
  14033. i_1893X = arg0K1;
  14034. offset_1894X = arg0K2;
  14035. if ((0 == count_1892X)) {
  14036. if ((i_1893X < total_count_1549X)) {
  14037. arg0K0 = i_1893X;
  14038. arg0K1 = offset_1894X;
  14039. goto L9480;}
  14040. else {
  14041. arg0K0 = offset_1894X;
  14042. goto L63865;}}
  14043. else {
  14044. value_1895X = *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1894X)))))<<2))));
  14045. addr_1896X = (((char *) (-3 + new_env_1546X))) + (((i_1893X)<<2));S48_WRITE_BARRIER(new_env_1546X, addr_1896X, value_1895X);
  14046. *((long *) addr_1896X) = (long) (value_1895X);
  14047. arg0K0 = (-1 + count_1892X);
  14048. arg0K1 = (1 + i_1893X);
  14049. arg0K2 = (1 + offset_1894X);
  14050. goto L11341;}}
  14051. L14091: {
  14052. count_1897X = arg0K0;
  14053. i_1898X = arg0K1;
  14054. offset_1899X = arg0K2;
  14055. if ((0 == count_1897X)) {
  14056. if ((i_1898X < total_count_1558X)) {
  14057. arg0K0 = i_1898X;
  14058. arg0K1 = offset_1899X;
  14059. goto L10545;}
  14060. else {
  14061. arg0K0 = offset_1899X;
  14062. goto L63856;}}
  14063. else {
  14064. value_1900X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_1899X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + offset_1899X))))))<<2))));
  14065. addr_1901X = (((char *) (-3 + new_env_1555X))) + (((i_1898X)<<2));S48_WRITE_BARRIER(new_env_1555X, addr_1901X, value_1900X);
  14066. *((long *) addr_1901X) = (long) (value_1900X);
  14067. arg0K0 = (-1 + count_1897X);
  14068. arg0K1 = (1 + i_1898X);
  14069. arg0K2 = (2 + offset_1899X);
  14070. goto L14091;}}
  14071. L58775: {
  14072. pending_interruptP_return_tag = 5;
  14073. goto pending_interruptP;
  14074. pending_interruptP_return_5:
  14075. v_1902X = pending_interruptP0_return_value;
  14076. if (v_1902X) {
  14077. arg0K0 = 2;
  14078. goto L28597;}
  14079. else {
  14080. goto L58782;}}
  14081. L58782: {
  14082. v_1903X = s48_call_native_procedure((SvalS), 2);
  14083. arg0K0 = v_1903X;
  14084. goto L58572;}
  14085. L58917: {
  14086. pop_continuationB_return_tag = 4;
  14087. goto pop_continuationB;
  14088. pop_continuationB_return_4:
  14089. Scode_pointerS = ((Scode_pointerS) + 2);
  14090. arg2K0 = (Scode_pointerS);
  14091. goto L31612;}
  14092. L58702: {
  14093. protocol_skip_1904X = arg0K0;
  14094. SstackS = (ScontS);
  14095. cont_1905X = ScontS;
  14096. pointer_1906X = (((char *) (*((long *) cont_1905X)))) + -2;
  14097. size_1907X = ((((*((unsigned char *) pointer_1906X)))<<8)) + (*((unsigned char *) (pointer_1906X + 1)));
  14098. if ((65535 == size_1907X)) {
  14099. arg0K0 = ((((*((long *) (cont_1905X + 4))))>>2));
  14100. goto L58713;}
  14101. else {
  14102. arg0K0 = size_1907X;
  14103. goto L58713;}}
  14104. L29655: {
  14105. cont_1908X = arg0K0;
  14106. if ((1 == cont_1908X)) {
  14107. if ((0 == (3 & (SvalS)))) {
  14108. s48_Scallback_return_stack_blockS = 1;
  14109. arg0K0 = ((((SvalS))>>2));
  14110. goto L63848;}
  14111. else {
  14112. goto L29670;}}
  14113. else {
  14114. goto L29670;}}
  14115. L59061: {
  14116. v_1909X = arg0K0;
  14117. ScontS = (cont_1604X + (4 + (((v_1909X)<<2))));
  14118. merged_arg0K0 = 0;
  14119. move_args_above_contB_return_tag = 7;
  14120. goto move_args_above_contB;
  14121. move_args_above_contB_return_7:
  14122. goto L58966;}
  14123. L58966: {
  14124. x_1910X = SvalS;
  14125. SstackS = ((SstackS) + -4);
  14126. *((long *) (SstackS)) = (long) (x_1910X);
  14127. SvalS = proc_1603X;
  14128. arg0K0 = 1;
  14129. arg0K1 = 25;
  14130. arg0K2 = 0;
  14131. goto L58313;}
  14132. L28826: {
  14133. v_1911X = arg0K0;
  14134. SvalS = v_1911X;
  14135. pop_continuationB_return_tag = 5;
  14136. goto pop_continuationB;
  14137. pop_continuationB_return_5:
  14138. arg0K0 = 1;
  14139. goto L32036;}
  14140. L29738: {
  14141. stack_nargs_1912X = arg0K0;
  14142. list_args_1913X = arg0K1;
  14143. merged_arg0K0 = list_args_1913X;
  14144. merged_arg0K1 = stack_nargs_1912X;
  14145. pop_args_GlistSAgc_return_tag = 9;
  14146. goto pop_args_GlistSAgc;
  14147. pop_args_GlistSAgc_return_9:
  14148. args_1914X = pop_args_GlistSAgc0_return_value;push_exception_setupB(4, 0);
  14149. SstackS = ((SstackS) + -4);
  14150. *((long *) (SstackS)) = (long) (1);
  14151. SstackS = ((SstackS) + -4);
  14152. *((long *) (SstackS)) = (long) (args_1914X);
  14153. arg0K0 = 2;
  14154. goto L29309;}
  14155. L32036: {
  14156. bytes_used_1915X = arg0K0;
  14157. Scode_pointerS = ((Scode_pointerS) + (1 + bytes_used_1915X));
  14158. arg2K0 = (Scode_pointerS);
  14159. goto L31612;}
  14160. L59246: {
  14161. v_1916X = arg0K0;
  14162. SvalS = v_1916X;
  14163. arg0K0 = 2;
  14164. goto L58702;}
  14165. L28772: {
  14166. if ((1 == (stack_nargs_1616X + list_arg_count_1618X))) {
  14167. if ((1 == stack_nargs_1616X)) {
  14168. v_1917X = *((long *) (SstackS));
  14169. SstackS = ((SstackS) + 4);
  14170. arg0K0 = v_1917X;
  14171. goto L28850;}
  14172. else {
  14173. arg0K0 = (*((long *) (((char *) (-3 + list_args_1617X)))));
  14174. goto L28850;}}
  14175. else {
  14176. arg0K0 = stack_nargs_1616X;
  14177. arg0K1 = list_args_1617X;
  14178. goto L29738;}}
  14179. L28889: {
  14180. v_1918X = arg0K0;
  14181. ScontS = (cont_1627X + (4 + (((v_1918X)<<2))));
  14182. merged_arg0K0 = stack_nargs_1616X;
  14183. move_args_above_contB_return_tag = 8;
  14184. goto move_args_above_contB;
  14185. move_args_above_contB_return_8:
  14186. arg0K0 = stack_nargs_1616X;
  14187. arg0K1 = list_args_1617X;
  14188. arg0K2 = list_arg_count_1618X;
  14189. goto L58313;}
  14190. L33086: {
  14191. loc_1919X = arg2K0;
  14192. arg_1920X = arg2K1;
  14193. if ((arg_1920X < arg_top_1632X)) {
  14194. SstackS = ((SstackS) + (0 - (((stack_nargs_1616X)<<2))));
  14195. if ((count_1630X < stack_nargs_1616X)) {
  14196. merged_arg0K0 = list_args_1617X;
  14197. merged_arg0K1 = (stack_nargs_1616X - count_1630X);
  14198. pop_args_GlistSAgc_return_tag = 10;
  14199. goto pop_args_GlistSAgc;
  14200. pop_args_GlistSAgc_return_10:
  14201. v_1921X = pop_args_GlistSAgc0_return_value;
  14202. arg0K0 = v_1921X;
  14203. goto L33065;}
  14204. else {
  14205. arg0K0 = stack_nargs_1616X;
  14206. arg0K1 = list_args_1617X;
  14207. goto L33047;}}
  14208. else {
  14209. *((long *) loc_1919X) = (long) ((*((long *) arg_1920X)));
  14210. arg2K0 = (loc_1919X + -4);
  14211. arg2K1 = (arg_1920X + -4);
  14212. goto L33086;}}
  14213. L32938: {
  14214. count_1922X = arg0K0;
  14215. bytes_used_1923X = arg0K1;
  14216. stack_nargs_1924X = arg0K2;
  14217. list_args_1925X = arg0K3;
  14218. list_arg_count_1926X = arg0K4;
  14219. if ((count_1922X == (stack_nargs_1924X + list_arg_count_1926X))) {
  14220. arg_top_1927X = SstackS;
  14221. pop_continuationB_return_tag = 6;
  14222. goto pop_continuationB;
  14223. pop_continuationB_return_6:
  14224. arg2K0 = ((SstackS) + -4);
  14225. arg2K1 = (arg_top_1927X + (-4 + (((stack_nargs_1924X)<<2))));
  14226. goto L32970;}
  14227. else {
  14228. merged_arg0K0 = list_args_1925X;
  14229. merged_arg0K1 = stack_nargs_1924X;
  14230. pop_args_GlistSAgc_return_tag = 11;
  14231. goto pop_args_GlistSAgc;
  14232. pop_args_GlistSAgc_return_11:
  14233. args_1928X = pop_args_GlistSAgc0_return_value;push_exception_setupB(4, 0);
  14234. SstackS = ((SstackS) + -4);
  14235. *((long *) (SstackS)) = (long) (1);
  14236. SstackS = ((SstackS) + -4);
  14237. *((long *) (SstackS)) = (long) (args_1928X);
  14238. arg0K0 = 2;
  14239. goto L29309;}}
  14240. L33252: {
  14241. push_exception_setupB(5, 8);
  14242. SstackS = ((SstackS) + -4);
  14243. *((long *) (SstackS)) = (long) (template_1054X);
  14244. arg0K0 = 1;
  14245. goto L29309;}
  14246. L18524: {
  14247. if ((3 == (3 & x_1075X))) {
  14248. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + x_1075X))) + -4))))>>2))))) {
  14249. arg0K0 = 5;
  14250. goto L60289;}
  14251. else {
  14252. goto L18530;}}
  14253. else {
  14254. goto L18530;}}
  14255. L49809: {
  14256. push_exception_setupB(5, 1);
  14257. SstackS = ((SstackS) + -4);
  14258. *((long *) (SstackS)) = (long) (n_1076X);
  14259. arg0K0 = 1;
  14260. goto L29309;}
  14261. L49804: {
  14262. if ((3 == (3 & n_1076X))) {
  14263. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + n_1076X))) + -4))))>>2))))) {
  14264. goto L49809;}
  14265. else {
  14266. goto L49810;}}
  14267. else {
  14268. goto L49810;}}
  14269. L49962: {
  14270. SvalS = 5;
  14271. Scode_pointerS = ((Scode_pointerS) + 1);
  14272. arg2K0 = (Scode_pointerS);
  14273. goto L31612;}
  14274. L49945: {
  14275. if ((3 == (3 & n_1640X))) {
  14276. if ((8 == (31 & ((((*((long *) ((((char *) (-3 + n_1640X))) + -4))))>>2))))) {
  14277. goto L49962;}
  14278. else {
  14279. goto L49953;}}
  14280. else {
  14281. goto L49953;}}
  14282. L42487: {
  14283. val_1929X = integer_add(arg2_1080X, y_1081X);
  14284. SvalS = val_1929X;
  14285. Scode_pointerS = ((Scode_pointerS) + 1);
  14286. arg2K0 = (Scode_pointerS);
  14287. goto L31612;}
  14288. L42504: {
  14289. push_exception_setupB(5, 1);
  14290. SstackS = ((SstackS) + -4);
  14291. *((long *) (SstackS)) = (long) (arg2_1080X);
  14292. SstackS = ((SstackS) + -4);
  14293. *((long *) (SstackS)) = (long) (y_1081X);
  14294. arg0K0 = 2;
  14295. goto L29309;}
  14296. L11588: {
  14297. b_1930X = arg0K0;
  14298. lo_a_1931X = 65535 & a_1650X;
  14299. lo_b_1932X = 65535 & b_1930X;
  14300. hi_a_1933X = 65535 & (((a_1650X)>>16));
  14301. hi_b_1934X = 65535 & (((b_1930X)>>16));
  14302. lo_c_1935X = SMALL_MULTIPLY(lo_a_1931X, lo_b_1932X);
  14303. v_1936X = SMALL_MULTIPLY(lo_a_1931X, hi_b_1934X);
  14304. v_1937X = SMALL_MULTIPLY(lo_b_1932X, hi_a_1933X);
  14305. mid_c_1938X = v_1936X + v_1937X;
  14306. c_1939X = lo_c_1935X + (((mid_c_1938X)<<16));
  14307. if ((0 < hi_a_1933X)) {
  14308. if ((0 < hi_b_1934X)) {
  14309. val_1940X = integer_multiply(arg2_1083X, y_1084X);
  14310. SvalS = val_1940X;
  14311. Scode_pointerS = ((Scode_pointerS) + 1);
  14312. arg2K0 = (Scode_pointerS);
  14313. goto L31612;}
  14314. else {
  14315. goto L11630;}}
  14316. else {
  14317. goto L11630;}}
  14318. L51708: {
  14319. val_1941X = integer_multiply(arg2_1083X, y_1084X);
  14320. SvalS = val_1941X;
  14321. Scode_pointerS = ((Scode_pointerS) + 1);
  14322. arg2K0 = (Scode_pointerS);
  14323. goto L31612;}
  14324. L51725: {
  14325. push_exception_setupB(5, 1);
  14326. SstackS = ((SstackS) + -4);
  14327. *((long *) (SstackS)) = (long) (arg2_1083X);
  14328. SstackS = ((SstackS) + -4);
  14329. *((long *) (SstackS)) = (long) (y_1084X);
  14330. arg0K0 = 2;
  14331. goto L29309;}
  14332. L42776: {
  14333. val_1942X = integer_subtract(arg2_1087X, y_1088X);
  14334. SvalS = val_1942X;
  14335. Scode_pointerS = ((Scode_pointerS) + 1);
  14336. arg2K0 = (Scode_pointerS);
  14337. goto L31612;}
  14338. L42793: {
  14339. push_exception_setupB(5, 1);
  14340. SstackS = ((SstackS) + -4);
  14341. *((long *) (SstackS)) = (long) (arg2_1087X);
  14342. SstackS = ((SstackS) + -4);
  14343. *((long *) (SstackS)) = (long) (y_1088X);
  14344. arg0K0 = 2;
  14345. goto L29309;}
  14346. L11846: {
  14347. b_1943X = arg0K0;
  14348. c_1944X = a_1666X / b_1943X;
  14349. x_1945X = 0 == (a_1666X % b_1943X);
  14350. if (x_1945X) {
  14351. if ((a_1092X < 0)) {
  14352. if ((b_1093X < 0)) {s48_make_availableAgc(16);
  14353. if ((536870911 < c_1944X)) {
  14354. goto L62016;}
  14355. else {
  14356. if ((c_1944X < -536870912)) {
  14357. goto L62016;}
  14358. else {
  14359. arg0K0 = (((c_1944X)<<2));
  14360. goto L62011;}}}
  14361. else {
  14362. goto L11892;}}
  14363. else {
  14364. if ((b_1093X < 0)) {
  14365. goto L11892;}
  14366. else {s48_make_availableAgc(16);
  14367. if ((536870911 < c_1944X)) {
  14368. goto L62038;}
  14369. else {
  14370. if ((c_1944X < -536870912)) {
  14371. goto L62038;}
  14372. else {
  14373. arg0K0 = (((c_1944X)<<2));
  14374. goto L62033;}}}}}
  14375. else {push_exception_setupB(5, 1);
  14376. SstackS = ((SstackS) + -4);
  14377. *((long *) (SstackS)) = (long) (arg2_1090X);
  14378. SstackS = ((SstackS) + -4);
  14379. *((long *) (SstackS)) = (long) (y_1091X);
  14380. arg0K0 = 2;
  14381. goto L29309;}}
  14382. L51961: {
  14383. if ((0 == (3 & arg2_1090X))) {
  14384. arg0K0 = 1;
  14385. arg0K1 = 3;
  14386. goto L20162;}
  14387. else {
  14388. arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_1090X))) + -4))))>>8))))>>2)));
  14389. arg0K1 = 0;
  14390. goto L20162;}}
  14391. L52006: {
  14392. push_exception_setupB(5, 1);
  14393. SstackS = ((SstackS) + -4);
  14394. *((long *) (SstackS)) = (long) (arg2_1090X);
  14395. SstackS = ((SstackS) + -4);
  14396. *((long *) (SstackS)) = (long) (y_1091X);
  14397. arg0K0 = 2;
  14398. goto L29309;}
  14399. L43061: {
  14400. b_1946X = integerE(arg2_1094X, y_1095X);
  14401. if (b_1946X) {
  14402. arg0K0 = 5;
  14403. goto L43065;}
  14404. else {
  14405. arg0K0 = 1;
  14406. goto L43065;}}
  14407. L43081: {
  14408. val_1947X = arg0K0;
  14409. SvalS = val_1947X;
  14410. Scode_pointerS = ((Scode_pointerS) + 1);
  14411. arg2K0 = (Scode_pointerS);
  14412. goto L31612;}
  14413. L43082: {
  14414. push_exception_setupB(5, 1);
  14415. SstackS = ((SstackS) + -4);
  14416. *((long *) (SstackS)) = (long) (arg2_1094X);
  14417. SstackS = ((SstackS) + -4);
  14418. *((long *) (SstackS)) = (long) (y_1095X);
  14419. arg0K0 = 2;
  14420. goto L29309;}
  14421. L43321: {
  14422. if ((0 == (3 & arg2_1096X))) {
  14423. if ((0 == (3 & y_1097X))) {
  14424. if ((arg2_1096X < y_1097X)) {
  14425. arg0K0 = 5;
  14426. goto L43325;}
  14427. else {
  14428. arg0K0 = 1;
  14429. goto L43325;}}
  14430. else {
  14431. v_1948X = s48_bignum_test((((char *) (-3 + y_1097X))));
  14432. if ((1 == v_1948X)) {
  14433. arg0K0 = 5;
  14434. goto L43325;}
  14435. else {
  14436. arg0K0 = 1;
  14437. goto L43325;}}}
  14438. else {
  14439. if ((0 == (3 & y_1097X))) {
  14440. v_1949X = s48_bignum_test((((char *) (-3 + arg2_1096X))));
  14441. if ((1 == v_1949X)) {
  14442. arg0K0 = 1;
  14443. goto L43325;}
  14444. else {
  14445. arg0K0 = 5;
  14446. goto L43325;}}
  14447. else {
  14448. v_1950X = s48_bignum_compare((((char *) (-3 + arg2_1096X))), (((char *) (-3 + y_1097X))));
  14449. if ((-1 == v_1950X)) {
  14450. arg0K0 = 5;
  14451. goto L43325;}
  14452. else {
  14453. arg0K0 = 1;
  14454. goto L43325;}}}}
  14455. L43341: {
  14456. val_1951X = arg0K0;
  14457. SvalS = val_1951X;
  14458. Scode_pointerS = ((Scode_pointerS) + 1);
  14459. arg2K0 = (Scode_pointerS);
  14460. goto L31612;}
  14461. L43342: {
  14462. push_exception_setupB(5, 1);
  14463. SstackS = ((SstackS) + -4);
  14464. *((long *) (SstackS)) = (long) (arg2_1096X);
  14465. SstackS = ((SstackS) + -4);
  14466. *((long *) (SstackS)) = (long) (y_1097X);
  14467. arg0K0 = 2;
  14468. goto L29309;}
  14469. L43644: {
  14470. if ((0 == (3 & y_1099X))) {
  14471. if ((0 == (3 & arg2_1098X))) {
  14472. if ((y_1099X < arg2_1098X)) {
  14473. arg0K0 = 5;
  14474. goto L43648;}
  14475. else {
  14476. arg0K0 = 1;
  14477. goto L43648;}}
  14478. else {
  14479. v_1952X = s48_bignum_test((((char *) (-3 + arg2_1098X))));
  14480. if ((1 == v_1952X)) {
  14481. arg0K0 = 5;
  14482. goto L43648;}
  14483. else {
  14484. arg0K0 = 1;
  14485. goto L43648;}}}
  14486. else {
  14487. if ((0 == (3 & arg2_1098X))) {
  14488. v_1953X = s48_bignum_test((((char *) (-3 + y_1099X))));
  14489. if ((1 == v_1953X)) {
  14490. arg0K0 = 1;
  14491. goto L43648;}
  14492. else {
  14493. arg0K0 = 5;
  14494. goto L43648;}}
  14495. else {
  14496. v_1954X = s48_bignum_compare((((char *) (-3 + y_1099X))), (((char *) (-3 + arg2_1098X))));
  14497. if ((-1 == v_1954X)) {
  14498. arg0K0 = 5;
  14499. goto L43648;}
  14500. else {
  14501. arg0K0 = 1;
  14502. goto L43648;}}}}
  14503. L43664: {
  14504. val_1955X = arg0K0;
  14505. SvalS = val_1955X;
  14506. Scode_pointerS = ((Scode_pointerS) + 1);
  14507. arg2K0 = (Scode_pointerS);
  14508. goto L31612;}
  14509. L43665: {
  14510. push_exception_setupB(5, 1);
  14511. SstackS = ((SstackS) + -4);
  14512. *((long *) (SstackS)) = (long) (arg2_1098X);
  14513. SstackS = ((SstackS) + -4);
  14514. *((long *) (SstackS)) = (long) (y_1099X);
  14515. arg0K0 = 2;
  14516. goto L29309;}
  14517. L43967: {
  14518. b_1956X = integerLE(arg2_1100X, y_1101X);
  14519. if (b_1956X) {
  14520. arg0K0 = 5;
  14521. goto L43971;}
  14522. else {
  14523. arg0K0 = 1;
  14524. goto L43971;}}
  14525. L43987: {
  14526. val_1957X = arg0K0;
  14527. SvalS = val_1957X;
  14528. Scode_pointerS = ((Scode_pointerS) + 1);
  14529. arg2K0 = (Scode_pointerS);
  14530. goto L31612;}
  14531. L43988: {
  14532. push_exception_setupB(5, 1);
  14533. SstackS = ((SstackS) + -4);
  14534. *((long *) (SstackS)) = (long) (arg2_1100X);
  14535. SstackS = ((SstackS) + -4);
  14536. *((long *) (SstackS)) = (long) (y_1101X);
  14537. arg0K0 = 2;
  14538. goto L29309;}
  14539. L44261: {
  14540. b_1958X = integerGE(arg2_1102X, y_1103X);
  14541. if (b_1958X) {
  14542. arg0K0 = 5;
  14543. goto L44265;}
  14544. else {
  14545. arg0K0 = 1;
  14546. goto L44265;}}
  14547. L44281: {
  14548. val_1959X = arg0K0;
  14549. SvalS = val_1959X;
  14550. Scode_pointerS = ((Scode_pointerS) + 1);
  14551. arg2K0 = (Scode_pointerS);
  14552. goto L31612;}
  14553. L44282: {
  14554. push_exception_setupB(5, 1);
  14555. SstackS = ((SstackS) + -4);
  14556. *((long *) (SstackS)) = (long) (arg2_1102X);
  14557. SstackS = ((SstackS) + -4);
  14558. *((long *) (SstackS)) = (long) (y_1103X);
  14559. arg0K0 = 2;
  14560. goto L29309;}
  14561. L12460: {
  14562. b_1960X = arg0K0;
  14563. c_1961X = a_1681X / b_1960X;
  14564. if ((a_1107X < 0)) {
  14565. if ((b_1108X < 0)) {
  14566. goto L12506;}
  14567. else {
  14568. goto L12505;}}
  14569. else {
  14570. if ((b_1108X < 0)) {
  14571. goto L12505;}
  14572. else {
  14573. goto L12506;}}}
  14574. L44561: {
  14575. val_1962X = Hinteger_op8311(arg2_1104X, y_1105X);
  14576. SvalS = val_1962X;
  14577. Scode_pointerS = ((Scode_pointerS) + 1);
  14578. arg2K0 = (Scode_pointerS);
  14579. goto L31612;}
  14580. L44771: {
  14581. b_1963X = arg0K0;
  14582. c_1964X = a_1682X % b_1963X;
  14583. if ((a_1112X < 0)) {
  14584. arg0K0 = (0 - c_1964X);
  14585. goto L44775;}
  14586. else {
  14587. arg0K0 = c_1964X;
  14588. goto L44775;}}
  14589. L44737: {
  14590. val_1965X = Hinteger_op8242(arg2_1109X, y_1110X);
  14591. SvalS = val_1965X;
  14592. Scode_pointerS = ((Scode_pointerS) + 1);
  14593. arg2K0 = (Scode_pointerS);
  14594. goto L31612;}
  14595. L53311: {
  14596. SvalS = 0;
  14597. Scode_pointerS = ((Scode_pointerS) + 1);
  14598. arg2K0 = (Scode_pointerS);
  14599. goto L31612;}
  14600. L53305: {
  14601. push_exception_setupB(5, 1);
  14602. SstackS = ((SstackS) + -4);
  14603. *((long *) (SstackS)) = (long) (x_1684X);
  14604. arg0K0 = 1;
  14605. goto L29309;}
  14606. L52292: {
  14607. x_1966X = arg0K0;s48_make_availableAgc(16);
  14608. if ((536870911 < x_1966X)) {
  14609. goto L52318;}
  14610. else {
  14611. if ((x_1966X < -536870912)) {
  14612. goto L52318;}
  14613. else {
  14614. arg0K0 = (((x_1966X)<<2));
  14615. goto L52313;}}}
  14616. L23679: {
  14617. length_1967X = arg0K0;
  14618. extra_1968X = arg0K1;
  14619. Stemp0S = x_1687X;s48_make_availableAgc(((((length_1967X + extra_1968X))<<2)));
  14620. value_1969X = Stemp0S;
  14621. Stemp0S = 1;
  14622. if ((0 == (3 & value_1969X))) {
  14623. v_1970X = (char *) s48_long_to_bignum((((value_1969X)>>2)));
  14624. arg2K0 = v_1970X;
  14625. goto L23671;}
  14626. else {
  14627. arg2K0 = (((char *) (-3 + value_1969X)));
  14628. goto L23671;}}
  14629. L45386: {
  14630. x_1971X = arg0K0;
  14631. count_1972X = arg0K1;
  14632. if ((0 == x_1971X)) {
  14633. SvalS = (((count_1972X)<<2));
  14634. Scode_pointerS = ((Scode_pointerS) + 1);
  14635. arg2K0 = (Scode_pointerS);
  14636. goto L31612;}
  14637. else {
  14638. arg0K0 = (((x_1971X)>>1));
  14639. arg0K1 = (count_1972X + (1 & x_1971X));
  14640. goto L45386;}}
  14641. L45471: {
  14642. val_1973X = integer_bitwise_and(arg2_1138X, y_1139X);
  14643. SvalS = val_1973X;
  14644. Scode_pointerS = ((Scode_pointerS) + 1);
  14645. arg2K0 = (Scode_pointerS);
  14646. goto L31612;}
  14647. L45634: {
  14648. val_1974X = integer_bitwise_ior(arg2_1140X, y_1141X);
  14649. SvalS = val_1974X;
  14650. Scode_pointerS = ((Scode_pointerS) + 1);
  14651. arg2K0 = (Scode_pointerS);
  14652. goto L31612;}
  14653. L45797: {
  14654. val_1975X = integer_bitwise_xor(arg2_1142X, y_1143X);
  14655. SvalS = val_1975X;
  14656. Scode_pointerS = ((Scode_pointerS) + 1);
  14657. arg2K0 = (Scode_pointerS);
  14658. goto L31612;}
  14659. L52462: {
  14660. v_1976X = (char *) s48_long_to_bignum(x_1698X);
  14661. v_1977X = enter_bignum(v_1976X);
  14662. arg0K0 = v_1977X;
  14663. goto L52457;}
  14664. L52457: {
  14665. val_1978X = arg0K0;
  14666. SvalS = val_1978X;
  14667. Scode_pointerS = ((Scode_pointerS) + 1);
  14668. arg2K0 = (Scode_pointerS);
  14669. goto L31612;}
  14670. L52484: {
  14671. v_1979X = (char *) s48_long_to_bignum(result_1700X);
  14672. v_1980X = enter_bignum(v_1979X);
  14673. arg0K0 = v_1980X;
  14674. goto L52479;}
  14675. L52479: {
  14676. val_1981X = arg0K0;
  14677. SvalS = val_1981X;
  14678. Scode_pointerS = ((Scode_pointerS) + 1);
  14679. arg2K0 = (Scode_pointerS);
  14680. goto L31612;}
  14681. L52355: {
  14682. x_1982X = arg0K0;
  14683. y_1983X = arg0K1;
  14684. y_1984X = ((y_1983X)>>2);
  14685. merged_arg0K0 = x_1982X;
  14686. merged_arg0K1 = y_1984X;
  14687. shift_space_return_tag = 1;
  14688. goto shift_space;
  14689. shift_space_return_1:
  14690. needed_1985X = shift_space0_return_value;
  14691. Stemp0S = x_1982X;s48_make_availableAgc((((needed_1985X)<<2)));
  14692. value_1986X = Stemp0S;
  14693. Stemp0S = 1;
  14694. if ((0 == (3 & value_1986X))) {
  14695. v_1987X = (char *) s48_long_to_bignum((((value_1986X)>>2)));
  14696. arg2K0 = v_1987X;
  14697. goto L52429;}
  14698. else {
  14699. arg2K0 = (((char *) (-3 + value_1986X)));
  14700. goto L52429;}}
  14701. L52506: {
  14702. v_1988X = (char *) s48_long_to_bignum(result_1700X);
  14703. v_1989X = enter_bignum(v_1988X);
  14704. arg0K0 = v_1989X;
  14705. goto L52501;}
  14706. L52501: {
  14707. val_1990X = arg0K0;
  14708. SvalS = val_1990X;
  14709. Scode_pointerS = ((Scode_pointerS) + 1);
  14710. arg2K0 = (Scode_pointerS);
  14711. goto L31612;}
  14712. L52537: {
  14713. x_1991X = arg2K0;
  14714. external_bignum_1992X = (char *) s48_bignum_arithmetic_shift(x_1991X, y_1702X);
  14715. v_1993X = s48_bignum_fits_in_word_p(external_bignum_1992X, 30, 1);
  14716. if (v_1993X) {
  14717. n_1994X = s48_bignum_to_long(external_bignum_1992X);
  14718. arg0K0 = (((n_1994X)<<2));
  14719. goto L52363;}
  14720. else {
  14721. v_1995X = enter_bignum(external_bignum_1992X);
  14722. arg0K0 = v_1995X;
  14723. goto L52363;}}
  14724. L52364: {
  14725. push_exception_setupB(5, 1);
  14726. SstackS = ((SstackS) + -4);
  14727. *((long *) (SstackS)) = (long) (arg2_1144X);
  14728. SstackS = ((SstackS) + -4);
  14729. *((long *) (SstackS)) = (long) (y_1145X);
  14730. arg0K0 = 2;
  14731. goto L29309;}
  14732. L34740: {
  14733. i_1996X = arg0K0;
  14734. rest_list_1997X = arg0K1;
  14735. if ((25 == rest_list_1997X)) {
  14736. SvalS = new_1173X;
  14737. Scode_pointerS = ((Scode_pointerS) + 2);
  14738. arg2K0 = (Scode_pointerS);
  14739. goto L31612;}
  14740. else {
  14741. *((long *) ((((char *) (-3 + new_1173X))) + (((i_1996X)<<2)))) = (long) ((*((long *) (((char *) (-3 + rest_list_1997X))))));
  14742. arg0K0 = (1 + i_1996X);
  14743. arg0K1 = (*((long *) ((((char *) (-3 + rest_list_1997X))) + 4)));
  14744. goto L34740;}}
  14745. L35153: {
  14746. i_1998X = arg0K0;
  14747. if ((i_1998X < 0)) {
  14748. SvalS = x_1719X;
  14749. Scode_pointerS = ((Scode_pointerS) + 2);
  14750. arg2K0 = (Scode_pointerS);
  14751. goto L31612;}
  14752. else {
  14753. addr_1999X = (((char *) (-3 + x_1719X))) + (((i_1998X)<<2));S48_WRITE_BARRIER(x_1719X, addr_1999X, value_1720X);
  14754. *((long *) addr_1999X) = (long) (value_1720X);
  14755. arg0K0 = (-1 + i_1998X);
  14756. goto L35153;}}
  14757. L46110: {
  14758. i_2000X = arg0K0;
  14759. if ((i_2000X < 0)) {
  14760. SvalS = vector_1724X;
  14761. Scode_pointerS = ((Scode_pointerS) + 1);
  14762. arg2K0 = (Scode_pointerS);
  14763. goto L31612;}
  14764. else {
  14765. *((unsigned char *) ((((char *) (-3 + vector_1724X))) + i_2000X)) = (unsigned char) (init_1208X);
  14766. arg0K0 = (-1 + i_2000X);
  14767. goto L46110;}}
  14768. L46295: {
  14769. i_2001X = arg0K0;
  14770. if ((i_2001X < 0)) {
  14771. SvalS = vector_1728X;
  14772. Scode_pointerS = ((Scode_pointerS) + 1);
  14773. arg2K0 = (Scode_pointerS);
  14774. goto L31612;}
  14775. else {
  14776. arg0K0 = 0;
  14777. arg0K1 = 0;
  14778. arg0K2 = init_1222X;
  14779. goto L46382;}}
  14780. L26965: {
  14781. foo_2002X = arg0K0;
  14782. if ((1 == foo_2002X)) {
  14783. if ((3 == (3 & bucket_1741X))) {
  14784. arg0K0 = (-4 & bucket_1741X);
  14785. goto L26970;}
  14786. else {
  14787. arg0K0 = bucket_1741X;
  14788. goto L26970;}}
  14789. else {
  14790. s2_2003X = *((long *) (((char *) (-3 + foo_2002X))));
  14791. len_2004X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + string_1246X))) + -4))))>>8);
  14792. if ((len_2004X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_2003X))) + -4))))>>8)))) {
  14793. if (((!memcmp((void *)(((char *) (-3 + s2_2003X))), (void *)(((char *) (-3 + string_1246X))),len_2004X)))) {
  14794. arg0K0 = foo_2002X;
  14795. goto L42368;}
  14796. else {
  14797. goto L26985;}}
  14798. else {
  14799. goto L26985;}}}
  14800. L50677: {
  14801. SvalS = 13;
  14802. Scode_pointerS = ((Scode_pointerS) + 1);
  14803. arg2K0 = (Scode_pointerS);
  14804. goto L31612;}
  14805. L46483: {
  14806. index_2005X = arg0K0;
  14807. temp_2006X = index_2005X < (Snumber_of_channelsS);
  14808. if (temp_2006X) {
  14809. goto L46598;}
  14810. else {
  14811. x_2007X = add_more_channels(index_2005X);
  14812. if (x_2007X) {
  14813. goto L46598;}
  14814. else {
  14815. arg0K0 = 1;
  14816. arg0K1 = 9;
  14817. goto L46487;}}}
  14818. L46545: {
  14819. v_2008X = ps_open_fd(filename_1749X, 1, &v_2009X);
  14820. arg0K0 = v_2008X;
  14821. arg0K1 = v_2009X;
  14822. goto L46554;}
  14823. L46554: {
  14824. channel_2010X = arg0K0;
  14825. status_2011X = arg0K1;
  14826. if ((status_2011X == NO_ERRORS)) {
  14827. arg0K0 = channel_2010X;
  14828. goto L46483;}
  14829. else {push_exception_setupB(24, 1);
  14830. SstackS = ((SstackS) + -4);
  14831. *((long *) (SstackS)) = (long) (arg4_1259X);
  14832. SstackS = ((SstackS) + -4);
  14833. *((long *) (SstackS)) = (long) ((((mode_1260X)<<2)));
  14834. SstackS = ((SstackS) + -4);
  14835. *((long *) (SstackS)) = (long) ((((status_2011X)<<2)));
  14836. arg0K0 = 3;
  14837. goto L29309;}}
  14838. L54182: {
  14839. waitP_2012X = arg3K0;
  14840. start_2013X = ((arg3_1268X)>>2);
  14841. count_2014X = ((arg2_1267X)>>2);
  14842. v_2015X = 4 == (*((long *) (((char *) (-3 + arg5_1270X)))));
  14843. if (v_2015X) {
  14844. if ((3 == (3 & arg4_1269X))) {
  14845. if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg4_1269X))) + -4))))>>2))))) {
  14846. if ((3 == (3 & arg4_1269X))) {
  14847. if ((0 == (128 & (*((long *) ((((char *) (-3 + arg4_1269X))) + -4)))))) {
  14848. if ((((long)(((unsigned long)(*((long *) ((((char *) (-3 + arg4_1269X))) + -4))))>>8)) < (start_2013X + count_2014X))) {
  14849. goto L47000;}
  14850. else {
  14851. got_2016X = ps_read_fd(((((*((long *) ((((char *) (-3 + arg5_1270X))) + 8))))>>2)), ((((char *) (-3 + arg4_1269X))) + start_2013X), count_2014X, waitP_2012X, &eofP_2017X, &pendingP_2018X, &status_2019X);
  14852. if ((status_2019X == NO_ERRORS)) {
  14853. if (eofP_2017X) {
  14854. arg0K0 = 21;
  14855. goto L46999;}
  14856. else {
  14857. if (pendingP_2018X) {
  14858. addr_2020X = (((char *) (-3 + arg5_1270X))) + 20;S48_WRITE_BARRIER(arg5_1270X, addr_2020X, 5);
  14859. *((long *) addr_2020X) = (long) (5);
  14860. arg0K0 = 1;
  14861. goto L46999;}
  14862. else {
  14863. arg0K0 = (((got_2016X)<<2));
  14864. goto L46999;}}}
  14865. else {
  14866. addr_2021X = s48_allocate_small(8);
  14867. *((long *) addr_2021X) = (long) (1046);
  14868. x_2022X = 3 + (((long) (addr_2021X + 4)));
  14869. *((long *) (((char *) (-3 + x_2022X)))) = (long) ((((status_2019X)<<2)));
  14870. arg0K0 = x_2022X;
  14871. goto L46999;}}}
  14872. else {
  14873. goto L47000;}}
  14874. else {
  14875. goto L47000;}}
  14876. else {
  14877. goto L47000;}}
  14878. else {
  14879. goto L47000;}}
  14880. else {
  14881. goto L47000;}}
  14882. L14943: {
  14883. arg0K0 = (*((long *) ((((char *) (-3 + channel_1294X))) + 20)));
  14884. goto L54534;}
  14885. L14973: {
  14886. val_2023X = *((long *) ((((char *) (-3 + ch_1761X))) + 16));
  14887. addr_2024X = (((char *) (-3 + prev_1762X))) + 16;S48_WRITE_BARRIER(prev_1762X, addr_2024X, val_2023X);
  14888. *((long *) addr_2024X) = (long) (val_2023X);
  14889. addr_2025X = (((char *) (-3 + ch_1761X))) + 16;S48_WRITE_BARRIER(ch_1761X, addr_2025X, 1);
  14890. *((long *) addr_2025X) = (long) (1);
  14891. arg0K0 = (*((long *) ((((char *) (-3 + ch_1761X))) + 20)));
  14892. goto L54534;}
  14893. L21547: {
  14894. v_2026X = arg0K0;
  14895. arg0K0 = (-1 + i_1767X);
  14896. arg0K1 = v_2026X;
  14897. goto L21533;}
  14898. L47544: {
  14899. if ((1 == proposal_1301X)) {
  14900. goto L47556;}
  14901. else {
  14902. addr_2027X = ((char *) (-3 + proposal_1301X));S48_WRITE_BARRIER(proposal_1301X, addr_2027X, 5);
  14903. *((long *) addr_2027X) = (long) (5);
  14904. goto L47556;}}
  14905. L13495: {
  14906. i_2028X = arg0K0;
  14907. stob_2029X = *((long *) ((((char *) (-3 + log_1776X))) + (((i_2028X)<<2))));
  14908. if ((1 == stob_2029X)) {
  14909. copies_2030X = *((long *) ((((char *) (-3 + proposal_1302X))) + 12));
  14910. arg0K0 = copies_2030X;
  14911. goto L47907;}
  14912. else {
  14913. value_2031X = *((long *) ((((char *) (-3 + log_1776X))) + (8 + (((i_2028X)<<2)))));
  14914. verify_2032X = *((long *) ((((char *) (-3 + log_1776X))) + (12 + (((i_2028X)<<2)))));
  14915. if ((29 == verify_2032X)) {
  14916. if ((3 == (3 & stob_2029X))) {
  14917. if ((0 == (128 & (*((long *) ((((char *) (-3 + stob_2029X))) + -4)))))) {
  14918. goto L13547;}
  14919. else {
  14920. goto L47807;}}
  14921. else {
  14922. goto L47807;}}
  14923. else {
  14924. if ((verify_2032X == ((((*((unsigned char *) ((((char *) (-3 + stob_2029X))) + ((((*((long *) ((((char *) (-3 + log_1776X))) + (4 + (((i_2028X)<<2)))))))>>2))))))<<2)))) {
  14925. if ((verify_2032X == value_2031X)) {
  14926. goto L13547;}
  14927. else {
  14928. if ((3 == (3 & stob_2029X))) {
  14929. if ((0 == (128 & (*((long *) ((((char *) (-3 + stob_2029X))) + -4)))))) {
  14930. goto L13547;}
  14931. else {
  14932. goto L47807;}}
  14933. else {
  14934. goto L47807;}}}
  14935. else {
  14936. goto L47807;}}}}
  14937. L13309: {
  14938. arg0K0 = (4 + i_1774X);
  14939. goto L13257;}
  14940. L47807: {
  14941. RELEASE_PROPOSAL_LOCK();
  14942. x_2033X = Scurrent_threadS;
  14943. addr_2034X = (((char *) (-3 + x_2033X))) + 12;S48_WRITE_BARRIER(x_2033X, addr_2034X, 1);
  14944. *((long *) addr_2034X) = (long) (1);
  14945. SvalS = 1;
  14946. Scode_pointerS = ((Scode_pointerS) + 1);
  14947. arg2K0 = (Scode_pointerS);
  14948. goto L31612;}
  14949. L12972: {
  14950. vector_2035X = arg0K0;
  14951. if ((1 == vector_2035X)) {
  14952. ps_error("Out of space, unable to allocate", 0);
  14953. arg0K0 = vector_2035X;
  14954. goto L12935;}
  14955. else {
  14956. arg0K0 = vector_2035X;
  14957. goto L12935;}}
  14958. L19698: {
  14959. arg0K0 = (4 + i_1788X);
  14960. goto L19676;}
  14961. L19872: {
  14962. arg0K0 = (4 + i_1792X);
  14963. goto L19852;}
  14964. L55871: {
  14965. minutesP_2036X = arg3K0;
  14966. pending_interruptP_return_tag = 6;
  14967. goto pending_interruptP;
  14968. pending_interruptP_return_6:
  14969. x_2037X = pending_interruptP0_return_value;
  14970. if (x_2037X) {
  14971. goto L55901;}
  14972. else {
  14973. if ((0 == (Spending_interruptsS))) {s48_wait_for_event((((arg2_1392X)>>2)), minutesP_2036X);
  14974. goto L55901;}
  14975. else {
  14976. goto L55901;}}}
  14977. L37378: {
  14978. push_exception_setupB(5, 1);
  14979. SstackS = ((SstackS) + -4);
  14980. *((long *) (SstackS)) = (long) (proc_1813X);
  14981. SstackS = ((SstackS) + -4);
  14982. *((long *) (SstackS)) = (long) (name_1812X);
  14983. arg0K0 = 2;
  14984. goto L29309;}
  14985. L54789: {
  14986. val_2038X = arg0K0;
  14987. SvalS = val_2038X;
  14988. Scode_pointerS = ((Scode_pointerS) + 1);
  14989. arg2K0 = (Scode_pointerS);
  14990. goto L31612;}
  14991. L40617: {
  14992. table_2039X = arg0K0;
  14993. v_2040X = Haction4940(arg2_1401X);
  14994. index_2041X = 1023 & v_2040X;
  14995. link_2042X = *((long *) ((((char *) (-3 + table_2039X))) + (((index_2041X)<<2))));
  14996. if ((0 == (3 & link_2042X))) {
  14997. arg0K0 = (3 + (-4 & link_2042X));
  14998. goto L26463;}
  14999. else {
  15000. arg0K0 = link_2042X;
  15001. goto L26463;}}
  15002. L48360: {
  15003. l_2043X = arg0K0;
  15004. i_2044X = arg0K1;
  15005. if ((i_2044X < 0)) {
  15006. SvalS = obj_1830X;
  15007. Scode_pointerS = ((Scode_pointerS) + 1);
  15008. arg2K0 = (Scode_pointerS);
  15009. goto L31612;}
  15010. else {
  15011. d_2045X = *((long *) (((char *) (-3 + l_2043X))));
  15012. arg0K0 = 0;
  15013. arg0K1 = 0;
  15014. arg0K2 = (((d_2045X)>>8));
  15015. goto L48431;}}
  15016. L29990: {
  15017. x_2046X = arg0K0;
  15018. SstackS = ((SstackS) + -4);
  15019. *((long *) (SstackS)) = (long) (x_2046X);
  15020. arg0K0 = 2;
  15021. arg0K1 = 25;
  15022. arg0K2 = 0;
  15023. goto L28737;}
  15024. L30289: {
  15025. x_2047X = arg0K0;
  15026. SstackS = ((SstackS) + -4);
  15027. *((long *) (SstackS)) = (long) (x_2047X);
  15028. arg0K0 = 2;
  15029. arg0K1 = 25;
  15030. arg0K2 = 0;
  15031. goto L28737;}
  15032. L38048: {
  15033. push_exception_setupB(5, 2);
  15034. SstackS = ((SstackS) + -4);
  15035. *((long *) (SstackS)) = (long) (port_1844X);
  15036. arg0K0 = 1;
  15037. goto L29309;}
  15038. L38250: {
  15039. push_exception_setupB(5, 2);
  15040. SstackS = ((SstackS) + -4);
  15041. *((long *) (SstackS)) = (long) (port_1851X);
  15042. arg0K0 = 1;
  15043. goto L29309;}
  15044. L38465: {
  15045. push_exception_setupB(5, 2);
  15046. SstackS = ((SstackS) + -4);
  15047. *((long *) (SstackS)) = (long) (byte_1856X);
  15048. SstackS = ((SstackS) + -4);
  15049. *((long *) (SstackS)) = (long) (port_1857X);
  15050. arg0K0 = 2;
  15051. goto L29309;}
  15052. L38830: {
  15053. push_exception_setupB(5, 2);
  15054. SstackS = ((SstackS) + -4);
  15055. *((long *) (SstackS)) = (long) (port_1863X);
  15056. arg0K0 = 1;
  15057. goto L29309;}
  15058. L38686: {
  15059. i_2048X = arg0K0;
  15060. p_2049X = *((long *) ((((char *) (-3 + port_1863X))) + 32));
  15061. codec_2050X = *((long *) ((((char *) (-3 + port_1863X))) + 4));
  15062. l_2051X = ((p_2049X)>>2);
  15063. if ((i_2048X == l_2051X)) {
  15064. val_2052X = ((i_2048X)<<2);
  15065. addr_2053X = (((char *) (-3 + port_1863X))) + 28;S48_WRITE_BARRIER(port_1863X, addr_2053X, val_2052X);
  15066. *((long *) addr_2053X) = (long) (val_2052X);push_exception_setupB(13, 2);
  15067. SstackS = ((SstackS) + -4);
  15068. *((long *) (SstackS)) = (long) (port_1863X);
  15069. arg0K0 = 1;
  15070. goto L29309;}
  15071. else {
  15072. if ((0 == (3 & codec_2050X))) {
  15073. encoding_okP_2054X = decode_scalar_value((((codec_2050X)>>2)), ((((char *) (-3 + b_1864X))) + i_2048X), (l_2051X - i_2048X), &okP_2055X, &incompleteP_2056X, &value_2057X, &count_2058X);
  15074. if (encoding_okP_2054X) {
  15075. if (okP_2055X) {
  15076. if (incompleteP_2056X) {
  15077. val_2059X = ((i_2048X)<<2);
  15078. addr_2060X = (((char *) (-3 + port_1863X))) + 28;S48_WRITE_BARRIER(port_1863X, addr_2060X, val_2059X);
  15079. *((long *) addr_2060X) = (long) (val_2059X);push_exception_setupB(13, 2);
  15080. SstackS = ((SstackS) + -4);
  15081. *((long *) (SstackS)) = (long) (port_1863X);
  15082. arg0K0 = 1;
  15083. goto L29309;}
  15084. else {
  15085. if ((1 == (*((long *) ((((char *) (-3 + port_1863X))) + 8))))) {
  15086. goto L38740;}
  15087. else {
  15088. if ((13 == value_2057X)) {
  15089. addr_2061X = (((char *) (-3 + port_1863X))) + 36;S48_WRITE_BARRIER(port_1863X, addr_2061X, 5);
  15090. *((long *) addr_2061X) = (long) (5);
  15091. val_2062X = (((i_2048X + count_2058X))<<2);
  15092. addr_2063X = (((char *) (-3 + port_1863X))) + 28;S48_WRITE_BARRIER(port_1863X, addr_2063X, val_2062X);
  15093. *((long *) addr_2063X) = (long) (val_2062X);
  15094. SvalS = 2569;
  15095. Scode_pointerS = ((Scode_pointerS) + 2);
  15096. arg2K0 = (Scode_pointerS);
  15097. goto L31612;}
  15098. else {
  15099. if ((10 == value_2057X)) {
  15100. if ((1 == (*((long *) ((((char *) (-3 + port_1863X))) + 36))))) {
  15101. goto L38740;}
  15102. else {
  15103. addr_2064X = (((char *) (-3 + port_1863X))) + 36;S48_WRITE_BARRIER(port_1863X, addr_2064X, 1);
  15104. *((long *) addr_2064X) = (long) (1);
  15105. arg0K0 = (i_2048X + count_2058X);
  15106. goto L38686;}}
  15107. else {
  15108. goto L38740;}}}}}
  15109. else {
  15110. val_2065X = ((i_2048X)<<2);
  15111. addr_2066X = (((char *) (-3 + port_1863X))) + 28;S48_WRITE_BARRIER(port_1863X, addr_2066X, val_2065X);
  15112. *((long *) addr_2066X) = (long) (val_2065X);push_exception_setupB(13, 2);
  15113. SstackS = ((SstackS) + -4);
  15114. *((long *) (SstackS)) = (long) (port_1863X);
  15115. arg0K0 = 1;
  15116. goto L29309;}}
  15117. else {push_exception_setupB(5, 2);
  15118. SstackS = ((SstackS) + -4);
  15119. *((long *) (SstackS)) = (long) (port_1863X);
  15120. arg0K0 = 1;
  15121. goto L29309;}}
  15122. else {
  15123. val_2067X = ((i_2048X)<<2);
  15124. addr_2068X = (((char *) (-3 + port_1863X))) + 28;S48_WRITE_BARRIER(port_1863X, addr_2068X, val_2067X);
  15125. *((long *) addr_2068X) = (long) (val_2067X);push_exception_setupB(13, 2);
  15126. SstackS = ((SstackS) + -4);
  15127. *((long *) (SstackS)) = (long) (port_1863X);
  15128. arg0K0 = 1;
  15129. goto L29309;}}}
  15130. L39421: {
  15131. push_exception_setupB(5, 2);
  15132. SstackS = ((SstackS) + -4);
  15133. *((long *) (SstackS)) = (long) (port_1865X);
  15134. arg0K0 = 1;
  15135. goto L29309;}
  15136. L39277: {
  15137. i_2069X = arg0K0;
  15138. p_2070X = *((long *) ((((char *) (-3 + port_1865X))) + 32));
  15139. codec_2071X = *((long *) ((((char *) (-3 + port_1865X))) + 4));
  15140. l_2072X = ((p_2070X)>>2);
  15141. if ((i_2069X == l_2072X)) {push_exception_setupB(13, 2);
  15142. SstackS = ((SstackS) + -4);
  15143. *((long *) (SstackS)) = (long) (port_1865X);
  15144. arg0K0 = 1;
  15145. goto L29309;}
  15146. else {
  15147. if ((0 == (3 & codec_2071X))) {
  15148. encoding_okP_2073X = decode_scalar_value((((codec_2071X)>>2)), ((((char *) (-3 + b_1866X))) + i_2069X), (l_2072X - i_2069X), &okP_2074X, &incompleteP_2075X, &value_2076X, &count_2077X);
  15149. if (encoding_okP_2073X) {
  15150. if (okP_2074X) {
  15151. if (incompleteP_2075X) {push_exception_setupB(13, 2);
  15152. SstackS = ((SstackS) + -4);
  15153. *((long *) (SstackS)) = (long) (port_1865X);
  15154. arg0K0 = 1;
  15155. goto L29309;}
  15156. else {
  15157. if ((1 == (*((long *) ((((char *) (-3 + port_1865X))) + 8))))) {
  15158. SvalS = (9 + (((value_2076X)<<8)));
  15159. Scode_pointerS = ((Scode_pointerS) + 2);
  15160. arg2K0 = (Scode_pointerS);
  15161. goto L31612;}
  15162. else {
  15163. if ((13 == value_2076X)) {
  15164. SvalS = 2569;
  15165. Scode_pointerS = ((Scode_pointerS) + 2);
  15166. arg2K0 = (Scode_pointerS);
  15167. goto L31612;}
  15168. else {
  15169. if ((10 == value_2076X)) {
  15170. if ((1 == (*((long *) ((((char *) (-3 + port_1865X))) + 36))))) {
  15171. SvalS = (9 + (((value_2076X)<<8)));
  15172. Scode_pointerS = ((Scode_pointerS) + 2);
  15173. arg2K0 = (Scode_pointerS);
  15174. goto L31612;}
  15175. else {
  15176. arg0K0 = (i_2069X + count_2077X);
  15177. goto L39277;}}
  15178. else {
  15179. SvalS = (9 + (((value_2076X)<<8)));
  15180. Scode_pointerS = ((Scode_pointerS) + 2);
  15181. arg2K0 = (Scode_pointerS);
  15182. goto L31612;}}}}}
  15183. else {push_exception_setupB(13, 2);
  15184. SstackS = ((SstackS) + -4);
  15185. *((long *) (SstackS)) = (long) (port_1865X);
  15186. arg0K0 = 1;
  15187. goto L29309;}}
  15188. else {push_exception_setupB(5, 2);
  15189. SstackS = ((SstackS) + -4);
  15190. *((long *) (SstackS)) = (long) (port_1865X);
  15191. arg0K0 = 1;
  15192. goto L29309;}}
  15193. else {push_exception_setupB(13, 2);
  15194. SstackS = ((SstackS) + -4);
  15195. *((long *) (SstackS)) = (long) (port_1865X);
  15196. arg0K0 = 1;
  15197. goto L29309;}}}
  15198. L39978: {
  15199. push_exception_setupB(5, 2);
  15200. SstackS = ((SstackS) + -4);
  15201. *((long *) (SstackS)) = (long) (Kchar_1867X);
  15202. SstackS = ((SstackS) + -4);
  15203. *((long *) (SstackS)) = (long) (port_1868X);
  15204. arg0K0 = 2;
  15205. goto L29309;}
  15206. L39924: {
  15207. codec_okP_2078X = encode_scalar_value((((codec_1869X)>>2)), (((Kchar_1867X)>>8)), ((((char *) (-3 + b_1870X))) + i_1871X), (l_1872X - i_1871X), &encoding_okP_2079X, &out_of_spaceP_2080X, &count_2081X);
  15208. if (codec_okP_2078X) {
  15209. if (encoding_okP_2079X) {
  15210. if (out_of_spaceP_2080X) {push_exception_setupB(13, 2);
  15211. SstackS = ((SstackS) + -4);
  15212. *((long *) (SstackS)) = (long) (Kchar_1867X);
  15213. SstackS = ((SstackS) + -4);
  15214. *((long *) (SstackS)) = (long) (port_1868X);
  15215. arg0K0 = 2;
  15216. goto L29309;}
  15217. else {
  15218. val_2082X = (((i_1871X + count_2081X))<<2);
  15219. addr_2083X = (((char *) (-3 + port_1868X))) + 28;S48_WRITE_BARRIER(port_1868X, addr_2083X, val_2082X);
  15220. *((long *) addr_2083X) = (long) (val_2082X);
  15221. SvalS = 13;
  15222. Scode_pointerS = ((Scode_pointerS) + 2);
  15223. arg2K0 = (Scode_pointerS);
  15224. goto L31612;}}
  15225. else {push_exception_setupB(13, 2);
  15226. SstackS = ((SstackS) + -4);
  15227. *((long *) (SstackS)) = (long) (Kchar_1867X);
  15228. SstackS = ((SstackS) + -4);
  15229. *((long *) (SstackS)) = (long) (port_1868X);
  15230. arg0K0 = 2;
  15231. goto L29309;}}
  15232. else {push_exception_setupB(5, 2);
  15233. SstackS = ((SstackS) + -4);
  15234. *((long *) (SstackS)) = (long) (Kchar_1867X);
  15235. SstackS = ((SstackS) + -4);
  15236. *((long *) (SstackS)) = (long) (port_1868X);
  15237. arg0K0 = 2;
  15238. goto L29309;}}
  15239. L50584: {
  15240. arg0K0 = (*((long *) ((((char *) (-3 + stuff_1884X))) + 4)));
  15241. goto L50578;}
  15242. L22822: {
  15243. if ((3 == (3 & thing_1885X))) {
  15244. if ((16 == (31 & ((((*((long *) ((((char *) (-3 + thing_1885X))) + -4))))>>2))))) {write_vm_string(thing_1885X, out_1510X);
  15245. goto L50584;}
  15246. else {
  15247. goto L22826;}}
  15248. else {
  15249. goto L22826;}}
  15250. L50569: {
  15251. { long ignoreXX;
  15252. PS_WRITE_CHAR(10, out_1510X, ignoreXX) }
  15253. SvalS = 13;
  15254. Scode_pointerS = ((Scode_pointerS) + 1);
  15255. arg2K0 = (Scode_pointerS);
  15256. goto L31612;}
  15257. L28355: {
  15258. SvalS = (*((long *) ((((char *) (-3 + handlers_1513X))) + (((i_1511X)<<2)))));
  15259. obj_2084X = SvalS;
  15260. if ((3 == (3 & obj_2084X))) {
  15261. if ((3 == (31 & ((((*((long *) ((((char *) (-3 + obj_2084X))) + -4))))>>2))))) {
  15262. goto L28372;}
  15263. else {
  15264. goto L28411;}}
  15265. else {
  15266. goto L28411;}}
  15267. L28397: {
  15268. ps_error("interrupt handler is not a vector", 0);
  15269. goto L28355;}
  15270. L15162: {
  15271. SstackS = ((SstackS) + -4);
  15272. *((long *) (SstackS)) = (long) (channel_1889X);
  15273. x_2085X = *((long *) ((((char *) (-3 + channel_1889X))) + 24));
  15274. SstackS = ((SstackS) + -4);
  15275. *((long *) (SstackS)) = (long) (x_2085X);
  15276. x_2086X = *((long *) ((((char *) (-3 + channel_1889X))) + 20));
  15277. SstackS = ((SstackS) + -4);
  15278. *((long *) (SstackS)) = (long) (x_2086X);
  15279. n_2087X = Senabled_interruptsS;
  15280. SstackS = ((SstackS) + -4);
  15281. *((long *) (SstackS)) = (long) ((((n_2087X)<<2)));
  15282. arg0K0 = 4;
  15283. goto L28341;}
  15284. L15336: {
  15285. v_2088X = arg0K0;
  15286. Sos_signal_ring_startS = v_2088X;
  15287. SstackS = ((SstackS) + -4);
  15288. *((long *) (SstackS)) = (long) ((((sig_1891X)<<2)));
  15289. if (((Sos_signal_ring_readyS) == (Sos_signal_ring_startS))) {
  15290. goto L15194;}
  15291. else {
  15292. Spending_interruptsS = (16 | (Spending_interruptsS));
  15293. if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
  15294. s48_Sstack_limitS = (Sreal_stack_limitS);
  15295. if ((s48_Spending_eventsPS)) {
  15296. s48_Sstack_limitS = (((char *) -1));
  15297. goto L15194;}
  15298. else {
  15299. goto L15194;}}
  15300. else {
  15301. s48_Sstack_limitS = (((char *) -1));
  15302. goto L15194;}}}
  15303. L9480: {
  15304. i_2089X = arg0K0;
  15305. offset_2090X = arg0K1;
  15306. if ((i_2089X == total_count_1549X)) {
  15307. arg0K0 = offset_2090X;
  15308. goto L63865;}
  15309. else {
  15310. env_2091X = *((long *) ((SstackS) + ((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_2090X)))))<<2))));
  15311. count_2092X = *((unsigned char *) ((Scode_pointerS) + (2 + offset_2090X)));
  15312. arg0K0 = count_2092X;
  15313. arg0K1 = i_2089X;
  15314. arg0K2 = (2 + offset_2090X);
  15315. goto L9497;}}
  15316. L63865: {
  15317. bytes_used_2093X = arg0K0;
  15318. SvalS = new_env_1000X;
  15319. Scode_pointerS = ((Scode_pointerS) + (1 + bytes_used_2093X));
  15320. arg2K0 = (Scode_pointerS);
  15321. goto L31612;}
  15322. L10545: {
  15323. i_2094X = arg0K0;
  15324. offset_2095X = arg0K1;
  15325. if ((i_2094X == total_count_1558X)) {
  15326. arg0K0 = offset_2095X;
  15327. goto L63856;}
  15328. else {
  15329. env_2096X = *((long *) ((SstackS) + ((((((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_2095X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + offset_2095X))))))<<2))));
  15330. index_2097X = 2 + offset_2095X;
  15331. count_2098X = ((((*((unsigned char *) ((Scode_pointerS) + (1 + index_2097X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + index_2097X))));
  15332. arg0K0 = count_2098X;
  15333. arg0K1 = i_2094X;
  15334. arg0K2 = (4 + offset_2095X);
  15335. goto L10562;}}
  15336. L63856: {
  15337. bytes_used_2099X = arg0K0;
  15338. SvalS = new_env_1006X;
  15339. Scode_pointerS = ((Scode_pointerS) + (1 + bytes_used_2099X));
  15340. arg2K0 = (Scode_pointerS);
  15341. goto L31612;}
  15342. L58713: {
  15343. v_2100X = arg0K0;
  15344. ScontS = (cont_1905X + (4 + (((v_2100X)<<2))));
  15345. v_2101X = *((long *) (SstackS));
  15346. SstackS = ((SstackS) + 4);
  15347. v_2102X = s48_invoke_native_continuation((((long) (((char *) v_2101X)))), protocol_skip_1904X);
  15348. arg0K0 = v_2102X;
  15349. goto L58572;}
  15350. L29670: {
  15351. SstackS = (Sbottom_of_stackS);
  15352. Sheap_continuationS = 1;
  15353. ScontS = (Sbottom_of_stackS);push_exception_setupB(5, 0);
  15354. x_2103X = SvalS;
  15355. SstackS = ((SstackS) + -4);
  15356. *((long *) (SstackS)) = (long) (x_2103X);
  15357. SstackS = ((SstackS) + -4);
  15358. *((long *) (SstackS)) = (long) (cont_1908X);
  15359. arg0K0 = 2;
  15360. goto L29309;}
  15361. L28850: {
  15362. v_2104X = arg0K0;
  15363. SvalS = v_2104X;
  15364. arg0K0 = cont_1625X;
  15365. goto L29655;}
  15366. L33065: {
  15367. x_2105X = arg0K0;
  15368. SstackS = ((SstackS) + -4);
  15369. *((long *) (SstackS)) = (long) (x_2105X);
  15370. Scode_pointerS = ((Scode_pointerS) + 4);
  15371. arg2K0 = (Scode_pointerS);
  15372. goto L31612;}
  15373. L33047: {
  15374. stack_nargs_2106X = arg0K0;
  15375. l_2107X = arg0K1;
  15376. if ((count_1630X == stack_nargs_2106X)) {
  15377. arg0K0 = l_2107X;
  15378. goto L33065;}
  15379. else {
  15380. x_2108X = *((long *) (((char *) (-3 + l_2107X))));
  15381. SstackS = ((SstackS) + -4);
  15382. *((long *) (SstackS)) = (long) (x_2108X);
  15383. arg0K0 = (1 + stack_nargs_2106X);
  15384. arg0K1 = (*((long *) ((((char *) (-3 + l_2107X))) + 4)));
  15385. goto L33047;}}
  15386. L32970: {
  15387. loc_2109X = arg2K0;
  15388. arg_2110X = arg2K1;
  15389. if ((arg_2110X < arg_top_1927X)) {
  15390. SstackS = ((SstackS) + (0 - (((stack_nargs_1924X)<<2))));
  15391. if ((0 == list_arg_count_1926X)) {
  15392. goto L32957;}
  15393. else {
  15394. merged_arg0K0 = list_args_1925X;
  15395. merged_arg0K1 = list_arg_count_1926X;
  15396. push_list_return_tag = 3;
  15397. goto push_list;
  15398. push_list_return_3:
  15399. goto L32957;}}
  15400. else {
  15401. *((long *) loc_2109X) = (long) ((*((long *) arg_2110X)));
  15402. arg2K0 = (loc_2109X + -4);
  15403. arg2K1 = (arg_2110X + -4);
  15404. goto L32970;}}
  15405. L18530: {
  15406. if ((3 == (3 & x_1075X))) {
  15407. if ((11 == (31 & ((((*((long *) ((((char *) (-3 + x_1075X))) + -4))))>>2))))) {
  15408. arg0K0 = 5;
  15409. goto L60289;}
  15410. else {
  15411. arg0K0 = 1;
  15412. goto L60289;}}
  15413. else {
  15414. arg0K0 = 1;
  15415. goto L60289;}}
  15416. L49810: {
  15417. SvalS = 1;
  15418. Scode_pointerS = ((Scode_pointerS) + 1);
  15419. arg2K0 = (Scode_pointerS);
  15420. goto L31612;}
  15421. L49953: {
  15422. if ((3 == (3 & n_1640X))) {
  15423. if ((18 == (31 & ((((*((long *) ((((char *) (-3 + n_1640X))) + -4))))>>2))))) {
  15424. goto L49962;}
  15425. else {
  15426. goto L49963;}}
  15427. else {
  15428. goto L49963;}}
  15429. L11630: {
  15430. if ((536870911 < lo_c_1935X)) {
  15431. val_2111X = integer_multiply(arg2_1083X, y_1084X);
  15432. SvalS = val_2111X;
  15433. Scode_pointerS = ((Scode_pointerS) + 1);
  15434. arg2K0 = (Scode_pointerS);
  15435. goto L31612;}
  15436. else {
  15437. if ((lo_c_1935X < 0)) {
  15438. val_2112X = integer_multiply(arg2_1083X, y_1084X);
  15439. SvalS = val_2112X;
  15440. Scode_pointerS = ((Scode_pointerS) + 1);
  15441. arg2K0 = (Scode_pointerS);
  15442. goto L31612;}
  15443. else {
  15444. if ((8192 < mid_c_1938X)) {
  15445. val_2113X = integer_multiply(arg2_1083X, y_1084X);
  15446. SvalS = val_2113X;
  15447. Scode_pointerS = ((Scode_pointerS) + 1);
  15448. arg2K0 = (Scode_pointerS);
  15449. goto L31612;}
  15450. else {
  15451. if ((a_1085X < 0)) {
  15452. if ((b_1086X < 0)) {s48_make_availableAgc(16);
  15453. if ((536870911 < c_1939X)) {
  15454. goto L61913;}
  15455. else {
  15456. if ((c_1939X < -536870912)) {
  15457. goto L61913;}
  15458. else {
  15459. arg0K0 = (((c_1939X)<<2));
  15460. goto L61908;}}}
  15461. else {
  15462. goto L11658;}}
  15463. else {
  15464. if ((b_1086X < 0)) {
  15465. goto L11658;}
  15466. else {s48_make_availableAgc(16);
  15467. if ((536870911 < c_1939X)) {
  15468. goto L61935;}
  15469. else {
  15470. if ((c_1939X < -536870912)) {
  15471. goto L61935;}
  15472. else {
  15473. arg0K0 = (((c_1939X)<<2));
  15474. goto L61930;}}}}}}}}
  15475. L62016: {
  15476. v_2114X = (char *) s48_long_to_bignum(c_1944X);
  15477. v_2115X = enter_bignum(v_2114X);
  15478. arg0K0 = v_2115X;
  15479. goto L62011;}
  15480. L62011: {
  15481. val_2116X = arg0K0;
  15482. SvalS = val_2116X;
  15483. Scode_pointerS = ((Scode_pointerS) + 1);
  15484. arg2K0 = (Scode_pointerS);
  15485. goto L31612;}
  15486. L11892: {
  15487. x_2117X = 0 - c_1944X;s48_make_availableAgc(16);
  15488. if ((536870911 < x_2117X)) {
  15489. goto L61994;}
  15490. else {
  15491. if ((x_2117X < -536870912)) {
  15492. goto L61994;}
  15493. else {
  15494. arg0K0 = (((x_2117X)<<2));
  15495. goto L61989;}}}
  15496. L62038: {
  15497. v_2118X = (char *) s48_long_to_bignum(c_1944X);
  15498. v_2119X = enter_bignum(v_2118X);
  15499. arg0K0 = v_2119X;
  15500. goto L62033;}
  15501. L62033: {
  15502. val_2120X = arg0K0;
  15503. SvalS = val_2120X;
  15504. Scode_pointerS = ((Scode_pointerS) + 1);
  15505. arg2K0 = (Scode_pointerS);
  15506. goto L31612;}
  15507. L20162: {
  15508. length0_2121X = arg0K0;
  15509. extra0_2122X = arg0K1;
  15510. if ((0 == (3 & y_1091X))) {
  15511. arg0K0 = 3;
  15512. goto L20170;}
  15513. else {
  15514. arg0K0 = 0;
  15515. goto L20170;}}
  15516. L43065: {
  15517. val_2123X = arg0K0;
  15518. SvalS = val_2123X;
  15519. Scode_pointerS = ((Scode_pointerS) + 1);
  15520. arg2K0 = (Scode_pointerS);
  15521. goto L31612;}
  15522. L43325: {
  15523. val_2124X = arg0K0;
  15524. SvalS = val_2124X;
  15525. Scode_pointerS = ((Scode_pointerS) + 1);
  15526. arg2K0 = (Scode_pointerS);
  15527. goto L31612;}
  15528. L43648: {
  15529. val_2125X = arg0K0;
  15530. SvalS = val_2125X;
  15531. Scode_pointerS = ((Scode_pointerS) + 1);
  15532. arg2K0 = (Scode_pointerS);
  15533. goto L31612;}
  15534. L43971: {
  15535. val_2126X = arg0K0;
  15536. SvalS = val_2126X;
  15537. Scode_pointerS = ((Scode_pointerS) + 1);
  15538. arg2K0 = (Scode_pointerS);
  15539. goto L31612;}
  15540. L44265: {
  15541. val_2127X = arg0K0;
  15542. SvalS = val_2127X;
  15543. Scode_pointerS = ((Scode_pointerS) + 1);
  15544. arg2K0 = (Scode_pointerS);
  15545. goto L31612;}
  15546. L12506: {
  15547. if ((536870911 < c_1961X)) {
  15548. val_2128X = Hinteger_op8311(arg2_1104X, y_1105X);
  15549. SvalS = val_2128X;
  15550. Scode_pointerS = ((Scode_pointerS) + 1);
  15551. arg2K0 = (Scode_pointerS);
  15552. goto L31612;}
  15553. else {
  15554. SvalS = (((c_1961X)<<2));
  15555. Scode_pointerS = ((Scode_pointerS) + 1);
  15556. arg2K0 = (Scode_pointerS);
  15557. goto L31612;}}
  15558. L12505: {
  15559. SvalS = ((((0 - c_1961X))<<2));
  15560. Scode_pointerS = ((Scode_pointerS) + 1);
  15561. arg2K0 = (Scode_pointerS);
  15562. goto L31612;}
  15563. L44775: {
  15564. n_2129X = arg0K0;
  15565. SvalS = (((n_2129X)<<2));
  15566. Scode_pointerS = ((Scode_pointerS) + 1);
  15567. arg2K0 = (Scode_pointerS);
  15568. goto L31612;}
  15569. L52318: {
  15570. v_2130X = (char *) s48_long_to_bignum(x_1966X);
  15571. v_2131X = enter_bignum(v_2130X);
  15572. arg0K0 = v_2131X;
  15573. goto L52313;}
  15574. L52313: {
  15575. val_2132X = arg0K0;
  15576. SvalS = val_2132X;
  15577. Scode_pointerS = ((Scode_pointerS) + 1);
  15578. arg2K0 = (Scode_pointerS);
  15579. goto L31612;}
  15580. L23671: {
  15581. x_2133X = arg2K0;
  15582. v_2134X = s48_bignum_test(x_2133X);
  15583. if ((-1 == v_2134X)) {
  15584. v_2135X = (char *) s48_bignum_negate(x_2133X);
  15585. arg2K0 = v_2135X;
  15586. goto L23673;}
  15587. else {
  15588. arg2K0 = x_2133X;
  15589. goto L23673;}}
  15590. L52429: {
  15591. x_2136X = arg2K0;
  15592. external_bignum_2137X = (char *) s48_bignum_arithmetic_shift(x_2136X, y_1984X);
  15593. v_2138X = s48_bignum_fits_in_word_p(external_bignum_2137X, 30, 1);
  15594. if (v_2138X) {
  15595. n_2139X = s48_bignum_to_long(external_bignum_2137X);
  15596. arg0K0 = (((n_2139X)<<2));
  15597. goto L52357;}
  15598. else {
  15599. v_2140X = enter_bignum(external_bignum_2137X);
  15600. arg0K0 = v_2140X;
  15601. goto L52357;}}
  15602. L52363: {
  15603. val_2141X = arg0K0;
  15604. SvalS = val_2141X;
  15605. Scode_pointerS = ((Scode_pointerS) + 1);
  15606. arg2K0 = (Scode_pointerS);
  15607. goto L31612;}
  15608. L46382: {
  15609. bits_2142X = arg0K0;
  15610. j_2143X = arg0K1;
  15611. shifted_2144X = arg0K2;
  15612. if ((j_2143X < 4)) {
  15613. *((unsigned char *) ((((char *) (-3 + vector_1728X))) + ((((i_2001X)<<2)) + j_2143X))) = (unsigned char) ((255 & shifted_2144X));
  15614. arg0K0 = (8 + bits_2142X);
  15615. arg0K1 = (1 + j_2143X);
  15616. arg0K2 = ((long)(((unsigned long)shifted_2144X)>>8));
  15617. goto L46382;}
  15618. else {
  15619. arg0K0 = (-1 + i_2001X);
  15620. goto L46295;}}
  15621. L26970: {
  15622. b_2145X = arg0K0;
  15623. addr_2146X = s48_allocate_small(12);
  15624. *((long *) addr_2146X) = (long) (2054);
  15625. x_2147X = 3 + (((long) (addr_2146X + 4)));
  15626. *((long *) (((char *) (-3 + x_2147X)))) = (long) (string_1246X);
  15627. *((long *) ((((char *) (-3 + x_2147X))) + 4)) = (long) (b_2145X);
  15628. if ((3 == (3 & x_2147X))) {
  15629. arg0K0 = (-4 & x_2147X);
  15630. goto L26976;}
  15631. else {
  15632. arg0K0 = x_2147X;
  15633. goto L26976;}}
  15634. L42368: {
  15635. val_2148X = arg0K0;
  15636. SvalS = val_2148X;
  15637. Scode_pointerS = ((Scode_pointerS) + 1);
  15638. arg2K0 = (Scode_pointerS);
  15639. goto L31612;}
  15640. L26985: {
  15641. link_2149X = *((long *) ((((char *) (-3 + foo_2002X))) + 4));
  15642. if ((0 == (3 & link_2149X))) {
  15643. arg0K0 = (3 + (-4 & link_2149X));
  15644. goto L26965;}
  15645. else {
  15646. arg0K0 = link_2149X;
  15647. goto L26965;}}
  15648. L46598: {
  15649. if ((1 == (*((Svm_channelsS) + index_2005X)))) {
  15650. channel_2150X = make_channel((((mode_1260X)<<2)), arg3_1258X, (((index_2005X)<<2)), close_silentlyP_1261X, 1, 1, 1, 0);
  15651. *((Svm_channelsS) + index_2005X) = channel_2150X;
  15652. arg0K0 = channel_2150X;
  15653. arg0K1 = 9;
  15654. goto L46487;}
  15655. else {
  15656. arg0K0 = 1;
  15657. arg0K1 = 11;
  15658. goto L46487;}}
  15659. L46487: {
  15660. channel_2151X = arg0K0;
  15661. reason_2152X = arg0K1;
  15662. if ((1 == channel_2151X)) {
  15663. if ((3 == (3 & arg4_1259X))) {
  15664. if ((17 == (31 & ((((*((long *) ((((char *) (-3 + arg4_1259X))) + -4))))>>2))))) {
  15665. if ((1 == mode_1260X)) {
  15666. goto L46632;}
  15667. else {
  15668. if ((3 == mode_1260X)) {
  15669. goto L46632;}
  15670. else {
  15671. v_2153X = ps_close_fd(index_2005X);
  15672. arg0K0 = v_2153X;
  15673. goto L46627;}}}
  15674. else {push_exception_setupB(reason_2152X, 1);
  15675. SstackS = ((SstackS) + -4);
  15676. *((long *) (SstackS)) = (long) (arg4_1259X);
  15677. SstackS = ((SstackS) + -4);
  15678. *((long *) (SstackS)) = (long) ((((mode_1260X)<<2)));
  15679. arg0K0 = 2;
  15680. goto L29309;}}
  15681. else {push_exception_setupB(reason_2152X, 1);
  15682. SstackS = ((SstackS) + -4);
  15683. *((long *) (SstackS)) = (long) (arg4_1259X);
  15684. SstackS = ((SstackS) + -4);
  15685. *((long *) (SstackS)) = (long) ((((mode_1260X)<<2)));
  15686. arg0K0 = 2;
  15687. goto L29309;}}
  15688. else {
  15689. SvalS = channel_2151X;
  15690. Scode_pointerS = ((Scode_pointerS) + 1);
  15691. arg2K0 = (Scode_pointerS);
  15692. goto L31612;}}
  15693. L47000: {
  15694. push_exception_setupB(5, 1);
  15695. SstackS = ((SstackS) + -4);
  15696. *((long *) (SstackS)) = (long) (arg5_1270X);
  15697. SstackS = ((SstackS) + -4);
  15698. *((long *) (SstackS)) = (long) (arg4_1269X);
  15699. SstackS = ((SstackS) + -4);
  15700. *((long *) (SstackS)) = (long) ((((start_2013X)<<2)));
  15701. SstackS = ((SstackS) + -4);
  15702. *((long *) (SstackS)) = (long) ((((count_2014X)<<2)));
  15703. if (waitP_2012X) {
  15704. arg0K0 = 5;
  15705. goto L47016;}
  15706. else {
  15707. arg0K0 = 1;
  15708. goto L47016;}}
  15709. L46999: {
  15710. val_2154X = arg0K0;
  15711. SvalS = val_2154X;
  15712. Scode_pointerS = ((Scode_pointerS) + 1);
  15713. arg2K0 = (Scode_pointerS);
  15714. goto L31612;}
  15715. L47556: {
  15716. x_2155X = Scurrent_threadS;
  15717. addr_2156X = (((char *) (-3 + x_2155X))) + 12;S48_WRITE_BARRIER(x_2155X, addr_2156X, proposal_1301X);
  15718. *((long *) addr_2156X) = (long) (proposal_1301X);
  15719. SvalS = 13;
  15720. Scode_pointerS = ((Scode_pointerS) + 1);
  15721. arg2K0 = (Scode_pointerS);
  15722. goto L31612;}
  15723. L47907: {
  15724. copies_2157X = arg0K0;
  15725. if ((1 == copies_2157X)) {
  15726. log_2158X = *((long *) ((((char *) (-3 + proposal_1302X))) + 4));
  15727. arg0K0 = 0;
  15728. goto L12285;}
  15729. else {
  15730. thing_2159X = *((long *) ((((char *) (-3 + copies_2157X))) + 8));
  15731. if ((3 == (3 & thing_2159X))) {
  15732. if ((0 == (128 & (*((long *) ((((char *) (-3 + thing_2159X))) + -4)))))) {
  15733. arg0K0 = (*((long *) ((((char *) (-3 + copies_2157X))) + 20)));
  15734. goto L47907;}
  15735. else {
  15736. goto L47807;}}
  15737. else {
  15738. goto L47807;}}}
  15739. L13547: {
  15740. arg0K0 = (4 + i_2028X);
  15741. goto L13495;}
  15742. L12935: {
  15743. entry_2160X = arg0K0;
  15744. proposal_2161X = *((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12));
  15745. value_2162X = Stemp0S;
  15746. Stemp0S = 1;
  15747. addr_2163X = ((char *) (-3 + entry_2160X));S48_WRITE_BARRIER(entry_2160X, addr_2163X, value_2162X);
  15748. *((long *) addr_2163X) = (long) (value_2162X);
  15749. addr_2164X = (((char *) (-3 + entry_2160X))) + 4;S48_WRITE_BARRIER(entry_2160X, addr_2164X, from_index_1782X);
  15750. *((long *) addr_2164X) = (long) (from_index_1782X);
  15751. value_2165X = Stemp1S;
  15752. Stemp1S = 1;
  15753. addr_2166X = (((char *) (-3 + entry_2160X))) + 8;S48_WRITE_BARRIER(entry_2160X, addr_2166X, value_2165X);
  15754. *((long *) addr_2166X) = (long) (value_2165X);
  15755. addr_2167X = (((char *) (-3 + entry_2160X))) + 12;S48_WRITE_BARRIER(entry_2160X, addr_2167X, to_index_1783X);
  15756. *((long *) addr_2167X) = (long) (to_index_1783X);
  15757. addr_2168X = (((char *) (-3 + entry_2160X))) + 16;S48_WRITE_BARRIER(entry_2160X, addr_2168X, count_1784X);
  15758. *((long *) addr_2168X) = (long) (count_1784X);
  15759. value_2169X = *((long *) ((((char *) (-3 + proposal_2161X))) + 12));
  15760. addr_2170X = (((char *) (-3 + entry_2160X))) + 20;S48_WRITE_BARRIER(entry_2160X, addr_2170X, value_2169X);
  15761. *((long *) addr_2170X) = (long) (value_2169X);
  15762. addr_2171X = (((char *) (-3 + proposal_2161X))) + 12;S48_WRITE_BARRIER(proposal_2161X, addr_2171X, entry_2160X);
  15763. *((long *) addr_2171X) = (long) (entry_2160X);
  15764. SvalS = 13;
  15765. Scode_pointerS = ((Scode_pointerS) + 2);
  15766. arg2K0 = (Scode_pointerS);
  15767. goto L31612;}
  15768. L55901: {
  15769. SvalS = 13;
  15770. Scode_pointerS = ((Scode_pointerS) + 1);
  15771. arg2K0 = (Scode_pointerS);
  15772. goto L31612;}
  15773. L26463: {
  15774. bucket_2172X = arg0K0;
  15775. arg0K0 = 1;
  15776. arg0K1 = bucket_2172X;
  15777. goto L26470;}
  15778. L48431: {
  15779. bits_2173X = arg0K0;
  15780. j_2174X = arg0K1;
  15781. shifted_2175X = arg0K2;
  15782. if ((j_2174X < 4)) {
  15783. *((unsigned char *) ((((char *) (-3 + obj_1830X))) + ((((i_2044X)<<2)) + j_2174X))) = (unsigned char) ((255 & shifted_2175X));
  15784. arg0K0 = (8 + bits_2173X);
  15785. arg0K1 = (1 + j_2174X);
  15786. arg0K2 = ((long)(((unsigned long)shifted_2175X)>>8));
  15787. goto L48431;}
  15788. else {
  15789. arg0K0 = (*((long *) ((((char *) (-3 + l_2043X))) + 4)));
  15790. arg0K1 = (-1 + i_2044X);
  15791. goto L48360;}}
  15792. L38740: {
  15793. addr_2176X = (((char *) (-3 + port_1863X))) + 36;S48_WRITE_BARRIER(port_1863X, addr_2176X, 1);
  15794. *((long *) addr_2176X) = (long) (1);
  15795. val_2177X = (((i_2048X + count_2058X))<<2);
  15796. addr_2178X = (((char *) (-3 + port_1863X))) + 28;S48_WRITE_BARRIER(port_1863X, addr_2178X, val_2177X);
  15797. *((long *) addr_2178X) = (long) (val_2177X);
  15798. SvalS = (9 + (((value_2057X)<<8)));
  15799. Scode_pointerS = ((Scode_pointerS) + 2);
  15800. arg2K0 = (Scode_pointerS);
  15801. goto L31612;}
  15802. L22826: {
  15803. if ((3 == (3 & thing_1885X))) {
  15804. if ((1 == (31 & ((((*((long *) ((((char *) (-3 + thing_1885X))) + -4))))>>2))))) {write_vm_string((*((long *) (((char *) (-3 + thing_1885X))))), out_1510X);
  15805. goto L50584;}
  15806. else {
  15807. goto L22832;}}
  15808. else {
  15809. goto L22832;}}
  15810. L28372: {
  15811. Senabled_interruptsS = 0;
  15812. if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
  15813. s48_Sstack_limitS = (Sreal_stack_limitS);
  15814. if ((s48_Spending_eventsPS)) {
  15815. s48_Sstack_limitS = (((char *) -1));
  15816. goto L28374;}
  15817. else {
  15818. goto L28374;}}
  15819. else {
  15820. s48_Sstack_limitS = (((char *) -1));
  15821. goto L28374;}}
  15822. L28411: {
  15823. ps_error("interrupt handler is not a closure", 1, i_1511X);
  15824. goto L28372;}
  15825. L15194: {
  15826. n_2179X = Senabled_interruptsS;
  15827. SstackS = ((SstackS) + -4);
  15828. *((long *) (SstackS)) = (long) ((((n_2179X)<<2)));
  15829. arg0K0 = 2;
  15830. goto L28341;}
  15831. L9497: {
  15832. count_2180X = arg0K0;
  15833. i_2181X = arg0K1;
  15834. offset_2182X = arg0K2;
  15835. if ((0 == count_2180X)) {
  15836. arg0K0 = i_2181X;
  15837. arg0K1 = offset_2182X;
  15838. goto L9480;}
  15839. else {
  15840. value_2183X = *((long *) ((((char *) (-3 + env_2091X))) + ((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_2182X)))))<<2))));
  15841. addr_2184X = (((char *) (-3 + new_env_1546X))) + (((i_2181X)<<2));S48_WRITE_BARRIER(new_env_1546X, addr_2184X, value_2183X);
  15842. *((long *) addr_2184X) = (long) (value_2183X);
  15843. arg0K0 = (-1 + count_2180X);
  15844. arg0K1 = (1 + i_2181X);
  15845. arg0K2 = (1 + offset_2182X);
  15846. goto L9497;}}
  15847. L10562: {
  15848. count_2185X = arg0K0;
  15849. i_2186X = arg0K1;
  15850. offset_2187X = arg0K2;
  15851. if ((0 == count_2185X)) {
  15852. arg0K0 = i_2186X;
  15853. arg0K1 = offset_2187X;
  15854. goto L10545;}
  15855. else {
  15856. value_2188X = *((long *) ((((char *) (-3 + env_2096X))) + ((((((((*((unsigned char *) ((Scode_pointerS) + (1 + offset_2187X)))))<<8)) + (*((unsigned char *) ((Scode_pointerS) + (2 + offset_2187X))))))<<2))));
  15857. addr_2189X = (((char *) (-3 + new_env_1555X))) + (((i_2186X)<<2));S48_WRITE_BARRIER(new_env_1555X, addr_2189X, value_2188X);
  15858. *((long *) addr_2189X) = (long) (value_2188X);
  15859. arg0K0 = (-1 + count_2185X);
  15860. arg0K1 = (1 + i_2186X);
  15861. arg0K2 = (2 + offset_2187X);
  15862. goto L10562;}}
  15863. L32957: {
  15864. Scode_pointerS = ((Scode_pointerS) + (1 + bytes_used_1923X));
  15865. arg2K0 = (Scode_pointerS);
  15866. goto L31612;}
  15867. L49963: {
  15868. if ((3 == (3 & n_1640X))) {
  15869. if ((11 == (31 & ((((*((long *) ((((char *) (-3 + n_1640X))) + -4))))>>2))))) {push_exception_setupB(5, 1);
  15870. SstackS = ((SstackS) + -4);
  15871. *((long *) (SstackS)) = (long) (n_1640X);
  15872. arg0K0 = 1;
  15873. goto L29309;}
  15874. else {
  15875. goto L49967;}}
  15876. else {
  15877. goto L49967;}}
  15878. L61913: {
  15879. v_2190X = (char *) s48_long_to_bignum(c_1939X);
  15880. v_2191X = enter_bignum(v_2190X);
  15881. arg0K0 = v_2191X;
  15882. goto L61908;}
  15883. L61908: {
  15884. val_2192X = arg0K0;
  15885. SvalS = val_2192X;
  15886. Scode_pointerS = ((Scode_pointerS) + 1);
  15887. arg2K0 = (Scode_pointerS);
  15888. goto L31612;}
  15889. L11658: {
  15890. x_2193X = 0 - c_1939X;s48_make_availableAgc(16);
  15891. if ((536870911 < x_2193X)) {
  15892. goto L61891;}
  15893. else {
  15894. if ((x_2193X < -536870912)) {
  15895. goto L61891;}
  15896. else {
  15897. arg0K0 = (((x_2193X)<<2));
  15898. goto L61886;}}}
  15899. L61935: {
  15900. v_2194X = (char *) s48_long_to_bignum(c_1939X);
  15901. v_2195X = enter_bignum(v_2194X);
  15902. arg0K0 = v_2195X;
  15903. goto L61930;}
  15904. L61930: {
  15905. val_2196X = arg0K0;
  15906. SvalS = val_2196X;
  15907. Scode_pointerS = ((Scode_pointerS) + 1);
  15908. arg2K0 = (Scode_pointerS);
  15909. goto L31612;}
  15910. L61994: {
  15911. v_2197X = (char *) s48_long_to_bignum(x_2117X);
  15912. v_2198X = enter_bignum(v_2197X);
  15913. arg0K0 = v_2198X;
  15914. goto L61989;}
  15915. L61989: {
  15916. val_2199X = arg0K0;
  15917. SvalS = val_2199X;
  15918. Scode_pointerS = ((Scode_pointerS) + 1);
  15919. arg2K0 = (Scode_pointerS);
  15920. goto L31612;}
  15921. L20170: {
  15922. extra1_2200X = arg0K0;
  15923. Stemp0S = arg2_1090X;
  15924. Stemp1S = y_1091X;s48_make_availableAgc(((((((6 + (-2 & ((((7 + (((length0_2121X)<<2))))>>1)))) + extra0_2122X) + extra1_2200X))<<2)));
  15925. value_2201X = Stemp0S;
  15926. Stemp0S = 1;
  15927. if ((0 == (3 & value_2201X))) {
  15928. v_2202X = (char *) s48_long_to_bignum((((value_2201X)>>2)));
  15929. arg2K0 = v_2202X;
  15930. goto L23507;}
  15931. else {
  15932. arg2K0 = (((char *) (-3 + value_2201X)));
  15933. goto L23507;}}
  15934. L23673: {
  15935. external_bignum_2203X = arg2K0;
  15936. v_2204X = s48_bignum_fits_in_word_p(external_bignum_2203X, 30, 1);
  15937. if (v_2204X) {
  15938. n_2205X = s48_bignum_to_long(external_bignum_2203X);
  15939. arg0K0 = (((n_2205X)<<2));
  15940. goto L52295;}
  15941. else {
  15942. val_2206X = enter_bignum(external_bignum_2203X);
  15943. arg0K0 = val_2206X;
  15944. goto L52295;}}
  15945. L52357: {
  15946. val_2207X = arg0K0;
  15947. SvalS = val_2207X;
  15948. Scode_pointerS = ((Scode_pointerS) + 1);
  15949. arg2K0 = (Scode_pointerS);
  15950. goto L31612;}
  15951. L26976: {
  15952. value_2208X = arg0K0;
  15953. addr_2209X = (((char *) (-3 + table_1245X))) + (((index_1248X)<<2));S48_WRITE_BARRIER(table_1245X, addr_2209X, value_2208X);
  15954. *((long *) addr_2209X) = (long) (value_2208X);
  15955. arg0K0 = x_2147X;
  15956. goto L42368;}
  15957. L46632: {
  15958. v_2210X = ps_close_fd(index_2005X);
  15959. arg0K0 = v_2210X;
  15960. goto L46627;}
  15961. L46627: {
  15962. status_2211X = arg0K0;
  15963. if ((status_2211X == NO_ERRORS)) {push_exception_setupB(reason_2152X, 1);
  15964. SstackS = ((SstackS) + -4);
  15965. *((long *) (SstackS)) = (long) (arg4_1259X);
  15966. SstackS = ((SstackS) + -4);
  15967. *((long *) (SstackS)) = (long) ((((mode_1260X)<<2)));
  15968. arg0K0 = 2;
  15969. goto L29309;}
  15970. else {channel_close_error(status_2211X, index_2005X, arg4_1259X);push_exception_setupB(reason_2152X, 1);
  15971. SstackS = ((SstackS) + -4);
  15972. *((long *) (SstackS)) = (long) (arg4_1259X);
  15973. SstackS = ((SstackS) + -4);
  15974. *((long *) (SstackS)) = (long) ((((mode_1260X)<<2)));
  15975. arg0K0 = 2;
  15976. goto L29309;}}
  15977. L47016: {
  15978. x_2212X = arg0K0;
  15979. SstackS = ((SstackS) + -4);
  15980. *((long *) (SstackS)) = (long) (x_2212X);
  15981. arg0K0 = 5;
  15982. goto L29309;}
  15983. L12285: {
  15984. i_2213X = arg0K0;
  15985. stob_2214X = *((long *) ((((char *) (-3 + log_2158X))) + (((i_2213X)<<2))));
  15986. if ((1 == stob_2214X)) {
  15987. log_2215X = *((long *) ((((char *) (-3 + proposal_1302X))) + 8));
  15988. arg0K0 = 0;
  15989. goto L15974;}
  15990. else {
  15991. value_2216X = *((long *) ((((char *) (-3 + log_2158X))) + (8 + (((i_2213X)<<2)))));
  15992. verify_2217X = *((long *) ((((char *) (-3 + log_2158X))) + (12 + (((i_2213X)<<2)))));
  15993. if ((verify_2217X == value_2216X)) {
  15994. goto L12317;}
  15995. else {
  15996. addr_2218X = (((char *) (-3 + stob_2214X))) + (-4 & (*((long *) ((((char *) (-3 + log_2158X))) + (4 + (((i_2213X)<<2)))))));S48_WRITE_BARRIER(stob_2214X, addr_2218X, value_2216X);
  15997. *((long *) addr_2218X) = (long) (value_2216X);
  15998. goto L12317;}}}
  15999. L26470: {
  16000. previous_foo_2219X = arg0K0;
  16001. foo_2220X = arg0K1;
  16002. if ((1 == foo_2220X)) {
  16003. goto L40619;}
  16004. else {
  16005. s2_2221X = *((long *) (((char *) (-3 + foo_2220X))));
  16006. len_2222X = (long)(((unsigned long)(*((long *) ((((char *) (-3 + arg2_1401X))) + -4))))>>8);
  16007. if ((len_2222X == ((long)(((unsigned long)(*((long *) ((((char *) (-3 + s2_2221X))) + -4))))>>8)))) {
  16008. if (((!memcmp((void *)(((char *) (-3 + s2_2221X))), (void *)(((char *) (-3 + arg2_1401X))),len_2222X)))) {
  16009. if ((1 == previous_foo_2219X)) {
  16010. value_2223X = *((long *) ((((char *) (-3 + foo_2220X))) + 12));
  16011. addr_2224X = (((char *) (-3 + table_2039X))) + (((index_2041X)<<2));S48_WRITE_BARRIER(table_2039X, addr_2224X, value_2223X);
  16012. *((long *) addr_2224X) = (long) (value_2223X);
  16013. goto L40619;}
  16014. else {
  16015. val_2225X = *((long *) ((((char *) (-3 + foo_2220X))) + 12));
  16016. addr_2226X = (((char *) (-3 + previous_foo_2219X))) + 12;S48_WRITE_BARRIER(previous_foo_2219X, addr_2226X, val_2225X);
  16017. *((long *) addr_2226X) = (long) (val_2225X);
  16018. goto L40619;}}
  16019. else {
  16020. goto L26529;}}
  16021. else {
  16022. goto L26529;}}}
  16023. L22832: {
  16024. if ((1 == thing_1885X)) {
  16025. goto L22837;}
  16026. else {
  16027. if ((5 == thing_1885X)) {
  16028. goto L22837;}
  16029. else {
  16030. if ((25 == thing_1885X)) {
  16031. arg4K0 = "()";
  16032. goto L22876;}
  16033. else {
  16034. if ((3 == (3 & thing_1885X))) {
  16035. if ((0 == (31 & ((((*((long *) ((((char *) (-3 + thing_1885X))) + -4))))>>2))))) {
  16036. arg4K0 = "(...)";
  16037. goto L22876;}
  16038. else {
  16039. goto L22850;}}
  16040. else {
  16041. goto L22850;}}}}}
  16042. L28374: {
  16043. arg0K0 = arg_count_1888X;
  16044. arg0K1 = 25;
  16045. arg0K2 = 0;
  16046. arg0K3 = (-2 - i_1511X);
  16047. goto L59362;}
  16048. L49967: {
  16049. SvalS = 1;
  16050. Scode_pointerS = ((Scode_pointerS) + 1);
  16051. arg2K0 = (Scode_pointerS);
  16052. goto L31612;}
  16053. L61891: {
  16054. v_2227X = (char *) s48_long_to_bignum(x_2193X);
  16055. v_2228X = enter_bignum(v_2227X);
  16056. arg0K0 = v_2228X;
  16057. goto L61886;}
  16058. L61886: {
  16059. val_2229X = arg0K0;
  16060. SvalS = val_2229X;
  16061. Scode_pointerS = ((Scode_pointerS) + 1);
  16062. arg2K0 = (Scode_pointerS);
  16063. goto L31612;}
  16064. L23507: {
  16065. x_2230X = arg2K0;
  16066. value_2231X = Stemp1S;
  16067. Stemp1S = 1;
  16068. if ((0 == (3 & value_2231X))) {
  16069. v_2232X = (char *) s48_long_to_bignum((((value_2231X)>>2)));
  16070. arg2K0 = v_2232X;
  16071. goto L23511;}
  16072. else {
  16073. arg2K0 = (((char *) (-3 + value_2231X)));
  16074. goto L23511;}}
  16075. L52295: {
  16076. val_2233X = arg0K0;
  16077. SvalS = val_2233X;
  16078. Scode_pointerS = ((Scode_pointerS) + 1);
  16079. arg2K0 = (Scode_pointerS);
  16080. goto L31612;}
  16081. L15974: {
  16082. i_2234X = arg0K0;
  16083. stob_2235X = *((long *) ((((char *) (-3 + log_2215X))) + (((i_2234X)<<2))));
  16084. if ((1 == stob_2235X)) {
  16085. copies_2236X = *((long *) ((((char *) (-3 + proposal_1302X))) + 12));
  16086. arg0K0 = copies_2236X;
  16087. goto L15889;}
  16088. else {
  16089. value_2237X = *((long *) ((((char *) (-3 + log_2215X))) + (8 + (((i_2234X)<<2)))));
  16090. verify_2238X = *((long *) ((((char *) (-3 + log_2215X))) + (12 + (((i_2234X)<<2)))));
  16091. if ((verify_2238X == value_2237X)) {
  16092. goto L16006;}
  16093. else {
  16094. *((unsigned char *) ((((char *) (-3 + stob_2235X))) + ((((*((long *) ((((char *) (-3 + log_2215X))) + (4 + (((i_2234X)<<2)))))))>>2)))) = (unsigned char) ((((value_2237X)>>2)));
  16095. goto L16006;}}}
  16096. L12317: {
  16097. arg0K0 = (4 + i_2213X);
  16098. goto L12285;}
  16099. L40619: {
  16100. Scode_pointerS = ((Scode_pointerS) + 1);
  16101. arg2K0 = (Scode_pointerS);
  16102. goto L31612;}
  16103. L26529: {
  16104. link_2239X = *((long *) ((((char *) (-3 + foo_2220X))) + 12));
  16105. if ((0 == (3 & link_2239X))) {
  16106. arg0K0 = foo_2220X;
  16107. arg0K1 = (3 + (-4 & link_2239X));
  16108. goto L26470;}
  16109. else {
  16110. arg0K0 = foo_2220X;
  16111. arg0K1 = link_2239X;
  16112. goto L26470;}}
  16113. L22837: {
  16114. if ((1 == thing_1885X)) {
  16115. arg4K0 = "#f";
  16116. goto L22876;}
  16117. else {
  16118. arg4K0 = "#t";
  16119. goto L22876;}}
  16120. L22876: {
  16121. v_2240X = arg4K0;
  16122. ps_write_string(v_2240X, out_1510X);
  16123. goto L50584;}
  16124. L22850: {
  16125. if ((3 == (3 & thing_1885X))) {
  16126. if ((2 == (31 & ((((*((long *) ((((char *) (-3 + thing_1885X))) + -4))))>>2))))) {
  16127. arg4K0 = "#(...)";
  16128. goto L22876;}
  16129. else {
  16130. goto L22854;}}
  16131. else {
  16132. goto L22854;}}
  16133. L23511: {
  16134. y_2241X = arg2K0;
  16135. div_by_zeroP_2242X = s48_bignum_divide(x_2230X, y_2241X, &quot_2243X, &rem_2244X);
  16136. if (div_by_zeroP_2242X) {
  16137. v_2245X = s48_bignum_fits_in_word_p(y_2241X, 30, 1);
  16138. if (v_2245X) {
  16139. n_2246X = s48_bignum_to_long(y_2241X);
  16140. arg0K0 = (((n_2246X)<<2));
  16141. goto L23533;}
  16142. else {
  16143. v_2247X = enter_bignum(y_2241X);
  16144. arg0K0 = v_2247X;
  16145. goto L23533;}}
  16146. else {
  16147. v_2248X = s48_bignum_fits_in_word_p(y_2241X, 30, 1);
  16148. if (v_2248X) {
  16149. n_2249X = s48_bignum_to_long(y_2241X);
  16150. arg0K0 = (((n_2249X)<<2));
  16151. goto L23542;}
  16152. else {
  16153. v_2250X = enter_bignum(y_2241X);
  16154. arg0K0 = v_2250X;
  16155. goto L23542;}}}
  16156. L15889: {
  16157. copies_2251X = arg0K0;
  16158. if ((1 == copies_2251X)) {
  16159. value_2252X = Sempty_logS;
  16160. addr_2253X = (((char *) (-3 + proposal_1302X))) + 4;S48_WRITE_BARRIER(proposal_1302X, addr_2253X, value_2252X);
  16161. *((long *) addr_2253X) = (long) (value_2252X);
  16162. value_2254X = Sempty_logS;
  16163. addr_2255X = (((char *) (-3 + proposal_1302X))) + 8;S48_WRITE_BARRIER(proposal_1302X, addr_2255X, value_2254X);
  16164. *((long *) addr_2255X) = (long) (value_2254X);
  16165. addr_2256X = (((char *) (-3 + proposal_1302X))) + 12;S48_WRITE_BARRIER(proposal_1302X, addr_2256X, 1);
  16166. *((long *) addr_2256X) = (long) (1);RELEASE_PROPOSAL_LOCK();
  16167. x_2257X = Scurrent_threadS;
  16168. addr_2258X = (((char *) (-3 + x_2257X))) + 12;S48_WRITE_BARRIER(x_2257X, addr_2258X, 1);
  16169. *((long *) addr_2258X) = (long) (1);
  16170. SvalS = 5;
  16171. Scode_pointerS = ((Scode_pointerS) + 1);
  16172. arg2K0 = (Scode_pointerS);
  16173. goto L31612;}
  16174. else {
  16175. stob_2259X = *((long *) ((((char *) (-3 + copies_2251X))) + 8));
  16176. v_2260X = (((*((long *) ((((char *) (-3 + copies_2251X))) + 12))))>>2);
  16177. stob_2261X = *((long *) (((char *) (-3 + copies_2251X))));
  16178. v_2262X = (((*((long *) ((((char *) (-3 + copies_2251X))) + 4))))>>2);
  16179. v_2263X = (((*((long *) ((((char *) (-3 + copies_2251X))) + 16))))>>2);
  16180. memmove((void *)((((char *) (-3 + stob_2259X))) + v_2260X), (void *)((((char *) (-3 + stob_2261X))) + v_2262X),v_2263X);
  16181. arg0K0 = (*((long *) ((((char *) (-3 + copies_2251X))) + 20)));
  16182. goto L15889;}}
  16183. L16006: {
  16184. arg0K0 = (4 + i_2234X);
  16185. goto L15974;}
  16186. L22854: {
  16187. if ((3 == (3 & thing_1885X))) {
  16188. if ((3 == (31 & ((((*((long *) ((((char *) (-3 + thing_1885X))) + -4))))>>2))))) {
  16189. arg4K0 = "#{procedure}";
  16190. goto L22876;}
  16191. else {
  16192. goto L22858;}}
  16193. else {
  16194. goto L22858;}}
  16195. L23533: {
  16196. v_2264X = arg0K0;
  16197. v_2265X = s48_bignum_fits_in_word_p(x_2230X, 30, 1);
  16198. if (v_2265X) {
  16199. n_2266X = s48_bignum_to_long(x_2230X);
  16200. arg3K0 = 1;
  16201. arg0K1 = 0;
  16202. arg0K2 = 0;
  16203. arg0K3 = (((n_2266X)<<2));
  16204. arg0K4 = v_2264X;
  16205. goto L51968;}
  16206. else {
  16207. v_2267X = enter_bignum(x_2230X);
  16208. arg3K0 = 1;
  16209. arg0K1 = 0;
  16210. arg0K2 = 0;
  16211. arg0K3 = v_2267X;
  16212. arg0K4 = v_2264X;
  16213. goto L51968;}}
  16214. L23542: {
  16215. v_2268X = arg0K0;
  16216. v_2269X = s48_bignum_fits_in_word_p(rem_2244X, 30, 1);
  16217. if (v_2269X) {
  16218. n_2270X = s48_bignum_to_long(rem_2244X);
  16219. arg0K0 = (((n_2270X)<<2));
  16220. goto L23538;}
  16221. else {
  16222. v_2271X = enter_bignum(rem_2244X);
  16223. arg0K0 = v_2271X;
  16224. goto L23538;}}
  16225. L22858: {
  16226. if ((3 == (3 & thing_1885X))) {
  16227. if ((12 == (31 & ((((*((long *) ((((char *) (-3 + thing_1885X))) + -4))))>>2))))) {
  16228. arg4K0 = "#{template}";
  16229. goto L22876;}
  16230. else {
  16231. goto L22862;}}
  16232. else {
  16233. goto L22862;}}
  16234. L51968: {
  16235. div_by_zeroP_2272X = arg3K0;
  16236. quot_2273X = arg0K1;
  16237. rem_2274X = arg0K2;
  16238. x_2275X = arg0K3;
  16239. y_2276X = arg0K4;
  16240. if (div_by_zeroP_2272X) {
  16241. goto L51991;}
  16242. else {
  16243. if ((0 == (3 & rem_2274X))) {
  16244. if ((0 == rem_2274X)) {
  16245. SvalS = quot_2273X;
  16246. Scode_pointerS = ((Scode_pointerS) + 1);
  16247. arg2K0 = (Scode_pointerS);
  16248. goto L31612;}
  16249. else {
  16250. goto L51991;}}
  16251. else {
  16252. goto L51991;}}}
  16253. L23538: {
  16254. v_2277X = arg0K0;
  16255. v_2278X = s48_bignum_fits_in_word_p(quot_2243X, 30, 1);
  16256. if (v_2278X) {
  16257. n_2279X = s48_bignum_to_long(quot_2243X);
  16258. arg0K0 = (((n_2279X)<<2));
  16259. goto L23536;}
  16260. else {
  16261. v_2280X = enter_bignum(quot_2243X);
  16262. arg0K0 = v_2280X;
  16263. goto L23536;}}
  16264. L22862: {
  16265. if ((3 == (3 & thing_1885X))) {
  16266. if ((4 == (31 & ((((*((long *) ((((char *) (-3 + thing_1885X))) + -4))))>>2))))) {
  16267. arg4K0 = "#{location}";
  16268. goto L22876;}
  16269. else {
  16270. goto L22866;}}
  16271. else {
  16272. goto L22866;}}
  16273. L51991: {
  16274. push_exception_setupB(5, 1);
  16275. SstackS = ((SstackS) + -4);
  16276. *((long *) (SstackS)) = (long) (x_2275X);
  16277. SstackS = ((SstackS) + -4);
  16278. *((long *) (SstackS)) = (long) (y_2276X);
  16279. arg0K0 = 2;
  16280. goto L29309;}
  16281. L23536: {
  16282. v_2281X = arg0K0;
  16283. v_2282X = s48_bignum_fits_in_word_p(x_2230X, 30, 1);
  16284. if (v_2282X) {
  16285. n_2283X = s48_bignum_to_long(x_2230X);
  16286. arg3K0 = 0;
  16287. arg0K1 = v_2281X;
  16288. arg0K2 = v_2277X;
  16289. arg0K3 = (((n_2283X)<<2));
  16290. arg0K4 = v_2268X;
  16291. goto L51968;}
  16292. else {
  16293. v_2284X = enter_bignum(x_2230X);
  16294. arg3K0 = 0;
  16295. arg0K1 = v_2281X;
  16296. arg0K2 = v_2277X;
  16297. arg0K3 = v_2284X;
  16298. arg0K4 = v_2268X;
  16299. goto L51968;}}
  16300. L22866: {
  16301. if ((3 == (3 & thing_1885X))) {
  16302. if ((17 == (31 & ((((*((long *) ((((char *) (-3 + thing_1885X))) + -4))))>>2))))) {
  16303. arg4K0 = "#{code-vector}";
  16304. goto L22876;}
  16305. else {
  16306. goto L22870;}}
  16307. else {
  16308. goto L22870;}}
  16309. L22870: {
  16310. if ((3 == (3 & thing_1885X))) {
  16311. if ((10 == (31 & ((((*((long *) ((((char *) (-3 + thing_1885X))) + -4))))>>2))))) {
  16312. arg4K0 = "#{continuation}";
  16313. goto L22876;}
  16314. else {
  16315. arg4K0 = "???";
  16316. goto L22876;}}
  16317. else {
  16318. arg4K0 = "???";
  16319. goto L22876;}}
  16320. loseD0: {
  16321. message_884X = merged_arg4K0;{
  16322. ps_write_string("Template UIDs: ", (stderr));
  16323. current_code_2285X = current_code_vector();
  16324. out_2286X = stderr;
  16325. merged_arg2K0 = (SstackS);
  16326. merged_arg0K1 = (((((ScontS) - (SstackS)))>>2));
  16327. merged_arg0K2 = current_code_2285X;
  16328. find_template_return_tag = 0;
  16329. goto find_template;
  16330. find_template_return_0:
  16331. template_2287X = find_template0_return_value;
  16332. merged_arg0K0 = template_2287X;
  16333. merged_arg3K1 = 0;
  16334. merged_arg5K2 = out_2286X;
  16335. maybe_write_template_return_tag = 0;
  16336. goto maybe_write_template;
  16337. maybe_write_template_return_0:
  16338. not_firstP_2288X = maybe_write_template0_return_value;
  16339. arg2K0 = (ScontS);
  16340. arg3K1 = not_firstP_2288X;
  16341. goto L26415;}
  16342. L26415: {
  16343. cont_2289X = arg2K0;
  16344. not_firstP_2290X = arg3K1;
  16345. if ((cont_2289X == (Sbottom_of_stackS))) {
  16346. cont_2291X = Sheap_continuationS;
  16347. arg0K0 = cont_2291X;
  16348. arg3K1 = not_firstP_2290X;
  16349. goto L25703;}
  16350. else {
  16351. code_pointer_2292X = ((char *) (*((long *) cont_2289X)));
  16352. pointer_2293X = code_pointer_2292X + -5;
  16353. v_2294X = 3 + (((long) (code_pointer_2292X + (0 - (((((*((unsigned char *) pointer_2293X)))<<8)) + (*((unsigned char *) (pointer_2293X + 1))))))));
  16354. pointer_2295X = (((char *) (*((long *) cont_2289X)))) + -2;
  16355. size_2296X = ((((*((unsigned char *) pointer_2295X)))<<8)) + (*((unsigned char *) (pointer_2295X + 1)));
  16356. if ((65535 == size_2296X)) {
  16357. arg0K0 = ((((*((long *) (cont_2289X + 4))))>>2));
  16358. goto L20951;}
  16359. else {
  16360. arg0K0 = size_2296X;
  16361. goto L20951;}}}
  16362. L25703: {
  16363. cont_2297X = arg0K0;
  16364. not_firstP_2298X = arg3K1;
  16365. if ((3 == (3 & cont_2297X))) {
  16366. if ((10 == (31 & ((((*((long *) ((((char *) (-3 + cont_2297X))) + -4))))>>2))))) {
  16367. merged_arg2K0 = (((char *) (-3 + cont_2297X)));
  16368. merged_arg0K1 = ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + cont_2297X))) + -4))))>>8))))>>2));
  16369. merged_arg0K2 = (*((long *) ((((char *) (-3 + cont_2297X))) + 4)));
  16370. find_template_return_tag = 1;
  16371. goto find_template;
  16372. find_template_return_1:
  16373. v_2299X = find_template0_return_value;
  16374. merged_arg0K0 = v_2299X;
  16375. merged_arg3K1 = not_firstP_2298X;
  16376. merged_arg5K2 = out_2286X;
  16377. maybe_write_template_return_tag = 1;
  16378. goto maybe_write_template;
  16379. maybe_write_template_return_1:
  16380. v_2300X = maybe_write_template0_return_value;
  16381. arg0K0 = (*((long *) ((((char *) (-3 + cont_2297X))) + 8)));
  16382. arg3K1 = v_2300X;
  16383. goto L25703;}
  16384. else {
  16385. goto L29407;}}
  16386. else {
  16387. goto L29407;}}
  16388. L20951: {
  16389. v_2301X = arg0K0;
  16390. merged_arg2K0 = (cont_2289X + 4);
  16391. merged_arg0K1 = v_2301X;
  16392. merged_arg0K2 = v_2294X;
  16393. find_template_return_tag = 2;
  16394. goto find_template;
  16395. find_template_return_2:
  16396. v_2302X = find_template0_return_value;
  16397. merged_arg0K0 = v_2302X;
  16398. merged_arg3K1 = not_firstP_2290X;
  16399. merged_arg5K2 = out_2286X;
  16400. maybe_write_template_return_tag = 2;
  16401. goto maybe_write_template;
  16402. maybe_write_template_return_2:
  16403. v_2303X = maybe_write_template0_return_value;
  16404. pointer_2304X = (((char *) (*((long *) cont_2289X)))) + -2;
  16405. size_2305X = ((((*((unsigned char *) pointer_2304X)))<<8)) + (*((unsigned char *) (pointer_2304X + 1)));
  16406. if ((65535 == size_2305X)) {
  16407. arg0K0 = ((((*((long *) (cont_2289X + 4))))>>2));
  16408. goto L26433;}
  16409. else {
  16410. arg0K0 = size_2305X;
  16411. goto L26433;}}
  16412. L29407: {
  16413. { long ignoreXX;
  16414. PS_WRITE_CHAR(10, (stderr), ignoreXX) }
  16415. why_2306X = (((*((long *) ((SstackS) + (((nargs_921X)<<2))))))>>2);
  16416. if ((why_2306X == 1)) {
  16417. if ((0 == (3 & (*((long *) (((char *) (-3 + (*((long *) ((SstackS) + (-4 + (((nargs_921X)<<2)))))))))))))) {
  16418. ps_error(message_884X, 3, opcode_922X, why_2306X, ((((*((long *) (((char *) (-3 + (*((long *) ((SstackS) + (-4 + (((nargs_921X)<<2))))))))))))>>2)));
  16419. goto loseD0_return;}
  16420. else {
  16421. goto L29354;}}
  16422. else {
  16423. goto L29354;}}
  16424. L26433: {
  16425. v_2307X = arg0K0;
  16426. arg2K0 = (cont_2289X + (4 + (((v_2307X)<<2))));
  16427. arg3K1 = v_2303X;
  16428. goto L26415;}
  16429. L29354: {
  16430. ps_error(message_884X, 2, opcode_922X, why_2306X);
  16431. goto loseD0_return;}
  16432. loseD0_return:
  16433. switch (loseD0_return_tag) {
  16434. case 0: goto loseD0_return_0;
  16435. default: goto loseD0_return_1;
  16436. }}
  16437. maybe_write_template: {
  16438. template_881X = merged_arg0K0;
  16439. not_firstP_882X = merged_arg3K1;
  16440. out_883X = merged_arg5K2;{
  16441. if (not_firstP_882X) {
  16442. ps_write_string(" <- ", out_883X);
  16443. goto L22549;}
  16444. else {
  16445. goto L22549;}}
  16446. L22549: {
  16447. if ((3 == (3 & template_881X))) {
  16448. if ((12 == (31 & ((((*((long *) ((((char *) (-3 + template_881X))) + -4))))>>2))))) {
  16449. name_2308X = *((long *) ((((char *) (-3 + template_881X))) + 8));
  16450. if ((0 == (3 & name_2308X))) {
  16451. ps_write_integer((((name_2308X)>>2)), out_883X);
  16452. maybe_write_template0_return_value = 1;
  16453. goto maybe_write_template_return;}
  16454. else {
  16455. if ((3 == (3 & name_2308X))) {
  16456. if ((9 == (31 & ((((*((long *) ((((char *) (-3 + name_2308X))) + -4))))>>2))))) {
  16457. obj_2309X = *((long *) ((((char *) (-3 + name_2308X))) + 8));
  16458. if ((3 == (3 & obj_2309X))) {
  16459. if ((16 == (31 & ((((*((long *) ((((char *) (-3 + obj_2309X))) + -4))))>>2))))) {write_vm_string((*((long *) ((((char *) (-3 + name_2308X))) + 8))), out_883X);
  16460. maybe_write_template0_return_value = 1;
  16461. goto maybe_write_template_return;}
  16462. else {
  16463. goto L22584;}}
  16464. else {
  16465. goto L22584;}}
  16466. else {
  16467. goto L22584;}}
  16468. else {
  16469. goto L22584;}}}
  16470. else {
  16471. goto L22607;}}
  16472. else {
  16473. goto L22607;}}
  16474. L22584: {
  16475. if ((3 == (3 & name_2308X))) {
  16476. if ((9 == (31 & ((((*((long *) ((((char *) (-3 + name_2308X))) + -4))))>>2))))) {
  16477. obj_2310X = *((long *) ((((char *) (-3 + name_2308X))) + 8));
  16478. if ((3 == (3 & obj_2310X))) {
  16479. if ((1 == (31 & ((((*((long *) ((((char *) (-3 + obj_2310X))) + -4))))>>2))))) {write_vm_string((*((long *) (((char *) (-3 + (*((long *) ((((char *) (-3 + name_2308X))) + 8)))))))), out_883X);
  16480. maybe_write_template0_return_value = 1;
  16481. goto maybe_write_template_return;}
  16482. else {
  16483. goto L22604;}}
  16484. else {
  16485. goto L22604;}}
  16486. else {
  16487. goto L22604;}}
  16488. else {
  16489. goto L22604;}}
  16490. L22607: {
  16491. ps_write_string(" ?? ", out_883X);
  16492. maybe_write_template0_return_value = 1;
  16493. goto maybe_write_template_return;}
  16494. L22604: {
  16495. ps_write_string("?", out_883X);
  16496. maybe_write_template0_return_value = 1;
  16497. goto maybe_write_template_return;}
  16498. maybe_write_template_return:
  16499. switch (maybe_write_template_return_tag) {
  16500. case 0: goto maybe_write_template_return_0;
  16501. case 1: goto maybe_write_template_return_1;
  16502. default: goto maybe_write_template_return_2;
  16503. }}
  16504. find_template: {
  16505. start_878X = merged_arg2K0;
  16506. count_879X = merged_arg0K1;
  16507. code_vector_880X = merged_arg0K2;{
  16508. arg0K0 = 0;
  16509. goto L18009;}
  16510. L18009: {
  16511. i_2311X = arg0K0;
  16512. if ((i_2311X == count_879X)) {
  16513. find_template0_return_value = 1;
  16514. goto find_template_return;}
  16515. else {
  16516. next_2312X = *((long *) (start_878X + (((i_2311X)<<2))));
  16517. if ((3 == (3 & next_2312X))) {
  16518. if ((12 == (31 & ((((*((long *) ((((char *) (-3 + next_2312X))) + -4))))>>2))))) {
  16519. if (((*((long *) (((char *) (-3 + next_2312X))))) == code_vector_880X)) {
  16520. find_template0_return_value = next_2312X;
  16521. goto find_template_return;}
  16522. else {
  16523. goto L18031;}}
  16524. else {
  16525. goto L18031;}}
  16526. else {
  16527. goto L18031;}}}
  16528. L18031: {
  16529. arg0K0 = (1 + i_2311X);
  16530. goto L18009;}
  16531. find_template_return:
  16532. switch (find_template_return_tag) {
  16533. case 0: goto find_template_return_0;
  16534. case 1: goto find_template_return_1;
  16535. default: goto find_template_return_2;
  16536. }}
  16537. rest_list_setupAgc: {
  16538. wants_stack_args_874X = merged_arg0K0;
  16539. stack_arg_count_875X = merged_arg0K1;
  16540. list_args_876X = merged_arg0K2;
  16541. list_arg_count_877X = merged_arg0K3;{
  16542. if ((stack_arg_count_875X == wants_stack_args_874X)) {
  16543. merged_arg0K0 = list_args_876X;
  16544. merged_arg0K1 = list_arg_count_877X;
  16545. copy_listSAgc_return_tag = 1;
  16546. goto copy_listSAgc;
  16547. copy_listSAgc_return_1:
  16548. x_2313X = copy_listSAgc0_return_value;
  16549. SstackS = ((SstackS) + -4);
  16550. *((long *) (SstackS)) = (long) (x_2313X);
  16551. goto rest_list_setupAgc_return;}
  16552. else {
  16553. if ((stack_arg_count_875X < wants_stack_args_874X)) {
  16554. count_2314X = wants_stack_args_874X - stack_arg_count_875X;
  16555. merged_arg0K0 = list_args_876X;
  16556. merged_arg0K1 = count_2314X;
  16557. push_list_return_tag = 4;
  16558. goto push_list;
  16559. push_list_return_4:
  16560. v_2315X = push_list0_return_value;
  16561. merged_arg0K0 = v_2315X;
  16562. merged_arg0K1 = (list_arg_count_877X - count_2314X);
  16563. copy_listSAgc_return_tag = 2;
  16564. goto copy_listSAgc;
  16565. copy_listSAgc_return_2:
  16566. x_2316X = copy_listSAgc0_return_value;
  16567. SstackS = ((SstackS) + -4);
  16568. *((long *) (SstackS)) = (long) (x_2316X);
  16569. goto rest_list_setupAgc_return;}
  16570. else {
  16571. merged_arg0K0 = list_args_876X;
  16572. merged_arg0K1 = list_arg_count_877X;
  16573. copy_listSAgc_return_tag = 3;
  16574. goto copy_listSAgc;
  16575. copy_listSAgc_return_3:
  16576. v_2317X = copy_listSAgc0_return_value;
  16577. merged_arg0K0 = v_2317X;
  16578. merged_arg0K1 = (stack_arg_count_875X - wants_stack_args_874X);
  16579. pop_args_GlistSAgc_return_tag = 12;
  16580. goto pop_args_GlistSAgc;
  16581. pop_args_GlistSAgc_return_12:
  16582. x_2318X = pop_args_GlistSAgc0_return_value;
  16583. SstackS = ((SstackS) + -4);
  16584. *((long *) (SstackS)) = (long) (x_2318X);
  16585. goto rest_list_setupAgc_return;}}}
  16586. rest_list_setupAgc_return:
  16587. switch (rest_list_setupAgc_return_tag) {
  16588. case 0: goto rest_list_setupAgc_return_0;
  16589. default: goto rest_list_setupAgc_return_1;
  16590. }}
  16591. push_list: {
  16592. list_872X = merged_arg0K0;
  16593. count_873X = merged_arg0K1;{
  16594. SstackS = ((SstackS) + -4);
  16595. *((long *) (SstackS)) = (long) (list_872X);
  16596. merged_arg0K0 = count_873X;
  16597. ensure_stack_spaceB_return_tag = 2;
  16598. goto ensure_stack_spaceB;
  16599. ensure_stack_spaceB_return_2:
  16600. v_2319X = ensure_stack_spaceB0_return_value;
  16601. if (v_2319X) {
  16602. s48_Sstack_limitS = (((char *) -1));
  16603. goto L27807;}
  16604. else {
  16605. goto L27807;}}
  16606. L27807: {
  16607. list_2320X = *((long *) (SstackS));
  16608. SstackS = ((SstackS) + 4);
  16609. arg0K0 = count_873X;
  16610. arg0K1 = list_2320X;
  16611. goto L27816;}
  16612. L27816: {
  16613. i_2321X = arg0K0;
  16614. l_2322X = arg0K1;
  16615. if ((0 < i_2321X)) {
  16616. x_2323X = *((long *) (((char *) (-3 + l_2322X))));
  16617. SstackS = ((SstackS) + -4);
  16618. *((long *) (SstackS)) = (long) (x_2323X);
  16619. arg0K0 = (-1 + i_2321X);
  16620. arg0K1 = (*((long *) ((((char *) (-3 + l_2322X))) + 4)));
  16621. goto L27816;}
  16622. else {
  16623. push_list0_return_value = l_2322X;
  16624. goto push_list_return;}}
  16625. push_list_return:
  16626. switch (push_list_return_tag) {
  16627. case 0: goto push_list_return_0;
  16628. case 1: goto push_list_return_1;
  16629. case 2: goto push_list_return_2;
  16630. case 3: goto push_list_return_3;
  16631. default: goto push_list_return_4;
  16632. }}
  16633. ensure_stack_spaceB: {
  16634. need_871X = merged_arg0K0;{
  16635. if ((((SstackS) + (256 - (((need_871X)<<2)))) < (s48_Sstack_limitS))) {
  16636. interruptP_2324X = (s48_Sstack_limitS) == (((char *) -1));
  16637. s48_Sstack_limitS = (Sreal_stack_limitS);
  16638. if ((((SstackS) + (256 - (((need_871X)<<2)))) < (Sreal_stack_limitS))) {s48_copy_stack_into_heap();
  16639. if ((((SstackS) + (256 - (((need_871X)<<2)))) < (Sreal_stack_limitS))) {
  16640. ps_error("VM's stack is too small (how can this happen?)", 0);
  16641. ensure_stack_spaceB0_return_value = interruptP_2324X;
  16642. goto ensure_stack_spaceB_return;}
  16643. else {
  16644. ensure_stack_spaceB0_return_value = interruptP_2324X;
  16645. goto ensure_stack_spaceB_return;}}
  16646. else {
  16647. ensure_stack_spaceB0_return_value = interruptP_2324X;
  16648. goto ensure_stack_spaceB_return;}}
  16649. else {
  16650. ensure_stack_spaceB0_return_value = 0;
  16651. goto ensure_stack_spaceB_return;}}
  16652. ensure_stack_spaceB_return:
  16653. switch (ensure_stack_spaceB_return_tag) {
  16654. case 0: goto ensure_stack_spaceB_return_0;
  16655. case 1: goto ensure_stack_spaceB_return_1;
  16656. default: goto ensure_stack_spaceB_return_2;
  16657. }}
  16658. pop_args_GlistSAgc: {
  16659. start_869X = merged_arg0K0;
  16660. count_870X = merged_arg0K1;{
  16661. Stemp0S = start_869X;s48_make_availableAgc(((((3 * count_870X))<<2)));
  16662. value_2325X = Stemp0S;
  16663. Stemp0S = 1;
  16664. arg0K0 = value_2325X;
  16665. arg0K1 = count_870X;
  16666. goto L21736;}
  16667. L21736: {
  16668. args_2326X = arg0K0;
  16669. count_2327X = arg0K1;
  16670. if ((0 == count_2327X)) {
  16671. pop_args_GlistSAgc0_return_value = args_2326X;
  16672. goto pop_args_GlistSAgc_return;}
  16673. else {
  16674. a_2328X = *((long *) (SstackS));
  16675. SstackS = ((SstackS) + 4);
  16676. addr_2329X = s48_allocate_small(12);
  16677. *((long *) addr_2329X) = (long) (2050);
  16678. x_2330X = 3 + (((long) (addr_2329X + 4)));
  16679. *((long *) (((char *) (-3 + x_2330X)))) = (long) (a_2328X);
  16680. *((long *) ((((char *) (-3 + x_2330X))) + 4)) = (long) (args_2326X);
  16681. arg0K0 = x_2330X;
  16682. arg0K1 = (-1 + count_2327X);
  16683. goto L21736;}}
  16684. pop_args_GlistSAgc_return:
  16685. switch (pop_args_GlistSAgc_return_tag) {
  16686. case 0: goto pop_args_GlistSAgc_return_0;
  16687. case 1: goto pop_args_GlistSAgc_return_1;
  16688. case 2: goto pop_args_GlistSAgc_return_2;
  16689. case 3: goto pop_args_GlistSAgc_return_3;
  16690. case 4: goto pop_args_GlistSAgc_return_4;
  16691. case 5: goto pop_args_GlistSAgc_return_5;
  16692. case 6: goto pop_args_GlistSAgc_return_6;
  16693. case 7: goto pop_args_GlistSAgc_return_7;
  16694. case 8: goto pop_args_GlistSAgc_return_8;
  16695. case 9: goto pop_args_GlistSAgc_return_9;
  16696. case 10: goto pop_args_GlistSAgc_return_10;
  16697. case 11: goto pop_args_GlistSAgc_return_11;
  16698. default: goto pop_args_GlistSAgc_return_12;
  16699. }}
  16700. copy_listSAgc: {
  16701. list_867X = merged_arg0K0;
  16702. length_868X = merged_arg0K1;{
  16703. if ((0 == length_868X)) {
  16704. copy_listSAgc0_return_value = 25;
  16705. goto copy_listSAgc_return;}
  16706. else {
  16707. Stemp0S = list_867X;s48_make_availableAgc(((((3 * length_868X))<<2)));
  16708. value_2331X = Stemp0S;
  16709. Stemp0S = 1;
  16710. a_2332X = *((long *) (((char *) (-3 + value_2331X))));
  16711. addr_2333X = s48_allocate_small(12);
  16712. *((long *) addr_2333X) = (long) (2050);
  16713. x_2334X = 3 + (((long) (addr_2333X + 4)));
  16714. *((long *) (((char *) (-3 + x_2334X)))) = (long) (a_2332X);
  16715. *((long *) ((((char *) (-3 + x_2334X))) + 4)) = (long) (25);
  16716. arg0K0 = (*((long *) ((((char *) (-3 + value_2331X))) + 4)));
  16717. arg0K1 = x_2334X;
  16718. goto L21624;}}
  16719. L21624: {
  16720. l_2335X = arg0K0;
  16721. last_2336X = arg0K1;
  16722. if ((25 == l_2335X)) {
  16723. copy_listSAgc0_return_value = x_2334X;
  16724. goto copy_listSAgc_return;}
  16725. else {
  16726. a_2337X = *((long *) (((char *) (-3 + l_2335X))));
  16727. addr_2338X = s48_allocate_small(12);
  16728. *((long *) addr_2338X) = (long) (2050);
  16729. x_2339X = 3 + (((long) (addr_2338X + 4)));
  16730. *((long *) (((char *) (-3 + x_2339X)))) = (long) (a_2337X);
  16731. *((long *) ((((char *) (-3 + x_2339X))) + 4)) = (long) (25);
  16732. addr_2340X = (((char *) (-3 + last_2336X))) + 4;S48_WRITE_BARRIER(last_2336X, addr_2340X, x_2339X);
  16733. *((long *) addr_2340X) = (long) (x_2339X);
  16734. arg0K0 = (*((long *) ((((char *) (-3 + l_2335X))) + 4)));
  16735. arg0K1 = x_2339X;
  16736. goto L21624;}}
  16737. copy_listSAgc_return:
  16738. switch (copy_listSAgc_return_tag) {
  16739. case 0: goto copy_listSAgc_return_0;
  16740. case 1: goto copy_listSAgc_return_1;
  16741. case 2: goto copy_listSAgc_return_2;
  16742. default: goto copy_listSAgc_return_3;
  16743. }}
  16744. pop_continuationB: {
  16745. { SstackS = (ScontS);
  16746. cont_2341X = ScontS;
  16747. pointer_2342X = (((char *) (*((long *) cont_2341X)))) + -2;
  16748. size_2343X = ((((*((unsigned char *) pointer_2342X)))<<8)) + (*((unsigned char *) (pointer_2342X + 1)));
  16749. if ((65535 == size_2343X)) {
  16750. arg0K0 = ((((*((long *) (cont_2341X + 4))))>>2));
  16751. goto L21468;}
  16752. else {
  16753. arg0K0 = size_2343X;
  16754. goto L21468;}}
  16755. L21468: {
  16756. v_2344X = arg0K0;
  16757. ScontS = (cont_2341X + (4 + (((v_2344X)<<2))));
  16758. v_2345X = *((long *) (SstackS));
  16759. SstackS = ((SstackS) + 4);
  16760. Scode_pointerS = (((char *) v_2345X));
  16761. Slast_code_pointer_resumedS = (Scode_pointerS);
  16762. goto pop_continuationB_return;}
  16763. pop_continuationB_return:
  16764. switch (pop_continuationB_return_tag) {
  16765. case 0: goto pop_continuationB_return_0;
  16766. case 1: goto pop_continuationB_return_1;
  16767. case 2: goto pop_continuationB_return_2;
  16768. case 3: goto pop_continuationB_return_3;
  16769. case 4: goto pop_continuationB_return_4;
  16770. case 5: goto pop_continuationB_return_5;
  16771. default: goto pop_continuationB_return_6;
  16772. }}
  16773. shift_space: {
  16774. x_865X = merged_arg0K0;
  16775. n_866X = merged_arg0K1;{
  16776. if ((0 == (3 & x_865X))) {
  16777. arg0K0 = 1;
  16778. arg0K1 = 3;
  16779. goto L20195;}
  16780. else {
  16781. arg0K0 = (-1 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + x_865X))) + -4))))>>8))))>>2)));
  16782. arg0K1 = 0;
  16783. goto L20195;}}
  16784. L20195: {
  16785. x_size_2346X = arg0K0;
  16786. extra_2347X = arg0K1;
  16787. if ((n_866X < 0)) {
  16788. if ((x_size_2346X < 1)) {
  16789. arg0K0 = 1;
  16790. goto L20237;}
  16791. else {
  16792. arg0K0 = x_size_2346X;
  16793. goto L20237;}}
  16794. else {
  16795. n_2348X = n_866X / 30;
  16796. arg0K0 = (3 + (((((7 + (((x_size_2346X)<<2))))>>2)) + ((((7 + (((n_2348X)<<2))))>>2))));
  16797. goto L20215;}}
  16798. L20237: {
  16799. v_2349X = arg0K0;
  16800. arg0K0 = (4 + ((-2 & ((((11 + (((v_2349X)<<2))))>>1))) + ((((7 + (((x_size_2346X)<<2))))>>2))));
  16801. goto L20215;}
  16802. L20215: {
  16803. v_2350X = arg0K0;
  16804. shift_space0_return_value = (extra_2347X + v_2350X);
  16805. goto shift_space_return;}
  16806. shift_space_return:
  16807. switch (shift_space_return_tag) {
  16808. case 0: goto shift_space_return_0;
  16809. default: goto shift_space_return_1;
  16810. }}
  16811. proposal_d_write: {
  16812. stob_862X = merged_arg0K0;
  16813. index_863X = merged_arg0K1;
  16814. value_864X = merged_arg0K2;{
  16815. log_2351X = *((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)))))) + 4));
  16816. arg0K0 = 0;
  16817. goto L19765;}
  16818. L19765: {
  16819. i_2352X = arg0K0;
  16820. next_stob_2353X = *((long *) ((((char *) (-3 + log_2351X))) + (((i_2352X)<<2))));
  16821. if ((1 == next_stob_2353X)) {add_log_entryAgc(1, i_2352X, stob_862X, index_863X, value_864X, 0);
  16822. goto proposal_d_write_return;}
  16823. else {
  16824. if ((stob_862X == next_stob_2353X)) {
  16825. if ((index_863X == (*((long *) ((((char *) (-3 + log_2351X))) + (4 + (((i_2352X)<<2)))))))) {
  16826. addr_2354X = (((char *) (-3 + log_2351X))) + (8 + (((i_2352X)<<2)));S48_WRITE_BARRIER(log_2351X, addr_2354X, value_864X);
  16827. *((long *) addr_2354X) = (long) (value_864X);
  16828. goto proposal_d_write_return;}
  16829. else {
  16830. goto L19785;}}
  16831. else {
  16832. goto L19785;}}}
  16833. L19785: {
  16834. arg0K0 = (4 + i_2352X);
  16835. goto L19765;}
  16836. proposal_d_write_return:
  16837. switch (proposal_d_write_return_tag) {
  16838. case 0: goto proposal_d_write_return_0;
  16839. case 1: goto proposal_d_write_return_1;
  16840. default: goto proposal_d_write_return_2;
  16841. }}
  16842. proposal_d_read: {
  16843. stob_860X = merged_arg0K0;
  16844. index_861X = merged_arg0K1;{
  16845. log_2355X = *((long *) ((((char *) (-3 + (*((long *) ((((char *) (-3 + (Scurrent_threadS)))) + 12)))))) + 4));
  16846. arg0K0 = 0;
  16847. goto L19588;}
  16848. L19588: {
  16849. i_2356X = arg0K0;
  16850. next_stob_2357X = *((long *) ((((char *) (-3 + log_2355X))) + (((i_2356X)<<2))));
  16851. if ((1 == next_stob_2357X)) {
  16852. v_2358X = add_log_entryAgc(1, i_2356X, stob_860X, index_861X, (*((long *) ((((char *) (-3 + stob_860X))) + (-4 & index_861X)))), 1);
  16853. proposal_d_read0_return_value = v_2358X;
  16854. goto proposal_d_read_return;}
  16855. else {
  16856. if ((stob_860X == next_stob_2357X)) {
  16857. if ((index_861X == (*((long *) ((((char *) (-3 + log_2355X))) + (4 + (((i_2356X)<<2)))))))) {
  16858. proposal_d_read0_return_value = (*((long *) ((((char *) (-3 + log_2355X))) + (8 + (((i_2356X)<<2))))));
  16859. goto proposal_d_read_return;}
  16860. else {
  16861. goto L19610;}}
  16862. else {
  16863. goto L19610;}}}
  16864. L19610: {
  16865. arg0K0 = (4 + i_2356X);
  16866. goto L19588;}
  16867. proposal_d_read_return:
  16868. switch (proposal_d_read_return_tag) {
  16869. case 0: goto proposal_d_read_return_0;
  16870. case 1: goto proposal_d_read_return_1;
  16871. default: goto proposal_d_read_return_2;
  16872. }}
  16873. pending_interruptP: {
  16874. { if ((s48_Spending_eventsPS)) {
  16875. s48_Spending_eventsPS = 0;
  16876. goto L19559;}
  16877. else {
  16878. goto L19545;}}
  16879. L19559: {
  16880. type_2359X = s48_get_next_event(&channel_2360X, &status_2361X);
  16881. if ((type_2359X == ALARM_EVENT)) {
  16882. arg0K0 = 1;
  16883. goto L19565;}
  16884. else {
  16885. if ((type_2359X == KEYBOARD_INTERRUPT_EVENT)) {
  16886. arg0K0 = 2;
  16887. goto L19565;}
  16888. else {
  16889. if ((type_2359X == IO_COMPLETION_EVENT)) {enqueue_channelB(channel_2360X, status_2361X, 1);
  16890. arg0K0 = 8;
  16891. goto L19565;}
  16892. else {
  16893. if ((type_2359X == IO_ERROR_EVENT)) {enqueue_channelB(channel_2360X, status_2361X, 5);
  16894. arg0K0 = 8;
  16895. goto L19565;}
  16896. else {
  16897. if ((type_2359X == OS_SIGNAL_EVENT)) {
  16898. arg0K0 = 16;
  16899. goto L19565;}
  16900. else {
  16901. if ((type_2359X == NO_EVENT)) {
  16902. arg0K0 = 0;
  16903. goto L19565;}
  16904. else {
  16905. if ((type_2359X == ERROR_EVENT)) {
  16906. ps_write_string("OS error while getting event", (stderr));
  16907. { long ignoreXX;
  16908. PS_WRITE_CHAR(10, (stderr), ignoreXX) }
  16909. ps_write_string((ps_error_string(status_2361X)), (stderr));
  16910. { long ignoreXX;
  16911. PS_WRITE_CHAR(10, (stderr), ignoreXX) }
  16912. arg0K0 = 0;
  16913. goto L19565;}
  16914. else {
  16915. ps_write_string("unknown type of event", (stderr));
  16916. { long ignoreXX;
  16917. PS_WRITE_CHAR(10, (stderr), ignoreXX) }
  16918. arg0K0 = 0;
  16919. goto L19565;}}}}}}}}
  16920. L19545: {
  16921. if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
  16922. s48_Sstack_limitS = (Sreal_stack_limitS);
  16923. if ((s48_Spending_eventsPS)) {
  16924. s48_Sstack_limitS = (((char *) -1));
  16925. pending_interruptP0_return_value = 0;
  16926. goto pending_interruptP_return;}
  16927. else {
  16928. pending_interruptP0_return_value = 0;
  16929. goto pending_interruptP_return;}}
  16930. else {
  16931. pending_interruptP0_return_value = 1;
  16932. goto pending_interruptP_return;}}
  16933. L19565: {
  16934. interrupt_bit_2362X = arg0K0;
  16935. Spending_interruptsS = ((Spending_interruptsS) | interrupt_bit_2362X);
  16936. if ((type_2359X == NO_EVENT)) {
  16937. goto L19545;}
  16938. else {
  16939. goto L19559;}}
  16940. pending_interruptP_return:
  16941. switch (pending_interruptP_return_tag) {
  16942. case 0: goto pending_interruptP_return_0;
  16943. case 1: goto pending_interruptP_return_1;
  16944. case 2: goto pending_interruptP_return_2;
  16945. case 3: goto pending_interruptP_return_3;
  16946. case 4: goto pending_interruptP_return_4;
  16947. case 5: goto pending_interruptP_return_5;
  16948. default: goto pending_interruptP_return_6;
  16949. }}
  16950. make_closure: {
  16951. a_858X = merged_arg0K0;
  16952. b_859X = merged_arg0K1;{
  16953. addr_2363X = s48_allocate_small(12);
  16954. *((long *) addr_2363X) = (long) (2062);
  16955. x_2364X = 3 + (((long) (addr_2363X + 4)));
  16956. *((long *) (((char *) (-3 + x_2364X)))) = (long) (a_858X);
  16957. *((long *) ((((char *) (-3 + x_2364X))) + 4)) = (long) (b_859X);
  16958. if ((3 == (3 & x_2364X))) {
  16959. if ((0 == (128 & (*((long *) ((((char *) (-3 + x_2364X))) + -4)))))) {
  16960. *((long *) ((((char *) (-3 + x_2364X))) + -4)) = (long) ((128 | (*((long *) ((((char *) (-3 + x_2364X))) + -4)))));
  16961. make_closure0_return_value = x_2364X;
  16962. goto make_closure_return;}
  16963. else {
  16964. make_closure0_return_value = x_2364X;
  16965. goto make_closure_return;}}
  16966. else {
  16967. make_closure0_return_value = x_2364X;
  16968. goto make_closure_return;}}
  16969. make_closure_return:
  16970. switch (make_closure_return_tag) {
  16971. case 0: goto make_closure_return_0;
  16972. default: goto make_closure_return_1;
  16973. }}
  16974. get_current_port: {
  16975. marker_857X = merged_arg0K0;{
  16976. thread_2365X = Scurrent_threadS;
  16977. if ((3 == (3 & thread_2365X))) {
  16978. if ((9 == (31 & ((((*((long *) ((((char *) (-3 + thread_2365X))) + -4))))>>2))))) {
  16979. if ((1 < ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + thread_2365X))) + -4))))>>8))))>>2)))) {
  16980. arg0K0 = (*((long *) ((((char *) (-3 + thread_2365X))) + 4)));
  16981. goto L17463;}
  16982. else {
  16983. goto L17513;}}
  16984. else {
  16985. goto L17513;}}
  16986. else {
  16987. goto L17513;}}
  16988. L17463: {
  16989. env_2366X = arg0K0;
  16990. if ((3 == (3 & env_2366X))) {
  16991. if ((0 == (31 & ((((*((long *) ((((char *) (-3 + env_2366X))) + -4))))>>2))))) {
  16992. obj_2367X = *((long *) (((char *) (-3 + env_2366X))));
  16993. if ((3 == (3 & obj_2367X))) {
  16994. if ((0 == (31 & ((((*((long *) ((((char *) (-3 + obj_2367X))) + -4))))>>2))))) {
  16995. if ((marker_857X == (*((long *) (((char *) (-3 + (*((long *) (((char *) (-3 + env_2366X)))))))))))) {
  16996. get_current_port0_return_value = (*((long *) ((((char *) (-3 + (*((long *) (((char *) (-3 + env_2366X)))))))) + 4)));
  16997. goto get_current_port_return;}
  16998. else {
  16999. arg0K0 = (*((long *) ((((char *) (-3 + env_2366X))) + 4)));
  17000. goto L17463;}}
  17001. else {
  17002. goto L17535;}}
  17003. else {
  17004. goto L17535;}}
  17005. else {
  17006. goto L17535;}}
  17007. else {
  17008. goto L17535;}}
  17009. L17513: {
  17010. ps_error("current thread is not a record", 0);
  17011. get_current_port0_return_value = v_2368X;
  17012. goto get_current_port_return;}
  17013. L17535: {
  17014. if ((25 == env_2366X)) {
  17015. if (((((marker_857X)>>2)) == 1)) {
  17016. arg4K0 = "dynamic environment doesn't have current-output-port";
  17017. goto L17489;}
  17018. else {
  17019. arg4K0 = "dynamic environment doesn't have current-input-port";
  17020. goto L17489;}}
  17021. else {
  17022. ps_error("dynamic environment is not a proper list", 0);
  17023. goto get_current_port_return;}}
  17024. L17489: {
  17025. v_2369X = arg4K0;
  17026. ps_error(v_2369X, 0);
  17027. goto get_current_port_return;}
  17028. get_current_port_return:
  17029. switch (get_current_port_return_tag) {
  17030. case 0: goto get_current_port_return_0;
  17031. case 1: goto get_current_port_return_1;
  17032. case 2: goto get_current_port_return_2;
  17033. case 3: goto get_current_port_return_3;
  17034. case 4: goto get_current_port_return_4;
  17035. default: goto get_current_port_return_5;
  17036. }}
  17037. okay_argument_list: {
  17038. list_856X = merged_arg0K0;{
  17039. arg0K0 = list_856X;
  17040. arg0K1 = 0;
  17041. arg0K2 = list_856X;
  17042. arg3K3 = 0;
  17043. goto L17330;}
  17044. L17330: {
  17045. fast_2370X = arg0K0;
  17046. len_2371X = arg0K1;
  17047. slow_2372X = arg0K2;
  17048. move_slowP_2373X = arg3K3;
  17049. if ((25 == fast_2370X)) {
  17050. okay_argument_list0_return_value = 1;
  17051. okay_argument_list1_return_value = len_2371X;
  17052. goto okay_argument_list_return;}
  17053. else {
  17054. if ((3 == (3 & fast_2370X))) {
  17055. if ((0 == (31 & ((((*((long *) ((((char *) (-3 + fast_2370X))) + -4))))>>2))))) {
  17056. if (move_slowP_2373X) {
  17057. if ((fast_2370X == slow_2372X)) {
  17058. okay_argument_list0_return_value = 0;
  17059. okay_argument_list1_return_value = 0;
  17060. goto okay_argument_list_return;}
  17061. else {
  17062. arg0K0 = (*((long *) ((((char *) (-3 + fast_2370X))) + 4)));
  17063. arg0K1 = (1 + len_2371X);
  17064. arg0K2 = (*((long *) ((((char *) (-3 + slow_2372X))) + 4)));
  17065. arg3K3 = 0;
  17066. goto L17330;}}
  17067. else {
  17068. arg0K0 = (*((long *) ((((char *) (-3 + fast_2370X))) + 4)));
  17069. arg0K1 = (1 + len_2371X);
  17070. arg0K2 = slow_2372X;
  17071. arg3K3 = 1;
  17072. goto L17330;}}
  17073. else {
  17074. okay_argument_list0_return_value = 0;
  17075. okay_argument_list1_return_value = 0;
  17076. goto okay_argument_list_return;}}
  17077. else {
  17078. okay_argument_list0_return_value = 0;
  17079. okay_argument_list1_return_value = 0;
  17080. goto okay_argument_list_return;}}}
  17081. okay_argument_list_return:
  17082. switch (okay_argument_list_return_tag) {
  17083. case 0: goto okay_argument_list_return_0;
  17084. case 1: goto okay_argument_list_return_1;
  17085. default: goto okay_argument_list_return_2;
  17086. }}
  17087. copy_continuation_from_heapB: {
  17088. cont_854X = merged_arg0K0;
  17089. stack_arg_count_855X = merged_arg0K1;{
  17090. stack_size_2374X = -2 + ((((3 + ((long)(((unsigned long)(*((long *) ((((char *) (-3 + cont_854X))) + -4))))>>8))))>>2));
  17091. new_cont_2375X = (Sbottom_of_stackS) + (0 - (((stack_size_2374X)<<2)));
  17092. if ((0 == stack_arg_count_855X)) {
  17093. SstackS = new_cont_2375X;
  17094. goto L17159;}
  17095. else {
  17096. new_stack_2376X = new_cont_2375X + (0 - (((stack_arg_count_855X)<<2)));
  17097. if ((new_stack_2376X < (SstackS))) {
  17098. memmove((void *)new_stack_2376X, (void *)(SstackS),(((stack_arg_count_855X)<<2)));
  17099. SstackS = new_stack_2376X;
  17100. goto L17159;}
  17101. else {
  17102. goto L17159;}}}
  17103. L17159: {
  17104. ScontS = new_cont_2375X;
  17105. memmove((void *)(new_cont_2375X + 4), (void *)((((char *) (-3 + cont_854X))) + 12),(-4 + (((stack_size_2374X)<<2))));
  17106. *((long *) new_cont_2375X) = (long) ((((long) ((((char *) (-3 + (*((long *) ((((char *) (-3 + cont_854X))) + 4)))))) + ((((*((long *) (((char *) (-3 + cont_854X))))))>>2))))));
  17107. Sheap_continuationS = (*((long *) ((((char *) (-3 + cont_854X))) + 8)));
  17108. copy_continuation_from_heapB0_return_value = new_cont_2375X;
  17109. goto copy_continuation_from_heapB_return;}
  17110. copy_continuation_from_heapB_return:
  17111. switch (copy_continuation_from_heapB_return_tag) {
  17112. case 0: goto copy_continuation_from_heapB_return_0;
  17113. case 1: goto copy_continuation_from_heapB_return_1;
  17114. default: goto copy_continuation_from_heapB_return_2;
  17115. }}
  17116. get_error_string: {
  17117. status_853X = merged_arg0K0;{
  17118. string_2377X = ps_error_string(status_853X);
  17119. x_2378X = strlen((char *) string_2377X);
  17120. if ((x_2378X < 512)) {
  17121. arg0K0 = x_2378X;
  17122. goto L16144;}
  17123. else {
  17124. arg0K0 = 512;
  17125. goto L16144;}}
  17126. L16144: {
  17127. len_2379X = arg0K0;
  17128. len_2380X = ((len_2379X)<<2);
  17129. addr_2381X = s48_allocate_small((4 + len_2380X));
  17130. *((long *) addr_2381X) = (long) ((66 + (((len_2380X)<<8))));
  17131. new_2382X = 3 + (((long) (addr_2381X + 4)));
  17132. arg0K0 = 0;
  17133. goto L16154;}
  17134. L16154: {
  17135. i_2383X = arg0K0;
  17136. if ((i_2383X == len_2379X)) {
  17137. get_error_string0_return_value = new_2382X;
  17138. goto get_error_string_return;}
  17139. else {
  17140. c_2384X = ((unsigned char) (*(string_2377X + i_2383X)));
  17141. arg0K0 = 0;
  17142. arg0K1 = 0;
  17143. arg0K2 = c_2384X;
  17144. goto L16193;}}
  17145. L16193: {
  17146. bits_2385X = arg0K0;
  17147. j_2386X = arg0K1;
  17148. shifted_2387X = arg0K2;
  17149. if ((j_2386X < 4)) {
  17150. *((unsigned char *) ((((char *) (-3 + new_2382X))) + ((((i_2383X)<<2)) + j_2386X))) = (unsigned char) ((255 & shifted_2387X));
  17151. arg0K0 = (8 + bits_2385X);
  17152. arg0K1 = (1 + j_2386X);
  17153. arg0K2 = ((long)(((unsigned long)shifted_2387X)>>8));
  17154. goto L16193;}
  17155. else {
  17156. arg0K0 = (1 + i_2383X);
  17157. goto L16154;}}
  17158. get_error_string_return:
  17159. switch (get_error_string_return_tag) {
  17160. case 0: goto get_error_string_return_0;
  17161. case 1: goto get_error_string_return_1;
  17162. case 2: goto get_error_string_return_2;
  17163. default: goto get_error_string_return_3;
  17164. }}
  17165. s48_pop_interrupt_state: {
  17166. { p_2388X = *((long *) (SstackS));
  17167. SstackS = ((SstackS) + 4);
  17168. Senabled_interruptsS = (((p_2388X)>>2));
  17169. if ((0 == ((Spending_interruptsS) & (Senabled_interruptsS)))) {
  17170. s48_Sstack_limitS = (Sreal_stack_limitS);
  17171. if ((s48_Spending_eventsPS)) {
  17172. s48_Sstack_limitS = (((char *) -1));
  17173. goto L12141;}
  17174. else {
  17175. goto L12141;}}
  17176. else {
  17177. s48_Sstack_limitS = (((char *) -1));
  17178. goto L12141;}}
  17179. L12141: {
  17180. proposal_2389X = *((long *) (SstackS));
  17181. SstackS = ((SstackS) + 4);
  17182. x_2390X = Scurrent_threadS;
  17183. addr_2391X = (((char *) (-3 + x_2390X))) + 12;S48_WRITE_BARRIER(x_2390X, addr_2391X, proposal_2389X);
  17184. *((long *) addr_2391X) = (long) (proposal_2389X);
  17185. goto s48_pop_interrupt_state_return;}
  17186. s48_pop_interrupt_state_return:
  17187. switch (s48_pop_interrupt_state_return_tag) {
  17188. case 0: goto s48_pop_interrupt_state_return_0;
  17189. case 1: goto s48_pop_interrupt_state_return_1;
  17190. default: goto s48_pop_interrupt_state_return_2;
  17191. }}
  17192. move_args_above_contB: {
  17193. nargs_852X = merged_arg0K0;{
  17194. top_of_args_2392X = SstackS;
  17195. if (((ScontS) == (top_of_args_2392X + (((nargs_852X)<<2))))) {
  17196. goto move_args_above_contB_return;}
  17197. else {
  17198. SstackS = (ScontS);
  17199. arg2K0 = ((SstackS) + -4);
  17200. arg2K1 = (top_of_args_2392X + (-4 + (((nargs_852X)<<2))));
  17201. goto L7743;}}
  17202. L7743: {
  17203. loc_2393X = arg2K0;
  17204. arg_2394X = arg2K1;
  17205. if ((arg_2394X < top_of_args_2392X)) {
  17206. SstackS = ((SstackS) + (0 - (((nargs_852X)<<2))));
  17207. goto move_args_above_contB_return;}
  17208. else {
  17209. *((long *) loc_2393X) = (long) ((*((long *) arg_2394X)));
  17210. arg2K0 = (loc_2393X + -4);
  17211. arg2K1 = (arg_2394X + -4);
  17212. goto L7743;}}
  17213. move_args_above_contB_return:
  17214. switch (move_args_above_contB_return_tag) {
  17215. case 0: goto move_args_above_contB_return_0;
  17216. case 1: goto move_args_above_contB_return_1;
  17217. case 2: goto move_args_above_contB_return_2;
  17218. case 3: goto move_args_above_contB_return_3;
  17219. case 4: goto move_args_above_contB_return_4;
  17220. case 5: goto move_args_above_contB_return_5;
  17221. case 6: goto move_args_above_contB_return_6;
  17222. case 7: goto move_args_above_contB_return_7;
  17223. default: goto move_args_above_contB_return_8;
  17224. }}
  17225. }
  17226. long s48_call_startup_procedure(char **startup_vector_2395X, long startup_vector_length_2396X)
  17227. {
  17228. long arg0K2;
  17229. long arg0K1;
  17230. long arg0K0;
  17231. long merged_arg0K1;
  17232. char *merged_arg4K0;
  17233. int enter_string_return_tag;
  17234. long enter_string0_return_value;
  17235. char *string_2397X;
  17236. long shifted_2454X;
  17237. long j_2453X;
  17238. long bits_2452X;
  17239. long c_2451X;
  17240. long i_2450X;
  17241. long s_2449X;
  17242. char * addr_2448X;
  17243. long len_2447X;
  17244. long len_2446X;
  17245. long v_2445X;
  17246. long x_2444X;
  17247. long error_encoding_2443X;
  17248. long output_encoding_2442X;
  17249. long input_encoding_2441X;
  17250. long vm_channel_2440X;
  17251. long v_2439X;
  17252. long channel_2438X;
  17253. long vm_channel_2437X;
  17254. long v_2436X;
  17255. long channel_2435X;
  17256. long vm_channel_2434X;
  17257. long v_2433X;
  17258. long channel_2432X;
  17259. char *error_encoding_2431X;
  17260. long v_2430X;
  17261. char *input_encoding_2429X;
  17262. long v_2428X;
  17263. char *output_encoding_2427X;
  17264. long v_2426X;
  17265. long i_2425X;
  17266. long length_2424X;
  17267. long *v_2423X;
  17268. long v_2422X;
  17269. long v_2421X;
  17270. long y_2420X;
  17271. long x_2419X;
  17272. long v_2418X;
  17273. char * addr_2417X;
  17274. long i_2416X;
  17275. long x_2415X;
  17276. long y_2414X;
  17277. long vec_2413X;
  17278. char * addr_2412X;
  17279. long length_2411X;
  17280. long len_2410X;
  17281. char *s_2409X;
  17282. long y_2408X;
  17283. long x_2407X;
  17284. long i_2406X;
  17285. long vector_2405X;
  17286. char * addr_2404X;
  17287. long len_2403X;
  17288. long count_2402X;
  17289. long i_2401X;
  17290. long code_2400X;
  17291. long code_2399X;
  17292. long code_2398X;
  17293. { SstackS = (Sbottom_of_stackS);
  17294. Sheap_continuationS = 1;
  17295. ScontS = (Sbottom_of_stackS);
  17296. code_2398X = Sinterrupted_byte_opcode_return_codeS;
  17297. Slast_code_calledS = code_2398X;
  17298. Scode_pointerS = (((char *) (-3 + code_2398X)));
  17299. code_2399X = Sinterrupted_native_call_return_codeS;
  17300. Slast_code_calledS = code_2399X;
  17301. Scode_pointerS = (((char *) (-3 + code_2399X)));
  17302. code_2400X = Snative_poll_return_codeS;
  17303. Slast_code_calledS = code_2400X;
  17304. Scode_pointerS = (((char *) (-3 + code_2400X)));
  17305. Slast_code_pointer_resumedS = (Scode_pointerS);
  17306. SvalS = 13;
  17307. Scurrent_threadS = 25;SHARED_SETB((Ssession_dataS), 25);SHARED_SETB((Sexception_handlersS), 25);SHARED_SETB((Sinterrupt_handlersS), 25);
  17308. Senabled_interruptsS = 0;SHARED_SETB((Sfinalizer_alistS), 25);
  17309. Sfinalize_theseS = 25;
  17310. Spending_interruptsS = 0;
  17311. s48_Spending_interruptPS = 0;
  17312. Sos_signal_ring_startS = 0;
  17313. Sos_signal_ring_readyS = 0;
  17314. Sos_signal_ring_endS = 0;
  17315. Sinterrupted_templateS = 1;
  17316. arg0K0 = 0;
  17317. arg0K1 = 0;
  17318. goto L19371;}
  17319. L19371: {
  17320. i_2401X = arg0K0;
  17321. count_2402X = arg0K1;
  17322. if ((i_2401X == startup_vector_length_2396X)) {s48_make_availableAgc(((((((1 + startup_vector_length_2396X) + startup_vector_length_2396X) + ((((3 + count_2402X))>>2))))<<2)));
  17323. len_2403X = ((startup_vector_length_2396X)<<2);
  17324. addr_2404X = s48_allocate_small((4 + len_2403X));
  17325. *((long *) addr_2404X) = (long) ((10 + (((len_2403X)<<8))));
  17326. vector_2405X = 3 + (((long) (addr_2404X + 4)));
  17327. arg0K0 = 0;
  17328. goto L19488;}
  17329. else {
  17330. arg0K0 = (1 + i_2401X);
  17331. arg0K1 = (1 + (count_2402X + (strlen((char *) (*(startup_vector_2395X + i_2401X))))));
  17332. goto L19371;}}
  17333. L19488: {
  17334. i_2406X = arg0K0;
  17335. if ((i_2406X == startup_vector_length_2396X)) {
  17336. SstackS = ((SstackS) + -4);
  17337. *((long *) (SstackS)) = (long) (vector_2405X);
  17338. x_2407X = STDOUT_FD();
  17339. y_2408X = STDERR_FD();
  17340. if ((x_2407X < y_2408X)) {
  17341. arg0K0 = y_2408X;
  17342. goto L25210;}
  17343. else {
  17344. arg0K0 = x_2407X;
  17345. goto L25210;}}
  17346. else {
  17347. s_2409X = *(startup_vector_2395X + i_2406X);
  17348. len_2410X = strlen((char *) s_2409X);
  17349. length_2411X = 1 + len_2410X;
  17350. addr_2412X = s48_allocate_small((4 + length_2411X));
  17351. *((long *) addr_2412X) = (long) ((70 + (((length_2411X)<<8))));
  17352. vec_2413X = 3 + (((long) (addr_2412X + 4)));
  17353. arg0K0 = 0;
  17354. goto L19508;}}
  17355. L25210: {
  17356. y_2414X = arg0K0;
  17357. x_2415X = STDIN_FD();
  17358. if ((x_2415X < y_2414X)) {
  17359. arg0K0 = y_2414X;
  17360. goto L25212;}
  17361. else {
  17362. arg0K0 = x_2415X;
  17363. goto L25212;}}
  17364. L19508: {
  17365. i_2416X = arg0K0;
  17366. if ((len_2410X < i_2416X)) {
  17367. addr_2417X = (((char *) (-3 + vector_2405X))) + (((i_2406X)<<2));S48_WRITE_BARRIER(vector_2405X, addr_2417X, vec_2413X);
  17368. *((long *) addr_2417X) = (long) (vec_2413X);
  17369. arg0K0 = (1 + i_2406X);
  17370. goto L19488;}
  17371. else {
  17372. *((unsigned char *) ((((char *) (-3 + vec_2413X))) + i_2416X)) = (unsigned char) ((((unsigned char) (*(s_2409X + i_2416X)))));
  17373. arg0K0 = (1 + i_2416X);
  17374. goto L19508;}}
  17375. L25212: {
  17376. v_2418X = arg0K0;
  17377. x_2419X = Snumber_of_channelsS;
  17378. y_2420X = 1 + v_2418X;
  17379. if ((x_2419X < y_2420X)) {
  17380. arg0K0 = y_2420X;
  17381. goto L25214;}
  17382. else {
  17383. arg0K0 = x_2419X;
  17384. goto L25214;}}
  17385. L25214: {
  17386. v_2421X = arg0K0;
  17387. Snumber_of_channelsS = v_2421X;
  17388. v_2422X = STDIN_FD();
  17389. Svm_channelsS = ((long*)malloc(sizeof(long) * (Snumber_of_channelsS)));
  17390. Spending_channels_headS = 1;
  17391. Spending_channels_tailS = 1;
  17392. if ((NULL == (Svm_channelsS))) {
  17393. ps_error("out of memory, unable to continue", 0);
  17394. goto L25236;}
  17395. else {
  17396. goto L25236;}}
  17397. L25236: {
  17398. v_2423X = Svm_channelsS;
  17399. length_2424X = Snumber_of_channelsS;
  17400. arg0K0 = 0;
  17401. goto L25336;}
  17402. L25336: {
  17403. i_2425X = arg0K0;
  17404. if ((i_2425X < length_2424X)) {
  17405. *(v_2423X + i_2425X) = 1;
  17406. arg0K0 = (1 + i_2425X);
  17407. goto L25336;}
  17408. else {
  17409. v_2426X = STDOUT_FD();
  17410. output_encoding_2427X = ps_console_encoding(v_2426X);
  17411. v_2428X = STDIN_FD();
  17412. input_encoding_2429X = ps_console_encoding(v_2428X);
  17413. v_2430X = STDERR_FD();
  17414. error_encoding_2431X = ps_console_encoding(v_2430X);
  17415. if ((NULL == input_encoding_2429X)) {
  17416. goto L25273;}
  17417. else {
  17418. if ((NULL == output_encoding_2427X)) {
  17419. goto L25273;}
  17420. else {
  17421. if ((NULL == error_encoding_2431X)) {
  17422. goto L25273;}
  17423. else {
  17424. goto L25278;}}}}}
  17425. L25273: {
  17426. ps_error("out of memory, unable to continue", 0);
  17427. goto L25278;}
  17428. L25278: {
  17429. s48_make_availableAgc(((((3 * (12 + (((((((3 + ((((strlen((char *) "standard output")))<<2))))>>2)) + ((((3 + ((((strlen((char *) input_encoding_2429X)))<<2))))>>2))) + ((((3 + ((((strlen((char *) output_encoding_2427X)))<<2))))>>2))) + ((((3 + ((((strlen((char *) error_encoding_2431X)))<<2))))>>2))))))<<2)));
  17430. channel_2432X = STDERR_FD();
  17431. merged_arg4K0 = "standard error";
  17432. merged_arg0K1 = 0;
  17433. enter_string_return_tag = 0;
  17434. goto enter_string;
  17435. enter_string_return_0:
  17436. v_2433X = enter_string0_return_value;
  17437. vm_channel_2434X = make_channel(8, v_2433X, (((channel_2432X)<<2)), 1, 1, 1, 1, 0);
  17438. *((Svm_channelsS) + channel_2432X) = vm_channel_2434X;
  17439. channel_2435X = STDIN_FD();
  17440. merged_arg4K0 = "standard input";
  17441. merged_arg0K1 = 0;
  17442. enter_string_return_tag = 1;
  17443. goto enter_string;
  17444. enter_string_return_1:
  17445. v_2436X = enter_string0_return_value;
  17446. vm_channel_2437X = make_channel(4, v_2436X, (((channel_2435X)<<2)), 1, 1, 1, 1, 0);
  17447. *((Svm_channelsS) + channel_2435X) = vm_channel_2437X;
  17448. channel_2438X = STDOUT_FD();
  17449. merged_arg4K0 = "standard output";
  17450. merged_arg0K1 = 0;
  17451. enter_string_return_tag = 2;
  17452. goto enter_string;
  17453. enter_string_return_2:
  17454. v_2439X = enter_string0_return_value;
  17455. vm_channel_2440X = make_channel(8, v_2439X, (((channel_2438X)<<2)), 1, 1, 1, 1, 0);
  17456. *((Svm_channelsS) + channel_2438X) = vm_channel_2440X;
  17457. merged_arg4K0 = input_encoding_2429X;
  17458. merged_arg0K1 = 0;
  17459. enter_string_return_tag = 3;
  17460. goto enter_string;
  17461. enter_string_return_3:
  17462. input_encoding_2441X = enter_string0_return_value;
  17463. merged_arg4K0 = output_encoding_2427X;
  17464. merged_arg0K1 = 0;
  17465. enter_string_return_tag = 4;
  17466. goto enter_string;
  17467. enter_string_return_4:
  17468. output_encoding_2442X = enter_string0_return_value;
  17469. merged_arg4K0 = error_encoding_2431X;
  17470. merged_arg0K1 = 0;
  17471. enter_string_return_tag = 5;
  17472. goto enter_string;
  17473. enter_string_return_5:
  17474. error_encoding_2443X = enter_string0_return_value;
  17475. SstackS = ((SstackS) + -4);
  17476. *((long *) (SstackS)) = (long) (vm_channel_2437X);
  17477. SstackS = ((SstackS) + -4);
  17478. *((long *) (SstackS)) = (long) (input_encoding_2441X);
  17479. SstackS = ((SstackS) + -4);
  17480. *((long *) (SstackS)) = (long) (vm_channel_2440X);
  17481. SstackS = ((SstackS) + -4);
  17482. *((long *) (SstackS)) = (long) (output_encoding_2442X);
  17483. SstackS = ((SstackS) + -4);
  17484. *((long *) (SstackS)) = (long) (vm_channel_2434X);
  17485. SstackS = ((SstackS) + -4);
  17486. *((long *) (SstackS)) = (long) (error_encoding_2443X);
  17487. x_2444X = s48_resumer_records();
  17488. SstackS = ((SstackS) + -4);
  17489. *((long *) (SstackS)) = (long) (x_2444X);s48_initialization_completeB();
  17490. v_2445X = s48_startup_procedure();
  17491. return s48_restart(v_2445X, 8);}
  17492. enter_string: {
  17493. string_2397X = merged_arg4K0;{
  17494. len_2446X = strlen((char *) string_2397X);
  17495. len_2447X = ((len_2446X)<<2);
  17496. addr_2448X = s48_allocate_small((4 + len_2447X));
  17497. *((long *) addr_2448X) = (long) ((66 + (((len_2447X)<<8))));
  17498. s_2449X = 3 + (((long) (addr_2448X + 4)));
  17499. arg0K0 = 0;
  17500. goto L16738;}
  17501. L16738: {
  17502. i_2450X = arg0K0;
  17503. if ((i_2450X < len_2446X)) {
  17504. c_2451X = ((unsigned char) (*(string_2397X + i_2450X)));
  17505. arg0K0 = 0;
  17506. arg0K1 = 0;
  17507. arg0K2 = c_2451X;
  17508. goto L16749;}
  17509. else {
  17510. enter_string0_return_value = s_2449X;
  17511. goto enter_string_return;}}
  17512. L16749: {
  17513. bits_2452X = arg0K0;
  17514. j_2453X = arg0K1;
  17515. shifted_2454X = arg0K2;
  17516. if ((j_2453X < 4)) {
  17517. *((unsigned char *) ((((char *) (-3 + s_2449X))) + ((((i_2450X)<<2)) + j_2453X))) = (unsigned char) ((255 & shifted_2454X));
  17518. arg0K0 = (8 + bits_2452X);
  17519. arg0K1 = (1 + j_2453X);
  17520. arg0K2 = ((long)(((unsigned long)shifted_2454X)>>8));
  17521. goto L16749;}
  17522. else {
  17523. arg0K0 = (1 + i_2450X);
  17524. goto L16738;}}
  17525. enter_string_return:
  17526. switch (enter_string_return_tag) {
  17527. case 0: goto enter_string_return_0;
  17528. case 1: goto enter_string_return_1;
  17529. case 2: goto enter_string_return_2;
  17530. case 3: goto enter_string_return_3;
  17531. case 4: goto enter_string_return_4;
  17532. default: goto enter_string_return_5;
  17533. }}
  17534. }void
  17535. s48_init(void)
  17536. {
  17537. Snumber_of_channelsS = 100;
  17538. Spending_channels_headS = 1;
  17539. Spending_channels_tailS = 1;
  17540. Sutf_8_state_tableS = malloc(128 * sizeof(long));
  17541. Sutf_8_state_tableS[0] = 0;
  17542. Sutf_8_state_tableS[1] = 0;
  17543. Sutf_8_state_tableS[2] = 0;
  17544. Sutf_8_state_tableS[3] = 0;
  17545. Sutf_8_state_tableS[4] = 0;
  17546. Sutf_8_state_tableS[5] = 0;
  17547. Sutf_8_state_tableS[6] = 0;
  17548. Sutf_8_state_tableS[7] = 0;
  17549. Sutf_8_state_tableS[8] = 0;
  17550. Sutf_8_state_tableS[9] = 0;
  17551. Sutf_8_state_tableS[10] = 0;
  17552. Sutf_8_state_tableS[11] = 0;
  17553. Sutf_8_state_tableS[12] = 0;
  17554. Sutf_8_state_tableS[13] = 0;
  17555. Sutf_8_state_tableS[14] = 0;
  17556. Sutf_8_state_tableS[15] = 0;
  17557. Sutf_8_state_tableS[16] = -1;
  17558. Sutf_8_state_tableS[17] = -1;
  17559. Sutf_8_state_tableS[18] = -1;
  17560. Sutf_8_state_tableS[19] = -1;
  17561. Sutf_8_state_tableS[20] = -1;
  17562. Sutf_8_state_tableS[21] = -1;
  17563. Sutf_8_state_tableS[22] = -1;
  17564. Sutf_8_state_tableS[23] = -1;
  17565. Sutf_8_state_tableS[24] = 1;
  17566. Sutf_8_state_tableS[25] = 1;
  17567. Sutf_8_state_tableS[26] = 1;
  17568. Sutf_8_state_tableS[27] = 1;
  17569. Sutf_8_state_tableS[28] = 2;
  17570. Sutf_8_state_tableS[29] = 2;
  17571. Sutf_8_state_tableS[30] = 3;
  17572. Sutf_8_state_tableS[31] = -1;
  17573. Sutf_8_state_tableS[32] = -2;
  17574. Sutf_8_state_tableS[33] = -2;
  17575. Sutf_8_state_tableS[34] = -2;
  17576. Sutf_8_state_tableS[35] = -2;
  17577. Sutf_8_state_tableS[36] = -2;
  17578. Sutf_8_state_tableS[37] = -2;
  17579. Sutf_8_state_tableS[38] = -2;
  17580. Sutf_8_state_tableS[39] = -2;
  17581. Sutf_8_state_tableS[40] = -2;
  17582. Sutf_8_state_tableS[41] = -2;
  17583. Sutf_8_state_tableS[42] = -2;
  17584. Sutf_8_state_tableS[43] = -2;
  17585. Sutf_8_state_tableS[44] = -2;
  17586. Sutf_8_state_tableS[45] = -2;
  17587. Sutf_8_state_tableS[46] = -2;
  17588. Sutf_8_state_tableS[47] = -2;
  17589. Sutf_8_state_tableS[48] = 0;
  17590. Sutf_8_state_tableS[49] = 0;
  17591. Sutf_8_state_tableS[50] = 0;
  17592. Sutf_8_state_tableS[51] = 0;
  17593. Sutf_8_state_tableS[52] = 0;
  17594. Sutf_8_state_tableS[53] = 0;
  17595. Sutf_8_state_tableS[54] = 0;
  17596. Sutf_8_state_tableS[55] = 0;
  17597. Sutf_8_state_tableS[56] = -2;
  17598. Sutf_8_state_tableS[57] = -2;
  17599. Sutf_8_state_tableS[58] = -2;
  17600. Sutf_8_state_tableS[59] = -2;
  17601. Sutf_8_state_tableS[60] = -2;
  17602. Sutf_8_state_tableS[61] = -2;
  17603. Sutf_8_state_tableS[62] = -2;
  17604. Sutf_8_state_tableS[63] = -2;
  17605. Sutf_8_state_tableS[64] = -2;
  17606. Sutf_8_state_tableS[65] = -2;
  17607. Sutf_8_state_tableS[66] = -2;
  17608. Sutf_8_state_tableS[67] = -2;
  17609. Sutf_8_state_tableS[68] = -2;
  17610. Sutf_8_state_tableS[69] = -2;
  17611. Sutf_8_state_tableS[70] = -2;
  17612. Sutf_8_state_tableS[71] = -2;
  17613. Sutf_8_state_tableS[72] = -2;
  17614. Sutf_8_state_tableS[73] = -2;
  17615. Sutf_8_state_tableS[74] = -2;
  17616. Sutf_8_state_tableS[75] = -2;
  17617. Sutf_8_state_tableS[76] = -2;
  17618. Sutf_8_state_tableS[77] = -2;
  17619. Sutf_8_state_tableS[78] = -2;
  17620. Sutf_8_state_tableS[79] = -2;
  17621. Sutf_8_state_tableS[80] = 1;
  17622. Sutf_8_state_tableS[81] = 1;
  17623. Sutf_8_state_tableS[82] = 1;
  17624. Sutf_8_state_tableS[83] = 1;
  17625. Sutf_8_state_tableS[84] = 1;
  17626. Sutf_8_state_tableS[85] = 1;
  17627. Sutf_8_state_tableS[86] = 1;
  17628. Sutf_8_state_tableS[87] = 1;
  17629. Sutf_8_state_tableS[88] = -2;
  17630. Sutf_8_state_tableS[89] = -2;
  17631. Sutf_8_state_tableS[90] = -2;
  17632. Sutf_8_state_tableS[91] = -2;
  17633. Sutf_8_state_tableS[92] = -2;
  17634. Sutf_8_state_tableS[93] = -2;
  17635. Sutf_8_state_tableS[94] = -2;
  17636. Sutf_8_state_tableS[95] = -2;
  17637. Sutf_8_state_tableS[96] = -2;
  17638. Sutf_8_state_tableS[97] = -2;
  17639. Sutf_8_state_tableS[98] = -2;
  17640. Sutf_8_state_tableS[99] = -2;
  17641. Sutf_8_state_tableS[100] = -2;
  17642. Sutf_8_state_tableS[101] = -2;
  17643. Sutf_8_state_tableS[102] = -2;
  17644. Sutf_8_state_tableS[103] = -2;
  17645. Sutf_8_state_tableS[104] = -2;
  17646. Sutf_8_state_tableS[105] = -2;
  17647. Sutf_8_state_tableS[106] = -2;
  17648. Sutf_8_state_tableS[107] = -2;
  17649. Sutf_8_state_tableS[108] = -2;
  17650. Sutf_8_state_tableS[109] = -2;
  17651. Sutf_8_state_tableS[110] = -2;
  17652. Sutf_8_state_tableS[111] = -2;
  17653. Sutf_8_state_tableS[112] = 2;
  17654. Sutf_8_state_tableS[113] = 2;
  17655. Sutf_8_state_tableS[114] = 2;
  17656. Sutf_8_state_tableS[115] = 2;
  17657. Sutf_8_state_tableS[116] = 2;
  17658. Sutf_8_state_tableS[117] = 2;
  17659. Sutf_8_state_tableS[118] = 2;
  17660. Sutf_8_state_tableS[119] = 2;
  17661. Sutf_8_state_tableS[120] = -2;
  17662. Sutf_8_state_tableS[121] = -2;
  17663. Sutf_8_state_tableS[122] = -2;
  17664. Sutf_8_state_tableS[123] = -2;
  17665. Sutf_8_state_tableS[124] = -2;
  17666. Sutf_8_state_tableS[125] = -2;
  17667. Sutf_8_state_tableS[126] = -2;
  17668. Sutf_8_state_tableS[127] = -2;
  17669. Sutf_8_masksS = malloc(4 * sizeof(long));
  17670. Sutf_8_masksS[0] = 127;
  17671. Sutf_8_masksS[1] = 31;
  17672. Sutf_8_masksS[2] = 15;
  17673. Sutf_8_masksS[3] = 7;
  17674. Stemp0S = 1;
  17675. Stemp1S = 1;
  17676. Sstack_warningPS = 1;
  17677. Sos_signal_ringS = malloc(32 * sizeof(long));
  17678. Sos_signal_ringS[0] = 0;
  17679. Sos_signal_ringS[1] = 0;
  17680. Sos_signal_ringS[2] = 0;
  17681. Sos_signal_ringS[3] = 0;
  17682. Sos_signal_ringS[4] = 0;
  17683. Sos_signal_ringS[5] = 0;
  17684. Sos_signal_ringS[6] = 0;
  17685. Sos_signal_ringS[7] = 0;
  17686. Sos_signal_ringS[8] = 0;
  17687. Sos_signal_ringS[9] = 0;
  17688. Sos_signal_ringS[10] = 0;
  17689. Sos_signal_ringS[11] = 0;
  17690. Sos_signal_ringS[12] = 0;
  17691. Sos_signal_ringS[13] = 0;
  17692. Sos_signal_ringS[14] = 0;
  17693. Sos_signal_ringS[15] = 0;
  17694. Sos_signal_ringS[16] = 0;
  17695. Sos_signal_ringS[17] = 0;
  17696. Sos_signal_ringS[18] = 0;
  17697. Sos_signal_ringS[19] = 0;
  17698. Sos_signal_ringS[20] = 0;
  17699. Sos_signal_ringS[21] = 0;
  17700. Sos_signal_ringS[22] = 0;
  17701. Sos_signal_ringS[23] = 0;
  17702. Sos_signal_ringS[24] = 0;
  17703. Sos_signal_ringS[25] = 0;
  17704. Sos_signal_ringS[26] = 0;
  17705. Sos_signal_ringS[27] = 0;
  17706. Sos_signal_ringS[28] = 0;
  17707. Sos_signal_ringS[29] = 0;
  17708. Sos_signal_ringS[30] = 0;
  17709. Sos_signal_ringS[31] = 0;
  17710. Sos_signal_ring_startS = 0;
  17711. Sos_signal_ring_readyS = 0;
  17712. Sos_signal_ring_endS = 0;
  17713. Sexternal_exceptionPS = 0;
  17714. Simported_bindingsS = 1;
  17715. Sexported_bindingsS = 1;
  17716. Sexternal_root_stackS = NULL;
  17717. Sexternal_root_stack_baseS = NULL;
  17718. Spermanent_external_rootsS = NULL;
  17719. Spost_gc_cleanupS = HtopD11565;
  17720. Sgc_root_procS = HtopD11576;
  17721. Snative_exception_contS = 0;
  17722. s48_Scallback_return_stack_blockS = 1;
  17723. s48_Spending_eventsPS = 0;
  17724. }