Caml1999T037 W~C:Remove_unused_closure_vars-ocaml.warning 0middle_end/flambda/remove_unused_closure_vars.mlQQ@5+a-4-9-30-40-41-42-66 QQ@@QQ@@@@@@QQ@@3@@@@@@#intA;@@#intA@@@@@&_none_@@A@A@$charB;@@$charA@@@@@ @A@&stringQ;@@&stringA@@@@@@@@%bytesC;@@%bytesA@@@@@@@@%floatD;@@%floatA@@@@@@@@$boolE;@@%falsec@@%@$trued@@+@@@A@@@@@,@A@$unitF;@@"()e@@6@@@A@@@@@7@A@ #exnG;@@@A@@@@@;@@@#effH;@@O@A@A@@@@@@D@@@,continuationI;@@Q@@P@B,continuationA@nY@@@@@@T@@@%arrayJ;@@R@A%arrayA@@@@@@_@@@ $listK;@@S@A"[]f@@l@"::g@@@T@@y@ @@A@Y@@@@@|@@@&optionL;@@V@A$Noneh@@@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@)nativeintA@@@@@@@@%int32N;@@%int32A@@@@@@@@%int64O;@@%int64A@@@@@@@@&lazy_tP;@@X@A&lazy_tA@Y@@@@@@@@ 5extension_constructorR;@@5extension_constructorA@@@@@@@@*floatarrayS;@@*floatarrayA@@@@@@@@&iarrayT;@@Y@A&iarrayA@Y@@@@@@@@ *atomic_locU;@@Z@A*atomic_locA@@@@@@@@@ .Assert_failure`#@@@@@J@@@@@@@@[@@A頰=ocaml.warn_on_literal_pattern@@0Division_by_zero]#@@@A󠰠  @+End_of_file\#$@@@A@'FailureY#,@'@@A@0Invalid_argumentX#5@0@@A $#@-Match_failureV#>@@=@9@;@@a@@A5!4!@)Not_foundZ#O@@@A&=)<)@-Out_of_memoryW#W@@@A.E1D1@.Stack_overflow^#_@@@A6M9L9@.Sys_blocked_io_#g@@@A>UATA@)Sys_error[#o@j@@AG^J]J@:Undefined_recursive_modulea#x@@w@s@u@@h@@AXo[n[@:Continuation_already_takenb#@@@A`wcvc@&Stdlib@@Р?Int_replace_polymorphic_compare?Int_replace_polymorphic_compareRR@@ 3@@@@@@3@@@R@@ @@ఠ?remove_unused_closure_variablesVLPVLo@@A@@=remove_direct_call_surrogates|@@@A@@'Flambda'program@@@:A@ 'program@@@:A@@@A@@@A@3@6@@@࣠##A'VLqVL@ AA@@+3@F:VLL}m@@@@@VLp @@'programAVLVL@BA@@63@!C@@@@@@@@@@ఠ8used_vars_within_closure(W)W@5CA@@2Var_within_closure#Tbl!t@@@D@@@@oD@3(''(((((@+7c@.@/@@@@ఠ0used_closure_idsJWKW@WDA@@*Closure_id#Tbl!t"@@@\D@@@@pD@!@@9@@@9@@@(@@ఠ$usedqXrX@~EA@@IB@@@ gE@<@డ2Var_within_closure#Tbl&create2Var_within_closureXX@ XX@@XX@ @@#intA@@@ u!a@@@@ @@ @6utils/identifiable.mlinn@@/Stdlib__Hashtble@$@@@@@@@@@@@|@@MXX@@+@@@ hF@ jF@ i@@> @@U@A@X @@@ఠ(used_funYY@FA@@@@@E@ q3@wp@q@r@@@డ*Closure_id#Tbl&create*Closure_idYY@ YY @@Y!Y'@ @@#intA@@@!a@@@@@@@6utils/identifiable.mlinn@@/Stdlib__Hashtble@$@@@@@@Ѡ@@@@@C@@M,Y(-Y*@@+@@@F@F@S@@> @@XT@A@7Y @@@ఠ)aux_namedyBZ.6CZ.?@OGA@@@'Flambda%named@@@E@$unitF@@@E@@@E@3EDDEEEEE@{@@@@@࣠@%namedA@jZ.AkZ.F@@ @@@3XWWXXXXX@2sZ.2te^@@@@  @HA,г/'FlambdaZ.IZ.P@4Z.QZ.V@@@>@@@ @@Z.@Z.W@@@E"@@@@ఐ5%named[Zf[Zk@3@6@(@@T@@@3@5B@@@Ġ/Project_closure\qy\q@;/Project_closure'Flambda%named@@@@ /project_closure@@@@AF@K@A>middle_end/flambda/flambda.mlikmk@@@~@ঠ/set_of_closures\q\q@3/set_of_closures*Projection/project_closure@@@(Variable!t@@@@@@3*closure_id*Closure_id!t@@@@@A @A !middle_end/flambda/projection.mliXX @@B@@AWW@@A@@\q\q@@ @@@n3@\@@@*closure_id\q\qA#ఠՠ@IA@'@@@t@@@\q\q@@Z@@@vI@u@@@k@@@@@w@@@@@x!@@@డ;#Tbl#add*Closure_id1]2]@ 5]6]@@:];]@ @@!a@n@@@@#key@@@@@@@@@@@@@@?@;i@%@@@D@@@@@@@@@ @@@@@@@@@3POOPPPPP@_\@^@]@@@@ఐ(used_funt]u]@@@' @@@ @@ఐw*closure_id]]@@@@@@@RI@Q&@@ภ"()]]@;#_@@@N@@@@A@@A[@@%@@@DI@]9@@p @@M:@Ġ+Project_var^^@;+Project_var@+project_var@@@@AH@K@A@@@@@ঠ*closure_id^^A3*closure_id+project_var@@@"!t@@@ @@A3'closure!t@@@@@@ @Aihjih@@H@3#var2Var_within_closure!t@@@!@@B@Akk@@J@@Ajj@@I@ఠ3֠432@JA@+@@@3@W@@@#var^^A$ఠנ@KA@(@@@@@@ ^^ @@a@@@I@@@@j@@@@@@@@@@!@@@ డ#Tbl#add2Var_within_closure._ /_ '@ 2_ (3_ +@@7_ ,8_ /@ @@!a@@@@@#key@@@@$unitF@@@@@@@@@@@i@(@@@*#D@d@@@f@@@@e@ @@@c@@b@@a@@`3POOPPPPP@wt@v@ufc@e@d@@@@ఐ$usedv_ 0w_ 4@@@KD@@@|@@ఐ~#var_ 5_ 8@@@E@@@J@(@@ภ_ 9_ ;@@@@bJ@5@@o@@3@@@I@s<@డ#Tbl#add*Closure_id`=E`=O@ `=P`=S@@`=T`=W@ @ @@@slH@@@@@@@@@ z@@@@@@@@@l@@ఐ(used_fun`=X`=`@@@@@@}@@ఐ*closure_id`=a`=k@@@@@@I@@@ภi`=l`=n@h@@@I@@@P@@I@@@@@Ġ;Move_within_set_of_closuresaowao@;;Move_within_set_of_closuresb@c;move_within_set_of_closures@@@@AG@K@AZ[@@@h@ঠ'closure)ao*ao@3'closureY;move_within_set_of_closures@@@V!t@@@@@@3*start_fromT!t@@@@@A @ARaRTSaRn@@lE@3'move_to`!t@@@@@B@A^boq_bo@@xF@@Ab`c`4@@|D@@WaoXao@@'@@@@*start_frombaocaoA+ఠؠ@tLA@/@@@@'move_tosaotaoA0ఠ٠@MA@4@@@@@@aoao@@m@@@I@@@@v@@;@@@@@>@@@@@@ డ#Tbl#add*Closure_idbb@ bb@@bb@ @o @@@_XI@@@@@m@@@@ f@@@@@@@@@3@\Y@[@ZLI@K@J@@@@ఐ(used_funbb@r@@z@@@2@@ఐu*start_frombb@@@@@@KJ@J(@@ภZbb@Y@@@J@V5@@U@@X@@@WI@);@డ#Tbl#add*Closure_id c c@ cc@@cc@ @ڰ @@@ʠH@]@@@_@@@@^@ @@@\@@[@@Z@@Yk@@ఐ\(used_fun4c 5c@ذ@@@@@u|@@ఐʠ'move_toEcFc@@@@@@I@@@ภUcVc@@@@I@@@P@@I@l@@@ @Ġ&Symbolvd%wd+@;&Symbol@&Symbol!t@@@ @A@@K@Aqq@@@x@@d,d-@@@@@@@@@@E@@@@@@Ġ%Constd0d5@;%Const@%const@@@@AA@K@Arr@@@y@@d6d7@@@@@@@@@@h@@@@@@@B @@l@@@@Ġ/Set_of_closuresd:dI@;/Set_of_closures@/set_of_closures@@@@AE@K@A DF Dj@@@}@@dJdK@@@@@7@@@@@@@@;@@;@@i @@@@@?@Ġ$PrimdNdR@;$Prim;@2Clambda_primitives)primitive@@@$listK(Variable!t@@@@@@)Debuginfo!t@@@@CI@K@AOP8@@@]C@@dSdT@@+@@@z@@@'$@@@@@@@@@ @@@@@@B@@@@@@@@@@@@@@@Ġ$Expr;dW'program Lg Mg@ @@p@?ఐ)aux_named Yg Zg@@@@@@@f @@@e@@d%@@e@@@@@jE@Z+@@ఐ$used uh vh@@@J9@@ఐ(used_fun h h @%@@4E@@@@@[@;@@qL@ @@M@ @@1@W @@ @ @@ P@A@ W@@@ఠ)aux_named3 j   j  @ NA@@@@@D@@a%named@@@D@i%named@@@D@@@D@@@D@~3        @~@@yr@s@t@@@࣠@%paramA@ j   j  @@(3        @5 j   {[g@@@@@ @@%named5A@ j   j  @@0@@@@  @ OA6 г9'Flambda j  ! j  (@@ j  ) j  .@@@H@@@- @@ j   j  /@@@O1@@@@ఐ/%named k B L k B Q@-@0@(@@^@@@3        @D<@@@Ġ/Set_of_closures l W ] l W l@Wঠ.function_decls 'l W p (l W ~A3.function_declsc@@@/{5function_declarations@@@(@@@ 3)free_vars 9#Map!t.specialised_to@@@*@@@)@@A@@'''';@@O@30specialised_argsM#Map!t@@@,@@@+@@B#@@(6(8(6(i@@P@36direct_call_surrogates1_#Map!tf!t@@@.@@@-@@C8@@2223@@Q@@@$$$$@@N@ఠQ6RQP@ PA@K@@@3 e d d e e e e e@n@@@)free_vars l W  l W AQఠ7@ QA@UP@@@@@@@@A l W n l W @@@@@I@@/set_of_closures8 l W  l W @ RA  l W m l W @@(@@@@@@@@,@@@@@/@@@@ఠ6direct_call_surrogatess m   m  @ TA@@(Variable#Set!t@@@ I@3        @TQ@S@RC@@B@A17@/@,@@@ఐ۠=remove_direct_call_surrogates n   n  @@@ @డ(Variable#Set%empty(Variable n   n  @  n   n  @@ n   n  @ @;@@@@6utils/identifiable.mlill@@+Stdlib__SetE@ @@E;@డ+#Set'of_list(Variable p  ! p  )@  p  * p  -@@ p  . p  5@ @@$listKl#elt@@@ @@@ r@@@ @@ @7@,IdentifiableP@!@@@@@@ @@@ @@@ @@ z@@డl#Map$data(Variable Sq 6 C Tq 6 K@  Wq 6 L Xq 6 O@@ \q 6 P ]q 6 T@ @@#Map!t!a@@@@M @@@@@@zm{m@@F^@%@@@Z@@@/J@/J@&@@@& @@@&@@&@@ఐ/set_of_closures q 6 U q 6 d@̰@@@@@/@.@6direct_call_surrogates q 6 e q 6 {@I@@H(@@@/@@ q 6 B q 6 |@@@@@&@@@&J@/K@&@@ @@J@&@ n  @@@A@ m  @@Aఠ*add_needed~ s   s  @ UA@@@m!4function_declaration@@@1{I@0@@@1!I@/Q@|M@/@@@0I@/T@,@@@/I@/W@!I@/Z@ I@/[@@/`@@/_@@/^@@/]3        @/D=@>@?@@@࣠@+needed_funsA s   s  @ VA@@83        @D@?@4@/@,@+@@/\J@/X@@/YJ@/U@@/VJ@/R@@/SJ@/P@R@S@@@@@@.remaining_funsA &s   's  @ 3WA@@N3        @&2`@)@*@@@@@@6free_vars_of_kept_funsA 7s   8s  @ DXA@@V3 $ # # $ $ $ $ $@b@@@@@@@@@@ఠ/new_needed_funs Nt   Ot  @ [YA@@v@@@/M@/w3 A @ @ A A A A A@*v@!@"@@@@ఠ.remaining_funs ct   dt  @ pZA@@@@@/M@/x@@  @@@ @ @@/{@డ#Map)partition(Variable x   x  @  x   x  @@ x   x  @ @@@4#key@@@ @!a@l$boolE@@@@@@@@G@@@@O@@@@U@@@@@@@@@@H@+Stdlib__Mapa@9/@@@@,@@@/@&@@@/@@/@@/@j@@@/@r@@@/@x@@@/@@/@@/~@@/}3        @@@@@࣠@&fun_idA x   x  @ [A@@[@@@/@@@@3A@ x   x  @@3        @j@@@/@@@@@@ @@డ d"|| z ) 7 z ) 9@@$boolE@@@P@@@@O @@@N@@M@@L'%sequorBA @@@@*stdlib.mli@@&Stdlib^@"!@@@@@@/@@@@/@@@/@@/@@/@@@డj#Set#mem(Variable Qy   Ry  @  Uy   Vy  @@ Zy   [y  @ @@9@@@ F@@@@ E$boolE@@@ D@@ C@@ B@u@qc@@@@K@@@/@@@@/@@@/@@/@@/@@ఐ&fun_id y   y  @@@@@@/@@ఐc6free_vars_of_kept_funs y   y  (@?@@@@J@@@@@/@/R@/@@డ  |   |  @@@@@@@/@@@@/@@@/@@/@@/@@డ #Tbl#mem*Closure_id z ) : z ) D@  z ) E z ) H@@ z ) I z ) L@ @@ !a@K@@@@ @@@$boolE@@@@@@@@ @ o@$@@@  @@@0R@0@@@0@ @@@/@@@/@@/@@/ @@ఐ Ƞ0used_closure_idsz ) Mz ) ]@U@@ Š@@@0@@డ 6$wrap*Closure_id){ ^ o*{ ^ y@ -{ ^ z.{ ^ ~@@@(Variable!t@@@  !t@@@ @@ @ 1middle_end/flambda/base_types/closure_element.mliUU@@/Closure_element@@@@@@@@00@@@0/@@0.R@@ఐo&fun_idY{ ^ Z{ ^ @\@@@@@08b@@`{ ^ na{ ^ @@ @@@0>T@06j@@@@Y@@@/@0GS@0 r@@డ#Set#mem(Variable|  |  @ |  |  @@|  |  @ @2 @@@k@@@0M@@@@0L2@@@0K@@0J@@0I@@ఐ&fun_id|  |  @@@@@@0^@@ఐ6direct_call_surrogates|  |  @İ@@@@@0XS@0qS@0p@@? @@@@@/@0rS@0W@@@@@@@/@0sR@/@@@@3@@@0tQ@/@x  |  @@@J@@@/@D@@@/@@/@@/N@0N@0{@@ఐϠ.remaining_funs}  }  @@@@@q@@@@@@0N@/@A@t   @@డ,#Map(is_empty(Variable    @     @@    @ @@!a@^@@@@@@@@@@sc@@@@РeI@0@@@0@@@0@@03$##$$$$$@@@@@@@@@ఐ/new_needed_funsJ  K  @@@o@@@0@@?@@ }@@@0M@0@@ఐd+needed_funsbA f pcA f {@8@@*@@ఐ:6free_vars_of_kept_funsnA f }oA f @@@6@@@@@@@@0=@@ఠ+needed_funsC  C  @\A@@'@@@1M@03vuuvvvvv@R@@@డ#Map.disjoint_union(VariableD  D  @ D  D  @@D  D  @ @"eq&optionL@!a@@$boolE@@@r@@q@@p@@@o%print@&Stdlib&Format)formatter@@@n@"$unitF@@@m@@l@@k@@@j@.@@@i@4@@@h8@@@g@@f@@e@@d@@c@~@W@TJ@@GE@(@*>@@@0@@0@@0@@@0;R@9@@@0@:2@@@0@@0@@0@@@0@C@@@0@I@@@0M@@@0@@0@@0@@0@@0@tภ$None;`mj@@W@@@@AA@A@@c@@~@a@cw@@@1@@1@@1@@@1@tภ@@@w@@@1@xp@@@1@@1@@1@@@1@@ఐZ+needed_funsXD  YD  @.@@@@ఐ/new_needed_funseD  fD @)@@@@@14@@@@@A@nC   @@@ఠ6free_vars_of_kept_funsyF"zF8@]A@@@@@1M@1N3kjjkkkkk@H@@@@@డ#Map$fold(VariableG;GG;O@ G;PG;S@@G;TG;X@ @@@@@@@!a@@#acc@@@@@@@@V@@@@  @@@@@@@K@\@* @@@@.@@@1Y@M@1U@PM@1S@@1X@@1W@@1V@o @@@1T@  @@1R@@1Q@@1P3@U@@@@࣠@A@G;^G;_@@O@@@1sf@@@@'Aঠ'FlambdaG;bG;i@.free_variablesG;kG;y@A3.free_variables-@@@B #Set!t@@@:@@C/3.closure_origin.Closure_origin!t@@@6@@@ @@ U-88 V-884@@ cV@3¶ms %)Parameter!t@@@8@@@7@@A@@ h.8587 i.858Q@@ vW@3$body/@@@9@@B'@@ q/8R8T r/8R8]@@ X@83,free_symbols8 #Set!t@@@;@@D5@@ 699 699@@ Z@3$stubF$boolE@@@<@@EA@@ ::: :::@@ [@3#dbgR K!t@@@=@@FM@@ ?;; ?;;@@ \@3&inline^&Lambda0inline_attribute@@@>@@G[@@ A<< A<<@@@ ]@3*specialisel4specialise_attribute@@@?@@Hg@@ CJ?J@@@\j@@@@u@A@CF@@ఐ*add_neededML NL @H@@@@x@q@l@k@@1@@1@@1@@13EDDEEEEE@@@@@@@ఐ栐+needed_funsiL jL *@@@ @@@1@@ఐ.remaining_funszL +{L 9@=@@@@@1%@@ఐ6free_vars_of_kept_funsL :L P@/@@2@@B@@!L@1M@17@Q@@@B  MQ\@@ @  @@' @@@(B@A@@@@@@@@2@@2 @@2 @@2 I@2@@@s  @@@@ఠ$funsOfpOft@`A@@]@@@2.@@@2-I@23@@@@@ఠ6free_vars_of_kept_funsOfvOf@aA@@@@@2/I@2@@  @@@ @ @@2@ఐ!*add_neededPP@@@@@@@2@@@2@ @@@2@A@@@2@@ @@2@@2@@2@@2?@@డ0#Map%empty(VariablePP@ PP@@ P!P@ @ !a@G@@@M@@qE@ @@̠sJ@2:J@28@@@27p@@ఐɠ.function_declsBPCP@{@@ @@@2W@2T@$funsNPOP@3$funs $@@@5 X#Map!t@@@4@@@3@@C3/is_classic_mode@@@0@@@@@4444@@R@32set_of_closures_id2Set_of_closures_id!t@@@1@@A@@5254525^@@S@36set_of_closures_origin*6Set_of_closures_origin!t@@@2@@B#@@"66"666@@T@8@@'7(7*'7(7U@@U@K>@@8J@2YJ@2V@@@2U@@డ#Set%empty(VariablePP@ PP@@PP@ @ @@J@2qJ@2p@@@@@@@@2rJ@2,@A@Ofl@@@ఠ)free_varsRR@bA@@q @@@3LI@2x@@@2I@2s3@*#@$@%@@@@@డ #Map&filter(VariableSS @ S S@@SS@ @@@m@@@@!a@k@@@@@@@@ @@@@@@@@@@@@__@* @@@@@@@2}@O@@@2|@@2{@@2z@ȠW@@@2y̠[@@@2w@@2v@@2u3@V@@@@࣠@"idAASBS@NcA@@@@@2l@@@@$_varARSSS#@_dA@@3?>>?????@{@@@2@@@@@@  @@డY[fU^jgU^l@X@@@X@@@2@U@@@2T@@@2@@2@@23_^^_____@!-@$@%@@@@డ #Set#mem(VariableT'3T';@ T'<T'?@@T'@T'C@ @< @@@ u@@@2@ @@@2<@@@2@@2@@21@@ఐs"idT'DT'F@[@@@@@2A@@ఐ6free_vars_of_kept_funsT'GT']@@@ @@@2N@2N@2U@@? @@@@@2@2N@2]@@డ[#Tbl#mem2Var_within_closureU^mU^@ U^U^@@U^U^@ @@Ƞ!a@@@@:@@@@9$boolE@@@8@@7@@6@^@Zo@$@@@ߠ@@@3M@2@@@2@@@@2@@@2@@2@@2@@ఐ8used_vars_within_closure(V)V@ l@@@@@3@@డ$wrap2Var_within_closure?W@W@ CWDW@@@(Variable!t@@@E"!t@@@D@@C@ 1middle_end/flambda/base_types/closure_element.mliUU@@/Closure_element@@@@@@@@3@@@3@@3@@ఐ1"idoWpW@@@@@@3&@@vWwW@@3@@@3,O@3$@@@@g@@@2@35N@2@@@@|@@@36M@2@SW@@@@@@2@@@@2@@2@@2J@3AJ@3=@@ఐ )free_varsXX@ ް@@ s@@@3K{@@@@@A@R @@@ఠ.function_declsZZ@eA@@ @@@3xI@3f3@@@@@@డ|a-\@ Aa-]Ba-`@@Fa-aGa-e@ @@$listK)Parameter)parameter@@@64@@@63(Variable#Set!t@@@62@@61@ middle_end/flambda/parameter.mlijj@@H@.$@@@!@@@68@@@67@@@66@@65`@@ఐ¶msa-fa-l@@@<9@@@6I@@@6HP@6LP@6Jx@@a-Ra-m@@ @@@3@6RP@6G@@ @@8O@3@` a-n@@@ @@@3@@@@3@@3@@3K@6`K@6\[@@ఐ$funsbo{bo@ٰ@@ W.K@6k@@@6j @@డ #Set%empty(Variablebobo@ bobo@@bobo@ @  @@ #@@@6B@@j@@M@A@_ @@డ #Map&filter(Variabledd@ dd@@dd@ @ @@@@ p@@@6@@@@6@@6@@6@ @@@6 @@@6@@6@@63@@@@@@@࣠@#argA)d*d@6jA@@ @@@63@@@@@ @@pA@8d9d@@3#""#####@# @@@6@@@@@@ @@డ l#Set#mem(VariableSeTe@ WeXe@@\e]e@ @  @@@ ;@@@6@ @@@6 @@@6@@6@@63@@ఐQ#argwexe@=@@ @@@6C@@ఐ)7all_remaining_argumentsee@o@@ @@@6M@6M@6W@@? @@@@@6M@6]@de@@@ @@@6@Z@@@6@@6@@6J@6J@6x@@ఐ/set_of_closuresf f@ @@@@@7@6@0specialised_argsff,@z@@yy@@@7@@@@@@@x@A@]dj @@@ఠ)free_vars۠h6@h6I@kA@@(Variable#Map!t'Flambda.specialised_to@@@8@@@8I@73@@@@@@డ-Flambda_utils1clean_projections-Flambda_utilsiLTiLa@ iLbiLs@@/which_variables1#Map!t/.specialised_to@@@8q@@@8p@9@@@8o@@@8n@@8m@ $middle_end/flambda/flambda_utils.mli#@@-Flambda_utilsb@)$@@!@@@8@@@8WP@@@8@@@8@@8K@1ఐv)free_varsCiLDiL@@@ 9@@@8J@8J@8@@@8c@@R@@wd@A@Sh6<@@@ఠ6direct_call_surrogates^k_k@klA@@ @@@9_M@9@@@9I@83VUUVVVVV@@@@@@డ#Map$fold(Variablen;Cn;K@ n;Ln;O@@n;Pn;T@ @ @@@@ @@@8@0I@8@9I@8@@8@@8@@8@= @@@8@  @@8@@8@@83@8@@@@࣠@(existingAn;Zn;b@mA@@ "@@@8N@@@@)surrogateAn;cn;l@nA@@23@] 6@@@8@@@@@@  @@*surrogatesAn;mn;w@oA@@B3@!I@@@@@@@@డC ߠ pp@ ް@@@ @@@8@ @@@8 @@@8@@8@@83@ ,d@#@$@@@@డa#not o{ o{@@ @@@F @@@E@@D(%boolnotAA @@@ LL Lt@@ \@@@@@@@9@@@9@@9-@@డV#Map#mem(Variable=o{>o{@ Ao{Bo{@@Fo{Go{@ @@ @@@@!a@Y@@@ @@@@@@@@@ d@"@@@ @@@9@@@@9,O@9@@@9@@@9@@9@@9 v@@ఐˠ(existing|o{}o{@@@ @@@9P@9$P@9#@@ఐנ$funso{o{@@@1+@@@9+@@o{o{@@@@@9 @9@P@9@@ @@ @@@9@9AO@9 @@డ #notpp@@@@@@@9E@@@9D@@9C@@డ#Map#mem(Variablepp@ pp@@pp@ @ @@@M@@@9S@@@@9lO@9R@@@9Q@@@9P@@9O@@9N@@ఐ<)surrogatepp@!@@j@@ఐR$funs p p@.@@$@@@9k@@pp@@ @@@9L@9P@9] @@h @@@@@8@9O@9K(@@@@P@@@9N@8.@ఐ[*surrogates1q2q@5@@8@డ_#Map#add(VariableFrGr@ JrKr@@Or Pr#@ @@@@@S@!a@C@ @@@R @@@Q@@P@@O@@N@@F@$@@@@@@9@ @@@@9@@@9@@9@@9@@9@@ఐԠ(existingr$r,@@@@@@9N@9N@9@@ఐנ)surrogater-r6@@@@@ఐР*surrogatesr7rA@@@@@d@@HF@@@9@o{ @@@n;UrB@@@#@@@8@'@%%@@8@@8@@8J@9J@9S@@ఐ./set_of_closuressCMsC\@@@ @@@9@9/@6direct_call_surrogatessC]sCs@@@wI@9@@@9<@@డ #Map%empty(Variablett~tt@ tttt@@tttt@ @ܰ @@I@9@@@9a@@ @@l@A@k @@@ఠ/set_of_closuresvv@ pA@@Q@@@:"I@:3@@@@@@డ6create_set_of_closures'Flambda,w-w@ 0w1w@@.function_decls @@@N)free_varsB#Map!t @@@M@@@L0specialised_argsR#Map!t@@@K@@@J6direct_call_surrogatesb#Map!ti!t@@@I@@@H@@@G@@F@@E@@D@@C@iccndd@@@JE@@BJ@@@: @>B@@@: @@@: 97K@@@: @@@: 20+@@@:@@@:@@@:@@:@@:@@:@@:}@eఐ預.function_declsww@R@@|@@@:)J@:+J@:*@rఐ⠐)free_varsxx@J@@ߠ@@@:(J@:5J@:3@@@:2@zఐ0specialised_argsxx@@@p@@@:&J@:QJ@:O@@@:N@ఐ6direct_call_surrogatesxx+@˰@@W@@@:k@@@:j@@ @@@A@v @@ภ/Set_of_closuresz5;z5J@7ఐ/set_of_closuresz5Kz5Z@@@@@D@@@:H@:H@:3@ @@@@ @@_@@@:@#@@@@@@@@*@O@@@@@W@l@@  ?@ Z@@  V@ s@@ *@b@@i@@@\@ఠ!e9+{[a,{[b@8SA@@@@@$@@@@@'@@@ఐ!e<{[fm@@@o@@!3(''(((((@2@@@@@ABk B Fs@г'FlambdaNj  2Oj  9@Rj  :Sj  ?@@@3>==>>>>>@G@@ @@@@@A@D@:@A@@డi4map_named_of_program1Flambda_iteratorsg}moh}m@ k}ml}m@@@@@@5!f@(Variable!t@@@4@%named@@@3%named@@@2@@1@@0@@@/@@.@@-@mn(<@@la@1,@@@@@@:)@'@@@:@"@@@:@@@:@@:@@:@@@:@@:@@:3@@@@@@@ఐ'program}m@|@@@Jఐ-)aux_named}m}m@@@@U@@@:D@:@'@@@:"@@@:@@:@@:+@@t@@,@ @@!@M@@@A@A@:@A)ocaml.doc p A variable in a closure can either be used by the closure itself or by an inlined version of the function. TUK@@@@@@@@@@,%@&@'@@3@:/@@@+:Remove_unused_closure_vars@@@ H************************************************************************A@@A@L@ H BMMBM@ H OCaml  C C@ H DD3@ H Pierre Chambart, OCamlPro E44E4@ H Mark Shinwell and Leo White, Jane Street Europe FF@ H "G#G@ H Copyright 2013--2016 OCamlPro SAS (H)Hg@ H Copyright 2014--2016 Jane Street Group LLC .Ihh/Ih@ H 4J5J@ H All rights reserved. This file is distributed under the terms of :K;KN@ H the GNU Lesser General Public License version 2.1, with the @LOOALO@ H special exception on linking described in the file LICENSE. FMGM@ H LNMN5@ H************************************************************************RO66SO6@ q* A variable in a closure can either be used by the closure itself or by an inlined version of the function. j Keep a function if it is used either by the rest of the code, (in used_closure_ids), or by any other kept function (in free_vars_of_kept_funs) [u  \w  @ 3 If no new function is needed, we reached fixpoint a@ $ .b@ $ e@ < Remove specialised args that are used by removed functions g^h^@ s Remove direct call surrogates where either the existing function or the surrogate has been eliminated. mlnm:@@*./ocamlopt)-nostdlib"-I(./stdlib"-I1otherlibs/dynlink"-g0-strict-sequence*-principal(-absname"-w8+a-4-9-40-41-42-44-45-48+-warn-error"+a*-bin-annot/-strict-formats"-I2middle_end/flambda"-I%utils"-I'parsing"-I&typing"-I(bytecomp"-I,file_formats"-I&lambda"-I*middle_end"-I2middle_end/closure"-I2middle_end/flambda"-I=middle_end/flambda/base_types"-I'asmcomp"-I&driver"-I(toplevel"-I%tools"-I'runtime"-I1otherlibs/dynlink"-I-otherlibs/str"-I4otherlibs/systhreads"-I.otherlibs/unix"-I8otherlibs/runtime_events2-function-sections"-c F/home/ci/builds/workspace/main/flambda/false/label/ocaml-ubuntu-latest ?>3210/.-,+*)('&%$#"! @@0e:]LW 3@@@/Allocated_const0ЖݔTWŠ(Asttypes0>n{T8cئ5Build_path_prefix_map0z HkGs8CamlinternalFormatBasics0%FU(Q/Tu0CamlinternalLazy0&͂7 Pˆ2Clambda_primitives01U1/Closure_element0YWZ̡Q.hV&05:z[ކ.Closure_origin0vˆtT{(}z*Cmi_format0c˯7͗ԩmݠ0Compilation_unit0 {p-Vg_*Data_types0I'Ue`wq]Ѡ)Debuginfo0PtJ=^w/#Env0zV L{YWI0Idvu "08Jn8I:0%#, s*Format_doc0]mWϓ:Mݠ%Ident0">WA+9*X,Identifiable0 {d\FX'`y0ixjx-{`͡;7Internal_variable_names0HdeՄL ԩ&Lambda0z1x]&ZT,Linkage_name0EwKсڊs)Load_path0I@18 ~(Location0a7cK_H%9)Longident0s `7mɕc$Misc0ob]6>Vê>0Mutable_variable0~emP*%"e$Path0Y2kf֯J._Ϡ)Primitive0²~$xzT෠*Projection0$WF 8E03o21%\9?W2Set_of_closures_id0wi xtW#SSD=6Set_of_closures_origin0 7|MӑTrќt%Shape0oNՄBH0Static_exception0e6Z@F<jiޢ2_&Stdlib0Lku]8_٠.Stdlib__Buffer08APF< t..Stdlib__Digest0l!LHgErζ .Stdlib__Domain0Hݶ/m.Stdlib__Either0Vy`u~c à.Stdlib__Format0ɢb tLir/Stdlib__Hashtbl0ѱN][/!-Stdlib__Int640l-J ~m-۠,Stdlib__Lazy0* -S$.)"0D.Stdlib__Lexing0e<.V +Stdlib__Map0L5xE|O0~,J-.Stdlib__Result06 ]/J+Stdlib__Seq0nwzG&amg+Stdlib__Set0\$;7 .Stdlib__String0s&Switch0ܨnm\7&Symbol0ҡ4d,#Tag0\݅}x.Type_immediacy0A^abOhՠ%Types0xH+}q)Unit_info0ڀh%(00SSJh6 (Variable0' Gr㠠(Warnings0mJɒkgr