GOOF----LE-8-2.0GM]°4h› ] gguile¤ ¤ gdefine-module*¤ ¤ ¤ glanguage¤ gtree-il¤ g fix-letrec¤ ¤ gfilenameS¤ flanguage/tree-il/fix-letrec.scm¤ gimportsS¤ gsystem¤ gbase¤ gsyntax¤  ¤ ¤ gsrfi¤ gsrfi-1¤ ¤ ¤ gsrfi-11¤ ¤ ¤ ¤ ¤ geffects¤ ¤ ¤ ¤ gexportsS¤ g fix-letrec!¤ ! ¤ "gset-current-module¤ #"¤ $"¤ %g ¤ &%¤ '%¤ (glexical-set-exp¤ )g ¤ *)¤ +)¤ ,gmodule-set-exp¤ -g¤ .-¤ /-¤ 0gtoplevel-set-exp¤ 1g¤ 21¤ 31¤ 4gtoplevel-define-exp¤ 5g ¤ 65¤ 75¤ 8gconditional-test¤ 9gconditional-consequent¤ :gconditional-alternate¤ ;g ¤ <;¤ =;¤ >gapplication-proc¤ ?gapplication-args¤ @g ¤ A@¤ B@¤ Cg sequence-exps¤ Dg¤ ED¤ FD¤ Gg lambda-body¤ Hg ¤ IH¤ JH¤ Kglambda-case-inits¤ Lglambda-case-body¤ Mglambda-case-alternate¤ Ng¤ ON¤ PN¤ Qglet-vals¤ Rglet-body¤ Sg¤ TS¤ US¤ Vg letrec-vals¤ Wg letrec-body¤ Xg¤ YX¤ ZX¤ [gfix-vals¤ \gfix-body¤ ]g ¤ ^]¤ _]¤ `glet-values-exp¤ aglet-values-body¤ bg ¤ cb¤ db¤ eg dynwind-body¤ fgdynwind-winder¤ ggdynwind-unwinder¤ hg¤ ih¤ jh¤ kg dynlet-fluids¤ lg dynlet-vals¤ mg dynlet-body¤ ng¤ on¤ pn¤ qg dynref-fluid¤ rg¤ sr¤ tr¤ ug dynset-fluid¤ vg dynset-exp¤ wg¤ xw¤ yw¤ zg prompt-tag¤ {g prompt-body¤ |gprompt-handler¤ }g¤ ~}¤ }¤ €g abort-tag¤ g abort-args¤ ‚g abort-tail¤ ƒgfix-fold¤ „g¤ …g¤ †g ¤ ‡glexical-ref-gensym¤ ˆgmemq¤ ‰gsimple-expression?¤ Šgand-map¤ ‹gprimitive-ref?¤ Œgdelq¤ g lset-adjoin¤ Žgeq?¤ glexical-set-gensym¤ gletrec-gensyms¤ ‘gappend¤ ’g let-gensyms¤ “gletrec-in-order?¤ ”g effect-free?¤ •gexclude-effects¤ –gmake-effects-analyzer¤ —glset-difference¤ ˜glambda?¤ ™gpartition-vars¤ šg make-sequence¤ ›greverse¤ œgmake-sequence*¤ g post-order!¤ žg make-void¤ Ÿg letrec-src¤  g letrec-names¤ ¡gmap¤ ¢glist¤ £gmake-let¤ ¤gcadr¤ ¥gcar¤ ¦gcaddr¤ §gmake-fix¤ ¨gmake-lexical-set¤ ©g module-gensym¤ ªffixlr¤ «gmake-lexical-ref¤ ¬glet-src¤ ­g let-names¤ ®gassq¤ ¯glset-intersection¤C5hH@]4    !54$>"Ghhs,3(D4> G     Ž     "ÿÿ kgproc  fgexps  fgunref   fgref   fgset   fgsimple   fglambda   fgcomplex   fgunref  2 fgref 2 fgset 2 fgsimple 2 fglambda 2 fgcomplex 2 fgfilenameflanguage/tree-il/fix-letrec.scmŒ  ŒŒ  f gnameg fold-valuesŒC'(+,/034789:=>?BCFGJKLMPQRUVWZ[\_`adefgjklmpqtuvyz{|€‚9h0Ì ]·4L> G    §  &#454L    >¹"´ &#454L    >Ž"‰ &#454L    >c"^ &#454L    >8"3  &4 54 54 54L    > G4L> G4L>¯"ª  &T45454L    > G4LL>S"N &%454LL    >&"! &?45$4L    >õ"    "ß"Ú &£4545454LL    > G$@4L> G4L>N"4L>4"/ &T45454LL    > G4L>Ø"Ó &T45454LL    > G4L>|"w &T454 54LL    > G4L> " !&R4"54#54L    > G4L>Æ"Á $&4%54&54'54L    > G4L> G4L>="8 (&…4)54*54+54LL    > G4LL> G4L>°"« ,&#4-54L    >…"€ .&R4/54054L    > G4L>+"& 1&4254354454L    > G4L> G4L>¢" 5&ƒ4654754854L    > G4LL> G4L>"    " G L 6Ä gtree  .gunref  .gref   .gset   .gsimple   .glambda   .gcomplex   .gunref   .gref   .gset  .gsimple  .glambda  .gcomplex  .grtd +  gexp  < Tgexp  g gexp  ’ ªgexp  ½ Õgtest  ö ^g consequent  ö ^g alternate  ö ^gunref   ^gref   ^gset   ^gsimple   ^glambda   ^gcomplex   ^gunref  9 ^gref  9 ^gset  9 ^gsimple  9 ^glambda  9 ^gcomplex  9 ^gproc  x ºgargs  x ºgunref  “ ºgref  “ ºgset  “ ºgsimple  “ ºglambda  “ ºgcomplex  “ ºgexps  Í çgbody  ú .ginits  O Ùgbody  O Ùg alternate  O Ùgunref  n Ùgref  n Ùgset  n Ùgsimple  n Ùglambda  n Ùgcomplex  n Ùgunref  š ¿gref  š ¿gset  š ¿gsimple  š ¿glambda  š ¿gcomplex  š ¿gvals  ó 5gbody  ó 5gunref   5gref   5gset   5gsimple   5glambda   5gcomplex   5gvals  O ‘gbody  O ‘gunref  l ‘gref  l ‘gset  l ‘gsimple  l ‘glambda  l ‘gcomplex  l ‘gvals  « ígbody  « ígunref  È ígref  È ígset  È ígsimple  È íglambda  È ígcomplex  È ígexp   Ggbody   Ggunref  " Ggref  " Ggset  " Ggsimple  " Gglambda  " Ggcomplex  " Ggbody  h Ðgwinder  h Ðgunwinder  h Ðgunref  … Ðgref  … Ðgset  … Ðgsimple  … Ðglambda  … Ðgcomplex  … Ðgunref  « Ðgref  « Ðgset  « Ðgsimple  « Ðglambda  « Ðgcomplex  « Ðgfluids  ñ ]gvals  ñ ]gbody  ñ ]gunref   ]gref   ]gset   ]gsimple   ]glambda   ]gcomplex   ]gunref  8 ]gref  8 ]gset  8 ]gsimple  8 ]glambda  8 ]gcomplex  8 ]gfluid  p ˆgfluid  ¢ âgexp  ¢ âgunref  ½ âgref  ½ âgset  ½ âgsimple  ½ âglambda  ½ âgcomplex  ½ âgtag   kgbody   kghandler   kgunref   kgref   kgset   kgsimple   kglambda   kgcomplex   kgunref  F kgref  F kgset  F kgsimple  F kglambda  F kgcomplex  F kgtag  Œ ögargs  Œ ögtail  Œ ögunref  © ögref  © ögset  © ögsimple  © öglambda  © ögcomplex  © ögunref  Ñ ögref  Ñ ögset  Ñ ögsimple  Ñ öglambda  Ñ ögcomplex  Ñ ögunref  .gref   .gset   .gsimple   .glambda   .gcomplex   .¥gfilenameflanguage/tree-il/fix-letrec.scmŒ  ŒŒ  . gnamegfoldtsŒCh@;, 3 O  Q O   Q  63gtree  ;gdown  ;gup   ;gunref   ;gref   ;gset   ;gsimple   ;glambda   ;gcomplex   ;g fold-values  ;gfoldts  ; gfilenameflanguage/tree-il/fix-letrec.scmŒ  ŒŒ  ; gnamegfix-foldŒCƒR„…†‡ˆ589:‰@CŠ‰hj]LL6bgx  gfilenameflanguage/tree-il/fix-letrec.scmŒ , ŒŒ , ŒŒ  C;>?‹‰hj]LL6bgx  gfilenameflanguage/tree-il/fix-letrec.scmŒ 1 ŒŒ 2 ŒŒ  Chðñ]#§&C&C&4545€C&G45454 54 5$4 5$  6CC &4 5 O6&;454545$45$ O6CCCégx  ëg bound-vars  ëgsimple-primcall?   ëgrtd   ëggensym  * 7gtest  T †g consequent  T †g alternate  T †gexps  • ¦gproc  ¼ égargs  ¼ é gfilenameflanguage/tree-il/fix-letrec.scmŒ ! ŒŒ  " ŒŒ - & ŒŒ 6 & ŒŒ ? " ŒŒ [ ( ŒŒ i ( ŒŒ j ) ŒŒ x ( ŒŒ ‚ * ŒŒ Ž " ŒŒ ¦ , ŒŒ ® " ŒŒ Á / ŒŒ Ë / ŒŒ Ì 0 ŒŒ Ö / ŒŒ å 1 ŒŒ  ë gnamegsimple-expression?ŒC‰Rƒ†‡ŒŽ%S‘N’ h¸¹]§&'454545D& 4545D&4 54 5D &4 54 5DD±gx  ¸gunref  ¸gref   ¸gset   ¸gsimple   ¸glambda*   ¸gcomplex   ¸grtd   ¸ggensym   6ggensym  E ^ggensyms  m „ggensyms  “ ª gfilenameflanguage/tree-il/fix-letrec.scmŒ : ŒŒ  ; ŒŒ  = ŒŒ " > ŒŒ 6 = ŒŒ > ; ŒŒ L F ŒŒ ^ D ŒŒ f ; ŒŒ p K ŒŒ „ K ŒŒ Œ ; ŒŒ – R ŒŒ ª R ŒŒ ¸ Y ŒŒ  ¸ CS“V”•h Â] 4M54 56ºgx  geffects gfilenameflanguage/tree-il/fix-letrec.scmŒ d ŒŒ  e (ŒŒ e ŒŒ  g ŒŒ  f ŒŒ   gnamegeffect+exception-free-primcall?ŒC–ˆhj]L6bgx  gfilenameflanguage/tree-il/fix-letrec.scmŒ ^ 0ŒŒ ^ <ŒŒ  C—Ž‘ˆ˜‰”•h È] 4M5456Àgx  geffects gfilenameflanguage/tree-il/fix-letrec.scmŒ _ ŒŒ  ` (ŒŒ ` ŒŒ  b ŒŒ  b 5ŒŒ  b ŒŒ  a ŒŒ   gnamegeffect-free-primcall?ŒCN’QhðØ]_§&½454545  H O  Q 4O5K "k (8$4 5"4 54 54 5D4  5$l" ŽŽ "ÿÿ–$D4 5$" 4   5€$ ŽŽ Œ "ÿÿP"ÿÿœ"ÿÿ˜4  5$ ŽŽ Œ "ÿÿ4 5$ ŽŽ Œ "ÿþò4  $ " O5$ ŽŽ Œ "ÿþ³ ŽŽ Œ "ÿþ•   "ÿþ€& 4545 "ß (#4  54  54 5D4  5$ Ž Ž      "ÿÿ¯4  5$ Ž Ž   Œ    "ÿÿƒ" Ž Ž   Œ    "ÿÿa4  5$04  5$"ÿÿÄ Ž Ž   Œ    "ÿÿ%"ÿÿ¢     "ÿÿ DÐgx  ìgunref  ìgref   ìgset   ìgsimple   ìglambda*   ìgcomplex   ìgrtd   ìg in-order?  $ Ìg orig-gensyms $ Ìgvals $ Ìgcompute-effects + Ìgeffect+exception-free-primcall? 5 Ìggensyms L ·gvals  L ·gs  L ·gl  L ·gc  L ·g orig-gensyms  â Þgvals â Þggensyms ê Égvals ê Égs ê Égl ê Égc  ê Égfilenameflanguage/tree-il/fix-letrec.scmŒ Z ŒŒ  [ ŒŒ ; ^ ŒŒ L h ŒŒ R j ŒŒ X p #ŒŒ Y q 'ŒŒ n u #ŒŒ w v #ŒŒ € w #ŒŒ Š p ŒŒ ‹ x ŒŒ x !ŒŒ ” x ŒŒ ˜ j ŒŒ Ÿ #ŒŒ ¢ 1ŒŒ ¶ ŒŒ ¶ z ŒŒ ½ { )ŒŒ  { 2ŒŒ Ä { )ŒŒ È z ŒŒ Î | )ŒŒ Ó } *ŒŒ Ù | )ŒŒ Ú | $ŒŒ Þ z ŒŒ á  #ŒŒ ä  1ŒŒ ë € -ŒŒ î € 'ŒŒ ü  ŒŒ  ƒ ŒŒ  ƒ !ŒŒ  ƒ ŒŒ  j ŒŒ  „ ŒŒ  „ -ŒŒ  … )ŒŒ " … #ŒŒ 0 „ ŒŒ 1 † ŒŒ 6 † $ŒŒ 8 † ŒŒ < j ŒŒ ? ‡ ŒŒ B ‡ -ŒŒ G ˆ 'ŒŒ J ˆ !ŒŒ Z ‡ ŒŒ [ ‰ ŒŒ ` Š ŒŒ h ‹ ŒŒ w ‰ ŒŒ { j ŒŒ ~ ‘ ŒŒ  ‘ -ŒŒ „ ’ %ŒŒ ‡ ’ ŒŒ ™ ‘ ŒŒ œ ” ŒŒ Ÿ ” -ŒŒ ¦ • )ŒŒ © • #ŒŒ · ” ŒŒ · h ŒŒ ¼ i #ŒŒ ½ i +ŒŒ ¾ i 3ŒŒ Ì h ŒŒ Ô [ ŒŒ ê ŒŒ ð Ÿ ŒŒ ÷ ¤ #ŒŒ  ¥ #ŒŒ  ¦ #ŒŒ  ¡ ŒŒ  § ŒŒ  § !ŒŒ  § ŒŒ ! Ÿ ŒŒ $ ¨ ŒŒ ' ¨ -ŒŒ ; ¨ ŒŒ < ª ŒŒ A ª !ŒŒ E ª ŒŒ I Ÿ ŒŒ L « ŒŒ O « -ŒŒ V ¬ )ŒŒ Y ¬ #ŒŒ g « ŒŒ n µ ŒŒ q µ -ŒŒ x ¶ )ŒŒ { ¶ #ŒŒ ‰ µ ŒŒ ‰ Ÿ ŒŒ Š ­ ŒŒ  ­ )ŒŒ ‘ ­ ŒŒ • Ÿ ŒŒ – ® %ŒŒ › ® +ŒŒ Ÿ ® %ŒŒ £ ­ ŒŒ ª ¯ ŒŒ ­ ¯ -ŒŒ ² ° 'ŒŒ µ ° !ŒŒ Å ¯ ŒŒ É ŒŒ Î ž #ŒŒ Ï ž +ŒŒ Ð ž 3ŒŒ Þ ŒŒ ì ¸ ŒŒx  ì Ch0E]14>  GD=gx  0gunref  0gref   0gset   0gsimple   0glambda*   0gcomplex   0gfilenameflanguage/tree-il/fix-letrec.scmŒ 6 ŒŒ  9 ŒŒ ¹ ŒŒ º ŒŒ  » ŒŒ  ¼ ŒŒ  ½ ŒŒ  ¾ ŒŒ  9 ŒŒ  7 ŒŒ 0 ¿ ŒŒ  0 gnamegpartition-varsŒC™Rš›D…†„h¨ñ]""Ž((C4Œ56§& Ž"ÿÿ¿& Ž"ÿÿª& Ž"ÿÿ•& Ž"ÿÿ€ŽŒ"ÿÿp"ÿÿeégsrc  ¡gexps  ¡gin   –gout   –ghead  + –grtd  0 –gfilenameflanguage/tree-il/fix-letrec.scmŒ Á ŒŒ   ŒŒ à ŒŒ à ŒŒ  Ä ŒŒ  Å ŒŒ  Æ ŒŒ ! Æ .ŒŒ $ Æ (ŒŒ & Æ ŒŒ ( Æ ŒŒ + Ç ŒŒ + Ç ŒŒ 0 È ŒŒ = É ŒŒ G É ŒŒ O È ŒŒ R Ê ŒŒ \ Ê ŒŒ d È ŒŒ g Ë !ŒŒ q Ë ŒŒ y È ŒŒ | Ì ŒŒ † Ì ŒŒ ‰ Í ŒŒ Ž Í ŒŒ – Í ŒŒ –  ŒŒ ™  ŒŒ ¡  ŒŒ  ¡ gnamegmake-sequence*ŒCœR™%(ˆœžSŸ“ VW¡¢ˆh0ë](C4L5$ 4LŽ5ŒCŽ"ÿÿÓãgbinds  /gfilenameflanguage/tree-il/fix-letrec.scmŒ á ŒŒ  â ŒŒ ã ŒŒ ä ŒŒ  ä ŒŒ  ä ŒŒ  â ŒŒ  å ŒŒ  å $ŒŒ " å (ŒŒ $ å $ŒŒ % å ŒŒ ) æ ŒŒ / æ ŒŒ  / gnameglpŒCh] OQL6ˆgset  glp gfilenameflanguage/tree-il/fix-letrec.scmŒ à ŒŒ á ŒŒ   gnameglookupŒC£‘¤¥¦žhl]6dgx  gfilenameflanguage/tree-il/fix-letrec.scmŒ ñ *ŒŒ  ñ 6ŒŒ   C§¨h‡]ŽŽŽ6gc  gfilenameflanguage/tree-il/fix-letrec.scmŒ  ŒŒ   1ŒŒ  :ŒŒ   .ŒŒ   ŒŒ   C©ªhu]6mgx  gfilenameflanguage/tree-il/fix-letrec.scmŒ  &ŒŒ   7ŒŒ   (ŒŒ   Cš¨«h ª]Ž4Ž56¢gx  gtmp  gfilenameflanguage/tree-il/fix-letrec.scmŒ  ŒŒ   $ŒŒ  -ŒŒ  !ŒŒ   6ŒŒ   !ŒŒ   ŒŒ   CN¬­’QR®hl]L6dgv  gfilenameflanguage/tree-il/fix-letrec.scmŒ  ŒŒ  ŒŒ  C¯Ž®hl]L6dgv  gfilenameflanguage/tree-il/fix-letrec.scmŒ  ŒŒ  ŒŒ  C®hl]L6dgv  gfilenameflanguage/tree-il/fix-letrec.scmŒ  ŒŒ  ŒŒ  C'h `]q§&245454L5$456C&b454 54 54 54 54 545O Q 4 L54 L54 L54 L5    44 54 5544 54 5544 54 5544 54 54 5444 5 ( "[$44 55">4 544 54 544 5555556&ä4545454 54!5454"O4#$L554%O4#$L554&O4#$L55  44544 54 54 544 54 54 55556CXgx  šgrtd  šggensym   Agexp   Agsrc  s «g in-order?  s «gnames  s «ggensyms  s «gvals  s «gbody  s «gbinds  Œ «glookup – «gu · «gs · «gl · «gc · «gtmps  n žgsrc  Ö —gnames  Ö —ggensyms  Ö —gvals  Ö —gbody  Ö —gbinds  í —gu  4 —gl 4 —gc 4 —gfilenameflanguage/tree-il/fix-letrec.scmŒ Ò ŒŒ  Ó ŒŒ " Ø ŒŒ . Ø ŒŒ 4 Ù +ŒŒ < Ù !ŒŒ > Ù ŒŒ I Ó ŒŒ € Ý ŒŒ Œ Ý ŒŒ œ ç ŒŒ £ è ŒŒ ª é ŒŒ ± ê ŒŒ · ç ŒŒ Ä ï ŒŒ Ç ï ŒŒ Ð ï $ŒŒ Ú ï ŒŒ Û ð ŒŒ Þ ð ŒŒ ç ð #ŒŒ ñ 𠌌 ò ñ ŒŒ õ ñ ŒŒ þ ñ %ŒŒ  ñ ŒŒ  ó ŒŒ  ô ŒŒ  ô !ŒŒ  ô -ŒŒ ) õ ŒŒ . ÷ ŒŒ 1 ú ŒŒ ? û ŒŒ D þ ŒŒ N û ŒŒ O  ŒŒ R  ŒŒ _  ŒŒ a  ŒŒ f  !ŒŒ n  ŒŒ q  ŒŒ u  ŒŒ €  -ŒŒ ‰  ŒŒ   ŒŒ ™  ŒŒ ›  ŒŒ £  ŒŒ ¥ ÷ ŒŒ § õ ŒŒ © ó ŒŒ « í ŒŒ ³ Ó ŒŒ á  ŒŒ í  ŒŒ ð  ŒŒ ú  ŒŒ   ŒŒ   ŒŒ   ŒŒ (  ŒŒ 4  ŒŒ 4  ŒŒ ? % ŒŒ B ' ŒŒ K * ŒŒ P * ŒŒ Y * ,ŒŒ b * 8ŒŒ k , ŒŒ p , )ŒŒ y , 6ŒŒ ‚ , BŒŒ Ž , ŒŒ  * ŒŒ “ ( ŒŒ • % ŒŒ — # ŒŒR  š Ch0å]!4> GO6Ýgx  +gunref +gsimple  +glambda*  +gcomplex  +gfilenameflanguage/tree-il/fix-letrec.scmŒ Ï ŒŒ  Ð /ŒŒ  Ð ŒŒ + Ñ ŒŒ  + gnameg fix-letrec!ŒC RC…gm  ,gfilenameflanguage/tree-il/fix-letrec.scmŒ   ŒŒ   ŒŒ D ! ŒŒ -à 6 ŒŒ 0œ Á ŒŒ @@ Ï ŒŒ  @B C6