Caml1999I037 O/Simplify_common.const_int_expr2@'Flambda%named@@@@@@#intA@@@@@@%named@@@@3Simple_value_approx!t@@@@-Inlining_cost'Benefit!t@@@@@@@@@@ &middle_end/flambda/simplify_common.mli^a"f@@A@@@/const_char_expr3@@%named@@@@@@$charB@@@@@@T%named@@@@>!t@@@@<'Benefit!t@@@@@@@@@@:chh;f@@zA@@/const_bool_expr4@y%named@@@@@@$boolE@@@@@@%named@@@@w!t@@@@u'Benefit!t@@@@@@@@@@shtkT@@B@@0const_float_expr5@%named@@@@@@%floatD@@@@@@%named@@@@!t@@@@'Benefit!t@@@@@@@@@@mVVp@@C@@4const_boxed_int_expr6@%named@@@@@@)boxed_int!a@@@@@@@ @@@%named@@@ˠ@!t@@@ʠ@'Benefit!t@@@@@@@@@@@@rv ) m@@.D@@=const_integer_comparison_expr7@-%named@@@@@@&Lambda2integer_comparison@@@@@@!a@@@@@@@O%named@@@٠@9!t@@@ؠ@7'Benefit!t@@@@@@@@@@@@@@5x o o6}  @@uG@@;const_float_comparison_expr8@t%named@@@@@@G0float_comparison@@@@@@@@@@@@@@@@@@%named@@@頠@!t@@@蠠@'Benefit!t@@@@@@@@@@@@@@~  D  @@H@@&swap169@@@@@@@@@@@@H  H  3@@I@@&swap32:@%int32N@@@@@@@@@@@I 4 4I 4 O@@J@@&swap64;@%int64O@@@@@@@@@@@J P PJ P k@@K@@*swapnative<@)nativeintM@@@@@@@@@@@K l lK l @@L@@@T/Simplify_common0pĬ? ם(Warnings0Ef{&(Variable0?l猵eY2Var_within_closure0``ݗXFR⠠)Unit_info0'T Χ@aR%Types0"|Vȷ`X .Type_immediacy00$ jbv\"k&#Tag0&b rٍ&Symbol03E?Y7(%Subst0=aqT/!p+-Stdlib__Uchar0=H^V9>ɠ+Stdlib__Sys0b'8=OIn.Stdlib__String0 w_OA4D"Q~~+Stdlib__Set0ܔ@Z8XWaa2+Stdlib__Seq0?72#[O.Stdlib__Result0p~ !ԥ//+Stdlib__Map0*4ɇ2.Stdlib__Domain0'Ϳo\0m.K.Stdlib__Digest0#z25I*.Stdlib__Buffer0,I[?z&Stdlib0t0VoS%{<F:0Static_exception0Jmyrqܒx-8ɞ3Simple_value_approx0 c[k%S\KѠ%Shape0 M``ll6Set_of_closures_origin0!YA _XO 2Set_of_closures_id0LbO`ܩ&M*Projection02hS xj56)Primitive0dU=\I/}$Path0k.tbGmᠠ)Parsetree0v o[pY Y)Parameter0zk^f2my19+Outcometree0BuG^)= 9c 'Numbers0 q޷He0Mutable_variable0CQᷧ$$Misc0Bpg]?[q)Longident0wP q;ɡ(Location0nBɊOn?7~ؠ)Load_path0,j " nn7ݠ,Linkage_name0tԈK1G&Lambda0x_edT-uq7Internal_variable_names0TbgѹG+L-Inlining_cost0i(wypP1 󰠠,Identifiable0]/*N %Ident0>ЃzV)j⠠*Freshening0xW("-9wVԠ*Format_doc0uy@GmWUࠠ'Flambda0VJ͟)Export_id0CJ9DןRa7ݷ$E#Env0S B2)Debuginfo0_ |PooGq*Data_types0v\3,Svh0Compilation_unit0Dl ]wN*Cmi_format0`M{?w}@.Closure_origin0!Havl5"_*Closure_id0 (?$/Closure_element0ǔf#M2Clambda_primitives0|& %ZIǝz0CamlinternalLazy0zY# #4#-8CamlinternalFormatBasics0|.e1R$|o5Build_path_prefix_map0DGl}%Y5Lhi(Asttypes0eT$BbRM dc/Allocated_const0/vVǟx@@@Caml1999T037= (R%<C/Simplify_common-ocaml.warning &middle_end/flambda/simplify_common.mliQQ@2+a-4-9-30-40-41-42 QQ@@QQ@@@@@@QQ@3@@@@@@#intA;@@#intA@@@@@&_none_@@A@A@$charB;@@$charA@@@@@ @A@&stringQ;@@&stringA@@@@@@@@%bytesC;@@%bytesA@@@@@@@@%floatD;@@%floatA@@@@@@@@$boolE;@@%falsec@@%@$trued@@+@@@A@@@@@,@A@$unitF;@@"()e@@6@@@A@@@@@7@A@ #exnG;@@@A@@@@@;@@@#effH;@@O@A@A@@@@@@D@@@,continuationI;@@Q@@P@B,continuationA@nY@@@@@@T@@@%arrayJ;@@R@A%arrayA@@@@@@_@@@ $listK;@@S@A"[]f@@l@"::g@@@T@@y@ @@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\#$@@@A@'FailureY#,@'@@A@0Invalid_argumentX#5@0@@A $#@-Match_failureV#>@@=@9@;@@a@@A5!4!@)Not_foundZ#O@@@A&=)<)@-Out_of_memoryW#W@@@A.E1D1@.Stack_overflow^#_@@@A6M9L9@.Sys_blocked_io_#g@@@A>UATA@)Sys_error[#o@j@@AG^J]J@:Undefined_recursive_modulea#x@@w@s@u@@h@@AXo[n[@:Continuation_already_takenb#@@@A`wcvc@&Stdlib@A@*ocaml.textn ? [const_*_expr expr v annot], where the expression [expr] is known to evaluate to the value [v], attempt to produce a more simple expression together with its approximation and the benefit gained by replacing [expr] with this new expression. This simplification is only performed if [expr] is known to have no side effects. Otherwise, [expr] itself is returned, with an appropriate approximation but zero benefit. [const_boxed_int_expr] takes an additional argument specifying the kind of boxed integer to which the given expression evaluates. S\@@@@@@.const_int_exprҠ^^@б@г'Flambda%named'Flambda_ _@ __@@@@@@ QȰ @@б@г#int``!@@ @@@ Rװ@@В@г+%named'Flambdaa"'a".@ a"/a"4@@@@@@ S @@@г3Simple_value_approx!t3Simple_value_approxa"7a"J@ a"Ka"L@@@@@@L  @@@г-Inlining_cost'Benefit!t-Inlining_cost5a"O6a"\@ 9a"]:a"d@@>a"e?a"f@ @@@@@m.@@@@E@-@ @@n7Q@@@h@@o @@p<k@@@|@@q @@rA@@@Z^@@f@@@@@G/const_char_exprӠechlfch{@б@г%named'Flambdatd|ud|@ xd|yd|@@@@@@s3hgghhhhh@g(@A @@б@гA$charee@@ @@@t@@В@г%named'Flambdaff@ ff@@@@@@u+ @@@г!t3Simple_value_approxff@ ff@@@@@@vC @@@г'Benefit!t-Inlining_costff@ ff@@ff@ @@@@@wd@@@@A@+@ @@xmM@@@d@@y @@zrg@@@z@@{ @@|w@@@chh@@A@@@@}/const_bool_exprԠhh@б@г@%named'Flambdaii@ ii@@@@@@}3@(@A @@б@гǠ$bool(j )j@@ @@@~@@В@гk%named'Flambda=k>k@ AkBk"@@@@@@+ @@@г@!t3Simple_value_approxUk%Vk8@ Yk9Zk:@@@@@@C @@@г>'Benefit!t-Inlining_costqk=rkJ@ ukKvkR@@zkS{kT@ @@@@@d@@@@A@+@ @@mM@@@d@@ @@rg@@@z@@ @@w@@@h@@B@@@@}0const_float_exprՠmVZmVj@б@г%named'Flambdankpnkw@ nkxnk}@@@@@@3@(@A @@б@гk%floato~o~@@ @@@@@В@г %named'Flambdapp@ pp@@@@@@+ @@@г!t3Simple_value_approxpp@ pp@@@@@@C @@@г'Benefit!t-Inlining_costpp@ pp@@pp@ @@@@@d@@@@A@+@ @@mM@@@d@@ @@rg@@@z@@ @@w@@@4mVV@@@C@@@@}4const_boxed_int_expr֠?r@r@б@г|%named'FlambdaNsOs@ RsSs@@@@@@3BAABBBBB@(@A @@б@гS)boxed_int3Simple_value_approxht it @ lt mt @@А!a@A@ yt zt @@@ @@@'@@б@А!a-u ! &u ! (@@В@г%named'Flambdav ) .v ) 5@ v ) 6v ) ;@@@@@@I @@@г!t3Simple_value_approxv ) >v ) Q@ v ) Rv ) S@@@@@@a @@@г'Benefit!t-Inlining_costv ) Vv ) c@ v ) dv ) k@@v ) lv ) m@ @@@@@@@@@A@+@ @@M@@@u@@ @@c@@@r@@ @@u@@@@@ @@@@@r!@@D@@#@@=const_integer_comparison_expr,x o sx o @б@г=%named'Flambday  y  @ y  y  @@@@@@3@(@A @@б@г&Lambda2integer_comparison&Lambda+z  ,z  @ /z  0z  @@@@@@} @@б@А!a@A@~'A{  B{  @@б@А!a /I|  J|  @@В@г%named'FlambdaZ}  [}  @ ^}  _}  @@@@@@K @@@г]!t3Simple_value_approxr}  s}  @ v}  w}  @@@@@@c @@@г['Benefit!t-Inlining_cost}  }  @ }  }  @@}  }  @ @@@@@@@@@A@+@ @@M@@@p@@ @@c@@@u@@ @@p@@@@@ @@@@@@@ @@#@@@x o o&@@G@@(@@;const_float_comparison_expr-    8@б@г%named'Flambda@ 9 >@ 9 E@ @ 9 F@ 9 K@@@@@@3@(@A @@б@г0float_comparison&LambdaA L QA L W@ A L XA L h@@@@@@ @@б@г%floatB i nB i s@@ @@@)@@б@г%floatC t yC t ~@@ @@@8@@В@гW%named'Flambda)D  *D  @ -D  .D  @@@@@@R @@@г,!t3Simple_value_approxAD  BD  @ ED  FD  @@@@@@j @@@г*'Benefit!t-Inlining_cost]D  ^D  @ aD  bD  @@fD  gD  @ @@@@@@@@@A@+@ @@M@@@d@@ @@g@@@x@@ @@{@@@@@ @@@@@@@ @@#@@@  &@@H@@(@@&swap16.H  H  &@б@гb#intH  )H  ,@@ @@@3@@A@@гq#intH  0H  3@@ @@@@@@@@@@ @@@H   @)ocaml.doc Q Functions for transposing the order of bytes within words of various sizes. F  G  @@@@@@@I@@@@@@@@@5&swap32/I 4 8I 4 >@б@г%int32I 4 AI 4 F@@ @@@3@Nc:@A@@г%int32I 4 JI 4 O@@ @@@@@@@@@@ @@@ I 4 4 @@J@@@@&swap640J P TJ P Z@б@г<%int64!J P ]"J P b@@ @@@3@3H@A@@гK%int640J P f1J P k@@ @@@@@@@@@@ @@@=J P P @@IK@@@@*swapnative1HK l pIK l z@б@гz)nativeintSK l }TK l @@ @@@3BAABBBBB@3H@A@@г)nativeintbK l cK l @@ @@@@@@@@@@ @@@oK l l @@{L@@@@@@@y@H@A@@@@{@tK@D@@3rqqrrrrr@1F@A@ H************************************************************************A@@A@L@ H BMMBM@ H OCaml CC@ H DD3@ H Pierre Chambart, OCamlPro E44E4@ 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@ @* [const_*_expr expr v annot], where the expression [expr] is known to evaluate to the value [v], attempt to produce a more simple expression together with its approximation and the benefit gained by replacing [expr] with this new expression. This simplification is only performed if [expr] is known to have no side effects. Otherwise, [expr] itself is returned, with an appropriate approximation but zero benefit. [const_boxed_int_expr] takes an additional argument specifying the kind of boxed integer to which the given expression evaluates. / R* Functions for transposing the order of bytes within words of various sizes. @-./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%& ;C:\builds\workspace\main\flambda\false\label\ocaml-mingw-32 >10/.-,+*)('&%$#"! @@0 4U U+h++3-,,-----@+@@/Allocated_const0/vVǟx(Asttypes0eT$BbRM dc5Build_path_prefix_map0DGl}%Y5Lhi8CamlinternalFormatBasics0|.e1R$|o0CamlinternalLazy0zY# #4#-2Clambda_primitives0|& %ZIǝz/Closure_element0ǔf#M*Closure_id0 (?$.Closure_origin0!Havl5"_*Cmi_format0`M{?w}@0Compilation_unit0Dl ]wN*Data_types0v\3,Svh)Debuginfo0_ |PooGq#Env0S B2)Export_id0CJ9DןRa7ݷ$E0VJ͟*Format_doc0uy@GmWUࠠ*Freshening0xW("-9wVԠ%Ident0>ЃzV)j⠠,Identifiable0]/*N v0i(wypP1 󰠠7Internal_variable_names0TbgѹG+L&Lambda0x_edT-uq,Linkage_name0tԈK1G)Load_path0,j " nn7ݠ(Location0nBɊOn?7~ؠ)Longident0wP q;ɡ$Misc0Bpg]?[q0Mutable_variable0CQᷧ$'Numbers0 q޷He+Outcometree0BuG^)= 9c )Parameter0zk^f2my19)Parsetree0v o[pY Y$Path0k.tbGmᠠ)Primitive0dU=\I/}*Projection02hS xj562Set_of_closures_id0LbO`ܩ&M6Set_of_closures_origin0!YA _XO %Shape0 M``ll0 c[k%S\KѠ 0pĬ? ם0Static_exception0Jmyrqܒx-8ɞ&Stdlib0t0VoS%{<F:.Stdlib__Buffer0,I[?z.Stdlib__Digest0#z25I*.Stdlib__Domain0'Ϳo\0m.K.Stdlib__Either0HD ?|>.Stdlib__Format00FClW/Stdlib__Hashtbl0(L%bԠ-Stdlib__Int640q=cT?Q1ˠ,Stdlib__Lazy0$1mlࠠ.Stdlib__Lexing0^m|e+Stdlib__Map0*4ɇ2ɠ%Subst0=aqT/!p+&Symbol03E?Y7(#Tag0&b rٍ.Type_immediacy00$ jbv\"k&%Types0"|Vȷ`X )Unit_info0'T Χ@aR2Var_within_closure0``ݗXFR⠠(Variable0?l猵eY(Warnings0Ef{&@0pĬ? םAKC@d@@]@۰D@ @Ԑ@@@@@@@ǰnJ@@;i@@P@@