ELF@ @8@oo  nnnppD ???4<@=@<@=@<@=@<? D@?@40 @ > @= @B <@5 = A=A<ADA?A4`000p0 B 5 @ > A= AB< A5p> A=AB<A5p> A=AB<A5p> A=%AB<$A5p> %A=-AB<,A5p> -A=5AB<4A5p> 5A==AB< =A=EAB<DA5p> EA=MAB<LA5p> MA= q?B <JA5 9 @CQA}@OA4P0@@9)CMAm@KA400@0P00P  P<PAD\A ?ZA4@0P0`@"9<NAD^A?\A40000P0`0 <TA0P0@0`00<8B<HB<XBQQ<fB< vB< BD B>B4 D B>B4 000 Q < B< B< B<B<B9QQQQQ<BQ<B<B<BQQ QQ<(CQQQQQQQQQQQQQ <'CQQQQQQQ QQQ Q QQ Q QQQQ C C??402 "800@02 # (% RS CB?B4p00  !9 D BBB4 =><B00  0 0 P!0 0CB?B4@680CB?B40 000PCB?B4`70`0p` &jjCB?B4`)aooo&[j`CB?B40)Rooo#H%3RpSpCBw?B4`0P0` "<BDB=|B4`0P0p0 CBW?)B4`0P0@ 0!9DcB_B]B4`='><]B0p 0 0P &>jCB/?B4`)2oooooCB!?B40P0p` "<BDB=&B4`0P00p CyB?A40p0P0P 0P p6 @8 CqB>>4DqBmBA4`DmBgBB4P0`0pP ClB>jB4PCrB>pB4@CnB>B400P0@0p` 000 P0`0p0PC YB>A400` 470p0p & j CAB>A4p) o o o &jpC4B>A4P)o oo# D% 9DAAA4`=T=<A0 !0RS CBr>A4P00`  "CBc>%A4P00` !< AD A<YA4 0 0` &j pCAB>A4`) {o 4<A00p "CA,>A4`0p0 !0)9Q CA>A4P<A000` !9 00 4<A00 " C A=A400 !0 ) 9 Q CnA=lA4<A000 !9 0 C A=A4 0p00 0 CA=A4`) }o o o 4<A00p "CoA=mA4`0p0 !0)9Q CA=A4P<A000` !9 00 4<tA00 " C ;Au=9A400 !0 ) 9 Q C@a=@4<SA000 !9 0 C ,AN=*A4 0p00 0 4<9A00p " C @2=@400P !0 ) 9 Q C@=@4<A000@ 9  & j CA=A4p) :o o 4< A00p " C @<@400P !0 ) 9 Q Ce@<c@4<@000@ 9  C@<8@4p) mo o o o o CX@<@4p00p "< M@D @;?4 0 0 C;@<[?4p00` " 64<@00P " CD@~<B@400` ) 9 Q C?l<?4<@000` 0 9  9  C@S<}@4p) o o o " z4<r@00p "C?9<?4`0p0 !0)9Q C?%<?4P<Q@000` !9 00 4<F@00 " C ?<?400 !0 ) 9 Q C{?;y?4<%@000 !9 0 0 C ?;?4 0p00 0 4< @00p " C ?;?400P !0 ) 9 Q C7?;5?4<?00 000 0 9  C ?;?4 ) 9  9 D >>>4=Y:<>0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0  Cy?7;E>4@6 8090000P70p0` 0P  C]?);3>4@000 0@0@0pCP?;>4`688CE? ;:400 0 `0 PC??:=?470` C3?:>470` & jC$?:=4p)o o o & jC?:=4`)~o o o #%%9 D===4p=k9<=0 !RSC>:K=4`00pp !6^8& jC>:>4`)AC>:>4`)5C>:>4`)&C>x:>4P)C>o:>4P)ro o o 9#]9 D>F=>40@0 #$%RpSpC>J:<4P00` !D (=$="=4=8<"=0p 0 #$%RS70p00p !D ==<4 =8<<00 0 % RP& j0)oSPQ!& jC>9>4`)C>9>4P)C>9>4P)Yo o o C>9=4P00`  " 6C >9>400  4P00p " C =9<4 C =9M<400p 7 0 0 0 p}0 < [>D <7w<4 0 0` C S>9=4 ) to o & oj)lo % hS#eR C %>k9<400` " < $>D <7@<4 0 0 0 o o C>G9<4p00p " < >D |<7<4 0 0 C =(9=400 0 o C =9=400 0 & +j C=9<4p) "o o & jC=8=4`)o o C =8=400 0 & Kj C=8=4p) 1C=8<4) 9o o o C =8<400` " < =D ; 7;4 0 0 0 o o C h=8f=400 0 9 D ~;z;x;4 =B7<x;0 0 o C 9=8;400` " C <p8z;4 C<j8 ;400P 7 ?0 o 7 60 0 0 0 0 0 PC<<8v;4@7`0@0P@"<<Do;}6;4@0@0P0`009 0C<)8;4PC<#8<4 0@000C<8z;40<<000@0C<8<4@68000C<7Q;4 68@7P0 0P0000@00<<7PD;#6:40000P00 0@00C<7:4PC<7<4 0@000C<7:40<<000@0C<7;400@C<774`0P0@@C<774@6 8P8`0@0P009 C<7:470` " & jC|<7:4p)o o o & jCo<7:4@)o o o Do<5m<4@0  Dc<5a<400`  -C V<Z7@:470P 9& jCF<H7n;4@)JC?<?7q;4@)C8<67;4@)C1<-7k;4@)oC*<$7z;4@)o o o D<<5<4@0  D<05<400  -sD;!5;4@0  D;5;400P  -XD ;5;40   0 M &0j 4 p) ,o o * D ;4;400@ !0 " < ;D 94f94 00 0 00 0 9  D [9W9U94=5<U90  0 ` < ;D 94A94 00 0  C;|6:4@)C;s6:4@)jC;j6:4@)]C;a694@)Lo o 0   4 700` & *j 4 p) &o # < h;D P9^484 0 0 0 o # < X;D @9N484 0 0 0 0 < H;D 09>484 0 0 0 CC;6:4@);C<;694p)Ho o o 0 4 700` &  j C ;594 ) < ;D 8484 0 0 0 0 o o &j 4p) jo C;5;40  %HR SD:3:4p0p -$D :3:40` - < :D83J84000 0 0 p9  < :D 83884 00 0 P000 D ,8(8&84=3<&80  0 ` C :^594 ) )D :y3:4 6E8<:00 0 " < :D S8a374 0 0 0 9  C :/5-94 ) < :D :8H374 0 0 0 D 7774=3<70  0 ` o o o !o o &j C 6:484 ) C k:484 ) < l:D 8374 0 0 0 0 0 0 o & j C J:484 ) D 92940p 0 70 &2j 4 p) .o % S # < 3:D 72_74 0 0 0 0 o % S # < :D 72K74 0 0 0 0 0 < :D 72:74 0 0 0 0 &2j 4 p) .o % S # < 9D 7274 0 0 0 0 o % S # < 9D k7y2 74 0 0 0 0 0 < 9D Z7h264 0 0 0 0 &2j 4 p) .o % S # < 9D ?7M264 0 0 0 0 o % S # < 9D +79264 0 0 0 0 0 < 9D 7(264 0 0 0 0 &2j 4 p) .o % S # < s9D 6 264 0 0 0 0 o % S # < _9D 6164 0 0 0 0 0 < N9D 61z64 0 0 0 0 D t6p6n64=82<n60  0 ` < 69D 61Z64 0 00 0 0 0 0 9  @&0jPCn83t64 )'ooDq81o84 00@-<9D|6164 0 0P0000@09 <8Di6w1 640000P0 0&0j09C/8C3564)&o#<8DK6Y1540000o#<8D;6I15400000 <8D+691540000 CU8 3S847 00 0 9 @C8324`0P0@@C8254@68`C8254`0@0P000`0 `C}8254P70@0p " &Pj pCk8254) Go o o & AjC^8254@)8o o o & 2jCQ8264@))o 4P0`0` "<?8D50=54p00 C7824400 0`&j pC8{2]54) o o o & jC8l2Z54p)o o o & jC 8]264p)yo o o 9# U9 D6464p0p #B%.RS4P0`0pp "< 7D35A0440p00 C7244@0`0pp 0p!D4444p=0<40 0 0` % R&jpC71"640)oS Q!0` 0` 0` 0` 0` 0` 0` 0` 0` 0` P9Cy71a14@0PCp7114@0P0`Cf71z14@0P0`C\7114@0P0`CR7114@0P0` ?/7</O>/?/7</O>/=/>/?//?/.</O>/?/.</O>/?/,</O>/=/>/=/>/?//=q/>/?//?/</O>/=/P>/?/?/</O>/=/P>/?/</O>/?/</O>/=/>/=/>/?//?//=9/>/=+/>/?//?//?/</O>/=/>/=/>/?//=/>/?//?//?/</O>/=/>/=/>/?//=.>/?//?//?/</O>/=/>/=.>/?//=.>/?//?//?/</O>/=/>/=.>/?//=.>/?/}/?/~/?/</O>/?/</O>/=/>/=w/>/?//?//?//?/^/?//?/>/?/}/?//?/{/?/.?/y/?~/.?}/w/?|/.?{/u/?|/`<w/O>|/=z/P>y/?{/Y<v/O>{/?/[<|/O>/?/?/X</O>/?/Z</O>/?/?/U</O>/?/W</O>/?/?/T</O>/?/?/S</O>/?/?/T</O>/?/Z?/Q</O>/?/m?/P</O>/?/r?/O</O>/?/?/P</O>/?/?/M</O>/?/?/?/K</O>/?/K</O>/?/K</O>/?/I</O>/=/>/=/>/?/A</O>/?/A?/N</O>/?/?/M</O>/?/K</O>/=/>/?/E</O>/?/C</O>/?/A</O>/=/>/=/>/?/7</O>/=/>/?//?//?//?/,?/3?//?//=/>/?//?//?//=/>/?/#</O>/=/>/?//?/?//=v/>/?//?//?//=C.>/?/Y/?/ </O>/=/>/?/ -=-.>/?//?//?//?//?//=@/>/?//?//?//?//?//?//?//?//?/t/?//?/d/?//?/ /?//=.>/?//?//?/</O>/=/>/?//?//?/</O>/=/>/?//?/{/?/</O>/=/>/?//?/i/?/</O>/=/>/?//?/W/?//?//?//?/</O>/?/}</O>/?/{</O>/=/>/?/a/?/,/=a->/?/W/?/"/?//?//?//?//?/I/?//?/W</O>/=/>/?/3/?/.?//?/R/?//?/B</O>/=/>/?//?/.?/6</O>/=/>/?//?/.?/*</O>/=/>/?/.?/.?//?//?//?/=/?//?//=,>/?/.?/.?/z/?//?/</O>/=/>/?/.?/.?//?/k/?//?//?//?//?//?//?//?//?//?/</O>/=/>/?/.?/X.?/</O>/?/+?/?/</O>/?/</O>/?/</O>/?/</O>/?/</O>/?/</O>/?/?0</O>0?0+? 0<0O> 0?0< 0O>0?!0?&0<!0O>&0?*0?+0<&0O>+0?/0?00?10?20<-0O>20?60<10O>60?:0?;0?<0?=0?>0??0?@0<;0O>@0?D0?E0?H0?I0?J0<E0O>J0?N0?O0?P0?Q0?R0?S0?T0<O0O>T0?`0<[0O>`0?l0<g0O>l0?p0<k0O>p0?t0<o0O>t0?x0<s0O>x0?|0<w0O>|0?0<{0O>0?0<0O>0?0<0O>0?0<0O>0?0~<0O>0?0~?0<0O>0?0<0O>0?0?0<0O>0?0?0 ?0<0O>0?0<0O>0?0?0?0?0?1<0O>1?1? 1?1< 1O>1?1?1?1?1?$1?)1?.1?31?F1?Y1<T1O>Y1?[1<V1O>[1=O1>Y1=U1>W1?Y1<T1O>Y1?[1<V1O>[1=Y1>Y1= ,>Y1?Y1S1?X1T1=A1>W1?W1Q1?V1R1?W1+1?V1P19 'define-module*'guile'language'cps'verify'filename'language/cps/verify.scm'imports'ice-9'match'utils'intmap'intset' primitives'srfi'srfi-11'exports'set-current-module' intset-pop'make-worklist-folder*'macro'make-syntax-transformer'worklist-fold*'check-distinct-vars'compute-available-definitions'intmap-for-each'check-valid-var-uses'check-label-partition'compute-reachable-labels' check-arities'check-functions-bound-once' intset-next' intset-remove'any'each-any' $sc-dispatch'-source expression failed to match any pattern'syntax-violation'lambda'top'ribcage'dummy'seed'm-e6d3ce73065b783-47'l-e6d3ce73065b783-4c'l-e6d3ce73065b783-4d'x'l-e6d3ce73065b783-49'hygiene'f'worklist'let'lp'list'map'call-with-values'i'if'i*'add' intset-add'values'error'no matching pattern' intmap-fold' empty-intset' intmap-ref'$kargs' $continue' intset-ref'duplicate var name'$kfun' intmap-add' empty-intmap'var already present in defs'$branch'intset-intersect'append'$prompt' $kreceive'$kclause'$ktail' intset-union'$const'$prim'$fun'$closure'$rec'reverse'$values'$call'$callk'for-each' unbound var' $primcall'compute-reachable-functions' intset-fold'label used by two functions'length'equal?'bound variable mismatch' invalid $rec'bad kt' bad handler' prim-arity'bad return arity from primcall'bad arity to primcall'catch'2primitive should continue to $kargs, not $kreceive'/primitive should continue to $kargs, not $ktail')expected $kreceive or $ktail continuation'expected unary continuation' broken $kargs'expected n-ary continuation'expected $kargs continuation'function already bound' macro-type' syntax-rules'patterns'...$\88       H  $    P0  \ htp !0"#%L')+-`/02034p5 6l89t:;=,?pACEF8HTJL N8!O!Q!R"S<#T#U$VX$W$Xl%Y&Zp'[(\(]<)^l)`)c*e*g+jL+l+o+q,s,t-v-x/z8/{0|@0~|0`1123@849@;;< >\>>$?4@d@@@@** * *  * "*"** * (*  * **** (      `7A`7`7`7 A`7i  EEEEEEEEE EEE   -E============= ==       EEEEEEEEEE EEEEEEEEEE   E E   E2/)   (=ZZ$  Y*ii<nnpEK MGULkP% zMj = 0=i?8?@@`N @|`|8`P k ,F,\\ 6        ( (8) 8H3 HX> XhH hxS x] h r }      P P  8  84%4%% %D& D&&6&&M&('b(''y '''T( T(8899:::3:;?;;I ;@kO@A    !           &$ ,4<DL T$h|  2  48X\ x6 ! !! $@LTh l 8> ! CCH CH CCCHCCHCCH CCCHCCHCCHCCCHCCH  $,4<P T h$l(  $(,0488<@DH    L            LN> N> NWY>YN\6 ^   DD x xx x (f (D H lrw  \\ |~\6  ! ^ \  !  $@L`dtx|  f  ,0D H \`| $l   \\ \\|~^ \6   ! \  CH    CH    \  CH    CH     CH  \  CH  \\  !   CH  \\  CH    CH     CH  ^  8<D `l $($ (  0 ,     0 (      0  ,     0      (          (        ((  0 ,     0 (     HHHHHHHHHHL ( 4> f   (LP ll   \\ \|~^ \6  \\ ^ |~\6  |~\6 \ \ \\\    ! \ \ \  !\\  ! \ \ \ \  !\ ^ \  \ $<PT\t     $  $($       (   (                      !H$@Pdhf  0 4 Pdh pw  (lw   (8 ! (,f  0 4 Pdh pw  f  8LP\ lr  \\\ \\ ! !  \\\ ! ! ! ! ! \ ! !H ! \  \ !\ ! ! \  !\\ \ \6 ! ! !H !  !H !  !\ ! \ !\ ! ! \ !\ ! ! \ !\ ! ! \ !\ ! ! !H  (@Thl|    ( $,$ $           ( $,$ ( $,$(  $(,     $                     $   $(,$(,$(,    \ ! !H !$ ( 8<P Tl    \ !\ ! !( , <L`d| $H f  8LP\ x|lr  \ \ \  ! \ \ \ ^ |~\6  !  \ \  $ @Thl|  f  HLx|  e3Y` H|0'D\; Y  0@P`pdH80th<|  &&,'<h'X'P((((<)|9:;8;;<\@A%.. . .Guile 2.2.7intset-popworklist-fold*check-distinct-varscompute-available-definitionsvisit-contintmap-for-eachcheck-valid-var-usesvisit-funcheck-usecheck-label-partitioncompute-reachable-labelscheck-aritiesassert-n-aryassert-nullarycheck-functions-bound-onceverify+ language/cps/verify.scm wXO38}xw :/D}Z % yw-,Z | {ww-,Z 0,ax% gwh, kx =   Vx =    w w kx =   Vx =    w wphx = + ,nx = +  iw-,K  wcYx x= : 3  h_Yx =   Vx =     wphx = : x; &n-O&{J-O&{J-O&{J-O&{J-O&{J-O&{J-O&{J-O&{J-O&{J-O%JxhY#;y-ywK $!N2XYE!n  wYz4 w  hw w*  ,Oz w- ,"z w- , Jo  ws "ez w- ," b 8 w* i ?uY w- ,2 wZyX<y vJY)w??wvZh -'Mw3"";0=i ,- ,t ,{Y,=,,i'=,V, =<,, * - ,vJ ; ,tgJn,m[ ,-  aw ,j , , ,j , , ,j , , ,j , ,,2,D< , ,w ,= , ,-%Yhxx w - z,w- ,K ]> vw- ,Z s1 `` ,0\\/ M (8HXhxXHP0h<}|8 4%%D&<&X&P(''('T(|89:8:;;\@Aintset-popworklist-fold*check-distinct-varscompute-available-definitionsvisit-contintmap-for-eachcheck-valid-var-usesvisit-funcheck-usecheck-label-partitioncompute-reachable-labelscheck-aritiesassert-n-aryassert-nullarycheck-functions-bound-onceverifyclosureboxargtmpmodulenameprocunspecifiedsetxdummyseedtailvalfworklistii*wpublic?contslabelcontseenls0kfundefsin*changed0changed1_oldnewmapkvfreefirst-orderboundlsp-lsvarbodybound?assert-n-arynargsfunctionsscopeCompute and return a map of LABEL->VAR..., where VAR... are the definitions that are available at LABEL..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