Caml1999I037„•¦¾žKû 3Extract_projections ° 2from_function_decl!ÐÀÁ#envÀªÀ³¡¡’7Inline_and_simplify_aux#Env!t@@õá@ô@õá@õÀÁ/which_variablesÀªÀ³¡¡’(Variable#Map!t À³¡’'Flambda.specialised_to@@õá@ö@@õá@÷@õá@øÀÁ-function_declÀªÀ³¡4function_declaration@@õá@ù@õá@úÀ³¡¡’*Projection#Set!t@@õá@û@õá@ü@õá@ý@õá@þ@°À *middle_end/flambda/extract_projections.mli]Àa6K@@±J@@@@„•¦¾ "c(,  3Extract_projections0ñ䛌ÌùòFOb5ŒÛ¾¶  (Warnings0¹‘¡ûÓÉÎþEëf¹{²&Š  (Variable0?ÄÞÕæl猵ÇeY  2Var_within_closure0Œ``Ý—ÓXFì³R–ÿâ  )Unit_info0'Á¸›T•ø ¶Î§@aÂR  %Types0€"˜Í|VÈ·`ØX ù  .Type_immediacy00$ôÍ jÌbv\"õkö&  #Tag0‹&›Óbé… “ÊrÙ¹  &Symbol03ÉæE´?Yßö¦7÷‘(  %Subst0—’í=aëqT£/!p+  -Stdlib__Uchar0þ´=‹ÌH^®V9‚˜>ÌÉ  +Stdlib__Sys0öb÷'8ï=OðþIn  .Stdlib__String0 w_‡OA4D"Q~¾õ~  +Stdlib__Set0ø¯Ü”@Z8XäWåaŽa2  +Stdlib__Seq0 ?¯…¨72#š£[O  .Stdlib__Result0pŽ~ !Ô¥Â/”/²‚ö  +Stdlib__Map0*4ɇÂ2ù  .Stdlib__Domain0'Í¿‚Žo\¦0m’š¬.K  .Stdlib__Digest0#z25§ÆªÂ¶I*…  .Stdlib__Buffer0,å¦I÷ú[?¹Ä÷—z  &Stdlib0t0µVoS%{<‰F¡:  0Static_exception0JÕm¹yrqÜ’x-¸º8Éž  3Simple_value_approx0¼ Ãc[kð%»S\KÑ  %Shape0• À³M„´Î``ll§  6Set_of_closures_origin0!Y‹AÊë _’éXO¼   2Set_of_closures_id0L‰Èb£O`àÜ©&°öðM  *Projection02h‹ÂS xíj56  )Primitive0õÛdU˜=úÑ\IÆ/ø}  $Path0¸Ðk.tåb ûÃGêmá  )Parsetree0v Ýo[p÷…¯îÓY Y  )Parameter0zk^fË2mËÝy£ˆ£1Ù9  +Outcometree0B³u©Gê^)=¾ú 9c  'Numbers0 qàÞ·Heüš‡ù³–  0Mutable_variable0ÈC«ÁQâá·§£$òÜ´‰  $Misc0Ž€Bâõú¾åpg]?[q…  )Longident0ØwP qÍ;°œ±É¡  (Location0–ÈnBÉŠÄOn?§ö7~Ø  )Load_path0Å,jÚ ¡ö" ¡–nn7Ý  ,Linkage_name0t–м†ÔˆïK¨1G«  &Lambda0®xÏ_eódT Õ-uq  7Internal_variable_names0TbÁg€Ñ¹•äG+L›  4Inlining_stats_types0)¢x0pñŠuí¢kC„Þ\  -Inlining_cost0¹¨i(wyp®P1 ÉÕó°  7Inline_and_simplify_aux0E#XøÌ•úúB,;xÜÕ   ,Identifiable0ä]¡/­§*N »Ì ‡  %Ident0>®Ðƒ²Ðz€V)±j¢â  *Freshening0xWŸþ(¥"-9wõV¥öÔ  *Format_doc0¯æuy@½…GmWðUà  'Flambda0“¤æVåJíŒÎëÍŸª  )Export_id0ÕCJ9DןRaý7Ý·$E  #Env0¬–áS—½  ÖïBµ™2  )Debuginfo0_‹·Œí |Po†oÓGq  *Data_types0v\ò«É3Ï,¦S€ví¿hø  0Compilation_unit0òöD£lˆ ]wN  *Cmi_format0ŸÀø±®µ¡`M¾{?w}@  .Closure_origin0!Hðaðvl³·¨Ú5"_  *Closure_id0 (—ïú‚?ª$ŽŽÏñ  /Closure_element0¢ Ç”‰¡¿f#M†ö  2Clambda_primitives0ïØ|&»” Á%ZIÇz  0CamlinternalLazy0é ÈzYØ#¾â #4²ñ#-  8CamlinternalFormatBasics0“…Ä|.e1R¾$½ŠÕ|o  5Build_path_prefix_map0DGl…Ê}Ã%Yÿ5µLhi  ,Backend_intf0žó‹š•LúQé:X^rà#  (Asttypes0ÁeT$B¹b‚RMü Ädc  /Allocated_const0—­/v«V˜ëÇŸøxšš@„•¦¾ @@Caml1999T037„•¦¾"”©%C3Extract_projections’° °ž° *ocaml.text°À&_none_@@ÿA   À‘ ² é Identify projections from variables used in function bodies (free variables or specialised args, for example, according to [which_variables] below). Projections from variables that are also used boxed are not returned. °À *middle_end/flambda/extract_projections.mliQ„„ÀTbr@@@@@@3 @@ @@@§²²²²²²²²²²²²²±±±±±±±±±±±±±±±±±±±±±@£#intA;@@“#intA@@@@@;@A@’£$charB;@@“$charA@@@@@A@A@’£&stringQ;@@“&stringA@@@@@G@@@’£%bytesC;@@“%bytesA@@@@@M@@@’£%floatD;@@“%floatA@@@@@S@@@’£$boolE;@@¢ à£%falsec@@]@’ à£$trued@@c@’@@A@@@@@d@A@’£$unitF;@@¢ à£"()e@@n@’@@A@@@@@o@A@’ £#exnG;@@@A@@@@@s@@@’£#effH; À@õá@O@A@A@ @ @@@@|@@@’£,continuationI; À@õá@Q À@õá@P@B“,continuationA@ n Y@ @ @@@@Œ@@@’£%arrayJ; À@õá@R@A“%arrayA@ @ @@@@—@@@’ £$listK; À@õá@S@A¢ à£"[]f@@¤@’ à£"::g  À³ @@õá@T@@±@’ @@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\#$@@@A3 ° 66@’£'FailureY#,@ '@@A< ° ??@’£0Invalid_argumentX#5@ 0@@AE ° $H#H@’£-Match_failureV#>@ À’  @=  @9  @;@õá@a@@AV ° 5Y4Y@’£)Not_foundZ#O@@@A^ ° =a<a@’£-Out_of_memoryW#W@@@Af ° EiDi@’£.Stack_overflow^#_@@@An ° MqLq@’£.Sys_blocked_io_#g@@@Av ° UyTy@’£)Sys_error[#o@ j@@A ° ^‚]‚@’£:Undefined_recursive_modulea#x@ À’  @w  @s  @u@õá@h@@A ° o“n“@’£:Continuation_already_takenb#‰@@@A˜ ° w›v›@’’&Stdlib@A“ °ð 2from_function_decl1 °Àš]‘À›]£@б#envг¡¡’7Inline_and_simplify_aux#Env!t ¡ ¡ 7Inline_and_simplify_aux°À±^¤­À²^¤Ä@  °Àµ^¤ÅÀ¶^¤È@°@ °Àº^¤ÉÀ»^¤Ê@° @@À³@@õá@ )½°@@б/which_variablesг¡¡’(Variable#Map!t ¡ ¡ (Variable°ÀÖ_Ë÷À×_Ëÿ@  °ÀÚ_ËÀÛ_Ë@°@ °Àß_ËÀà_Ë@° @ Ð³¡’'Flambda.specialised_to ¡ 'Flambda°Àð_ËàÀñ_Ëç@  °Àô_ËèÀõ_Ëö@°@@À³@@õá@"÷° @@@À³6 @@õá@$ü° @@б-function_declг¡!4function_declaration ¡ 'Flambda°À`À` @  °À`!À`5@°@@À³@@õá@%° @@г¡¡’*Projection#Set!t ¡ ¡ *Projection°À+a6;À,a6E@  °À/a6FÀ0a6I@°@ °À4a6JÀ5a6K@° @@À³@@õá@7°@@ÀÁ;Àª)@õá@Ž@õá@<°À@`  @@ÀÁ€ÀªJ@õá@ @õá@‘B°ÀF_ËÐ@@ÀÁ«ÀªŽ@õá@’ @õá@“H°ÀL^¤©@@Ð@°ÀO]@ ° )ocaml.doca   À‘ ²  [which_variables] maps (existing) inner variables to (existing) outer variables in the manner of [free_vars] and [specialised_args] in [Flambda.set_of_closures]. The returned projections are [projecting_from] (cf. projection.mli) the "existing inner vars". °À^VttÀ_\ŠŒ@@@@@@@±w@@@°-@ ° r   À‘ ²@@@@@@j@ °Ù"@@3lkklllll@°kÛ$@A@   H************************************************************************°ÀuA@@ÀvA@L@   H °À{BMMÀ|BM™@   H OCaml °ÀCššÀ‚Cšæ@   H °À‡DççÀˆDç3@   H Pierre Chambart, OCamlPro °ÀE44ÀŽE4€@   H Mark Shinwell and Leo White, Jane Street Europe °À“FÀ”FÍ@   H °À™GÎÎÀšGÎ@   H Copyright 2013--2016 OCamlPro SAS °ÀŸHÀ Hg@   H Copyright 2014--2016 Jane Street Group LLC °À¥IhhÀ¦Ih´@   H °À«JµµÀ¬Jµ@   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 °À·LOOÀ¸LO›@   H special exception on linking described in the file LICENSE. °À½MœœÀ¾Mœè@   H °ÀÃNééÀÄNé5@   H************************************************************************°ÀÉO66ÀÊO6‚@   ê* Identify projections from variables used in function bodies (free variables or specialised args, for example, according to [which_variables] below). Projections from variables that are also used boxed are not returned. Ï   * [which_variables] maps (existing) inner variables to (existing) outer variables in the manner of [free_vars] and [specialised_args] in [Flambda.set_of_closures]. The returned projections are [projecting_from] (cf. projection.mli) the "existing inner vars". t@ó-./boot/ocamlc)-nostdlib"-I&./boot*-use-prims2runtime/primitives"-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_events"-c  9/builds/workspace/main/flambda/false/label/ocaml-linux-32    > 1 0 / . - , + * ) ( ' & % $ # " !     @@0InÝ® "ÇÛñUxmO©?3'&&'''''@%@@  /Allocated_const0—­/v«V˜ëÇŸøxšš  (Asttypes0ÁeT$B¹b‚RMü Ädc  ,Backend_intf0žó‹š•LúQé:X^rà#  5Build_path_prefix_map0DGl…Ê}Ã%Yÿ5µLhi  8CamlinternalFormatBasics0“…Ä|.e1R¾$½ŠÕ|o  0CamlinternalLazy0é ÈzYØ#¾â #4²ñ#-  2Clambda_primitives0ïØ|&»” Á%ZIÇz  /Closure_element0¢ Ç”‰¡¿f#M†ö  *Closure_id0 (—ïú‚?ª$ŽŽÏñ  .Closure_origin0!Hðaðvl³·¨Ú5"_  *Cmi_format0ŸÀø±®µ¡`M¾{?w}@  0Compilation_unit0òöD£lˆ ]wN  *Data_types0v\ò«É3Ï,¦S€ví¿hø  )Debuginfo0_‹·Œí |Po†oÓGq  #Env0¬–áS—½  ÖïBµ™2  )Export_id0ÕCJ9DןRaý7Ý·$E  “0ñ䛌ÌùòFOb5ŒÛ¾¶  'Flambda0“¤æVåJíŒÎëÍŸª  *Format_doc0¯æuy@½…GmWðUà  *Freshening0xWŸþ(¥"-9wõV¥öÔ  %Ident0>®Ðƒ²Ðz€V)±j¢â  ,Identifiable0ä]¡/­§*N »Ì ‡  ë0E#XøÌ•úúB,;xÜÕ   -Inlining_cost0¹¨i(wyp®P1 ÉÕó°  4Inlining_stats_types0)¢x0pñŠuí¢kC„Þ\  7Internal_variable_names0TbÁg€Ñ¹•äG+L›  &Lambda0®xÏ_eódT Õ-uq  ,Linkage_name0t–м†ÔˆïK¨1G«  )Load_path0Å,jÚ ¡ö" ¡–nn7Ý  (Location0–ÈnBÉŠÄOn?§ö7~Ø  )Longident0ØwP qÍ;°œ±É¡  $Misc0Ž€Bâõú¾åpg]?[q…  0Mutable_variable0ÈC«ÁQâá·§£$òÜ´‰  'Numbers0 qàÞ·Heüš‡ù³–  +Outcometree0B³u©Gê^)=¾ú 9c  )Parameter0zk^fË2mËÝy£ˆ£1Ù9  )Parsetree0v Ýo[p÷…¯îÓY Y  $Path0¸Ðk.tåb ûÃGêmá  )Primitive0õÛdU˜=úÑ\IÆ/ø}  *Projection02h‹ÂS xíj56  2Set_of_closures_id0L‰Èb£O`àÜ©&°öðM  6Set_of_closures_origin0!Y‹AÊë _’éXO¼   %Shape0• À³M„´Î``ll§  3Simple_value_approx0¼ Ãc[kð%»S\KÑ  0Static_exception0JÕm¹yrqÜ’x-¸º8Éž  &Stdlib0t0µVoS%{<‰F¡:  .Stdlib__Buffer0,å¦I÷ú[?¹Ä÷—z  .Stdlib__Digest0#z25§ÆªÂ¶I*…  .Stdlib__Domain0'Í¿‚Žo\¦0m’š¬.K  .Stdlib__Either0ÿH­D¥ë ˆ’Š?|é>  .Stdlib__Format00¿ƒFËÔñCÃlòWÇ  /Stdlib__Hashtbl0²š±§(L%èŠbØøÕÔ  -Stdlib__Int640q=Êcú‚Æ×T?üQš1Ë  ,Stdlib__Lazy0ô$¸Àøå©ä1ùmlà  .Stdlib__Lexing0^Êmñ|©•Þð·e–¯´  +Stdlib__Map0*4ɇÂ2ùÌÉ  %Subst0—’í=aëqT£/!p+  &Symbol03ÉæE´?Yßö¦7÷‘(  #Tag0‹&›Óbé… “ÊrÙ¹  .Type_immediacy00$ôÍ jÌbv\"õkö&  %Types0€"˜Í|VÈ·`ØX ù  )Unit_info0'Á¸›T•ø ¶Î§@aÂR  2Var_within_closure0Œ``Ý—ÓXFì³R–ÿâ  (Variable0?ÄÞÕæl猵ÇeY  (Warnings0¹‘¡ûÓÉÎþEëf¹{²&Š@0ñ䛌ÌùòFOb5ŒÛ¾¶AÀAC@@°1ý@@@@@@@@@@@@@@@P@@