Caml1999I037„•¦¾,¬˜ 8Find_recursive_functions ° 8in_function_declarations£ÐÀÁ@À³¡’'Flambda5function_declarations@@õá@úÀÁ'backendÀ› ¡’,Backend_intf!S@õá@ûÀ³¡¡’(Variable#Set!t@@õá@ü@õá@ý@õá@þ@°À /middle_end/flambda/find_recursive_functions.mlibÃÃÀe(;@@±+@@@@„•¦¾°Tíþ  8Find_recursive_functions0°gòפ7Þ©ñzÄÊ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 Ô©  ,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„•¦¾ ÑNôkC8Find_recursive_functions’° °ž° -ocaml.warning°À /middle_end/flambda/find_recursive_functions.mliQ„ˆÀQ„•@   À‘ ²2+a-4-9-30-40-41-42°À Q„—ÀQ„©@@°ÀQ„–ÀQ„ª@°@@@@@°ÀQ„„ÀQ„«@3 @@ @@@§²²²²²²²²²²²²²±±±±±±±±±±±±±±±±±±±±±@£#intA;@@@A@@@@@°À&_none_@@ÿA@A@’£$charB;@@A@@@@@@A@’£&stringQ;@@ A@@@@@ @@@’£%bytesC;@@A@@@@@@@@’£%floatD;@@A@@@@@@@@’£$boolE;@@¢ à£%falsec@@@’ à£$trued@@#@’@@A@@@@@$@A@’£$unitF;@@¢ à£"()e@@.@’@@A@@@@@/@A@’ £#exnG;@@@A@@@@@3@@@’£#effH; À@õá@O@A@A@ @ @@@@<@@@’£,continuationI; À@õá@Q À@õá@P@B@A@ n Y@ @ @@@@K@@@’£%arrayJ; À@õá@R@A@A@ @ @@@@U@@@’ £$listK; À@õá@S@A¢ à£"[]f@@b@’ à£"::g  À³ @@õá@T@@o@’ @@A@ Y@ @@@@r@@@’£&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 ° 54@’£)Not_foundZ#O@@@A  ° =<@’£-Out_of_memoryW#W@@@A ° ED@’£.Stack_overflow^#_@@@A ° ML@’£.Sys_blocked_io_#g@@@A$ ° U'T'@’£)Sys_error[#o@ j@@A- ° ^0]0@’£:Undefined_recursive_modulea#x@ À’  @w  @s  @u@õá@h@@A> ° oAnA@’£:Continuation_already_takenb#‰@@@AF ° wIvI@’’&Stdlib@A°zy@ °ž° *ocaml.textT   À‘ ² X "Recursive functions" are those functions [f] that might call either: - themselves, or - another function that in turn might call [f]. For example in the following simultaneous definition of [f] [g] and [h], [f] and [g] are recursive functions, but not [h]: [let rec f x = g x and g x = f x and h x = g x] °ÀžS­­ÀŸ\ @@@@@@Š °ð 8in_function_declarations  °À¨bÃÇÀ©bÃß@б@г¡’'Flambda5function_declarations ¡ 'Flambda°À¹càåÀºcàì@  °À½càíÀ¾cà@°@@À³@@õá@ q­° @@б'backendЙÀ¡’,Backend_intf!S@¡ ¡ ,Backend_intf°ÀÙdÀÚd$@  °ÀÝd%ÀÞd&@°@À› @õá@ rͰÀädÀåd'@@г¡¡’(Variable#Set!t ¡ ¡ (Variable°À÷e(-Àøe(5@  °Àûe(6Àüe(9@°@ °Àe(:Àe(;@° @@À³@@õá@ ð°@@ÀÁC)@õá@ ó°À d @@ÀÁ@M@õá@ ÷°U @@Ð@°ÀbÃÃ@ ° )ocaml.docÕ   À‘ ² ± Determine the recursive functions, if any, bound by the given set of function declarations. This is only intended to be used by [Flambda.create_function_declarations]. °À^  À aÀÂ@@@@@@@±,@@@°"@ ° æ   À‘ ²@@@@@@@ °Œ"@@3@°Ž$@A@   H************************************************************************°À6A@@À7A@L@   H °À 1 0 / . - , + * ) ( ' & % $ # " !     @@0bQ‚ߪ’bTDþbL¦M3ÕÔÔÕÕÕÕÕ@Ó@@  /Allocated_const0°Ð–¢ã¥îûÝ”®TWÅ  (Asttypes0>‘nœ{¬T±8cئ  !0)ø”Ò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:ÔÊ "Æì  G0°gòפ7Þ©ñzÄÊM  Š01U­šx|ÕCb-ó   *Format_doc0š÷¨“жŽ]mWÏ“:ãMÝ  *Freshening0$1è\MÝŠmA¿Ê³  %Ident0‰ki–ê8' Ÿx%œ+Å  ,Identifiable0”ýì~ܽÁËÇžÃ+µ  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¢