ELF@x@8@ppxxppA ; ?T ?; ?T @;@T@;?T@T@|@@qU@GP 0@p`' 0 T @|  @@qU @G ' - >U @T @4 ); @H  T @4 ); @H  T @4 ); @H  T @4 ); @H  T A4 ); @H  T A4 ); AH  T A4 ); AH  T A4 ); AH  T A4 ); AH  T #A4 ); !AH  T *A4 ); (AH  T 1A4 ); /AH  T 8A4 ); 6AH  T C?4 ); 3AH  'DA @B0>EL< LHT*A|?'ApU!AGT(A`@',0T A'1$A PG`'`TAP`0'A|?ApUAG'A|?ApU@G'A|?ApU@G'#A `B0>EL<#LHT A|?ApUAGT@p'P T@`pP'5A `T@GPp'` T@`pP'@|T?@pU@G'@|`?@pU@G'@|R?@pU@G'@  B@>EL<LHHT@|7?@pU@GTV@ 0@'W@ pT@|?@pU|@GT@G 'p Ty@G @P'p ~ T @p`' p'@|>@pU@G'@ @B@>EL<!LHHT:@|>7@pU1@GT?`P'0T@'5@ pT@|>@pU@GT!@G '5p T@G @P'Fp ~ T D@p`' p'c@|P>V@pUD@G'[@ '@T?|k>?pU?Gp@'| .|}GGT<@|Q>9@pU3@GP@'@T:@;=;8@B HHB HHB HH$0T3@|,>0@pU*@G'4@ '1@B0>EL<LHTo?|>l?pUf?GT'? 0')f@ `Ti?GPp'|` |~}{ET@|=?pU?G~@hKtbM>>arTG| LtG>ar>G| 6t 1>ar(G| }ET?|T=?pU?G~P TG?`pP'`'`' &? &?`'&?&?`'&?&?`'`'? 0 '@B @>EL <L H  H  T j>|  /=g>pU a>G Th>'lpT`>'rpG TU>;?'X TL>'^G TA>;?' D T8>' JB0>EL<LH G T$>`' ( T>' .T`>' tT d?|  <a?pU [?G ' T Z?|  <->qU Q?G TP?|<s>qUG?G' T ??|  v<|;K>pUE>G~@+Kt%M>>art>ar G'` &O>&f>&I>&`>TZ=|;W=pUQ=GT=P@`p@'> |T<=|;9=pU3=G''> |T7='Y'> |T^>'B'> @0 '> ':  0T |>|  ;y>qU s>G BP>EL<&LHHH T <`'P Tb>|g;_>pUY>G  p'i> `T<Gp'` TR>|G;O>pUI>GGP'` |#|T<GPp'` T=`pP'T<G`pP'`'&>  'P?B0>EL<LHB0L<LH|}ET =|:=pU=G~KtM >  > a r }G tw> a r nG t h>ar_GT='|@}=E T=|Z:=pU=G~ sT=|L:=pU=G~ K tM  a r G ta r G t arGt0}> a r tG t@n>areGtP_> arVGT;;=0'5T;;=0')Te=@'DTy=|9d=qUp=G|"}EK> a r0Kr`M r BpFHHHH HHG&a=%y=&=&=&X<&o<&R<&i<&L<&c< &F< &]<&@<&W<&:<&Q<Tw=|9t=pUn=G~ 'Ts=|9p=pUj=G~ K tM  a r G ta r G t {aruGt0o> a r fG t@`>arWGT;;F=0'zT;;>=0'nT;;6= @'bT0=|/9=qU'=G|!}EK> a r0KrPM r B`FHHHH H&<%<&<&<&;&;&;&; &; &;&;&;&;&;T[;|8X;pUR;G~ 0K tkM  a rcGt]a r WG t QarKGt0E>ar<GT#<' T<|8#;qU<G|!}EK>ar0Kr@M r BPFHH HH &!<%9<&G<&U<&;&/; &; &);& ;&#;&;&;K tM   a r {G tua r oG t ia rcGt0]>a rTGT :;G<0'kT;' T9;5< @' UT/<|"8<qU&<G| }EK> a r0Kr@M rBPFHHHH&;%;&;&;&:&: &: &:&:&:&~:&:K tM   a rGta rGt a rGT9;;0'|u}rET ;|  7;pU ;G ~T ;|  7;pU ;G ~T ;|  7;pU ;G ~T ;|  7;pU ;G ~T ;|  z7;pU ;G ~ K t M  a r G | T ;|  `7;pU ;G ~\T ;|  R7;pU ;G ~T ;|  D7;pU ;G ~nT;|67;pU;G~ KtZM  a r RG tLa r FG t @ar:GT:'bTw;| 7j;qUn;G|}EK>ar0Kr0 M rB@FH H HA&:%:&:&: &y9 &9&s9&9&m9&9K t mM a r eG t _a r YG t SarMG| Tx8;; 'T:@'T ;|6:qU;G| }EK>ar0Kr0M rB@FH HH&:%(:&6:&D: &9 &9&9&9&8&9Kt[M  a r SG tMa rGGT8;: 'oT9@'T:|26~:qU:G|}EK>ar0Kr M rB0FHHi&9%9&9&9&8&8&8&8Kt@M a r8GT]9'=T`:|5':qUW:G|}EK>ar0Kr M rB FH&_9%w9&9&9&V8&m8@&N8&e8@@@@T :|59qU:G|Q}NEK>ar0DKr0?M r9B@FHHH T9||57qU9G|"}EK>ar0Kr0M r B@FH HH0'&8% 9&9&%9&8%9&9&9T7;4;7B HHB HHB HH$ &7 &7&7&7&7&7Tj7;4;h7B HHB HHB HH$ &7 &7&7&7&7&7T}9|4z9pUt9G~ KtM>>arG|}E T c9|  4`9pU Z9G ~ K t M  a rGt > a r G | t > a r zGtta rnGT;9|4.9qU29G|\}YEK> a r0OKrPJMrDB`FHHHHHT C6;90@' T 9|p48qU9G|}EKa r0Kr Mr B0FHH '&7%8&8&8&7%7&8&8&6&6 &6 &6Ty6;3;w6B HHB HHB HH$&6&6&6&6T\6;3;Z6B HHB HHB HH$&6&6TE6;3;C6B HHB HHB HH$8 0T5G;8 0@' 8 '8|45pU5G'8 0T5G;w8 0@'w8 '~8|?4q8pU7G'v8 'u8 't8 's8 'r8 'q8 'p8 'o8 'n8 'm8 'l8 'k8 0 'h8T 5'p| A} >E T 5|  335pU 5G ~ /K t )M > >a rG | t >a rG | t > a r G | } E Tr5|2o5pUi5G~@K t MarG t arG t a r G t 0> a r yG B 0>EL <L H  T16' T 6|  205qU 6G | T} QE K >a r 0GK r @BM  r <B PF  H H H  H  T 7|  24qU 7G | %} "E K a r 0K r 0M  r B @F  H  H  H  T 7  '& 6% 6& )6& 76& 5% 6& !6& /6&4& 5 &4 &5&4&4&4&4T4; 1; 4 B H H  B H H  B H H  $ &4 &4Tp4; 1; n4 B H H  B H H  B H H  $&4&4TY4; 1; W4 B H H  B H H  B H H  $&4&4TB4; 1; @4 B H H  B H H  B H H  $7 0T3G;7 0@'7 '7|27pU6G'7 ' 7T%3|1"3pU3GT6;6`'t0T3'+6  |T}QET4|13pU3G~@>Kt8M>>ar*Gt$>arGT6| T2TQ14oU6G;6@0 P'&3&4&3&3 ' '6 T20'6|d16pUr6G'6 P@0 '6B0>EL<=LHTx2|=1u2pUo2GTv2' z Tn2' ' 0B0L<)LHT2|,12pU2G TK20' O T2'  T30 p' Tt20p'  T2' r    0' SB0L<LHT4  '  T6' |5 T 5'T4|t04qU4G|}~EK> a r0tKroM>  rfB FHT 4|  L03qU 4G | Q} NE K a r 0GK r 0BM  r <B @F  H  H  H T4|(02qU4G|%}"EKa r0Kr0M rB@FHHH G|}EKa r0KrM rB FHG |}E K a r 0K r 0M  r B @F H H  H G|}EKa r0Kr0M rB@FHHH GT71;;5':T.1'@T.5;.5@'GT1;&5p'T1'! TS1'gG 85'| J|7}4G GT5'[| 5 T4'\T~4'T4;4B H HB HHB HHB H H$T1;.;1B HHB HHB HH$GT0;4p'T0'T4'|5T4'G'S 0GT40p',T4'"BP> EL < hL H HHTd4'TT4'@|5TG4'AG@' 0T30'TT4 'A BPL < HL HHHGT3'hT0' T0p' T 0p'0T /'0T 3;4'50B0L<8LH T3   '$T3; 3 'B0L<4LHT3 'T3;3B H HB HHB HHB H H$T3;3B H HB HHB HHB H H$&1%1&1&1&1%1&1&1&1%1&1&1&1%1&1&1& 1% 1& 1& 1&1%1&1&1Tz3;3B HHB HHB HHB HH$3 `T/GPp'` TE/`p@'/|3 `T}/GPp'` Tt/`pP'k3  Tf/G 0'vk3|-^3pU3G'c3|-P3pU2G'[3 PT2'`|5T2'T.@p0P`0'T2;3B HHB HHB HHB HH$P+3 0T2''0| 5T2'('T2;2B HHB HHB HHB HH$0 3|/-2pU2G'3|!-2pU2G'3|-2pUs2G'2 PTe2'Q`|5TX2'RTW.@p0P`0'>T_2;t2B HHB HHB HHB HH$P2 PT/2'`|5T"2'T!.@p0P`0'T)2;>2B HHB HHB HHB HH$P2 `T!2GG' ` G`P'2|,2pU2G'2 `T .G '4p G G P'  T -`P'}2 Tp2|m,m2pUg2G 0'm2 G@'h2 T- 0'a2 G@'z2 T Y2|  ,V2pU P2G 'p '$p TH2|+E2pU?2G'p B`>EL<!LHH H HT 42|  +12pU +2G '  T 0 `'*2 T-'pp| B @> EL < L  H  G H  T H-|  +E-pU ?-G T-' T-'D| \B0>EL<LG HG T,'  T-' U T-G ' L Tb-' | &B 0L <yL G H T,'p|  G G G    p'  ' ' ' '1 pT,|Z+,pU,GT,G 'p T,G @P'p ~ T ,p`'B p'e1 `T,GPp'` T,`pP'^1 `T,GPp'` |}ET!-|*-pU-G~PKtM>>art>art >arG|}ET-||*-pU-G~rKtlMardt_arYt TarNG|F}CET0|T*0pU0G~P0T.|F*~.pUx.G~PKtMarG|}'`'&,&,`''`' &, &,&,&,&,&,`'`' &, &,&,&,&,&,`'`'0 Tw0|)t0qUn0G ' T m0|  )/qU d0G T c0|  )/qU Z0G TY0' | TM0' | | } E K t M > >a rG | } E KtxMarpG t j> a r aG 5' E K t QM  a r IG 5' ++T/|a)/pU/G ' T .; *')# # ' )  '0T*' &+ &+ &+ &+&+&+& /&+&+& /% /% //|~)/qU/G'/ V2(b;-(1U1(U%)U )U(U(UE(V)(W;$(1U((U)U(U(U(U.(V (J;(1U(U(V#((V$((V%(A; (1U$(T"(1U (V"(:V'(C;"(1U&(T$(1U"(V$(:;(1U#(U1(V#(5;(1U"(U"(V&( (V%(!(V("(V%('; (1U$(U2(V$(";(1U#(U#(V'(!(VH("(V%(; (1U$(T"(1U (U2(V ( ;(1U(U(V!((V$((V%((V( (V'(!(V&("(V(#(V&(;!(1U%(U%(V)(#(V*($(V)(%(Vf(&(V)(;$(1U((U((V,(&(V-('(V,(((VK()(V,(;'(1U+(U+(V/()(V0(*(V/(+(V0(,(V3(-(V4(.(V5(/(V6(0(V7(1(V8(;3(1U7(T5(1U3(V5(;0(1U4(T2(1U0(V4(;/(1U3(U3(V7(V>(VE(;@(1UD(VF(VG(;B(1UF(VH(VI(;D(1UH(VJ(}VK(;F(1UJ(VL(VM(;H(1UL(VN(3VO(;J(1UN(VP(VQ(;L(1UP(VR(0VS(;N(1UR(VT(VU(;P(1UT(VV(nVW(;R(1UV(VX(VY(;T(1UX(VZ(RV[(;V(1UZ(V\(V](;X(1U\(V^(V_(Vh(|V(V(V(V(V(V(V(V(V)V)V);)1U)V)V!)V:)VA)VF);A)1UE)U-Uo-U*U{*UO*UM)V;);6)Ub-U`)UD)V8)VA)3)VB);=)1UA)UK)VA)VJ)<)VW)|VX)V[)Vf)Vk)Vl)Vm)V|)V)V)V)V)V)V)V)V);)U3*U!*U*U)V)V))V);)1U)U)V)V))V)V*)V*;)U,U *V * V* V*V*V*V *V!*V$*V'*V.*V5*V<*VC* VJ*VQ*VX*V_*Vf*Vi*Vt*V{*V*V* V*/V*V+V+V&+>V/+V<+VO+VVR+VS+VV+;Q+1UU+VW+V\+V_+zV`+Va+V~+V+#V+(V+-V+2V+7V,>V ,CV(,NV5,QVB,ZVO,cV^,J,VQ,eVZ,L,Va,i'language'cps' peel-loops'filename'language/cps/peel-loops.scm'imports'ice-9'match'srfi'srfi-1'select'fold'utils'intmap'intset'exports' declarative?'guile'define-module*'set-current-module' intset-map'loop-successors' find-exits' find-entry' list->intset'compute-bailouts'compute-live-variables'compute-out-vars' rename-cont'add-renamed-bailout'compute-var-names' peel-loop'peel-loops-in-function' empty-intmap' intmap-add!' intset-fold'persistent-intmap' empty-intset' intmap-ref' intset-union'intset-subtract' intset-add'trivial-intset' intset-add!' match-error'no matching pattern'persistent-intset'$kargs'$throw'wrong-type-arg'struct-ref/immediate'=Wrong type argument in position 2 (expecting boxed field): ~S' out-of-range'Argument 2 out of range: ~S'intmap-replace'solve-flow-equations'intset-intersect'cons'intset-fold-right' intset-ref' $continue'$branch'allocate-struct'*Expected vtable with no unboxed fields: ~A'wrong-number-of-args'2Wrong number of initializers when instantiating ~A'8Wrong type argument in position 1 (expecting vtable): ~S'8Wrong type argument in position 1 (expecting struct): ~S'$switch'$prompt'$const'$prim' $const-fun'$code'$rec'$values'$call'$callk' $primcall' $kreceive'$arity'map' intmap-add' intmap-fold' misc-error''fresh-var outside with-fresh-name-state')fresh-label outside with-fresh-name-state' label-counter' var-counter' intmap-map' intmap-union'intmap-replace!'compute-successors' invert-graph'%compute-strongly-connected-components'$fun'compute-max-label-and-var'compute-reachable-functions' parameterize'Not a parameter: ~S' parameter?h    | ` (Hx 8"X$&(L*,0-,./0T23$4h5869= AEIMQ T!W4!Z"]%a('eX'i(m(q(*u/y4|6~=>,>>>>?0?\????BC 0=@ @@@dNLll x k*pzpz<pEph M_Ukk#( zhnL LHQ8QTT pnx  ?H  H: N g < <  D D| |  x  xD= D|m |    $ $ D D  _  0 j  0 x %x / B ;\. \N ct 0#0l1l?V  2 ' 2`2`2|2|22  22$2343H3; H3d3Pd33W33^33e33l33r3 4y 4(4(4D4D4`4`4|4|444,: u,:l:l:::: :::`;  `;<<==<= <=p=p=J JJ#J%SU%)UTV<&TVVl&VXZ&CXZ^'G^L^(    ' 2 B M X e v        $,4 <(D0L8P@XHtH|HH    (8T\`0h  0(0$,0$,0$,0   (8T\`@h(   88@$,0$,0$,0  (<X`dl    08<D8H@d l(pH$,0   (<X`d0l    08<D8H@d l(pH$,0     08<<<pt|  (   (8T\`h    88T\ x   "",2**(**("                    *(*<X`dPl8@8 X@HH@(`HPPH08BBhPXPPP888PHPX     084< @@`h$,0        88T\ x   "",2**"0   <DH          (       4<X`dh(t22@     084< X ` d0h@8                                                          "(*4(@"d l000022<B":JHRZX2"p X````````,*:8RP20ZZXbb`(*:***,*(` ` ` ` ( ( ( (   , * : 8 R P 2 0 Z Z X   x   x   x      ( * : * * * , * (   *(:820  xhdZ:8RP20phh(*:***,*(**dZb`jh*(XXXXXXXXXXXXXXXXXXXXZZ\ZZXXXXXXXXXXXXX\*:8RP*ZZd*:8RP*      !!!!(!*!2!*!*!*!,!*!("""""""2"2#\#*#:#8#*#####$$$$$$($*$2$*$*$*$,%*%(%%%%%%&&&&&&&&&&'''*''''''''((((((()))*)))))))()***** ** * * * * *++++ +(++,,,,,,,,,, ,(,--------.......*..".2.0.8.@/@/@/@/B/B/L/:/"/ /J/R/P0B0:00000000111:111111111X1p222222222222333444444 4(4444455555 5(55555556 6(66   $,0   $,0                            84P X(t(|((**4:"2B@BJH*" HPPPP  TJ20B@*(   JJ` "J"""$"  (   (     (     (     $,0   08<0DL hp    (0LTXd d p$|*""     $,0    ( 0                                                      ( 2(:88T8\8`phX`X @HRPPPx`h`Hh(`h`HPZhPpXx```hprzrrrtrphpppP`bbbb d b ` P         P ` b b b b d b `         @      P  p x  x       x (pp`Hh"ppx (   88@   88@ $,0$,0    0,@8H0d (    ,@(H pt| ($,0$,0$,0    0,@8H0d (    0,@8H0d (   08@48$,0    8@48 4YX> lK\K\$L8c\L8cL8LMXN8N8N8OOPTQ8intsetcompute-bailoutscompute-live-variablesintset-intersect@language/cps/intsetsubtractaddmeetcompute-out-varsrename-contrename-varrename-labelmap@guileadd-renamed-bailoutintmap-add@language/cps/intmapcompute-var-namesintmap-fold@language/cps/intmappeel-looplabel-counter@language/cps/utilsvar-counter@language/cps/utilsintmap-map@language/cps/utilsintmap-union@language/cps/intmappeel-loops-in-functionpeel-loopsparameter?@@guile  language/cps/peel-loops.scmice-9/boot-9.scmlanguage/cps/utils.scmice-9/match.upstream.scmlanguage/cps.scmlanguage/cps/intset.scm };,a,,,b,,,b,$,b,c}J{}z{w w%ww ww!w}=@,,K4J"h!,1!<%,,!w8<7;$#,1<z,<-,;w;/,x;z,,wJ<-,;w;/,9J,$,~,{,w<;(0.,"`@,,@iJv,@iJv,i@,,*,h),J~;O!2";1; w;"^!,Y,$;"\!,w,%;"[!,w&';;$7v#"W!,- ;';<;";!,x;#;",z,w=&<%;w;<9<8;,x; x#,p x /q2JJ,e Jz 5wq)JJJ*c  Ct ,wbq[J$#,lJ)dqQJx-$-3-=-  0 2z 4x ,+wLJw;J 1}0,,ME J#",-N8,2wK%6fzr&u,$,~, J$,~, /&4)WcJ"{8$,~,$,~,;$,~,d<Y V<Y$ 1$u y$u y$#w , 0-,,v,x$,,;$,,;$,,;$,,<Y cyJv,K<xL<,^~@,,h!~w%j,,w,! ,,jh,~h=JYa)[[,%qw ZY &Tw ,@~wJv, h J@~wJv, h , I~h=J%Y$, ~,, ,$, ,@~Jv,h=J(Y #,  ,  ,~h=J(Y ,,}!{, ,p,,,J{g,J{g,~w,,, y~;,3;2;"~!,z8<7;$#,w);(;~$Yh=J"W!,;,~Yh=J;,y8Yh=J"W!,;,Yh=J"W!,;,'=&JvY,=+;,!<>Kz!< ,K|<<,v;,Z = ,v~;z,,h!~;%,,w; h ,hp; x ,h~<-,;w;/,!v8<7;$#,w#<;!/([$x$.2*4!~;L x,x,W:Jg,KHL 8,8L8r<\D8|88xD8| 8=$ =D DJ $J 0 H[x ,[ 4r\844d<0<l0$(( 2@`2|282@238H3d333333 4(4D4`4|4,4,:@l::8: :`;t<0-=8M<=4Mp= J\J\intsetcompute-bailoutscompute-live-variablesintset-intersect@language/cps/intsetsubtractaddmeetcompute-out-varsrename-contrename-varrename-labelmap@guileadd-renamed-bailoutintmap-add@language/cps/intmapcompute-var-namesintmap-fold@language/cps/intmappeel-looplabel-counter@language/cps/utilsvar-counter@language/cps/utilsintmap-map@language/cps/utilsintmap-union@language/cps/intmappeel-loops-in-functionpeel-loopsparameter?@@guileclosureargcachevarproctmpmoduleintset-maploop-successorsfind-exitsfind-entrylist->intsetcompute-bailoutscompute-live-variablescompute-out-varsrename-contadd-renamed-bailoutcompute-var-namespeel-looppeel-loops-in-functionpeel-loopsvalfsettagcodecachedboxioutarg0arg1arg2arg3sccsuccslabelexitspredsvarss0lwxtailpaircpslabelsbailoutsvtablerfieldsnfieldsptrwordbitsmaskresentrybodyinkillgenexitlivelive-outcontfresh-labelsfresh-varsflagssexptermnew-labelcontsmodnamebody-labelsidxpeeled-trampoline-contbody-trampoline-contold-labelkfunidpeel?max-labelmax-vart-12e38f989ae4c5c9-de5t-12e38f989ae4c5c9-de6t-12e38f989ae4c5c9-dect-12e38f989ae4c5c9-dedvalsprim.guile.procprops.rodata.data.rtl-text.guile.frame-maps.dynamic.strtab.symtab.guile.arities.strtab.guile.arities.guile.docstrs.strtab.guile.docstrs.debug_info.debug_abbrev.debug_str.debug_loc.debug_line.shstrtab