Caml1999I037„•¦¾}Eûã 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@@±D@@@@„•¦¾ "c(,  3Extract_projections09÷óLÉËö…œ—@j¬mÆ  (Warnings0mîJÉ’kÇÓgr¢îs‘ìºüº›  -Stdlib__Uchar056ýuf¾¹4ºæÍ[_  +Stdlib__Sys0 û-ռ鱦sÎ5¶/Á  .Stdlib__String0Óï<¤ˆž¬IPúÔ¦âç  +Stdlib__Set0kb'G|ªœ ©€PIF(  +Stdlib__Seq0nw¹™zúG&amgùõ  .Stdlib__Result0³²§6 ý‘]«/ÅJ²ÿ  +Stdlib__Map0Áhؤ˜5O8Ý% By  .Stdlib__Lexing0êä‡e÷<.‚ÔV«Ç   ,Stdlib__Lazy0* -S™$.)æ"“0DË  -Stdlib__Int640¯Óãl-…J œ~m¶ï-Û  /Stdlib__Hashtbl0ѱ·Nù]à[ßç/!Þ©  .Stdlib__Format0É¢b täâÅæÁLÿir  .Stdlib__Either0VªÙy`¢ìu~c à .Stdlib__Domain0B€¡j¾|Ä5s¥)Ú  .Stdlib__Digest0 µl!LHgEr†Î¶”‡å   .Stdlib__Buffer0î8ŒAPüF”<¿ ¬t€µ.  &Stdlib0-èåiè8Q"çL{Âv;Ÿ  0Static_exception0w«BßÑÜ”d3Ñ÷¡µŒB  3Simple_value_approx0P*+Ê ›K`þ#4âMK  %Shape0ým“åýA;Hò™ÄXã„ß  6Set_of_closures_origin0ý¬Ì§{î˼HO/¿PØ  2Set_of_closures_id0³¤pôiðìè|ŒnÀy  *Projection0“ÿn÷訥·(¡  )Primitive0©Â²»¹~å$x½z¹Tà·  $Path0(|¹r>Ä8Û Ïd‚wx  )Parsetree0UÒ©¿=p²Ð>*¡Ú%"e  )Parameter0Kb……"Qjʑǭ@uYu  +Outcometree0Íe³uëWÇS~½ûÕdææ  'Numbers0º0õ³$ PS†6?Ûnu€.  0Mutable_variable0ë_³ùµñù ?.Ã+äL¶  $Misc0ÒàZú1šŠæ¶X=Ó_Ùc  )Longident0s ÿ`ö7¦mÉ•äc  (Location0aÂù7cK_H%9Ðý  )Load_path0˜“ï»ßIÀÑ@18 ~  ,Linkage_name0h A¨EaÚ.–ÚC1¯ R  &Lambda0µ½© ”.V¶¦uý$ ^3©  7Internal_variable_names0ü½HdýeöÕ„éL Ô©  4Inlining_stats_types0Í|Ca›´~ÝT E~¬O  -Inlining_cost0,30`¶JD:GÃÀ2PÍ  7Inline_and_simplify_aux0¦W£—tCŠ ¤œüª-  ,Identifiable0”ýì~ܽÁËÇžÃ+µ  %Ident0‰ki–ê8' Ÿx%œ+Å  *Freshening0$1è\MÝŠmA¿Ê³  *Format_doc0š÷¨“жŽ]mWÏ“:ãMÝ  'Flambda01U­šx|ÕCb-ó   )Export_id0ÿ×Q¯h:ÔÊ "Æì  #Env0ËÁJì«=í£»,ßÎW¾u½  )Debuginfo0¯Pð²tJ=^£w¶/  *Data_types0I²¶û'µUe`wq]Ñ  0Compilation_unit0®»i(&Û¥$¦´P£.³­  *Cmi_format0_Øj~ùG³†´B0õ§  .Closure_origin0a„êìBÇzlèàýt@  *Closure_id0sŽM ;ÓÂß@‘eAlx  /Closure_element0.1 @ç1úãѧ÷Uñ  2Clambda_primitives0³½1âòU¨ˆ1ÈÕ”  0CamlinternalLazy0&žÍ‚7 Îÿ”ÂôêPˆ  8CamlinternalFormatBasics0“%˜FU(Q/TþùÇu°  5Build_path_prefix_map0¸¶z’ ÙÃHÇkGsí  ,Backend_intf0)ø”ÒLÔS…äxjf1š½  (Asttypes0>‘nœ{¬T±8cئ  /Allocated_const0°Ð–¢ã¥îûÝ”®TWÅ@„•¦¾ @@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;@@@A@@@@@:@A@’£$charB;@@A@@@@@>@A@’£&stringQ;@@ A@@@@@B@@@’£%bytesC;@@ A@@@@@F@@@’£%floatD;@@A@@@@@J@@@’£$boolE;@@¢ à£%falsec@@T@’ à£$trued@@Z@’@@A@@@@@[@A@’£$unitF;@@¢ à£"()e@@e@’@@A@@@@@f@A@’ £#exnG;@@@A@@@@@j@@@’£#effH; À@õá@O@A@A@ @ @@@@s@@@’£,continuationI; À@õá@Q À@õá@P@B@A@ n Y@ @ @@@@‚@@@’£%arrayJ; À@õá@R@A@A@ @ @@@@Œ@@@’ £$listK; À@õá@S@A¢ à£"[]f@@™@’ à£"::g  À³ @@õá@T@@¦@’ @@A@ Y@ @@@@©@@@’£&optionL; À@õá@V@A¢ à£$Noneh@@¶@’ à£$Somei @@½@’@@A@ Y@ @@@@À@@@’£)nativeintM;@@‹A@@@@@Ä@@@’£%int32N;@@A@@@@@È@@@’£%int64O;@@“A@@@@@Ì@@@’£&lazy_tP; À@õá@X@AJA@ Y@ @@@@Õ@@@’£5extension_constructorR;@@ A@@@@@Ù@@@’£*floatarrayS;@@¤A@@@@@Ý@@@’£&iarrayT; À@õá@Y@A[A@ Y@ @@@@æ@@@’£*atomic_locU; À@õá@Z@AdA@ @ @@@@ï@@@’£.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@@A; ° 5>4>@’£)Not_foundZ#O@@@AC ° =F<F@’£-Out_of_memoryW#W@@@AK ° ENDN@’£.Stack_overflow^#_@@@AS ° MVLV@’£.Sys_blocked_io_#g@@@A[ ° U^T^@’£)Sys_error[#o@ j@@Ad ° ^g]g@’£:Undefined_recursive_modulea#x@ À’  @w  @s  @u@õá@h@@Au ° oxnx@’£:Continuation_already_takenb#‰@@@A} ° w€v€@’’&Stdlib@Ax °ð 2from_function_decl1 °À]‘À€]£@б#envг¡¡’7Inline_and_simplify_aux#Env!t ¡ ¡ 7Inline_and_simplify_aux°À–^¤­À—^¤Ä@  °Àš^¤ÅÀ›^¤È@°@ °ÀŸ^¤ÉÀ ^¤Ê@° @@À³@@õá@O¢°@@б/which_variablesг¡¡’(Variable#Map!t ¡ ¡ (Variable°À»_Ë÷À¼_Ëÿ@  °À¿_ËÀÀ_Ë@°@ °ÀÄ_ËÀÅ_Ë@° @ Ð³¡’'Flambda.specialised_to ¡ 'Flambda°ÀÕ_ËàÀÖ_Ëç@  °ÀÙ_ËèÀÚ_Ëö@°@@À³@@õá@âܰ @@@À³6 @@õá@äá° @@б-function_declг¡!4function_declaration ¡ 'Flambda°Àô`Àõ` @  °Àø`!Àù`5@°@@À³@@õá@åû° @@г¡¡’*Projection#Set!t ¡ ¡ *Projection°Àa6;Àa6E@  °Àa6FÀa6I@°@ °Àa6JÀa6K@° @@À³@@õá@i°@@ÀÁ;'@õá@j°À#`  @@ÀÁ~F@õá@k#°À'_ËÐ@@ÀÁ§ˆ@õá@l'°À+^¤©@@Ð@°À.]@ ° )ocaml.doc@   À‘ ²  [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À>\ŠŒ@@@@@@@±V@@@°'@ ° Q   À‘ ²@@@@@@I@ °Ó"@@3KJJKKKKK@°JÕ$@A@   H************************************************************************°ÀTA@@ÀUA@L@   H °ÀZBMMÀ[BM™@   H OCaml °À`CššÀaCšæ@   H °ÀfDççÀgDç3@   H Pierre Chambart, OCamlPro °ÀlE44ÀmE4€@   H Mark Shinwell and Leo White, Jane Street Europe °ÀrFÀsFÍ@   H °ÀxGÎÎÀyGÎ@   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ëì H/home/touraine/ci/builds/workspace/main/flambda/false/label/ocaml-arm-32    > 1 0 / . - , + * ) ( ' & % $ # " !     @@0InÝ® "ÇÛñUxmO©?3@@@  /Allocated_const0°Ð–¢ã¥îûÝ”®TWÅ  (Asttypes0>‘nœ{¬T±8cئ  ,Backend_intf0)ø”ÒLÔS…äxjf1š½  5Build_path_prefix_map0¸¶z’ ÙÃHÇkGsí  8CamlinternalFormatBasics0“%˜FU(Q/TþùÇu°  0CamlinternalLazy0&žÍ‚7 Îÿ”ÂôêPˆ  2Clambda_primitives0³½1âòU¨ˆ1ÈÕ”  /Closure_element0.1 @ç1úãѧ÷Uñ  *Closure_id0sŽM ;ÓÂß@‘eAlx  .Closure_origin0a„êìBÇzlèàýt@  *Cmi_format0_Øj~ùG³†´B0õ§  0Compilation_unit0®»i(&Û¥$¦´P£.³­  *Data_types0I²¶û'µUe`wq]Ñ  )Debuginfo0¯Pð²tJ=^£w¶/  #Env0ËÁJì«=í£»,ßÎW¾u½  )Export_id0ÿ×Q¯h:ÔÊ "Æì  r09÷óLÉËö…œ—@j¬mÆ  'Flambda01U­šx|ÕCb-ó   *Format_doc0š÷¨“жŽ]mWÏ“:ãMÝ  *Freshening0$1è\MÝŠmA¿Ê³  %Ident0‰ki–ê8' Ÿx%œ+Å  ,Identifiable0”ýì~ܽÁËÇžÃ+µ  å0¦W£—tCŠ ¤œüª-  -Inlining_cost0,30`¶JD:GÃÀ2PÍ  4Inlining_stats_types0Í|Ca›´~ÝT E~¬O  7Internal_variable_names0ü½HdýeöÕ„éL Ô©  &Lambda0µ½© ”.V¶¦uý$ ^3©  ,Linkage_name0h A¨EaÚ.–ÚC1¯ R  )Load_path0˜“ï»ßIÀÑ@18 ~  (Location0aÂù7cK_H%9Ðý  )Longident0s ÿ`ö7¦mÉ•äc  $Misc0ÒàZú1šŠæ¶X=Ó_Ùc  0Mutable_variable0ë_³ùµñù ?.Ã+äL¶  'Numbers0º0õ³$ PS†6?Ûnu€.  +Outcometree0Íe³uëWÇS~½ûÕdææ  )Parameter0Kb……"Qjʑǭ@uYu  )Parsetree0UÒ©¿=p²Ð>*¡Ú%"e  $Path0(|¹r>Ä8Û Ïd‚wx  )Primitive0©Â²»¹~å$x½z¹Tà·  *Projection0“ÿn÷訥·(¡  2Set_of_closures_id0³¤pôiðìè|ŒnÀy  6Set_of_closures_origin0ý¬Ì§{î˼HO/¿PØ  %Shape0ým“åýA;Hò™ÄXã„ß  3Simple_value_approx0P*+Ê ›K`þ#4âMK  0Static_exception0w«BßÑÜ”d3Ñ÷¡µŒB  &Stdlib0-èåiè8Q"çL{Âv;Ÿ  .Stdlib__Buffer0î8ŒAPüF”<¿ ¬t€µ.  .Stdlib__Digest0 µl!LHgEr†Î¶”‡å   .Stdlib__Domain0B€¡j¾|Ä5s¥)Ú  .Stdlib__Either0VªÙy`¢ìu~c à .Stdlib__Format0É¢b täâÅæÁLÿir  /Stdlib__Hashtbl0ѱ·Nù]à[ßç/!Þ©  -Stdlib__Int640¯Óãl-…J œ~m¶ï-Û  ,Stdlib__Lazy0* -S™$.)æ"“0DË  .Stdlib__Lexing0êä‡e÷<.‚ÔV«Ç   +Stdlib__Map0Áhؤ˜5O8Ý% By  .Stdlib__Result0³²§6 ý‘]«/ÅJ²ÿ  +Stdlib__Seq0nw¹™zúG&amgùõ  +Stdlib__Set0kb'G|ªœ ©€PIF(  .Stdlib__String0Óï<¤ˆž¬IPúÔ¦âç  +Stdlib__Sys0 û-ռ鱦sÎ5¶/Á  -Stdlib__Uchar056ýuf¾¹4ºæÍ[_  %Subst0Ú™þÙÜ>îs‘ìºüº›  &Symbol0_)ºçÇûÄÓ¶Ó¥!h  #Tag0 Û%XC¡žÑ}²ì{”3ð  .Type_immediacy0AÊ^µÄab¨O³ûhÕ  %Types0R.ûÝz7…8À§¢ýóÂm  )Unit_info0ÜÚ€h§%ßå£ýÎý(  2Var_within_closure0H6ʤæ(Óf Ëc2Ó‰rH  (Variable0·]ÿ–EÂè„„0‡=  (Warnings0mîJÉ’kÇÓgr¢