h,n?E.       !"#$%&'()*+,-./012345 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                      !!!"#########$$%&''())**+++++,,,,,,---.....////////////000 0 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 7 7 7 7 7 7 7 7 7 7 8 8 8 9 : : : : : : : : : : : : : : : : : : : ; ; < = > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ? ? ? ? ? ? ? ? ? @ @ @ A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A B B B B B B B B B B B B B B B B B B B B B B B BC0.3.0.0 Safe-Inferred  Safe-Inferred" Control-flow annotations      Safe-Inferred!N!#"  !#" Safe-Inferred!$%$% Safe-Inferred:!'()*'(*)None!.-0/10-./1 Safe-Inferred"22 Safe-Inferred"|  associated w/ node n associated with   n4343  Safe-Inferred""0NOPQZ[RVYWXTSU56;8:97_dcab`CMKGJHIEDLF<=B?A@>\]^0_`abcdRYSTUVWX\]^Z[CDEFGHIJKLMNOPQ<=>?@AB56789:;  Safe-Inferred"#0 osvpuqtrmn omnpqrtsuvoD  Safe-Inferred"#qwx{z|~}yw|{zxy}~  Safe-Inferred$  Safe-Inferred%b Pair s with a unique node name and a list of all possible destinations. 2Construct map assigning labels to their node name.None% Safe-Inferred":% Safe-Inferred":&7E  Safe-Inferred( Safe-Inferred)x Pair 'CS with a unique node name and a list of all possible destinations. 2Construct map assigning labels to their node name. Safe-Inferred) Safe-Inferred"=)None":<=*DNone.hNone.None. Safe-Inferred":=.None3"None3H  None4( Annotate instructions with a unique node name and a list of all possible destinations. 2Construct map assigning labels to their node name.None4 Unique state Offset (from already spilled)offset, rewritten Safe-Inferred4 Safe-Inferred5  Safe-Inferred5.!None5P" Safe-Inferred5#None5result: src, dest$None5%None6$&None6H'None7 To be called in reverse order Precolored registersavailable registers Precolored aregPrecolored map,Map from abs reg. id (temp) to concrete reg.available registers Precolored afregPrecolored map-Map from abs freg. id (temp) to concrete reg. Live-out for the block(None7)None8int supply for spilling*None8cint supply for spilling+ Safe-Inferred"8,None8 r/mreg modr/mreg-None9). Safe-Inferred9\/ Safe-Inferred:90 Safe-Inferred"9  1 Safe-Inferred:  2 Safe-Inferred":=:i double int bool Kind *   F G3 Safe-Inferred"==h  4 Safe-Inferred>$ TVars, shape var, etc. Substition on type variables, returned so constraints can be propagated/copied  5 Safe-Inferred":=>~ Shape variables Index variables  6 Safe-Inferred"> xy  7 Safe-Inferred> 8 Safe-Inferred?C  9 Safe-Inferred?  : Safe-Inferred"?  ; Safe-Inferred@  < Safe-Inferred"@A  = Safe-Inferred@l  >None"7=?@ Reserved/special variables  ?None"=CI  @ Safe-InferredC 0Inlining is easy because we don't have recursion  ANone"=C! !  BNone"D9  HIIIJIKILIMNNNONPNQRRRSRTRURVWWWXWYZZZ[Z\Z]Z^_`abbcdefghiiijiklmnopqrstu v w x y z { | } ~                                                              v }                  >                   7                                                 .}v77e !!!"#########$$%&''())**+++++,,,,,,---......../////////////////00001c12222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 2 2 2 2 2 2 272 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 22 2 22 2 222 22@22 2 2 2A2 2 2 2 2 2 2 2 22 2 2 2 2@2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 7 7 7 7 7 7 7 7 7 7 888 9 : : : : : : : : : : : : : : : : : : : ; ; < = > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >> > > >>>>> >> > >> > > > > > > >> > >>> > > > > > > > > > > > > > > > > > >>> > > > > > > > > > > > > > > > > >>>>>>>>> > > >> >> > > >> >> > >> > >> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ? ? ? ? ? ? ? ? ? @ @ @ A A A A A A A A A A A A A A A A A A A A A A A A A A A A AA A A A A A A A B B B B B B B B B B B B B B B B B B B B B B B B       ' ' , , 4 5 5 6 @ apple-0.3.0.0-inplaceBitsCFCF.ALData.CopointedAsm.BBHs.FFILILROpPrettyprinter.ExtIRIR.OptIR.CFIR.HoistHs.ACIR.CC.CFC.AllocAsm.MAsm.X86 Asm.X86.Trans Asm.X86.Frame Asm.X86.B Asm.Aarch64Class.EAsm.CF Asm.X86.CF Asm.X86.Sp Asm.Aarch64.TAsm.Aarch64.OptAsm.Aarch64.FrAsm.Aarch64.CF Asm.Aarch64.BAsm.ArAsm.L Asm.X86.OptAsm.LIAsm.GAsm.Ar.P Asm.X86.P Asm.Aarch64.PSys.DL Asm.X86.ByteAsm.Aarch64.ByteUNmR.M Nm.IntMapATy.MTy.CloneTyR.DfnRR.R Parser.RwCGenC.TransA.OptA.EtaLParserIPDbgapple6980cLogUD defsFNodedefsNode usesFNodeusesNode ControlAnnudconnnodeLivefdonefnewdonenew NLivenesslivenessnxLivenessfoutfinsoutins $fPrettyLive$fPrettyLiveness $fEqLivenessALinsertsinsert singleton Copointedcopoint$fCopointedTuple2BBcaBBunBB $fCopointedBB $fFunctorBB allocNear allocExecfinishbsFp freeFunPtr intervalsreconstructFlat reconstructFRelFEqFNeqFGtFLtFLeqFGeqIRelIEqINeqIGtILtILeqIGeqIBinIPlusIMinusITimesIAsrIMaxIMinIDivIAslIRemBIBBinAndBOrBXorBFBinFPlusFMinusFTimesFDivFMaxFMinFExpBUnBNegIUnIEvenIOddFUnFSqrtFLogFSinFCosFAbs $fPrettyFUn $fPrettyIUn $fPrettyBUn $fPrettyFBin $fPrettyBBin $fPrettyIBin $fPrettyIRel $fPrettyFRelPSps<#>parensp prettyLinestupledByaTextptxtprettyDumpBindspADExpConstIRegIBIsIUBUIRFloorEAtBAtLAConstFFBFConvFRegFUFAtAEAPStmtMJJMTMXMaFreeRAWrWrFWrBCmovFcmovCsetSaPopCpyCpy1IRndFRndTempITempATempC0C1C2C3C4C5CRetFTempF0F1F2F3F4F5FRetFRet1WStwtempswlabelAsmDataLabelprettyIR $fPrettyFTemp $fShowTemp $fPrettyTemp $fShowExp $fPrettyExp $fShowFExp $fPrettyFExp$fFractionalFExp $fNumFExp$fNumExp $fPrettyAE $fShowStmt $fPrettyStmt$fEqTemp $fEqFTemp $fOrdFTempoptIR mkControlFlowrToIntfToIntpallloophoistP4P3P2AppleAAABFTAFAIhs2hs3hs4 $fStorableAB$fShowAB $fPrettyAB$fStorableApple $fShowApple $fPrettyApple $fPrettyP2 $fStorableP2 $fPrettyP3 $fStorableP3 $fPrettyP4 $fStorableP4 $fEqApple$fFunctorApple$fEqABLStctempsclabelCSForFor1WhileWTMX2MBWr2FWrPMaΠCpyECpyDIfn'tIfSZPlProdRndDefGbodyeUpperloopCondeLowixVarlanneDoneiVarbEtSrctDestftSrcftDestf2tSrcf2tDestpSrcbDestwrEaddrwrFwrF2wrBelemSznElemranktemplabelaBytesaSrcaDestnDimsbranchscondeBranchiBranch allocBytessrctdestfsrcfdestbdestmLabelarrszDestpdimsnDestrndDestfrndDestfLabelretLabelgtPEBooBConstPAtCFEFTmpIEF2EF1ECEBinTmpCFloorDPArrAccAElemARnkADimAtRawTupMF2TempFRet0BTempCBRet=:pLprettyCS $fShowBTemp $fPrettyBTemp $fShowFTemp$fPrettyF2Temp $fShowCFE$fPSCFE $fPrettyCFE$fFractionalCFE$fNumCFE$fNumCE$fShowCE$fPSCE $fPrettyCE $fShowArrAcc$fPrettyArrAcc $fPrettyPE$fShowCS $fPrettyCS $fCopointedCS $fFunctorCS $fEqBTempctempcToIRcfCfreesliveCFuncMallocJRDRLogPowWMfoldMapA prettyLabeli4 prettyAsmpAsmnextInextLmFreeaArr $fPrettyCFunc $fNFDataCFunc$fGenericCFuncX86IAddRRIAddRIISubRRISubRIIMulRRIMulRAXorRRMovRRMovRAMovARMovRLMovAI32MovRIMovqXRMovqXAMovqAXMovqRXFldFldSFldl2eFldln2Fld1Fyl2xFsinFcosFstpF2xm1FmulpFpremFaddpFscaleFninitFxchJeJneJgJgeJlJleCmpRRCmpRIVcmppdTestTestIRetRetLVdivsdMovapdRoundsd Cvttsd2siMulsdAddsdSubsdDivsdVmulsdVaddsdVsubsdVaddsdACvtsi2sd Vfmadd231sd Vfmadd213sd Vfmsub231sd Vfmsub213sd Vfmsub132sd Vfmnadd231sd Vfmadd231sdAPushCallSalSarSqrtsdMaxsdVmaxsdVmaxsdAMinsdVminsdNotAndCmovnleCmovnlCmovneCmoveCmovlCmovleRdrandNegannrAdd2rAdd1rAddIrSub2rSub1rSubIrSubrMul2rMul1rMulrXor2rXor1rSrcrDestlSrci32SrciSrcfDestfSrca87stIsnjLabelrCmp'rCmpcmpI32cpredfCmp'fCmpfSrc2fSrc1modecfunciExprSrc2rSrc1AddrRCRC32RSRSDPredEqoqLtosLeosUnordqNequqNltusNleusOrdqScaleOneTwoFourEight RoundModeRNearestRDownRUpRZeroSTX2AbsF2RegFAbsRegFArg0FArg1FArg2FArg3FArg4FArg5FArg6FArg7AbsRegIRegCArg0CArg1CArg2CArg3CArg4CArg5SPBPQuotRemF2X86YMM1YMM2YMM3YMM4YMM5YMM6YMM7YMM8YMM9YMM10YMM11YMM12YMM13YMM14YMM15YMM0FX86RegXMM1XMM2XMM3XMM4XMM5XMM6XMM7XMM8XMM9XMM10XMM11XMM12XMM13XMM14XMM15XMM0X86RegRcxRdxRsiRdiR8R9R10R11R12R13R14R15RbxRaxRbpRspsimd2toIntf2ToInt roundModehasMaimm8prettyDebugX86mapRfRmapF2mapFR $fShowX86Reg$fPrettyX86Reg$fNFDataX86Reg $fShowFX86Reg$fPrettyFX86Reg$fNFDataFX86Reg $fShowF2X86 $fPrettyF2X86 $fNFDataF2X86$fPrettyAbsReg$fPrettyFAbsReg $fPrettyX2Abs $fPrettyST$fPrettyRoundMode$fNFDataRoundMode $fNFDataScale $fPrettyScale $fNFDataPred $fPrettyPred $fPrettyAddr $fNFDataAddr $fShowX86 $fPrettyX86$fCopointedX86 $fNFDataX86 $fFunctorX86 $fGenericX86$fEqAddr $fGenericAddr $fFunctorAddr$fFoldableAddr $fGenericPred $fEqScale$fGenericScale$fGenericRoundMode $fNFDataST $fEqX2Abs $fOrdX2Abs $fEqFAbsReg $fOrdFAbsReg $fEqAbsReg $fOrdAbsReg $fEqF2X86 $fOrdF2X86 $fEnumF2X86$fGenericF2X86 $fEqFX86Reg $fOrdFX86Reg $fEnumFX86Reg$fGenericFX86Reg $fEqX86Reg $fOrdX86Reg $fEnumX86Reg$fGenericX86RegirToX86frameCbbAArch64BBlrBlBcFMovXXFMovDRMovRCMovZMovRCfLdrRLMovKLdrLdrBStrStrBLdrDStrDSubRRAddRRAddRRSZeroRMvnAndRROrRREorMulRRMaddMsubSdivAddRCSubRCLslAsrCmpRCFmulFaddFsubFdivFcmpZFcmpFnegScvtfFcvtmsFcvtasStpLdpStp2Ldp2StpDLdpDFmaddFmsubFsqrtFrintmMrsRFmaxFminFabsCselTbnzTbzCbnzCbzFcselTstIEorIconddSrcdDestcSrclslsCrSrc3rCdSrc2dSrc1rDest2rDest1r2Src2r2Src1aRcr2Dest2r2Dest1dDest2dDest1dSrc3bitimmrDesgCondEqNeqGeqLtGtLeqRPBMleftimsShiftZeroThreeF2AbsCArg6CArg7FPASPSIMDpvpqV0V1V2V3V4V5V6V7V8V9V10V11V12V13V14V15V16V17V18V19V20V21V22V23V24V25V26V27V28V29V30V31FARegD0D1D2D3D4D5D6D7D8D9D10D11D12D13D14D15D16D17D18D19D20D21D22D23D24D25D26D27D28D29D30D31ARegX0X1X2X3X4X5X6X7X8X9X10X11X12X13X14X15X16X17X18X19X20X21X22X23X24X25X26X27X28X29X30pSympuspospudspods prettyDebug $fNFDataAReg $fShowAReg $fPrettyAReg $fNFDataFAReg $fShowFAReg $fPrettyFAReg $fNFDataF2Reg $fSIMDF2Reg $fSIMDF2Abs $fPrettyShift $fNFDataShift $fPrettyBM $fNFDataBM $fPrettyCond $fNFDataCond $fShowAArch64$fPrettyAArch64$fCopointedAArch64$fNFDataAArch64$fFunctorAArch64$fGenericAArch64$fEqBM $fEqF2Reg $fOrdF2Reg $fEnumF2Reg$fGenericF2Reg $fEqFAReg $fOrdFAReg $fEnumFAReg$fGenericFAReg$fEqAReg $fOrdAReg $fEnumAReg $fGenericARegE$fEF2Abs $fEFAbsReg $fEAbsReg$fEF2Reg$fEFAReg$fEAReg $fEFAbsReg0 $fEAbsReg0$fEF2X86 $fEFX86Reg $fEX86RegFreshMN runFreshMgetFreshfm lookupLabellC broadcastb3fromListexpanduddusesdefsFdefsspill irToAarch64optArchcfmImf$fArchAArch64regfregf2reg$fArchX86regfregf2regmkLiveliveBBoptX86 mkIntervalsallocallocFbundle gallocFramegallocOnMCtxCCtxmath'mem'libcdbgFp assembleCtxallFpassemble $fRMBFX86Reg $fRMBX86RegunU$fEqU$fOrdUlocuniquenameTyNm $fNFDataNm$fShowNm $fPrettyNm$fOrdNm$fEqNm $fFunctorNmRMnextUnextNrunRfindWithDefaultALitVarBuiltinEAppLamILitFLitBLitLetLLetDfnResVarParensAnnTupIdarrLiteAnneVareBuiltineArgeFeIneILiteFLiteBLit elseBranchifBranchpropeBndeXYeExpeTyeEeeEseIdiomIdiom FoldSOfZip FoldOfZipFoldGenAShLitesIopIseedIzopInGfGufGseedGesLitlitShXYPlusMinusTimesDivIntExpGteLteCatEModMaxMinSqrtDiFlatAddDimIcesFiltEyeIRangeFRangeMapFoldAZipRankFoldFoldSFoldlFloorItoFIterScanScanSSizeDimReGenFibSuccDIConvTAtLastLastMConsESnocMulVMulOuterHeadHeadMTailInitRevETailMInitMSinCosRotTanCycA1EvenOddIOfAbsOrXorSrSlArrLiTVarArrowΡShNilSVarConsRevCatΠIsNumIsOrdIsEqHasBitsIxIVarIEVarStaPlusStaMuliiiaixnieix1ix0~>rLiprettyC prettyTyped $fNFDataI$fShowI$fPSI $fPrettyI$fShowC $fPrettyC $fNFDataC $fNFDataSh$fPSSh $fPrettySh$fShowSh $fNFDataT$fPST $fPrettyT$fShowT$fNFDataBuiltin$fPrettyBuiltin$fNFDataResVar$fPrettyResVar $fNFDataE $fNFDataIdiom $fShowIdiom $fPrettyIdiom$fShowE$fPSE $fPrettyE $fFunctorE $fGenericE$fGenericIdiom$fGenericResVar$fGenericBuiltin $fFunctorT $fGenericT $fFunctorSh $fGenericSh $fGenericC$fEqC$fOrdC $fFunctorI $fGenericIREMRUnflatUTISEScheck $fPrettyRE $fNFDataRE $fGenericREcloneTTyEmatchaTrwArrtyClosed $fShowSubst $fPrettySubst $fMonoidSubst$fSemigroupSubst$fExceptionTyE $fShowTyE $fPrettyTyE $fNFDataTyE $fPrettyFocus $fGenericTyE$fFunctorSubstdedfnHasRsrenameRsboundmax_maxLensrGrE $fHasRsRsrunMrewriteTTEHOPolyFArgArrFnCTypeCRCICBAfAiAbpCtytCTy $fPrettyCType $fPrettyCF$fExceptionTTE $fPrettyTTE $fShowTTEwriteC$fShowRIoptAηTokEOFTokSymTokNameTokIxTokB TokResVarTokIntTokFloatsym_namesix_builtin_varintfloat BuiltinFRange BuiltinIota BuiltinFloorBuiltinEBuiltinIBuiltinF BuiltinTrue BuiltinFalse BuiltinSqrt BuiltinPi BuiltinGen BuiltinRep BuiltinScan BuiltinCons BuiltinNil BuiltinMMul BuiltinArr BuiltinInt BuiltinFloatBuiltinTBuiltinR BuiltinSin BuiltinCos BuiltinScanS BuiltinTan BuiltinVMul BuiltinCyc BuiltinOdd BuiltinEven BuiltinAbsBuiltinD BuiltinVecBuiltinM BuiltinBoolVarXVarYSymPercent SemicolonBind LSqBracket RSqBracketLBraceRBraceIxTimesLParenRParenDotCaretComma Underscore QuestionMarkColon CondSplitCorArrLArrRSymLogLBindPolyBindLRankComposeSigMaxSMinSDISAccessTSigDoTensorTranspPlusPlusRotateTildeAtDotParaWeierIceSharpInv Thereforeiat AlexUserStateAlexunAlexAlexPosnAlexPn alexMonadScanalexInitUserState freshNamenewIdent withAlexSt$fPrettyAlexPosn $fMonadAlex$fApplicativeAlex $fFunctorAlex $fPrettySym $fPrettyVar $fPrettyTok $fGenericTok $fNFDataTok $fGenericVar $fNFDataVar $fGenericSym $fNFDataSym $fEqAlexPosn$fShowAlexPosn $fOrdAlexPosn$fNFDataAlexPosn$fGenericAlexPosnParseE UnexpectedLexErrparseWithMaxCtx$fNFDataParseE$fExceptionParseE $fShowParseE$fPrettyParseE$fGenericParseEinlineβ $fHasRsIStErrPErrTyErrRErrrwP parseRenametyCtyExprtyOfgetTyeFunPeAFunPctxFunPactxFunPfunPaFunPbytesasaarch64x86GeAarch64ex86GeDumpX86 eDumpAarch64cmmireDumpCeDumpIR parseInline tyParseCtxtyParse $fPrettyErr $fNFDataErr$fExceptionErr $fShowErr $fGenericErrpBIOdtxteDtxtedAtxtdAtxtnasm dumpX86AssdumpAAssdumpX86G dumpAarch64 dumpX86AbsdumpAAbsdumpCdumpCIdumpLoop dumpDomTreedumpIRdumpX86IntervalsdumpAIntervalsdumpX86Liveness dumpALiveness printParsed printTypestoptsuccNodeaddCFbrsaddControlFlow broadcastsspillMbuildemptyStrrNoPremkARfreshenSubstsSubstiSubst replaceXYiM