Caml1999I037K.)Lift_code&lifter;@@@A@'Flambda'program@@@'program@@@@@@@@@ middle_end/flambda/lift_code.mliSS@@@@@@A@)lift_lets"@@@@]]@@*A@@.lift_lets_expr@'!t@@@(toplevel$boolE@@@7!t@@@@@@@@/_0_W@@KB@@.lifting_helper@$listKN!t@@@@@@0evaluation_orderР-Right_to_left@-Left_to_right@@@@A@@@+create_body@#(Variable!t@@@@@@x!t@@@@@$name7Internal_variable_names!t@@@!t@@@@@@@@@@@@fkDR@@C@@@@)Lift_code07noxgE(Warnings0mJɒkgrs-Stdlib__Uchar056uf4[_+Stdlib__Sys0 -ռ鱦s5/.Stdlib__String0Vê>)Longident0s `7mɕc(Location0a7cK_H%9)Load_path0I@18 ~,Linkage_name0EwKсڊs&Lambda0z1x]&ZT7Internal_variable_names0HdeՄL ԩ,Identifiable0 {d\FX'`%Ident0">WA+9*X*Format_doc0]mWϓ:Mݠ'Flambda0Idvu "#Env0zV L{YWI)Debuginfo0PtJ=^w/*Data_types0I'Ue`wq]Ѡ0Compilation_unit0 {p-Vg_*Cmi_format0c˯7͗ԩmݠ.Closure_origin0vˆtT{(}z*Closure_id05:z[ކ/Closure_element0YWZ̡Q.hV&2Clambda_primitives01U10CamlinternalLazy0&͂7 Pˆ8CamlinternalFormatBasics0%FU(Q/Tu5Build_path_prefix_map0z HkGs(Asttypes0>n{T8cئ/Allocated_const0ЖݔTW@@@Caml1999T037&FuC)Lift_code-ocaml.warning middle_end/flambda/lift_code.mliQQ@2+a-4-9-30-40-41-42 QQ@@QQ@@@@@@QQ@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@nY@@@@@@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@@A54@)Not_foundZ#O@@@A =<@-Out_of_memoryW#W@@@AED@.Stack_overflow^#_@@@AML@.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#@@@AFwIvI@&Stdlib@Azy@A+&lifterASS@@;@@@A@'Flambda'program@@@ r'program@@@ s@@ t@@@@SS@@@@@@@@Aб@г'FlambdaSS@SS@@@$3@1;@@@A9@@@ }@@@@@!@@@@A@@г('FlambdaSS@/S-@.@@6/@@A#0@@2@@Ȱ21@)lift_letsW]]@гY&lifter]]@@ @@@ 3@d^@A@@@] @)ocaml.doc  Lift [let] bindings to attempt to increase the length of scopes, as an aid to further optimizations. For example: let c = let b = in b, b in fst c would be transformed to: let b = in let c = b, b in fst c which is then clearly just:  U \@@@@@@@A@@@А@@@@@@#.lift_lets_exprX _!_-@б@г!t'Flambda/_00_7@ 3_84_9@@@@@@ 3#""#####@EXC@A @@б(toplevelг$boolG_FH_J@@ @@@ @@г!t'FlambdaX_NY_U@ \_V]_W@@@@@@ ) @@'@@ ,f_= @@@3@@ 0; @@@l_@@xB@@@@6.lifting_helperwfxf@б@г蠐$listgg@г!t'Flambdagg@ gg@@@@@@ 3@b2@A @@@" @@@ @@б0evaluation_orderз-Left_to_righthh@A@@@-Right_to_lefthh@A@@@@@@Р @@@@@ A@@@ *hh@@б+create_bodyб@г:$listi i@г(Variable!t(Variableii @ i i @@@@@@ <T @@@"@@@ >Y@@гV!t'Flambdaii@ ii@@@@@@ ?o @@@@@ @r) @@б$nameг7Internal_variable_names!t7Internal_variable_namesj *j A@ "j B#j C@@@@@@  @@г!t'Flambda4kDI5kDP@ 8kDQ9kDR@@@@@@  @@2@@ Bj % @@|;@@ Fi@@@@ Jh@@@@@ @@@Pf@@\C@@@@@A@t_@=@ @@3EDDEEEEE@@A@ H************************************************************************aA@@bA@L@ H gBMMhBM@ H OCaml mCnC@ H sDtD3@ H Pierre Chambart, OCamlPro yE44zE4@ H Mark Shinwell and Leo White, Jane Street Europe FF@ H GG@ H Copyright 2013--2016 OCamlPro SAS HHg@ H Copyright 2014--2016 Jane Street Group LLC IhhIh@ H JJ@ H All rights reserved. This file is distributed under the terms of KKN@ H the GNU Lesser General Public License version 2.1, with the LOOLO@ H special exception on linking described in the file LICENSE. MM@ H NN5@ H************************************************************************O66O6@ * Lift [let] bindings to attempt to increase the length of scopes, as an aid to further optimizations. For example: let c = let b = in b, b in fst c would be transformed to: let b = in let c = b, b in fst c which is then clearly just:  G CR-someday mshinwell: Rename to [bind]? Also see Flambda_utils.bind. aYYaY@ [create_body] always receives the variables corresponding to [evaluate] in the same order. However [evaluation_order] specifies in which order the (possibly complex) expressions bound to those variables are evaluated. be~@@-./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 =/builds/workspace/precheck/flambda/false/label/ocaml-linux-32 >10/.-,+*)('&%$#"! @@0oNWnh7n3      @@@/Allocated_const0ЖݔTWŠ(Asttypes0>n{T8cئ5Build_path_prefix_map0z HkGs8CamlinternalFormatBasics0%FU(Q/Tu0CamlinternalLazy0&͂7 Pˆ2Clambda_primitives01U1/Closure_element0YWZ̡Q.hV&*Closure_id05:z[ކ.Closure_origin0vˆtT{(}z*Cmi_format0c˯7͗ԩmݠ0Compilation_unit0 {p-Vg_*Data_types0I'Ue`wq]Ѡ)Debuginfo0PtJ=^w/#Env0zV L{YWI0Idvu "*Format_doc0]mWϓ:Mݠ%Ident0">WA+9*X,Identifiable0 {d\FX'`7Internal_variable_names0HdeՄL ԩ&Lambda0z1x]&ZT07noxgE,Linkage_name0EwKсڊs)Load_path0I@18 ~(Location0a7cK_H%9)Longident0s `7mɕc$Misc0ob]6>Vê>0Mutable_variable0~emPs&Symbol0ҡ4d,#Tag0\݅}x.Type_immediacy0A^abOhՠ%Types0^Y~# )Unit_info0ڀh%(2Var_within_closure00SSJh6 (Variable0' Gr㠠(Warnings0mJɒkgr