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…°­noHë»÷—8E·  (Warnings0mîJÉ’kÇÓgr¢îs‘ìºüº›  -Stdlib__Uchar056ýuf¾¹4ºæÍ[_  +Stdlib__Sys0 û-ռ鱦sÎ5¶/Á  .Stdlib__String0Óï<¤ˆž¬IPúÔ¦âç  +Stdlib__Set0ß\ª$¸ªõ›Ÿ;7¤Õ  +Stdlib__Seq0nw¹™zúG&amgùõ  .Stdlib__Result0³²§6 ý‘]«/ÅJ²ÿ  +Stdlib__Map0LÞò5xE|O0~,ÝJ-  .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øLÍkÇàu]8Ê_Ù  0Static_exception0’e6Z@³F<jiÞ¢2_  3Simple_value_approx0Ü3Š ¼ô„£È"ߨMœi  %Shape0ø®„oN¡Õ„ûˆ€BH  6Set_of_closures_origin0ù 7|ÎMÓ‘TrÑœ¡t™  2Set_of_closures_id0wi xŒtW#S»ýÐSD=  *Projection0$WмF¿Ð ƒ „߯8E  )Primitive0©Â²»¹~å$x½z¹Tà·  $Path0Y2kŠfÒÖ¯J.š_¿çÏ  )Parsetree0UÒ©¿=p²Ð>*¡Ú%"e  )Parameter0OÙº×K༛tÏÒ\  +Outcometree0Íe³uëWÇS~½ûÕdææ  'Numbers0ve"™ùÿ„ŒNçHS©Ôqt  0Mutable_variable0“¦~emPÍWA+ÖÙÅä9*X´  *Freshening0/·½ü^ãÿ* „bÀ1R  *Format_doc0š÷¨“жŽ]mWÏ“:ãMÝ  'Flambda0Id¸v£Èóøu °"  )Export_id0-ò™bw+éœîžLO†  #Env0H×/‡]‰0K+êG  )Debuginfo0¯Pð²tJ=^£w¶/  *Data_types0I²¶û'µUe`wq]Ñ  0Compilation_unit0ù Ç{p-ŠV©gÜ_  *Cmi_format0AÚ™%Òñ ¬÷âCŒÀõÔ<  .Closure_origin0v–ˆt¥T¸êÏ{(}„zú  *Closure_id0£¹•¹5Ú:ÿÇîø•z[Þ†  /Closure_element0Yë€WZžÌ¡Q.æhVè&  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ñiC8Find_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_element0Yë€WZžÌ¡Q.æhVè&  *Closure_id0£¹•¹5Ú:ÿÇîø•z[Þ†  .Closure_origin0v–ˆt¥T¸êÏ{(}„zú  *Cmi_format0AÚ™%Òñ ¬÷âCŒÀõÔ<  0Compilation_unit0ù Ç{p-ŠV©gÜ_  *Data_types0I²¶û'µUe`wq]Ñ  )Debuginfo0¯Pð²tJ=^£w¶/  #Env0H×/‡]‰0K+êG  )Export_id0-ò™bw+éœîžLO†  G0…°­noHë»÷—8E·  Š0Id¸v£Èóøu °"  *Format_doc0š÷¨“жŽ]mWÏ“:ãMÝ  *Freshening0/·½ü^ãÿ* „bÀ1R  %Ident0›">WA+ÖÙÅä9*X´  ,Identifiable0Œ ‚{µþdð\ØFX'`û  7Internal_variable_names0ü½HdýeöÕ„éL Ô©  &Lambda0îæz—1x]&ZŒÖ×T·  ,Linkage_name0EwKѰ… …®ÚŠŠs  )Load_path0˜“ï»ßIÀÑ@18 ~  (Location0aÂù7cK_H%9Ðý  )Longident0s ÿ`ö7¦mÉ•äc  $Misc0ú[¤@þ@ãPc+zDì  0Mutable_variable0“¦~emPÍ*¡Ú%"e  $Path0Y2kŠfÒÖ¯J.š_¿çÏ  )Primitive0©Â²»¹~å$x½z¹Tà·  *Projection0$WмF¿Ð ƒ „߯8E  2Set_of_closures_id0wi xŒtW#S»ýÐSD=  6Set_of_closures_origin0ù 7|ÎMÓ‘TrÑœ¡t™  %Shape0ø®„oN¡Õ„ûˆ€BH  3Simple_value_approx0Ü3Š ¼ô„£È"ߨMœi  0Static_exception0’e6Z@³F<jiÞ¢2_  &Stdlib0øLÍkÇàu]8Ê_Ù  .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__Map0LÞò5xE|O0~,ÝJ-  .Stdlib__Result0³²§6 ý‘]«/ÅJ²ÿ  +Stdlib__Seq0nw¹™zúG&amgùõ  +Stdlib__Set0ß\ª$¸ªõ›Ÿ;7¤Õ  .Stdlib__String0Óï<¤ˆž¬IPúÔ¦âç  +Stdlib__Sys0 û-ռ鱦sÎ5¶/Á  -Stdlib__Uchar056ýuf¾¹4ºæÍ[_  %Subst0Ú™þÙÜ>îs‘ìºüº›  &Symbol0‹‚Ò¡¼4d³Çß,  #Tag0\Ý…àËÞëáÿñ¸}x´Öû  .Type_immediacy0AÊ^µÄab¨O³ûhÕ  %Types0xÃøüH÷‰Œ¬+}š‰Ëq  )Unit_info0ÜÚ€h§%ßå£ýÎý(  2Var_within_closure00ÞSSJh‹¡6 —  (Variable0ý†'½ ÀÂßõGÒrÖã  (Warnings0mîJÉ’kÇÓgr¢