summaryrefslogtreecommitdiff
path: root/testsuite/tests/tool-ocaml
diff options
context:
space:
mode:
authorXavier Clerc <xavier.clerc@inria.fr>2010-01-25 14:23:07 +0000
committerXavier Clerc <xavier.clerc@inria.fr>2010-01-25 14:23:07 +0000
commitb9aea322525fadbc401c525739550a7a77209f2c (patch)
tree357f8fff6f8adfc3b83ba2d8f0d533e41f34852a /testsuite/tests/tool-ocaml
parent1c8ffcff228613bb08378d255c281e3a5575fd71 (diff)
downloadocaml-b9aea322525fadbc401c525739550a7a77209f2c.tar.gz
Tests moved to 'tool-ocaml'
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9579 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'testsuite/tests/tool-ocaml')
-rw-r--r--testsuite/tests/tool-ocaml/Makefile16
-rw-r--r--testsuite/tests/tool-ocaml/lib.ml46
-rw-r--r--testsuite/tests/tool-ocaml/t000.ml7
-rw-r--r--testsuite/tests/tool-ocaml/t010-const0.ml8
-rw-r--r--testsuite/tests/tool-ocaml/t010-const1.ml8
-rw-r--r--testsuite/tests/tool-ocaml/t010-const2.ml8
-rw-r--r--testsuite/tests/tool-ocaml/t010-const3.ml8
-rw-r--r--testsuite/tests/tool-ocaml/t011-constint.ml8
-rw-r--r--testsuite/tests/tool-ocaml/t020.ml10
-rw-r--r--testsuite/tests/tool-ocaml/t021-pushconst1.ml10
-rw-r--r--testsuite/tests/tool-ocaml/t021-pushconst2.ml10
-rw-r--r--testsuite/tests/tool-ocaml/t021-pushconst3.ml10
-rw-r--r--testsuite/tests/tool-ocaml/t022-pushconstint.ml10
-rw-r--r--testsuite/tests/tool-ocaml/t040-makeblock1.ml13
-rw-r--r--testsuite/tests/tool-ocaml/t040-makeblock2.ml15
-rw-r--r--testsuite/tests/tool-ocaml/t040-makeblock3.ml17
-rw-r--r--testsuite/tests/tool-ocaml/t041-makeblock.ml19
-rw-r--r--testsuite/tests/tool-ocaml/t050-getglobal.ml8
-rw-r--r--testsuite/tests/tool-ocaml/t050-pushgetglobal.ml10
-rw-r--r--testsuite/tests/tool-ocaml/t051-getglobalfield.ml13
-rw-r--r--testsuite/tests/tool-ocaml/t051-pushgetglobalfield.ml15
-rw-r--r--testsuite/tests/tool-ocaml/t060-raise.ml15
-rw-r--r--testsuite/tests/tool-ocaml/t070-branch.ml20
-rw-r--r--testsuite/tests/tool-ocaml/t070-branchif.ml20
-rw-r--r--testsuite/tests/tool-ocaml/t070-branchifnot.ml18
-rw-r--r--testsuite/tests/tool-ocaml/t071-boolnot.ml19
-rw-r--r--testsuite/tests/tool-ocaml/t080-eq.ml21
-rw-r--r--testsuite/tests/tool-ocaml/t080-geint.ml21
-rw-r--r--testsuite/tests/tool-ocaml/t080-gtint.ml20
-rw-r--r--testsuite/tests/tool-ocaml/t080-leint.ml21
-rw-r--r--testsuite/tests/tool-ocaml/t080-ltint.ml20
-rw-r--r--testsuite/tests/tool-ocaml/t080-neq.ml20
-rw-r--r--testsuite/tests/tool-ocaml/t090-acc0.ml25
-rw-r--r--testsuite/tests/tool-ocaml/t090-acc1.ml27
-rw-r--r--testsuite/tests/tool-ocaml/t090-acc2.ml29
-rw-r--r--testsuite/tests/tool-ocaml/t090-acc3.ml31
-rw-r--r--testsuite/tests/tool-ocaml/t090-acc4.ml33
-rw-r--r--testsuite/tests/tool-ocaml/t090-acc5.ml35
-rw-r--r--testsuite/tests/tool-ocaml/t090-acc6.ml37
-rw-r--r--testsuite/tests/tool-ocaml/t090-acc7.ml39
-rw-r--r--testsuite/tests/tool-ocaml/t091-acc.ml41
-rw-r--r--testsuite/tests/tool-ocaml/t092-pushacc.ml38
-rw-r--r--testsuite/tests/tool-ocaml/t092-pushacc0.ml22
-rw-r--r--testsuite/tests/tool-ocaml/t092-pushacc1.ml24
-rw-r--r--testsuite/tests/tool-ocaml/t092-pushacc2.ml26
-rw-r--r--testsuite/tests/tool-ocaml/t092-pushacc3.ml28
-rw-r--r--testsuite/tests/tool-ocaml/t092-pushacc4.ml30
-rw-r--r--testsuite/tests/tool-ocaml/t092-pushacc5.ml32
-rw-r--r--testsuite/tests/tool-ocaml/t092-pushacc6.ml34
-rw-r--r--testsuite/tests/tool-ocaml/t092-pushacc7.ml36
-rw-r--r--testsuite/tests/tool-ocaml/t093-pushacc.ml38
-rw-r--r--testsuite/tests/tool-ocaml/t100-pushtrap.ml21
-rw-r--r--testsuite/tests/tool-ocaml/t101-poptrap.ml21
-rw-r--r--testsuite/tests/tool-ocaml/t110-addint.ml26
-rw-r--r--testsuite/tests/tool-ocaml/t110-andint.ml22
-rw-r--r--testsuite/tests/tool-ocaml/t110-asrint-1.ml22
-rw-r--r--testsuite/tests/tool-ocaml/t110-asrint-2.ml22
-rw-r--r--testsuite/tests/tool-ocaml/t110-divint-1.ml22
-rw-r--r--testsuite/tests/tool-ocaml/t110-divint-2.ml22
-rw-r--r--testsuite/tests/tool-ocaml/t110-divint-3.ml33
-rw-r--r--testsuite/tests/tool-ocaml/t110-lslint.ml22
-rw-r--r--testsuite/tests/tool-ocaml/t110-lsrint.ml22
-rw-r--r--testsuite/tests/tool-ocaml/t110-modint-1.ml22
-rw-r--r--testsuite/tests/tool-ocaml/t110-modint-2.ml34
-rw-r--r--testsuite/tests/tool-ocaml/t110-mulint.ml22
-rw-r--r--testsuite/tests/tool-ocaml/t110-negint.ml25
-rw-r--r--testsuite/tests/tool-ocaml/t110-offsetint.ml21
-rw-r--r--testsuite/tests/tool-ocaml/t110-orint.ml22
-rw-r--r--testsuite/tests/tool-ocaml/t110-subint.ml26
-rw-r--r--testsuite/tests/tool-ocaml/t110-xorint.ml22
-rw-r--r--testsuite/tests/tool-ocaml/t120-getstringchar.ml22
-rw-r--r--testsuite/tests/tool-ocaml/t121-setstringchar.ml31
-rw-r--r--testsuite/tests/tool-ocaml/t130-getvectitem.ml24
-rw-r--r--testsuite/tests/tool-ocaml/t130-vectlength.ml23
-rw-r--r--testsuite/tests/tool-ocaml/t131-setvectitem.ml33
-rw-r--r--testsuite/tests/tool-ocaml/t140-switch-1.ml32
-rw-r--r--testsuite/tests/tool-ocaml/t140-switch-2.ml32
-rw-r--r--testsuite/tests/tool-ocaml/t140-switch-3.ml31
-rw-r--r--testsuite/tests/tool-ocaml/t140-switch-4.ml31
-rw-r--r--testsuite/tests/tool-ocaml/t141-switch-5.ml38
-rw-r--r--testsuite/tests/tool-ocaml/t141-switch-6.ml38
-rw-r--r--testsuite/tests/tool-ocaml/t141-switch-7.ml37
-rw-r--r--testsuite/tests/tool-ocaml/t142-switch-8.ml34
-rw-r--r--testsuite/tests/tool-ocaml/t142-switch-9.ml34
-rw-r--r--testsuite/tests/tool-ocaml/t142-switch-A.ml34
-rw-r--r--testsuite/tests/tool-ocaml/t150-push-1.ml24
-rw-r--r--testsuite/tests/tool-ocaml/t150-push-2.ml39
-rw-r--r--testsuite/tests/tool-ocaml/t160-closure.ml19
-rw-r--r--testsuite/tests/tool-ocaml/t161-apply1.ml42
-rw-r--r--testsuite/tests/tool-ocaml/t162-return.ml21
-rw-r--r--testsuite/tests/tool-ocaml/t163.ml23
-rw-r--r--testsuite/tests/tool-ocaml/t164-apply2.ml24
-rw-r--r--testsuite/tests/tool-ocaml/t164-apply3.ml25
-rw-r--r--testsuite/tests/tool-ocaml/t165-apply.ml28
-rw-r--r--testsuite/tests/tool-ocaml/t170-envacc2.ml37
-rw-r--r--testsuite/tests/tool-ocaml/t170-envacc3.ml42
-rw-r--r--testsuite/tests/tool-ocaml/t170-envacc4.ml47
-rw-r--r--testsuite/tests/tool-ocaml/t171-envacc.ml52
-rw-r--r--testsuite/tests/tool-ocaml/t172-pushenvacc1.ml34
-rw-r--r--testsuite/tests/tool-ocaml/t172-pushenvacc2.ml37
-rw-r--r--testsuite/tests/tool-ocaml/t172-pushenvacc3.ml42
-rw-r--r--testsuite/tests/tool-ocaml/t172-pushenvacc4.ml47
-rw-r--r--testsuite/tests/tool-ocaml/t173-pushenvacc.ml52
-rw-r--r--testsuite/tests/tool-ocaml/t180-appterm1.ml35
-rw-r--r--testsuite/tests/tool-ocaml/t180-appterm2.ml38
-rw-r--r--testsuite/tests/tool-ocaml/t180-appterm3.ml39
-rw-r--r--testsuite/tests/tool-ocaml/t181-appterm.ml40
-rw-r--r--testsuite/tests/tool-ocaml/t190-makefloatblock-1.ml17
-rw-r--r--testsuite/tests/tool-ocaml/t190-makefloatblock-2.ml18
-rw-r--r--testsuite/tests/tool-ocaml/t190-makefloatblock-3.ml19
-rw-r--r--testsuite/tests/tool-ocaml/t191-vectlength.ml26
-rw-r--r--testsuite/tests/tool-ocaml/t192-getfloatfield-1.ml23
-rw-r--r--testsuite/tests/tool-ocaml/t192-getfloatfield-2.ml23
-rw-r--r--testsuite/tests/tool-ocaml/t193-setfloatfield-1.ml36
-rw-r--r--testsuite/tests/tool-ocaml/t193-setfloatfield-2.ml36
-rw-r--r--testsuite/tests/tool-ocaml/t200-getfield0.ml25
-rw-r--r--testsuite/tests/tool-ocaml/t200-getfield1.ml26
-rw-r--r--testsuite/tests/tool-ocaml/t200-getfield2.ml27
-rw-r--r--testsuite/tests/tool-ocaml/t200-getfield3.ml28
-rw-r--r--testsuite/tests/tool-ocaml/t201-getfield.ml29
-rw-r--r--testsuite/tests/tool-ocaml/t210-setfield0.ml36
-rw-r--r--testsuite/tests/tool-ocaml/t210-setfield1.ml38
-rw-r--r--testsuite/tests/tool-ocaml/t210-setfield2.ml40
-rw-r--r--testsuite/tests/tool-ocaml/t210-setfield3.ml42
-rw-r--r--testsuite/tests/tool-ocaml/t211-setfield.ml44
-rw-r--r--testsuite/tests/tool-ocaml/t220-assign.ml27
-rw-r--r--testsuite/tests/tool-ocaml/t230-check_signals.ml28
-rw-r--r--testsuite/tests/tool-ocaml/t240-c_call1.ml21
-rw-r--r--testsuite/tests/tool-ocaml/t240-c_call2.ml22
-rw-r--r--testsuite/tests/tool-ocaml/t240-c_call3.ml23
-rw-r--r--testsuite/tests/tool-ocaml/t240-c_call4.ml32
-rw-r--r--testsuite/tests/tool-ocaml/t240-c_call5.ml33
-rw-r--r--testsuite/tests/tool-ocaml/t250-closurerec-1.ml19
-rw-r--r--testsuite/tests/tool-ocaml/t250-closurerec-2.ml29
-rw-r--r--testsuite/tests/tool-ocaml/t251-pushoffsetclosure0.ml39
-rw-r--r--testsuite/tests/tool-ocaml/t251-pushoffsetclosure2.ml34
-rw-r--r--testsuite/tests/tool-ocaml/t251-pushoffsetclosurem2.ml34
-rw-r--r--testsuite/tests/tool-ocaml/t252-pushoffsetclosure.ml38
-rw-r--r--testsuite/tests/tool-ocaml/t253-offsetclosure0.ml34
-rw-r--r--testsuite/tests/tool-ocaml/t253-offsetclosure2.ml34
-rw-r--r--testsuite/tests/tool-ocaml/t253-offsetclosurem2.ml34
-rw-r--r--testsuite/tests/tool-ocaml/t254-offsetclosure.ml37
-rw-r--r--testsuite/tests/tool-ocaml/t260-offsetref.ml31
-rw-r--r--testsuite/tests/tool-ocaml/t270-push_retaddr.ml36
-rw-r--r--testsuite/tests/tool-ocaml/t300-getmethod.ml5885
-rw-r--r--testsuite/tests/tool-ocaml/t301-object.ml29
-rw-r--r--testsuite/tests/tool-ocaml/t310-alloc-1.ml1587
-rw-r--r--testsuite/tests/tool-ocaml/t310-alloc-2.ml2313
-rw-r--r--testsuite/tests/tool-ocaml/t320-gc-1.ml1589
-rw-r--r--testsuite/tests/tool-ocaml/t320-gc-2.ml1589
-rw-r--r--testsuite/tests/tool-ocaml/t320-gc-3.ml1589
-rw-r--r--testsuite/tests/tool-ocaml/t330-compact-1.ml15
-rw-r--r--testsuite/tests/tool-ocaml/t330-compact-2.ml755
-rw-r--r--testsuite/tests/tool-ocaml/t330-compact-3.ml1589
-rw-r--r--testsuite/tests/tool-ocaml/t330-compact-4.ml1589
-rw-r--r--testsuite/tests/tool-ocaml/t340-weak.ml2551
-rw-r--r--testsuite/tests/tool-ocaml/t350-heapcheck.ml2554
-rw-r--r--testsuite/tests/tool-ocaml/t360-stacks-1.ml43
-rw-r--r--testsuite/tests/tool-ocaml/t360-stacks-2.ml54
159 files changed, 27648 insertions, 0 deletions
diff --git a/testsuite/tests/tool-ocaml/Makefile b/testsuite/tests/tool-ocaml/Makefile
new file mode 100644
index 0000000000..708d022e8d
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/Makefile
@@ -0,0 +1,16 @@
+SHOULD_FAIL=t060-raise.ml
+
+compile: lib.cmo
+ @for file in t*.ml; do \
+ echo -n " ... testing '$$file'"; \
+ if [ `echo $(SHOULD_FAIL) | grep $$file` ]; then \
+ $(OCAML) -w a lib.cmo $$file 2> /dev/null && (echo " => failed" && exit 1) || echo " => passed"; \
+ else \
+ $(OCAML) -w a lib.cmo $$file 2> /dev/null && echo " => passed" || (echo " => failed" && exit 1); \
+ fi; \
+ done
+
+clean: defaultclean
+ @rm -f ./a.out
+
+include ../../makefiles/Makefile.common
diff --git a/testsuite/tests/tool-ocaml/lib.ml b/testsuite/tests/tool-ocaml/lib.ml
new file mode 100644
index 0000000000..bf08b66ce4
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/lib.ml
@@ -0,0 +1,46 @@
+(* file $Id: lib.ml 6190 2004-04-06 09:11:45Z starynke $ *)
+
+external raise : exn -> 'a = "%raise"
+
+external not : bool -> bool = "%boolnot"
+
+external (=) : 'a -> 'a -> bool = "%equal"
+external (<>) : 'a -> 'a -> bool = "%notequal"
+external (<) : 'a -> 'a -> bool = "%lessthan"
+external (>) : 'a -> 'a -> bool = "%greaterthan"
+external (<=) : 'a -> 'a -> bool = "%lessequal"
+external (>=) : 'a -> 'a -> bool = "%greaterequal"
+
+external (~-) : int -> int = "%negint"
+external (+) : int -> int -> int = "%addint"
+external (-) : int -> int -> int = "%subint"
+external ( * ) : int -> int -> int = "%mulint"
+external (/) : int -> int -> int = "%divint"
+external (mod) : int -> int -> int = "%modint"
+
+external (land) : int -> int -> int = "%andint"
+external (lor) : int -> int -> int = "%orint"
+external (lxor) : int -> int -> int = "%xorint"
+external (lsl) : int -> int -> int = "%lslint"
+external (lsr) : int -> int -> int = "%lsrint"
+external (asr) : int -> int -> int = "%asrint"
+
+external ignore : 'a -> unit = "%ignore"
+
+type 'a ref = { mutable contents: 'a }
+external ref : 'a -> 'a ref = "%makemutable"
+external (!) : 'a ref -> 'a = "%field0"
+external (:=) : 'a ref -> 'a -> unit = "%setfield0"
+external incr : int ref -> unit = "%incr"
+external decr : int ref -> unit = "%decr"
+
+type 'a option = None | Some of 'a
+
+type 'a weak_t;;
+external weak_create: int -> 'a weak_t = "caml_weak_create";;
+external weak_set : 'a weak_t -> int -> 'a option -> unit = "caml_weak_set";;
+external weak_get: 'a weak_t -> int -> 'a option = "caml_weak_get";;
+
+let x = 42;;
+
+(* eof $Id: lib.ml 6190 2004-04-06 09:11:45Z starynke $ *)
diff --git a/testsuite/tests/tool-ocaml/t000.ml b/testsuite/tests/tool-ocaml/t000.ml
new file mode 100644
index 0000000000..fafa1c89fd
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t000.ml
@@ -0,0 +1,7 @@
+(* empty file *)
+
+(**
+ 0 ATOM0
+ 1 SETGLOBAL T000
+ 3 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t010-const0.ml b/testsuite/tests/tool-ocaml/t010-const0.ml
new file mode 100644
index 0000000000..73ecbb1f18
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t010-const0.ml
@@ -0,0 +1,8 @@
+0;;
+
+(**
+ 0 CONST0
+ 1 ATOM0
+ 2 SETGLOBAL T010-const0
+ 4 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t010-const1.ml b/testsuite/tests/tool-ocaml/t010-const1.ml
new file mode 100644
index 0000000000..75a00d5787
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t010-const1.ml
@@ -0,0 +1,8 @@
+1;;
+
+(**
+ 0 CONST1
+ 1 ATOM0
+ 2 SETGLOBAL T010-const1
+ 4 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t010-const2.ml b/testsuite/tests/tool-ocaml/t010-const2.ml
new file mode 100644
index 0000000000..f0ed8e7df1
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t010-const2.ml
@@ -0,0 +1,8 @@
+2;;
+
+(**
+ 0 CONST2
+ 1 ATOM0
+ 2 SETGLOBAL T010-const2
+ 4 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t010-const3.ml b/testsuite/tests/tool-ocaml/t010-const3.ml
new file mode 100644
index 0000000000..4f034c4b52
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t010-const3.ml
@@ -0,0 +1,8 @@
+3;;
+
+(**
+ 0 CONST3
+ 1 ATOM0
+ 2 SETGLOBAL T010-const3
+ 4 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t011-constint.ml b/testsuite/tests/tool-ocaml/t011-constint.ml
new file mode 100644
index 0000000000..9ece6c53bd
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t011-constint.ml
@@ -0,0 +1,8 @@
+4;;
+
+(**
+ 0 CONSTINT 4
+ 2 ATOM0
+ 3 SETGLOBAL T011-constint
+ 5 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t020.ml b/testsuite/tests/tool-ocaml/t020.ml
new file mode 100644
index 0000000000..5d6a3cfc9f
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t020.ml
@@ -0,0 +1,10 @@
+let _ = () in ();;
+
+(**
+ 0 CONST0
+ 1 PUSHCONST0
+ 2 POP 1
+ 4 ATOM0
+ 5 SETGLOBAL T020
+ 7 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t021-pushconst1.ml b/testsuite/tests/tool-ocaml/t021-pushconst1.ml
new file mode 100644
index 0000000000..075997a830
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t021-pushconst1.ml
@@ -0,0 +1,10 @@
+let _ = () in 1;;
+
+(**
+ 0 CONST0
+ 1 PUSHCONST1
+ 2 POP 1
+ 4 ATOM0
+ 5 SETGLOBAL T021-pushconst1
+ 7 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t021-pushconst2.ml b/testsuite/tests/tool-ocaml/t021-pushconst2.ml
new file mode 100644
index 0000000000..17adb5075b
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t021-pushconst2.ml
@@ -0,0 +1,10 @@
+let _ = () in 2;;
+
+(**
+ 0 CONST0
+ 1 PUSHCONST2
+ 2 POP 1
+ 4 ATOM0
+ 5 SETGLOBAL T021-pushconst2
+ 7 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t021-pushconst3.ml b/testsuite/tests/tool-ocaml/t021-pushconst3.ml
new file mode 100644
index 0000000000..563c609324
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t021-pushconst3.ml
@@ -0,0 +1,10 @@
+let _ = () in 3;;
+
+(**
+ 0 CONST0
+ 1 PUSHCONST3
+ 2 POP 1
+ 4 ATOM0
+ 5 SETGLOBAL T021-pushconst3
+ 7 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t022-pushconstint.ml b/testsuite/tests/tool-ocaml/t022-pushconstint.ml
new file mode 100644
index 0000000000..1b766a5723
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t022-pushconstint.ml
@@ -0,0 +1,10 @@
+let _ = () in -1;;
+
+(**
+ 0 CONST0
+ 1 PUSHCONSTINT -1
+ 3 POP 1
+ 5 ATOM0
+ 6 SETGLOBAL T022-pushconstint
+ 8 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t040-makeblock1.ml b/testsuite/tests/tool-ocaml/t040-makeblock1.ml
new file mode 100644
index 0000000000..71516606b6
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t040-makeblock1.ml
@@ -0,0 +1,13 @@
+type t = {
+ mutable a : int;
+};;
+
+{ a = 0 };;
+
+(**
+ 0 CONST0
+ 1 MAKEBLOCK1 0
+ 3 ATOM0
+ 4 SETGLOBAL T040-makeblock1
+ 6 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t040-makeblock2.ml b/testsuite/tests/tool-ocaml/t040-makeblock2.ml
new file mode 100644
index 0000000000..e7c745b9c2
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t040-makeblock2.ml
@@ -0,0 +1,15 @@
+type t = {
+ mutable a : int;
+ mutable b : int;
+};;
+
+{ a = 0; b = 0 };;
+
+(**
+ 0 CONST0
+ 1 PUSHCONST0
+ 2 MAKEBLOCK2 0
+ 4 ATOM0
+ 5 SETGLOBAL T040-makeblock2
+ 7 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t040-makeblock3.ml b/testsuite/tests/tool-ocaml/t040-makeblock3.ml
new file mode 100644
index 0000000000..8fb56054e3
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t040-makeblock3.ml
@@ -0,0 +1,17 @@
+type t = {
+ mutable a : int;
+ mutable b : int;
+ mutable c : int;
+};;
+
+{ a = 0; b = 0; c = 0 };;
+
+(**
+ 0 CONST0
+ 1 PUSHCONST0
+ 2 PUSHCONST0
+ 3 MAKEBLOCK3 0
+ 5 ATOM0
+ 6 SETGLOBAL T040-makeblock3
+ 8 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t041-makeblock.ml b/testsuite/tests/tool-ocaml/t041-makeblock.ml
new file mode 100644
index 0000000000..5ae255d6ee
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t041-makeblock.ml
@@ -0,0 +1,19 @@
+type t = {
+ mutable a : int;
+ mutable b : int;
+ mutable c : int;
+ mutable d : int;
+};;
+
+{ a = 0; b = 0; c = 0; d = 0 };;
+
+(**
+ 0 CONST0
+ 1 PUSHCONST0
+ 2 PUSHCONST0
+ 3 PUSHCONST0
+ 4 MAKEBLOCK 4, 0
+ 7 ATOM0
+ 8 SETGLOBAL T041-makeblock
+ 10 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t050-getglobal.ml b/testsuite/tests/tool-ocaml/t050-getglobal.ml
new file mode 100644
index 0000000000..f10393cf62
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t050-getglobal.ml
@@ -0,0 +1,8 @@
+[1];;
+
+(**
+ 0 GETGLOBAL <0>(1, 0)
+ 2 ATOM0
+ 3 SETGLOBAL T050-getglobal
+ 5 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t050-pushgetglobal.ml b/testsuite/tests/tool-ocaml/t050-pushgetglobal.ml
new file mode 100644
index 0000000000..e1172cc350
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t050-pushgetglobal.ml
@@ -0,0 +1,10 @@
+let _ = () in 0.01;;
+
+(**
+ 0 CONST0
+ 1 PUSHGETGLOBAL 0.01
+ 3 POP 1
+ 5 ATOM0
+ 6 SETGLOBAL T050-pushgetglobal
+ 8 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t051-getglobalfield.ml b/testsuite/tests/tool-ocaml/t051-getglobalfield.ml
new file mode 100644
index 0000000000..45d9ccea22
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t051-getglobalfield.ml
@@ -0,0 +1,13 @@
+Lib.x;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 GETGLOBALFIELD Lib, 0
+ 12 ATOM0
+ 13 SETGLOBAL T051-getglobalfield
+ 15 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t051-pushgetglobalfield.ml b/testsuite/tests/tool-ocaml/t051-pushgetglobalfield.ml
new file mode 100644
index 0000000000..2012a2573d
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t051-pushgetglobalfield.ml
@@ -0,0 +1,15 @@
+let _ = () in Lib.x;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST0
+ 10 PUSHGETGLOBALFIELD Lib, 0
+ 13 POP 1
+ 15 ATOM0
+ 16 SETGLOBAL T051-pushgetglobalfield
+ 18 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t060-raise.ml b/testsuite/tests/tool-ocaml/t060-raise.ml
new file mode 100644
index 0000000000..1aa484667a
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t060-raise.ml
@@ -0,0 +1,15 @@
+open Lib;;
+raise End_of_file;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 GETGLOBAL End_of_file
+ 11 MAKEBLOCK1 0
+ 13 RAISE
+ 14 SETGLOBAL T060-raise
+ 16 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t070-branch.ml b/testsuite/tests/tool-ocaml/t070-branch.ml
new file mode 100644
index 0000000000..4fc52d426b
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t070-branch.ml
@@ -0,0 +1,20 @@
+open Lib;;
+if true then 0 else raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST1
+ 10 BRANCHIFNOT 15
+ 12 CONST0
+ 13 BRANCH 20
+ 15 GETGLOBAL Not_found
+ 17 MAKEBLOCK1 0
+ 19 RAISE
+ 20 ATOM0
+ 21 SETGLOBAL T070-branch
+ 23 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t070-branchif.ml b/testsuite/tests/tool-ocaml/t070-branchif.ml
new file mode 100644
index 0000000000..c256248c80
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t070-branchif.ml
@@ -0,0 +1,20 @@
+open Lib;;
+if not false then 0 else raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST0
+ 10 BRANCHIF 15
+ 12 CONST0
+ 13 BRANCH 20
+ 15 GETGLOBAL Not_found
+ 17 MAKEBLOCK1 0
+ 19 RAISE
+ 20 ATOM0
+ 21 SETGLOBAL T070-branchif
+ 23 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t070-branchifnot.ml b/testsuite/tests/tool-ocaml/t070-branchifnot.ml
new file mode 100644
index 0000000000..9e6e4e8ba3
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t070-branchifnot.ml
@@ -0,0 +1,18 @@
+open Lib;;
+if false then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST0
+ 10 BRANCHIFNOT 17
+ 12 GETGLOBAL Not_found
+ 14 MAKEBLOCK1 0
+ 16 RAISE
+ 17 ATOM0
+ 18 SETGLOBAL T070-branchifnot
+ 20 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t071-boolnot.ml b/testsuite/tests/tool-ocaml/t071-boolnot.ml
new file mode 100644
index 0000000000..b4a81943c6
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t071-boolnot.ml
@@ -0,0 +1,19 @@
+open Lib;;
+if not true then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST1
+ 10 BOOLNOT
+ 11 BRANCHIFNOT 18
+ 13 GETGLOBAL Not_found
+ 15 MAKEBLOCK1 0
+ 17 RAISE
+ 18 ATOM0
+ 19 SETGLOBAL T071-boolnot
+ 21 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t080-eq.ml b/testsuite/tests/tool-ocaml/t080-eq.ml
new file mode 100644
index 0000000000..3ee735f088
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t080-eq.ml
@@ -0,0 +1,21 @@
+open Lib;;
+if not (0 = 0) then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST0
+ 10 PUSHCONST0
+ 11 EQ
+ 12 BOOLNOT
+ 13 BRANCHIFNOT 20
+ 15 GETGLOBAL Not_found
+ 17 MAKEBLOCK1 0
+ 19 RAISE
+ 20 ATOM0
+ 21 SETGLOBAL T080-eq
+ 23 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t080-geint.ml b/testsuite/tests/tool-ocaml/t080-geint.ml
new file mode 100644
index 0000000000..a220b7e9a4
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t080-geint.ml
@@ -0,0 +1,21 @@
+open Lib;;
+if not (0 >= 0) then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST0
+ 10 PUSHCONST0
+ 11 GEINT
+ 12 BOOLNOT
+ 13 BRANCHIFNOT 20
+ 15 GETGLOBAL Not_found
+ 17 MAKEBLOCK1 0
+ 19 RAISE
+ 20 ATOM0
+ 21 SETGLOBAL T080-geint
+ 23 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t080-gtint.ml b/testsuite/tests/tool-ocaml/t080-gtint.ml
new file mode 100644
index 0000000000..32d573217f
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t080-gtint.ml
@@ -0,0 +1,20 @@
+open Lib;;
+if 0 > 0 then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST0
+ 10 PUSHCONST0
+ 11 GTINT
+ 12 BRANCHIFNOT 19
+ 14 GETGLOBAL Not_found
+ 16 MAKEBLOCK1 0
+ 18 RAISE
+ 19 ATOM0
+ 20 SETGLOBAL T080-gtint
+ 22 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t080-leint.ml b/testsuite/tests/tool-ocaml/t080-leint.ml
new file mode 100644
index 0000000000..cc983a0836
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t080-leint.ml
@@ -0,0 +1,21 @@
+open Lib;;
+if not (0 <= 0) then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST0
+ 10 PUSHCONST0
+ 11 LEINT
+ 12 BOOLNOT
+ 13 BRANCHIFNOT 20
+ 15 GETGLOBAL Not_found
+ 17 MAKEBLOCK1 0
+ 19 RAISE
+ 20 ATOM0
+ 21 SETGLOBAL T080-leint
+ 23 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t080-ltint.ml b/testsuite/tests/tool-ocaml/t080-ltint.ml
new file mode 100644
index 0000000000..ae7d240ae8
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t080-ltint.ml
@@ -0,0 +1,20 @@
+open Lib;;
+if 0 < 0 then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST0
+ 10 PUSHCONST0
+ 11 LTINT
+ 12 BRANCHIFNOT 19
+ 14 GETGLOBAL Not_found
+ 16 MAKEBLOCK1 0
+ 18 RAISE
+ 19 ATOM0
+ 20 SETGLOBAL T080-ltint
+ 22 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t080-neq.ml b/testsuite/tests/tool-ocaml/t080-neq.ml
new file mode 100644
index 0000000000..5066e9cbcc
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t080-neq.ml
@@ -0,0 +1,20 @@
+open Lib;;
+if 0 <> 0 then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST0
+ 10 PUSHCONST0
+ 11 NEQ
+ 12 BRANCHIFNOT 19
+ 14 GETGLOBAL Not_found
+ 16 MAKEBLOCK1 0
+ 18 RAISE
+ 19 ATOM0
+ 20 SETGLOBAL T080-neq
+ 22 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t090-acc0.ml b/testsuite/tests/tool-ocaml/t090-acc0.ml
new file mode 100644
index 0000000000..74accecad4
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t090-acc0.ml
@@ -0,0 +1,25 @@
+open Lib;;
+let x = true in
+();
+if not x then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST1
+ 10 PUSHCONST0
+ 11 ACC0
+ 12 BOOLNOT
+ 13 BRANCHIFNOT 20
+ 15 GETGLOBAL Not_found
+ 17 MAKEBLOCK1 0
+ 19 RAISE
+ 20 POP 1
+ 22 ATOM0
+ 23 SETGLOBAL T090-acc0
+ 25 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t090-acc1.ml b/testsuite/tests/tool-ocaml/t090-acc1.ml
new file mode 100644
index 0000000000..fc9b0254dd
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t090-acc1.ml
@@ -0,0 +1,27 @@
+open Lib;;
+let x = true in
+let y = false in
+();
+if not x then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST1
+ 10 PUSHCONST0
+ 11 PUSHCONST0
+ 12 ACC1
+ 13 BOOLNOT
+ 14 BRANCHIFNOT 21
+ 16 GETGLOBAL Not_found
+ 18 MAKEBLOCK1 0
+ 20 RAISE
+ 21 POP 2
+ 23 ATOM0
+ 24 SETGLOBAL T090-acc1
+ 26 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t090-acc2.ml b/testsuite/tests/tool-ocaml/t090-acc2.ml
new file mode 100644
index 0000000000..4865944938
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t090-acc2.ml
@@ -0,0 +1,29 @@
+open Lib;;
+let x = true in
+let y = false in
+let z = false in
+();
+if not x then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST1
+ 10 PUSHCONST0
+ 11 PUSHCONST0
+ 12 PUSHCONST0
+ 13 ACC2
+ 14 BOOLNOT
+ 15 BRANCHIFNOT 22
+ 17 GETGLOBAL Not_found
+ 19 MAKEBLOCK1 0
+ 21 RAISE
+ 22 POP 3
+ 24 ATOM0
+ 25 SETGLOBAL T090-acc2
+ 27 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t090-acc3.ml b/testsuite/tests/tool-ocaml/t090-acc3.ml
new file mode 100644
index 0000000000..9622456a64
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t090-acc3.ml
@@ -0,0 +1,31 @@
+open Lib;;
+let x = true in
+let y = false in
+let z = false in
+let a = false in
+();
+if not x then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST1
+ 10 PUSHCONST0
+ 11 PUSHCONST0
+ 12 PUSHCONST0
+ 13 PUSHCONST0
+ 14 ACC3
+ 15 BOOLNOT
+ 16 BRANCHIFNOT 23
+ 18 GETGLOBAL Not_found
+ 20 MAKEBLOCK1 0
+ 22 RAISE
+ 23 POP 4
+ 25 ATOM0
+ 26 SETGLOBAL T090-acc3
+ 28 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t090-acc4.ml b/testsuite/tests/tool-ocaml/t090-acc4.ml
new file mode 100644
index 0000000000..992559b7da
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t090-acc4.ml
@@ -0,0 +1,33 @@
+open Lib;;
+let x = true in
+let y = false in
+let z = false in
+let a = false in
+let b = false in
+();
+if not x then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST1
+ 10 PUSHCONST0
+ 11 PUSHCONST0
+ 12 PUSHCONST0
+ 13 PUSHCONST0
+ 14 PUSHCONST0
+ 15 ACC4
+ 16 BOOLNOT
+ 17 BRANCHIFNOT 24
+ 19 GETGLOBAL Not_found
+ 21 MAKEBLOCK1 0
+ 23 RAISE
+ 24 POP 5
+ 26 ATOM0
+ 27 SETGLOBAL T090-acc4
+ 29 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t090-acc5.ml b/testsuite/tests/tool-ocaml/t090-acc5.ml
new file mode 100644
index 0000000000..57f7453b1e
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t090-acc5.ml
@@ -0,0 +1,35 @@
+open Lib;;
+let x = true in
+let y = false in
+let z = false in
+let a = false in
+let b = false in
+let c = false in
+();
+if not x then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST1
+ 10 PUSHCONST0
+ 11 PUSHCONST0
+ 12 PUSHCONST0
+ 13 PUSHCONST0
+ 14 PUSHCONST0
+ 15 PUSHCONST0
+ 16 ACC5
+ 17 BOOLNOT
+ 18 BRANCHIFNOT 25
+ 20 GETGLOBAL Not_found
+ 22 MAKEBLOCK1 0
+ 24 RAISE
+ 25 POP 6
+ 27 ATOM0
+ 28 SETGLOBAL T090-acc5
+ 30 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t090-acc6.ml b/testsuite/tests/tool-ocaml/t090-acc6.ml
new file mode 100644
index 0000000000..f9400282ea
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t090-acc6.ml
@@ -0,0 +1,37 @@
+open Lib;;
+let x = true in
+let y = false in
+let z = false in
+let a = false in
+let b = false in
+let c = false in
+let d = false in
+();
+if not x then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST1
+ 10 PUSHCONST0
+ 11 PUSHCONST0
+ 12 PUSHCONST0
+ 13 PUSHCONST0
+ 14 PUSHCONST0
+ 15 PUSHCONST0
+ 16 PUSHCONST0
+ 17 ACC6
+ 18 BOOLNOT
+ 19 BRANCHIFNOT 26
+ 21 GETGLOBAL Not_found
+ 23 MAKEBLOCK1 0
+ 25 RAISE
+ 26 POP 7
+ 28 ATOM0
+ 29 SETGLOBAL T090-acc6
+ 31 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t090-acc7.ml b/testsuite/tests/tool-ocaml/t090-acc7.ml
new file mode 100644
index 0000000000..366191bf14
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t090-acc7.ml
@@ -0,0 +1,39 @@
+open Lib;;
+let x = true in
+let y = false in
+let z = false in
+let a = false in
+let b = false in
+let c = false in
+let d = false in
+let e = false in
+();
+if not x then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST1
+ 10 PUSHCONST0
+ 11 PUSHCONST0
+ 12 PUSHCONST0
+ 13 PUSHCONST0
+ 14 PUSHCONST0
+ 15 PUSHCONST0
+ 16 PUSHCONST0
+ 17 PUSHCONST0
+ 18 ACC7
+ 19 BOOLNOT
+ 20 BRANCHIFNOT 27
+ 22 GETGLOBAL Not_found
+ 24 MAKEBLOCK1 0
+ 26 RAISE
+ 27 POP 8
+ 29 ATOM0
+ 30 SETGLOBAL T090-acc7
+ 32 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t091-acc.ml b/testsuite/tests/tool-ocaml/t091-acc.ml
new file mode 100644
index 0000000000..26b003f668
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t091-acc.ml
@@ -0,0 +1,41 @@
+open Lib;;
+let x = true in
+let y = false in
+let z = false in
+let a = false in
+let b = false in
+let c = false in
+let d = false in
+let e = false in
+let f = false in
+();
+if not x then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST1
+ 10 PUSHCONST0
+ 11 PUSHCONST0
+ 12 PUSHCONST0
+ 13 PUSHCONST0
+ 14 PUSHCONST0
+ 15 PUSHCONST0
+ 16 PUSHCONST0
+ 17 PUSHCONST0
+ 18 PUSHCONST0
+ 19 ACC 8
+ 21 BOOLNOT
+ 22 BRANCHIFNOT 29
+ 24 GETGLOBAL Not_found
+ 26 MAKEBLOCK1 0
+ 28 RAISE
+ 29 POP 9
+ 31 ATOM0
+ 32 SETGLOBAL T091-acc
+ 34 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t092-pushacc.ml b/testsuite/tests/tool-ocaml/t092-pushacc.ml
new file mode 100644
index 0000000000..c21561ec04
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t092-pushacc.ml
@@ -0,0 +1,38 @@
+open Lib;;
+let x = false in
+let y = true in
+let z = true in
+let a = true in
+let b = true in
+let c = true in
+let d = true in
+let e = true in
+let f = true in
+if x then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST0
+ 10 PUSHCONST1
+ 11 PUSHCONST1
+ 12 PUSHCONST1
+ 13 PUSHCONST1
+ 14 PUSHCONST1
+ 15 PUSHCONST1
+ 16 PUSHCONST1
+ 17 PUSHCONST1
+ 18 PUSHACC 8
+ 20 BRANCHIFNOT 27
+ 22 GETGLOBAL Not_found
+ 24 MAKEBLOCK1 0
+ 26 RAISE
+ 27 POP 9
+ 29 ATOM0
+ 30 SETGLOBAL T092-pushacc
+ 32 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t092-pushacc0.ml b/testsuite/tests/tool-ocaml/t092-pushacc0.ml
new file mode 100644
index 0000000000..ffdc3b0404
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t092-pushacc0.ml
@@ -0,0 +1,22 @@
+open Lib;;
+let x = false in
+if x then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST0
+ 10 PUSHACC0
+ 11 BRANCHIFNOT 18
+ 13 GETGLOBAL Not_found
+ 15 MAKEBLOCK1 0
+ 17 RAISE
+ 18 POP 1
+ 20 ATOM0
+ 21 SETGLOBAL T092-pushacc0
+ 23 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t092-pushacc1.ml b/testsuite/tests/tool-ocaml/t092-pushacc1.ml
new file mode 100644
index 0000000000..b923f4fc8c
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t092-pushacc1.ml
@@ -0,0 +1,24 @@
+open Lib;;
+let x = false in
+let y = true in
+if x then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST0
+ 10 PUSHCONST1
+ 11 PUSHACC1
+ 12 BRANCHIFNOT 19
+ 14 GETGLOBAL Not_found
+ 16 MAKEBLOCK1 0
+ 18 RAISE
+ 19 POP 2
+ 21 ATOM0
+ 22 SETGLOBAL T092-pushacc1
+ 24 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t092-pushacc2.ml b/testsuite/tests/tool-ocaml/t092-pushacc2.ml
new file mode 100644
index 0000000000..f6249783ab
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t092-pushacc2.ml
@@ -0,0 +1,26 @@
+open Lib;;
+let x = false in
+let y = true in
+let z = true in
+if x then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST0
+ 10 PUSHCONST1
+ 11 PUSHCONST1
+ 12 PUSHACC2
+ 13 BRANCHIFNOT 20
+ 15 GETGLOBAL Not_found
+ 17 MAKEBLOCK1 0
+ 19 RAISE
+ 20 POP 3
+ 22 ATOM0
+ 23 SETGLOBAL T092-pushacc2
+ 25 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t092-pushacc3.ml b/testsuite/tests/tool-ocaml/t092-pushacc3.ml
new file mode 100644
index 0000000000..5984fec733
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t092-pushacc3.ml
@@ -0,0 +1,28 @@
+open Lib;;
+let x = false in
+let y = true in
+let z = true in
+let a = true in
+if x then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST0
+ 10 PUSHCONST1
+ 11 PUSHCONST1
+ 12 PUSHCONST1
+ 13 PUSHACC3
+ 14 BRANCHIFNOT 21
+ 16 GETGLOBAL Not_found
+ 18 MAKEBLOCK1 0
+ 20 RAISE
+ 21 POP 4
+ 23 ATOM0
+ 24 SETGLOBAL T092-pushacc3
+ 26 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t092-pushacc4.ml b/testsuite/tests/tool-ocaml/t092-pushacc4.ml
new file mode 100644
index 0000000000..ce20e0b9de
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t092-pushacc4.ml
@@ -0,0 +1,30 @@
+open Lib;;
+let x = false in
+let y = true in
+let z = true in
+let a = true in
+let b = true in
+if x then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST0
+ 10 PUSHCONST1
+ 11 PUSHCONST1
+ 12 PUSHCONST1
+ 13 PUSHCONST1
+ 14 PUSHACC4
+ 15 BRANCHIFNOT 22
+ 17 GETGLOBAL Not_found
+ 19 MAKEBLOCK1 0
+ 21 RAISE
+ 22 POP 5
+ 24 ATOM0
+ 25 SETGLOBAL T092-pushacc4
+ 27 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t092-pushacc5.ml b/testsuite/tests/tool-ocaml/t092-pushacc5.ml
new file mode 100644
index 0000000000..030f3f04b0
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t092-pushacc5.ml
@@ -0,0 +1,32 @@
+open Lib;;
+let x = false in
+let y = true in
+let z = true in
+let a = true in
+let b = true in
+let c = true in
+if x then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST0
+ 10 PUSHCONST1
+ 11 PUSHCONST1
+ 12 PUSHCONST1
+ 13 PUSHCONST1
+ 14 PUSHCONST1
+ 15 PUSHACC5
+ 16 BRANCHIFNOT 23
+ 18 GETGLOBAL Not_found
+ 20 MAKEBLOCK1 0
+ 22 RAISE
+ 23 POP 6
+ 25 ATOM0
+ 26 SETGLOBAL T092-pushacc5
+ 28 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t092-pushacc6.ml b/testsuite/tests/tool-ocaml/t092-pushacc6.ml
new file mode 100644
index 0000000000..9c67b808e4
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t092-pushacc6.ml
@@ -0,0 +1,34 @@
+open Lib;;
+let x = false in
+let y = true in
+let z = true in
+let a = true in
+let b = true in
+let c = true in
+let d = true in
+if x then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST0
+ 10 PUSHCONST1
+ 11 PUSHCONST1
+ 12 PUSHCONST1
+ 13 PUSHCONST1
+ 14 PUSHCONST1
+ 15 PUSHCONST1
+ 16 PUSHACC6
+ 17 BRANCHIFNOT 24
+ 19 GETGLOBAL Not_found
+ 21 MAKEBLOCK1 0
+ 23 RAISE
+ 24 POP 7
+ 26 ATOM0
+ 27 SETGLOBAL T092-pushacc6
+ 29 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t092-pushacc7.ml b/testsuite/tests/tool-ocaml/t092-pushacc7.ml
new file mode 100644
index 0000000000..09fbbcaff0
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t092-pushacc7.ml
@@ -0,0 +1,36 @@
+open Lib;;
+let x = false in
+let y = true in
+let z = true in
+let a = true in
+let b = true in
+let c = true in
+let d = true in
+let e = true in
+if x then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST0
+ 10 PUSHCONST1
+ 11 PUSHCONST1
+ 12 PUSHCONST1
+ 13 PUSHCONST1
+ 14 PUSHCONST1
+ 15 PUSHCONST1
+ 16 PUSHCONST1
+ 17 PUSHACC7
+ 18 BRANCHIFNOT 25
+ 20 GETGLOBAL Not_found
+ 22 MAKEBLOCK1 0
+ 24 RAISE
+ 25 POP 8
+ 27 ATOM0
+ 28 SETGLOBAL T092-pushacc7
+ 30 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t093-pushacc.ml b/testsuite/tests/tool-ocaml/t093-pushacc.ml
new file mode 100644
index 0000000000..00a969adbe
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t093-pushacc.ml
@@ -0,0 +1,38 @@
+open Lib;;
+let x = false in
+let y = true in
+let z = true in
+let a = true in
+let b = true in
+let c = true in
+let d = true in
+let e = true in
+let f = true in
+if x then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST0
+ 10 PUSHCONST1
+ 11 PUSHCONST1
+ 12 PUSHCONST1
+ 13 PUSHCONST1
+ 14 PUSHCONST1
+ 15 PUSHCONST1
+ 16 PUSHCONST1
+ 17 PUSHCONST1
+ 18 PUSHACC 8
+ 20 BRANCHIFNOT 27
+ 22 GETGLOBAL Not_found
+ 24 MAKEBLOCK1 0
+ 26 RAISE
+ 27 POP 9
+ 29 ATOM0
+ 30 SETGLOBAL T093-pushacc
+ 32 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t100-pushtrap.ml b/testsuite/tests/tool-ocaml/t100-pushtrap.ml
new file mode 100644
index 0000000000..7b02a86276
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t100-pushtrap.ml
@@ -0,0 +1,21 @@
+open Lib;;
+try raise Not_found
+with _ -> ()
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 PUSHTRAP 16
+ 11 GETGLOBAL Not_found
+ 13 MAKEBLOCK1 0
+ 15 RAISE
+ 16 PUSHCONST0
+ 17 POP 1
+ 19 ATOM0
+ 20 SETGLOBAL T100-pushtrap
+ 22 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t101-poptrap.ml b/testsuite/tests/tool-ocaml/t101-poptrap.ml
new file mode 100644
index 0000000000..3a754a06fb
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t101-poptrap.ml
@@ -0,0 +1,21 @@
+open Lib;;
+try ()
+with _ -> ()
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 PUSHTRAP 15
+ 11 CONST0
+ 12 POPTRAP
+ 13 BRANCH 18
+ 15 PUSHCONST0
+ 16 POP 1
+ 18 ATOM0
+ 19 SETGLOBAL T101-poptrap
+ 21 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t110-addint.ml b/testsuite/tests/tool-ocaml/t110-addint.ml
new file mode 100644
index 0000000000..5d683c5735
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t110-addint.ml
@@ -0,0 +1,26 @@
+open Lib;;
+let x = 1 in
+if 1 + x <> 2 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST1
+ 10 PUSHCONST2
+ 11 PUSHACC1
+ 12 PUSHCONST1
+ 13 ADDINT
+ 14 NEQ
+ 15 BRANCHIFNOT 22
+ 17 GETGLOBAL Not_found
+ 19 MAKEBLOCK1 0
+ 21 RAISE
+ 22 POP 1
+ 24 ATOM0
+ 25 SETGLOBAL T110-addint
+ 27 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t110-andint.ml b/testsuite/tests/tool-ocaml/t110-andint.ml
new file mode 100644
index 0000000000..016dc3cddd
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t110-andint.ml
@@ -0,0 +1,22 @@
+open Lib;;
+if (3 land 6) <> 2 then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST2
+ 10 PUSHCONSTINT 6
+ 12 PUSHCONST3
+ 13 ANDINT
+ 14 NEQ
+ 15 BRANCHIFNOT 22
+ 17 GETGLOBAL Not_found
+ 19 MAKEBLOCK1 0
+ 21 RAISE
+ 22 ATOM0
+ 23 SETGLOBAL T110-andint
+ 25 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t110-asrint-1.ml b/testsuite/tests/tool-ocaml/t110-asrint-1.ml
new file mode 100644
index 0000000000..173bdca29d
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t110-asrint-1.ml
@@ -0,0 +1,22 @@
+open Lib;;
+if (-2 asr 1) <> -1 then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONSTINT -1
+ 11 PUSHCONST1
+ 12 PUSHCONSTINT -2
+ 14 ASRINT
+ 15 NEQ
+ 16 BRANCHIFNOT 23
+ 18 GETGLOBAL Not_found
+ 20 MAKEBLOCK1 0
+ 22 RAISE
+ 23 ATOM0
+ 24 SETGLOBAL T110-asrint-1
+ 26 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t110-asrint-2.ml b/testsuite/tests/tool-ocaml/t110-asrint-2.ml
new file mode 100644
index 0000000000..386fc64cf8
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t110-asrint-2.ml
@@ -0,0 +1,22 @@
+open Lib;;
+if (3 asr 1) <> 1 then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST1
+ 10 PUSHCONST1
+ 11 PUSHCONST3
+ 12 ASRINT
+ 13 NEQ
+ 14 BRANCHIFNOT 21
+ 16 GETGLOBAL Not_found
+ 18 MAKEBLOCK1 0
+ 20 RAISE
+ 21 ATOM0
+ 22 SETGLOBAL T110-asrint-2
+ 24 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t110-divint-1.ml b/testsuite/tests/tool-ocaml/t110-divint-1.ml
new file mode 100644
index 0000000000..5cde135d24
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t110-divint-1.ml
@@ -0,0 +1,22 @@
+open Lib;;
+if 2 / 2 <> 1 then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST1
+ 10 PUSHCONST2
+ 11 PUSHCONST2
+ 12 DIVINT
+ 13 NEQ
+ 14 BRANCHIFNOT 21
+ 16 GETGLOBAL Not_found
+ 18 MAKEBLOCK1 0
+ 20 RAISE
+ 21 ATOM0
+ 22 SETGLOBAL T110-divint-1
+ 24 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t110-divint-2.ml b/testsuite/tests/tool-ocaml/t110-divint-2.ml
new file mode 100644
index 0000000000..34f5b00c66
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t110-divint-2.ml
@@ -0,0 +1,22 @@
+open Lib;;
+if 3 / 2 <> 1 then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST1
+ 10 PUSHCONST2
+ 11 PUSHCONST3
+ 12 DIVINT
+ 13 NEQ
+ 14 BRANCHIFNOT 21
+ 16 GETGLOBAL Not_found
+ 18 MAKEBLOCK1 0
+ 20 RAISE
+ 21 ATOM0
+ 22 SETGLOBAL T110-divint-2
+ 24 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t110-divint-3.ml b/testsuite/tests/tool-ocaml/t110-divint-3.ml
new file mode 100644
index 0000000000..cbb2bff1f5
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t110-divint-3.ml
@@ -0,0 +1,33 @@
+open Lib;;
+try
+ ignore (3 / 0);
+ raise Not_found;
+with Division_by_zero -> ()
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 PUSHTRAP 19
+ 11 CONST0
+ 12 PUSHCONST3
+ 13 DIVINT
+ 14 GETGLOBAL Not_found
+ 16 MAKEBLOCK1 0
+ 18 RAISE
+ 19 PUSHGETGLOBAL Division_by_zero
+ 21 PUSHACC1
+ 22 GETFIELD0
+ 23 EQ
+ 24 BRANCHIFNOT 29
+ 26 CONST0
+ 27 BRANCH 31
+ 29 ACC0
+ 30 RAISE
+ 31 POP 1
+ 33 ATOM0
+ 34 SETGLOBAL T110-divint-3
+ 36 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t110-lslint.ml b/testsuite/tests/tool-ocaml/t110-lslint.ml
new file mode 100644
index 0000000000..9dd197b467
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t110-lslint.ml
@@ -0,0 +1,22 @@
+open Lib;;
+if (3 lsl 2) <> 12 then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONSTINT 12
+ 11 PUSHCONST2
+ 12 PUSHCONST3
+ 13 LSLINT
+ 14 NEQ
+ 15 BRANCHIFNOT 22
+ 17 GETGLOBAL Not_found
+ 19 MAKEBLOCK1 0
+ 21 RAISE
+ 22 ATOM0
+ 23 SETGLOBAL T110-lslint
+ 25 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t110-lsrint.ml b/testsuite/tests/tool-ocaml/t110-lsrint.ml
new file mode 100644
index 0000000000..9777815ccc
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t110-lsrint.ml
@@ -0,0 +1,22 @@
+open Lib;;
+if (14 lsr 2) <> 3 then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST3
+ 10 PUSHCONST2
+ 11 PUSHCONSTINT 14
+ 13 LSRINT
+ 14 NEQ
+ 15 BRANCHIFNOT 22
+ 17 GETGLOBAL Not_found
+ 19 MAKEBLOCK1 0
+ 21 RAISE
+ 22 ATOM0
+ 23 SETGLOBAL T110-lsrint
+ 25 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t110-modint-1.ml b/testsuite/tests/tool-ocaml/t110-modint-1.ml
new file mode 100644
index 0000000000..2a690c0896
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t110-modint-1.ml
@@ -0,0 +1,22 @@
+open Lib;;
+if 20 mod 3 <> 2 then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST2
+ 10 PUSHCONST3
+ 11 PUSHCONSTINT 20
+ 13 MODINT
+ 14 NEQ
+ 15 BRANCHIFNOT 22
+ 17 GETGLOBAL Not_found
+ 19 MAKEBLOCK1 0
+ 21 RAISE
+ 22 ATOM0
+ 23 SETGLOBAL T110-modint-1
+ 25 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t110-modint-2.ml b/testsuite/tests/tool-ocaml/t110-modint-2.ml
new file mode 100644
index 0000000000..0bc3be0c3c
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t110-modint-2.ml
@@ -0,0 +1,34 @@
+open Lib;;
+try
+ ignore (2 mod 0);
+ raise Not_found;
+with Division_by_zero -> ()
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 PUSHTRAP 19
+ 11 CONST0
+ 12 PUSHCONST2
+ 13 MODINT
+ 14 GETGLOBAL Not_found
+ 16 MAKEBLOCK1 0
+ 18 RAISE
+ 19 PUSHGETGLOBAL Division_by_zero
+ 21 PUSHACC1
+ 22 GETFIELD0
+ 23 EQ
+ 24 BRANCHIFNOT 29
+ 26 CONST0
+ 27 BRANCH 31
+ 29 ACC0
+ 30 RAISE
+ 31 POP 1
+ 33 ATOM0
+ 34 SETGLOBAL T110-modint-2
+ 36 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t110-mulint.ml b/testsuite/tests/tool-ocaml/t110-mulint.ml
new file mode 100644
index 0000000000..97c1cf1413
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t110-mulint.ml
@@ -0,0 +1,22 @@
+open Lib;;
+if 2 * 2 <> 4 then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONSTINT 4
+ 11 PUSHCONST2
+ 12 PUSHCONST2
+ 13 MULINT
+ 14 NEQ
+ 15 BRANCHIFNOT 22
+ 17 GETGLOBAL Not_found
+ 19 MAKEBLOCK1 0
+ 21 RAISE
+ 22 ATOM0
+ 23 SETGLOBAL T110-mulint
+ 25 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t110-negint.ml b/testsuite/tests/tool-ocaml/t110-negint.ml
new file mode 100644
index 0000000000..069a34b200
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t110-negint.ml
@@ -0,0 +1,25 @@
+open Lib;;
+let x = 1 in
+if -x <> -1 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST1
+ 10 PUSHCONSTINT -1
+ 12 PUSHACC1
+ 13 NEGINT
+ 14 NEQ
+ 15 BRANCHIFNOT 22
+ 17 GETGLOBAL Not_found
+ 19 MAKEBLOCK1 0
+ 21 RAISE
+ 22 POP 1
+ 24 ATOM0
+ 25 SETGLOBAL T110-negint
+ 27 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t110-offsetint.ml b/testsuite/tests/tool-ocaml/t110-offsetint.ml
new file mode 100644
index 0000000000..925159e38d
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t110-offsetint.ml
@@ -0,0 +1,21 @@
+open Lib;;
+if 2 + 2 <> 4 then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONSTINT 4
+ 11 PUSHCONST2
+ 12 OFFSETINT 2
+ 14 NEQ
+ 15 BRANCHIFNOT 22
+ 17 GETGLOBAL Not_found
+ 19 MAKEBLOCK1 0
+ 21 RAISE
+ 22 ATOM0
+ 23 SETGLOBAL T110-offsetint
+ 25 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t110-orint.ml b/testsuite/tests/tool-ocaml/t110-orint.ml
new file mode 100644
index 0000000000..56b63d80b1
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t110-orint.ml
@@ -0,0 +1,22 @@
+open Lib;;
+if (3 lor 6) <> 7 then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONSTINT 7
+ 11 PUSHCONSTINT 6
+ 13 PUSHCONST3
+ 14 ORINT
+ 15 NEQ
+ 16 BRANCHIFNOT 23
+ 18 GETGLOBAL Not_found
+ 20 MAKEBLOCK1 0
+ 22 RAISE
+ 23 ATOM0
+ 24 SETGLOBAL T110-orint
+ 26 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t110-subint.ml b/testsuite/tests/tool-ocaml/t110-subint.ml
new file mode 100644
index 0000000000..f626cd0d60
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t110-subint.ml
@@ -0,0 +1,26 @@
+open Lib;;
+let x = 1 in
+if 1 - x <> 0 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST1
+ 10 PUSHCONST0
+ 11 PUSHACC1
+ 12 PUSHCONST1
+ 13 SUBINT
+ 14 NEQ
+ 15 BRANCHIFNOT 22
+ 17 GETGLOBAL Not_found
+ 19 MAKEBLOCK1 0
+ 21 RAISE
+ 22 POP 1
+ 24 ATOM0
+ 25 SETGLOBAL T110-subint
+ 27 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t110-xorint.ml b/testsuite/tests/tool-ocaml/t110-xorint.ml
new file mode 100644
index 0000000000..dfb278b7a8
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t110-xorint.ml
@@ -0,0 +1,22 @@
+open Lib;;
+if (3 lxor 6) <> 5 then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONSTINT 5
+ 11 PUSHCONSTINT 6
+ 13 PUSHCONST3
+ 14 XORINT
+ 15 NEQ
+ 16 BRANCHIFNOT 23
+ 18 GETGLOBAL Not_found
+ 20 MAKEBLOCK1 0
+ 22 RAISE
+ 23 ATOM0
+ 24 SETGLOBAL T110-xorint
+ 26 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t120-getstringchar.ml b/testsuite/tests/tool-ocaml/t120-getstringchar.ml
new file mode 100644
index 0000000000..aaff2022d4
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t120-getstringchar.ml
@@ -0,0 +1,22 @@
+open Lib;;
+if "foo".[2] <> 'o' then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONSTINT 111
+ 11 PUSHCONST2
+ 12 PUSHGETGLOBAL "foo"
+ 14 GETSTRINGCHAR
+ 15 NEQ
+ 16 BRANCHIFNOT 23
+ 18 GETGLOBAL Not_found
+ 20 MAKEBLOCK1 0
+ 22 RAISE
+ 23 ATOM0
+ 24 SETGLOBAL T120-getstringchar
+ 26 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t121-setstringchar.ml b/testsuite/tests/tool-ocaml/t121-setstringchar.ml
new file mode 100644
index 0000000000..882d6e0812
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t121-setstringchar.ml
@@ -0,0 +1,31 @@
+open Lib;;
+let x = "foo" in
+x.[2] <- 'x';
+if x.[2] <> 'x' then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 GETGLOBAL "foo"
+ 11 PUSHCONSTINT 120
+ 13 PUSHCONST2
+ 14 PUSHACC2
+ 15 SETSTRINGCHAR
+ 16 CONSTINT 120
+ 18 PUSHCONST2
+ 19 PUSHACC2
+ 20 GETSTRINGCHAR
+ 21 NEQ
+ 22 BRANCHIFNOT 29
+ 24 GETGLOBAL Not_found
+ 26 MAKEBLOCK1 0
+ 28 RAISE
+ 29 POP 1
+ 31 ATOM0
+ 32 SETGLOBAL T121-setstringchar
+ 34 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t130-getvectitem.ml b/testsuite/tests/tool-ocaml/t130-getvectitem.ml
new file mode 100644
index 0000000000..d290379592
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t130-getvectitem.ml
@@ -0,0 +1,24 @@
+open Lib;;
+if [| 1; 2 |].(1) <> 2 then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST2
+ 10 PUSHCONST1
+ 11 PUSHCONST2
+ 12 PUSHCONST1
+ 13 MAKEBLOCK2 0
+ 15 GETVECTITEM
+ 16 NEQ
+ 17 BRANCHIFNOT 24
+ 19 GETGLOBAL Not_found
+ 21 MAKEBLOCK1 0
+ 23 RAISE
+ 24 ATOM0
+ 25 SETGLOBAL T130-getvectitem
+ 27 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t130-vectlength.ml b/testsuite/tests/tool-ocaml/t130-vectlength.ml
new file mode 100644
index 0000000000..ce0da0e420
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t130-vectlength.ml
@@ -0,0 +1,23 @@
+open Lib;;
+if Array.length [| 1; 2 |] <> 2 then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST2
+ 10 PUSHCONST2
+ 11 PUSHCONST1
+ 12 MAKEBLOCK2 0
+ 14 VECTLENGTH
+ 15 NEQ
+ 16 BRANCHIFNOT 23
+ 18 GETGLOBAL Not_found
+ 20 MAKEBLOCK1 0
+ 22 RAISE
+ 23 ATOM0
+ 24 SETGLOBAL T130-vectlength
+ 26 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t131-setvectitem.ml b/testsuite/tests/tool-ocaml/t131-setvectitem.ml
new file mode 100644
index 0000000000..f544a3e0a1
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t131-setvectitem.ml
@@ -0,0 +1,33 @@
+open Lib;;
+let x = [| 1; 2 |] in
+x.(0) <- 3;
+if x.(0) <> 3 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST2
+ 10 PUSHCONST1
+ 11 MAKEBLOCK2 0
+ 13 PUSHCONST3
+ 14 PUSHCONST0
+ 15 PUSHACC2
+ 16 SETVECTITEM
+ 17 CONST3
+ 18 PUSHCONST0
+ 19 PUSHACC2
+ 20 GETVECTITEM
+ 21 NEQ
+ 22 BRANCHIFNOT 29
+ 24 GETGLOBAL Not_found
+ 26 MAKEBLOCK1 0
+ 28 RAISE
+ 29 POP 1
+ 31 ATOM0
+ 32 SETGLOBAL T131-setvectitem
+ 34 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t140-switch-1.ml b/testsuite/tests/tool-ocaml/t140-switch-1.ml
new file mode 100644
index 0000000000..b2d7352156
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t140-switch-1.ml
@@ -0,0 +1,32 @@
+open Lib;;
+match 0 with
+| 0 -> ()
+| 1 -> raise Not_found
+| _ -> raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST0
+ 10 PUSHACC0
+ 11 SWITCH
+ int 0 -> 17
+ int 1 -> 20
+ 15 BRANCH 25
+ 17 CONST0
+ 18 BRANCH 30
+ 20 GETGLOBAL Not_found
+ 22 MAKEBLOCK1 0
+ 24 RAISE
+ 25 GETGLOBAL Not_found
+ 27 MAKEBLOCK1 0
+ 29 RAISE
+ 30 POP 1
+ 32 ATOM0
+ 33 SETGLOBAL T140-switch-1
+ 35 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t140-switch-2.ml b/testsuite/tests/tool-ocaml/t140-switch-2.ml
new file mode 100644
index 0000000000..9004fa66bb
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t140-switch-2.ml
@@ -0,0 +1,32 @@
+open Lib;;
+match 1 with
+| 0 -> raise Not_found
+| 1 -> ()
+| _ -> raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST1
+ 10 PUSHACC0
+ 11 SWITCH
+ int 0 -> 17
+ int 1 -> 22
+ 15 BRANCH 25
+ 17 GETGLOBAL Not_found
+ 19 MAKEBLOCK1 0
+ 21 RAISE
+ 22 CONST0
+ 23 BRANCH 30
+ 25 GETGLOBAL Not_found
+ 27 MAKEBLOCK1 0
+ 29 RAISE
+ 30 POP 1
+ 32 ATOM0
+ 33 SETGLOBAL T140-switch-2
+ 35 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t140-switch-3.ml b/testsuite/tests/tool-ocaml/t140-switch-3.ml
new file mode 100644
index 0000000000..b0c4bc8f75
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t140-switch-3.ml
@@ -0,0 +1,31 @@
+open Lib;;
+match 2 with
+| 0 -> raise Not_found
+| 1 -> raise Not_found
+| _ -> ()
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST2
+ 10 PUSHACC0
+ 11 SWITCH
+ int 0 -> 17
+ int 1 -> 22
+ 15 BRANCH 27
+ 17 GETGLOBAL Not_found
+ 19 MAKEBLOCK1 0
+ 21 RAISE
+ 22 GETGLOBAL Not_found
+ 24 MAKEBLOCK1 0
+ 26 RAISE
+ 27 CONST0
+ 28 POP 1
+ 30 ATOM0
+ 31 SETGLOBAL T140-switch-3
+ 33 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t140-switch-4.ml b/testsuite/tests/tool-ocaml/t140-switch-4.ml
new file mode 100644
index 0000000000..1826b09e5d
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t140-switch-4.ml
@@ -0,0 +1,31 @@
+open Lib;;
+match -1 with
+| 0 -> raise Not_found
+| 1 -> raise Not_found
+| _ -> ()
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONSTINT -1
+ 11 PUSHACC0
+ 12 SWITCH
+ int 0 -> 18
+ int 1 -> 23
+ 16 BRANCH 28
+ 18 GETGLOBAL Not_found
+ 20 MAKEBLOCK1 0
+ 22 RAISE
+ 23 GETGLOBAL Not_found
+ 25 MAKEBLOCK1 0
+ 27 RAISE
+ 28 CONST0
+ 29 POP 1
+ 31 ATOM0
+ 32 SETGLOBAL T140-switch-4
+ 34 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t141-switch-5.ml b/testsuite/tests/tool-ocaml/t141-switch-5.ml
new file mode 100644
index 0000000000..ca44849e22
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t141-switch-5.ml
@@ -0,0 +1,38 @@
+open Lib;;
+type t =
+ | A of int
+ | B of int
+ | C of int
+;;
+
+match A 0 with
+| A _ -> ()
+| B _ -> raise Not_found
+| _ -> raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 GETGLOBAL <0>(0)
+ 11 PUSHACC0
+ 12 SWITCH
+ tag 0 -> 17
+ tag 1 -> 20
+ tag 2 -> 25
+ 17 CONST0
+ 18 BRANCH 30
+ 20 GETGLOBAL Not_found
+ 22 MAKEBLOCK1 0
+ 24 RAISE
+ 25 GETGLOBAL Not_found
+ 27 MAKEBLOCK1 0
+ 29 RAISE
+ 30 POP 1
+ 32 ATOM0
+ 33 SETGLOBAL T141-switch-5
+ 35 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t141-switch-6.ml b/testsuite/tests/tool-ocaml/t141-switch-6.ml
new file mode 100644
index 0000000000..c48e80b5f7
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t141-switch-6.ml
@@ -0,0 +1,38 @@
+open Lib;;
+type t =
+ | A of int
+ | B of int
+ | C of int
+;;
+
+match B 0 with
+| A _ -> raise Not_found
+| B _ -> ()
+| _ -> raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 GETGLOBAL <1>(0)
+ 11 PUSHACC0
+ 12 SWITCH
+ tag 0 -> 17
+ tag 1 -> 22
+ tag 2 -> 25
+ 17 GETGLOBAL Not_found
+ 19 MAKEBLOCK1 0
+ 21 RAISE
+ 22 CONST0
+ 23 BRANCH 30
+ 25 GETGLOBAL Not_found
+ 27 MAKEBLOCK1 0
+ 29 RAISE
+ 30 POP 1
+ 32 ATOM0
+ 33 SETGLOBAL T141-switch-6
+ 35 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t141-switch-7.ml b/testsuite/tests/tool-ocaml/t141-switch-7.ml
new file mode 100644
index 0000000000..00f4873cdf
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t141-switch-7.ml
@@ -0,0 +1,37 @@
+open Lib;;
+type t =
+ | A of int
+ | B of int
+ | C of int
+;;
+
+match C 0 with
+| A _ -> raise Not_found
+| B _ -> raise Not_found
+| _ -> ()
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 GETGLOBAL <2>(0)
+ 11 PUSHACC0
+ 12 SWITCH
+ tag 0 -> 17
+ tag 1 -> 22
+ tag 2 -> 27
+ 17 GETGLOBAL Not_found
+ 19 MAKEBLOCK1 0
+ 21 RAISE
+ 22 GETGLOBAL Not_found
+ 24 MAKEBLOCK1 0
+ 26 RAISE
+ 27 CONST0
+ 28 POP 1
+ 30 ATOM0
+ 31 SETGLOBAL T141-switch-7
+ 33 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t142-switch-8.ml b/testsuite/tests/tool-ocaml/t142-switch-8.ml
new file mode 100644
index 0000000000..51459130a5
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t142-switch-8.ml
@@ -0,0 +1,34 @@
+open Lib;;
+type t =
+ | A
+ | B of int
+ | C of int
+;;
+
+match A with
+| A -> ()
+| _ -> raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST0
+ 10 PUSHACC0
+ 11 SWITCH
+ int 0 -> 16
+ tag 0 -> 19
+ tag 1 -> 19
+ 16 CONST0
+ 17 BRANCH 24
+ 19 GETGLOBAL Not_found
+ 21 MAKEBLOCK1 0
+ 23 RAISE
+ 24 POP 1
+ 26 ATOM0
+ 27 SETGLOBAL T142-switch-8
+ 29 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t142-switch-9.ml b/testsuite/tests/tool-ocaml/t142-switch-9.ml
new file mode 100644
index 0000000000..a0e43d3217
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t142-switch-9.ml
@@ -0,0 +1,34 @@
+open Lib;;
+type t =
+ | A
+ | B of int
+ | C of int
+;;
+
+match B 0 with
+| B _ -> ()
+| _ -> raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 GETGLOBAL <0>(0)
+ 11 PUSHACC0
+ 12 SWITCH
+ int 0 -> 20
+ tag 0 -> 17
+ tag 1 -> 20
+ 17 CONST0
+ 18 BRANCH 25
+ 20 GETGLOBAL Not_found
+ 22 MAKEBLOCK1 0
+ 24 RAISE
+ 25 POP 1
+ 27 ATOM0
+ 28 SETGLOBAL T142-switch-9
+ 30 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t142-switch-A.ml b/testsuite/tests/tool-ocaml/t142-switch-A.ml
new file mode 100644
index 0000000000..4f66aec587
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t142-switch-A.ml
@@ -0,0 +1,34 @@
+open Lib;;
+type t =
+ | A
+ | B of int
+ | C of int
+;;
+
+match C 0 with
+| C _ -> ()
+| _ -> raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 GETGLOBAL <1>(0)
+ 11 PUSHACC0
+ 12 SWITCH
+ int 0 -> 20
+ tag 0 -> 20
+ tag 1 -> 17
+ 17 CONST0
+ 18 BRANCH 25
+ 20 GETGLOBAL Not_found
+ 22 MAKEBLOCK1 0
+ 24 RAISE
+ 25 POP 1
+ 27 ATOM0
+ 28 SETGLOBAL T142-switch-A
+ 30 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t150-push-1.ml b/testsuite/tests/tool-ocaml/t150-push-1.ml
new file mode 100644
index 0000000000..9264927777
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t150-push-1.ml
@@ -0,0 +1,24 @@
+open Lib;;
+let _ = 0 in
+try 0 with _ -> 0
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST0
+ 10 PUSH
+ 11 PUSHTRAP 17
+ 13 CONST0
+ 14 POPTRAP
+ 15 BRANCH 20
+ 17 PUSHCONST0
+ 18 POP 1
+ 20 POP 1
+ 22 ATOM0
+ 23 SETGLOBAL T150-push-1
+ 25 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t150-push-2.ml b/testsuite/tests/tool-ocaml/t150-push-2.ml
new file mode 100644
index 0000000000..d6f5107260
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t150-push-2.ml
@@ -0,0 +1,39 @@
+open Lib;;
+let x = 1 in
+try if x <> 1 then raise Not_found
+with End_of_file -> ()
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST1
+ 10 PUSH
+ 11 PUSHTRAP 26
+ 13 CONST1
+ 14 PUSHACC5
+ 15 NEQ
+ 16 BRANCHIFNOT 23
+ 18 GETGLOBAL Not_found
+ 20 MAKEBLOCK1 0
+ 22 RAISE
+ 23 POPTRAP
+ 24 BRANCH 40
+ 26 PUSHGETGLOBAL End_of_file
+ 28 PUSHACC1
+ 29 GETFIELD0
+ 30 EQ
+ 31 BRANCHIFNOT 36
+ 33 CONST0
+ 34 BRANCH 38
+ 36 ACC0
+ 37 RAISE
+ 38 POP 1
+ 40 POP 1
+ 42 ATOM0
+ 43 SETGLOBAL T150-push-2
+ 45 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t160-closure.ml b/testsuite/tests/tool-ocaml/t160-closure.ml
new file mode 100644
index 0000000000..5eb612865a
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t160-closure.ml
@@ -0,0 +1,19 @@
+open Lib;;
+let f () = ();;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 14
+ 11 CONST0
+ 12 RETURN 1
+ 14 CLOSURE 0, 11
+ 17 PUSHACC0
+ 18 MAKEBLOCK1 0
+ 20 POP 1
+ 22 SETGLOBAL T160-closure
+ 24 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t161-apply1.ml b/testsuite/tests/tool-ocaml/t161-apply1.ml
new file mode 100644
index 0000000000..5138c5f581
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t161-apply1.ml
@@ -0,0 +1,42 @@
+open Lib;;
+let f _ = raise End_of_file in
+try
+ f 0;
+ raise Not_found;
+with End_of_file -> 0
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 16
+ 11 GETGLOBAL End_of_file
+ 13 MAKEBLOCK1 0
+ 15 RAISE
+ 16 CLOSURE 0, 11
+ 19 PUSH
+ 20 PUSHTRAP 30
+ 22 CONST0
+ 23 PUSHACC5
+ 24 APPLY1
+ 25 GETGLOBAL Not_found
+ 27 MAKEBLOCK1 0
+ 29 RAISE
+ 30 PUSHGETGLOBAL End_of_file
+ 32 PUSHACC1
+ 33 GETFIELD0
+ 34 EQ
+ 35 BRANCHIFNOT 40
+ 37 CONST0
+ 38 BRANCH 42
+ 40 ACC0
+ 41 RAISE
+ 42 POP 1
+ 44 POP 1
+ 46 ATOM0
+ 47 SETGLOBAL T161-apply1
+ 49 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t162-return.ml b/testsuite/tests/tool-ocaml/t162-return.ml
new file mode 100644
index 0000000000..1059c9fea2
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t162-return.ml
@@ -0,0 +1,21 @@
+open Lib;;
+let f _ = 0 in f 0;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 14
+ 11 CONST0
+ 12 RETURN 1
+ 14 CLOSURE 0, 11
+ 17 PUSHCONST0
+ 18 PUSHACC1
+ 19 APPLY1
+ 20 POP 1
+ 22 ATOM0
+ 23 SETGLOBAL T162-return
+ 25 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t163.ml b/testsuite/tests/tool-ocaml/t163.ml
new file mode 100644
index 0000000000..9ec7790c53
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t163.ml
@@ -0,0 +1,23 @@
+open Lib;;
+let f _ _ = 0 in f 0;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 17
+ 11 RESTART
+ 12 GRAB 1
+ 14 CONST0
+ 15 RETURN 2
+ 17 CLOSURE 0, 12
+ 20 PUSHCONST0
+ 21 PUSHACC1
+ 22 APPLY1
+ 23 POP 1
+ 25 ATOM0
+ 26 SETGLOBAL T163
+ 28 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t164-apply2.ml b/testsuite/tests/tool-ocaml/t164-apply2.ml
new file mode 100644
index 0000000000..7fbe7d9974
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t164-apply2.ml
@@ -0,0 +1,24 @@
+open Lib;;
+let f _ _ = 0 in f 0 0;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 17
+ 11 RESTART
+ 12 GRAB 1
+ 14 CONST0
+ 15 RETURN 2
+ 17 CLOSURE 0, 12
+ 20 PUSHCONST0
+ 21 PUSHCONST0
+ 22 PUSHACC2
+ 23 APPLY2
+ 24 POP 1
+ 26 ATOM0
+ 27 SETGLOBAL T164-apply2
+ 29 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t164-apply3.ml b/testsuite/tests/tool-ocaml/t164-apply3.ml
new file mode 100644
index 0000000000..e7ebc3a400
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t164-apply3.ml
@@ -0,0 +1,25 @@
+open Lib;;
+let f _ _ _ = 0 in f 0 0 0;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 17
+ 11 RESTART
+ 12 GRAB 2
+ 14 CONST0
+ 15 RETURN 3
+ 17 CLOSURE 0, 12
+ 20 PUSHCONST0
+ 21 PUSHCONST0
+ 22 PUSHCONST0
+ 23 PUSHACC3
+ 24 APPLY3
+ 25 POP 1
+ 27 ATOM0
+ 28 SETGLOBAL T164-apply3
+ 30 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t165-apply.ml b/testsuite/tests/tool-ocaml/t165-apply.ml
new file mode 100644
index 0000000000..9d66855061
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t165-apply.ml
@@ -0,0 +1,28 @@
+open Lib;;
+let f _ _ _ _ = 0 in f 0 0 0 0;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 17
+ 11 RESTART
+ 12 GRAB 3
+ 14 CONST0
+ 15 RETURN 4
+ 17 CLOSURE 0, 12
+ 20 PUSH
+ 21 PUSH_RETADDR 30
+ 23 CONST0
+ 24 PUSHCONST0
+ 25 PUSHCONST0
+ 26 PUSHCONST0
+ 27 PUSHACC7
+ 28 APPLY 4
+ 30 POP 1
+ 32 ATOM0
+ 33 SETGLOBAL T165-apply
+ 35 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t170-envacc2.ml b/testsuite/tests/tool-ocaml/t170-envacc2.ml
new file mode 100644
index 0000000000..3a37366723
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t170-envacc2.ml
@@ -0,0 +1,37 @@
+open Lib;;
+let x = 5 in
+let y = 2 in
+let f _ = ignore x; y in
+if f 0 <> 2 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 16
+ 11 ENVACC1
+ 12 CONST0
+ 13 ENVACC2
+ 14 RETURN 1
+ 16 CONSTINT 5
+ 18 PUSHCONST2
+ 19 PUSHACC0
+ 20 PUSHACC2
+ 21 CLOSURE 2, 11
+ 24 PUSHCONST2
+ 25 PUSHCONST0
+ 26 PUSHACC2
+ 27 APPLY1
+ 28 NEQ
+ 29 BRANCHIFNOT 36
+ 31 GETGLOBAL Not_found
+ 33 MAKEBLOCK1 0
+ 35 RAISE
+ 36 POP 3
+ 38 ATOM0
+ 39 SETGLOBAL T170-envacc2
+ 41 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t170-envacc3.ml b/testsuite/tests/tool-ocaml/t170-envacc3.ml
new file mode 100644
index 0000000000..9a2b8b5a8f
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t170-envacc3.ml
@@ -0,0 +1,42 @@
+open Lib;;
+let x = 5 in
+let y = 2 in
+let z = 1 in
+let f _ = ignore x; ignore y; z in
+if f 0 <> 1 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 18
+ 11 ENVACC1
+ 12 CONST0
+ 13 ENVACC2
+ 14 CONST0
+ 15 ENVACC3
+ 16 RETURN 1
+ 18 CONSTINT 5
+ 20 PUSHCONST2
+ 21 PUSHCONST1
+ 22 PUSHACC0
+ 23 PUSHACC2
+ 24 PUSHACC4
+ 25 CLOSURE 3, 11
+ 28 PUSHCONST1
+ 29 PUSHCONST0
+ 30 PUSHACC2
+ 31 APPLY1
+ 32 NEQ
+ 33 BRANCHIFNOT 40
+ 35 GETGLOBAL Not_found
+ 37 MAKEBLOCK1 0
+ 39 RAISE
+ 40 POP 4
+ 42 ATOM0
+ 43 SETGLOBAL T170-envacc3
+ 45 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t170-envacc4.ml b/testsuite/tests/tool-ocaml/t170-envacc4.ml
new file mode 100644
index 0000000000..215e322078
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t170-envacc4.ml
@@ -0,0 +1,47 @@
+open Lib;;
+let x = 5 in
+let y = 2 in
+let z = 1 in
+let a = 4 in
+let f _ = ignore x; ignore y; ignore z; a in
+if f 0 <> 4 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 20
+ 11 ENVACC1
+ 12 CONST0
+ 13 ENVACC2
+ 14 CONST0
+ 15 ENVACC3
+ 16 CONST0
+ 17 ENVACC4
+ 18 RETURN 1
+ 20 CONSTINT 5
+ 22 PUSHCONST2
+ 23 PUSHCONST1
+ 24 PUSHCONSTINT 4
+ 26 PUSHACC0
+ 27 PUSHACC2
+ 28 PUSHACC4
+ 29 PUSHACC6
+ 30 CLOSURE 4, 11
+ 33 PUSHCONSTINT 4
+ 35 PUSHCONST0
+ 36 PUSHACC2
+ 37 APPLY1
+ 38 NEQ
+ 39 BRANCHIFNOT 46
+ 41 GETGLOBAL Not_found
+ 43 MAKEBLOCK1 0
+ 45 RAISE
+ 46 POP 5
+ 48 ATOM0
+ 49 SETGLOBAL T170-envacc4
+ 51 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t171-envacc.ml b/testsuite/tests/tool-ocaml/t171-envacc.ml
new file mode 100644
index 0000000000..4c4a3dfac9
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t171-envacc.ml
@@ -0,0 +1,52 @@
+open Lib;;
+let x = 5 in
+let y = 2 in
+let z = 1 in
+let a = 4 in
+let b = 3 in
+let f _ = ignore x; ignore y; ignore z; ignore a; b in
+if f 0 <> 3 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 23
+ 11 ENVACC1
+ 12 CONST0
+ 13 ENVACC2
+ 14 CONST0
+ 15 ENVACC3
+ 16 CONST0
+ 17 ENVACC4
+ 18 CONST0
+ 19 ENVACC 5
+ 21 RETURN 1
+ 23 CONSTINT 5
+ 25 PUSHCONST2
+ 26 PUSHCONST1
+ 27 PUSHCONSTINT 4
+ 29 PUSHCONST3
+ 30 PUSHACC0
+ 31 PUSHACC2
+ 32 PUSHACC4
+ 33 PUSHACC6
+ 34 PUSHACC 8
+ 36 CLOSURE 5, 11
+ 39 PUSHCONST3
+ 40 PUSHCONST0
+ 41 PUSHACC2
+ 42 APPLY1
+ 43 NEQ
+ 44 BRANCHIFNOT 51
+ 46 GETGLOBAL Not_found
+ 48 MAKEBLOCK1 0
+ 50 RAISE
+ 51 POP 6
+ 53 ATOM0
+ 54 SETGLOBAL T171-envacc
+ 56 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t172-pushenvacc1.ml b/testsuite/tests/tool-ocaml/t172-pushenvacc1.ml
new file mode 100644
index 0000000000..06c4011a01
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t172-pushenvacc1.ml
@@ -0,0 +1,34 @@
+open Lib;;
+let x = 5 in
+let f _ = x + x in
+if f 0 <> 10 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 16
+ 11 ENVACC1
+ 12 PUSHENVACC1
+ 13 ADDINT
+ 14 RETURN 1
+ 16 CONSTINT 5
+ 18 PUSHACC0
+ 19 CLOSURE 1, 11
+ 22 PUSHCONSTINT 10
+ 24 PUSHCONST0
+ 25 PUSHACC2
+ 26 APPLY1
+ 27 NEQ
+ 28 BRANCHIFNOT 35
+ 30 GETGLOBAL Not_found
+ 32 MAKEBLOCK1 0
+ 34 RAISE
+ 35 POP 2
+ 37 ATOM0
+ 38 SETGLOBAL T172-pushenvacc1
+ 40 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t172-pushenvacc2.ml b/testsuite/tests/tool-ocaml/t172-pushenvacc2.ml
new file mode 100644
index 0000000000..c25e40a71a
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t172-pushenvacc2.ml
@@ -0,0 +1,37 @@
+open Lib;;
+let x = 5 in
+let y = 4 in
+let f _ = y + x in
+if f 0 <> 9 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 16
+ 11 ENVACC1
+ 12 PUSHENVACC2
+ 13 ADDINT
+ 14 RETURN 1
+ 16 CONSTINT 5
+ 18 PUSHCONSTINT 4
+ 20 PUSHACC0
+ 21 PUSHACC2
+ 22 CLOSURE 2, 11
+ 25 PUSHCONSTINT 9
+ 27 PUSHCONST0
+ 28 PUSHACC2
+ 29 APPLY1
+ 30 NEQ
+ 31 BRANCHIFNOT 38
+ 33 GETGLOBAL Not_found
+ 35 MAKEBLOCK1 0
+ 37 RAISE
+ 38 POP 3
+ 40 ATOM0
+ 41 SETGLOBAL T172-pushenvacc2
+ 43 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t172-pushenvacc3.ml b/testsuite/tests/tool-ocaml/t172-pushenvacc3.ml
new file mode 100644
index 0000000000..093f7f1e4e
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t172-pushenvacc3.ml
@@ -0,0 +1,42 @@
+open Lib;;
+let x = 5 in
+let y = 4 in
+let z = 3 in
+let f _ = z + y + x in
+if f 0 <> 12 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 18
+ 11 ENVACC1
+ 12 PUSHENVACC2
+ 13 PUSHENVACC3
+ 14 ADDINT
+ 15 ADDINT
+ 16 RETURN 1
+ 18 CONSTINT 5
+ 20 PUSHCONSTINT 4
+ 22 PUSHCONST3
+ 23 PUSHACC0
+ 24 PUSHACC2
+ 25 PUSHACC4
+ 26 CLOSURE 3, 11
+ 29 PUSHCONSTINT 12
+ 31 PUSHCONST0
+ 32 PUSHACC2
+ 33 APPLY1
+ 34 NEQ
+ 35 BRANCHIFNOT 42
+ 37 GETGLOBAL Not_found
+ 39 MAKEBLOCK1 0
+ 41 RAISE
+ 42 POP 4
+ 44 ATOM0
+ 45 SETGLOBAL T172-pushenvacc3
+ 47 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t172-pushenvacc4.ml b/testsuite/tests/tool-ocaml/t172-pushenvacc4.ml
new file mode 100644
index 0000000000..154c4a4715
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t172-pushenvacc4.ml
@@ -0,0 +1,47 @@
+open Lib;;
+let x = 5 in
+let y = 4 in
+let z = 3 in
+let a = 2 in
+let f _ = a + z + y + x in
+if f 0 <> 14 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 21
+ 11 ENVACC1
+ 12 PUSHENVACC2
+ 13 PUSHENVACC3
+ 14 PUSHENVACC 4
+ 16 ADDINT
+ 17 ADDINT
+ 18 ADDINT
+ 19 RETURN 1
+ 21 CONSTINT 5
+ 23 PUSHCONSTINT 4
+ 25 PUSHCONST3
+ 26 PUSHCONST2
+ 27 PUSHACC0
+ 28 PUSHACC2
+ 29 PUSHACC4
+ 30 PUSHACC6
+ 31 CLOSURE 4, 11
+ 34 PUSHCONSTINT 14
+ 36 PUSHCONST0
+ 37 PUSHACC2
+ 38 APPLY1
+ 39 NEQ
+ 40 BRANCHIFNOT 47
+ 42 GETGLOBAL Not_found
+ 44 MAKEBLOCK1 0
+ 46 RAISE
+ 47 POP 5
+ 49 ATOM0
+ 50 SETGLOBAL T172-pushenvacc4
+ 52 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t173-pushenvacc.ml b/testsuite/tests/tool-ocaml/t173-pushenvacc.ml
new file mode 100644
index 0000000000..0d858b4aa2
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t173-pushenvacc.ml
@@ -0,0 +1,52 @@
+open Lib;;
+let x = 5 in
+let y = 4 in
+let z = 3 in
+let a = 2 in
+let b = 1 in
+let f _ = b + a + z + y + x in
+if f 0 <> 15 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 24
+ 11 ENVACC1
+ 12 PUSHENVACC2
+ 13 PUSHENVACC3
+ 14 PUSHENVACC 4
+ 16 PUSHENVACC 5
+ 18 ADDINT
+ 19 ADDINT
+ 20 ADDINT
+ 21 ADDINT
+ 22 RETURN 1
+ 24 CONSTINT 5
+ 26 PUSHCONSTINT 4
+ 28 PUSHCONST3
+ 29 PUSHCONST2
+ 30 PUSHCONST1
+ 31 PUSHACC0
+ 32 PUSHACC2
+ 33 PUSHACC4
+ 34 PUSHACC6
+ 35 PUSHACC 8
+ 37 CLOSURE 5, 11
+ 40 PUSHCONSTINT 15
+ 42 PUSHCONST0
+ 43 PUSHACC2
+ 44 APPLY1
+ 45 NEQ
+ 46 BRANCHIFNOT 53
+ 48 GETGLOBAL Not_found
+ 50 MAKEBLOCK1 0
+ 52 RAISE
+ 53 POP 6
+ 55 ATOM0
+ 56 SETGLOBAL T173-pushenvacc
+ 58 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t180-appterm1.ml b/testsuite/tests/tool-ocaml/t180-appterm1.ml
new file mode 100644
index 0000000000..6b82f51b61
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t180-appterm1.ml
@@ -0,0 +1,35 @@
+open Lib;;
+let f _ = 12 in
+let g _ = f 0 in
+if g 0 <> 12 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 19
+ 11 CONST0
+ 12 PUSHENVACC1
+ 13 APPTERM1 2
+ 15 CONSTINT 12
+ 17 RETURN 1
+ 19 CLOSURE 0, 15
+ 22 PUSHACC0
+ 23 CLOSURE 1, 11
+ 26 PUSHCONSTINT 12
+ 28 PUSHCONST0
+ 29 PUSHACC2
+ 30 APPLY1
+ 31 NEQ
+ 32 BRANCHIFNOT 39
+ 34 GETGLOBAL Not_found
+ 36 MAKEBLOCK1 0
+ 38 RAISE
+ 39 POP 2
+ 41 ATOM0
+ 42 SETGLOBAL T180-appterm1
+ 44 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t180-appterm2.ml b/testsuite/tests/tool-ocaml/t180-appterm2.ml
new file mode 100644
index 0000000000..28f32a9336
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t180-appterm2.ml
@@ -0,0 +1,38 @@
+open Lib;;
+let f _ _ = 12 in
+let g _ = f 0 0 in
+if g 0 <> 12 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 23
+ 11 CONST0
+ 12 PUSHCONST0
+ 13 PUSHENVACC1
+ 14 APPTERM2 3
+ 16 RESTART
+ 17 GRAB 1
+ 19 CONSTINT 12
+ 21 RETURN 2
+ 23 CLOSURE 0, 17
+ 26 PUSHACC0
+ 27 CLOSURE 1, 11
+ 30 PUSHCONSTINT 12
+ 32 PUSHCONST0
+ 33 PUSHACC2
+ 34 APPLY1
+ 35 NEQ
+ 36 BRANCHIFNOT 43
+ 38 GETGLOBAL Not_found
+ 40 MAKEBLOCK1 0
+ 42 RAISE
+ 43 POP 2
+ 45 ATOM0
+ 46 SETGLOBAL T180-appterm2
+ 48 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t180-appterm3.ml b/testsuite/tests/tool-ocaml/t180-appterm3.ml
new file mode 100644
index 0000000000..fe8a0bd5cf
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t180-appterm3.ml
@@ -0,0 +1,39 @@
+open Lib;;
+let f _ _ _ = 13 in
+let g _ = f 0 0 0 in
+if g 0 <> 13 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 24
+ 11 CONST0
+ 12 PUSHCONST0
+ 13 PUSHCONST0
+ 14 PUSHENVACC1
+ 15 APPTERM3 4
+ 17 RESTART
+ 18 GRAB 2
+ 20 CONSTINT 13
+ 22 RETURN 3
+ 24 CLOSURE 0, 18
+ 27 PUSHACC0
+ 28 CLOSURE 1, 11
+ 31 PUSHCONSTINT 13
+ 33 PUSHCONST0
+ 34 PUSHACC2
+ 35 APPLY1
+ 36 NEQ
+ 37 BRANCHIFNOT 44
+ 39 GETGLOBAL Not_found
+ 41 MAKEBLOCK1 0
+ 43 RAISE
+ 44 POP 2
+ 46 ATOM0
+ 47 SETGLOBAL T180-appterm3
+ 49 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t181-appterm.ml b/testsuite/tests/tool-ocaml/t181-appterm.ml
new file mode 100644
index 0000000000..03127bc8d3
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t181-appterm.ml
@@ -0,0 +1,40 @@
+open Lib;;
+let f _ _ _ _ = -10 in
+let g _ = f 0 0 0 0 in
+if g 0 <> -10 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 26
+ 11 CONST0
+ 12 PUSHCONST0
+ 13 PUSHCONST0
+ 14 PUSHCONST0
+ 15 PUSHENVACC1
+ 16 APPTERM 4, 5
+ 19 RESTART
+ 20 GRAB 3
+ 22 CONSTINT -10
+ 24 RETURN 4
+ 26 CLOSURE 0, 20
+ 29 PUSHACC0
+ 30 CLOSURE 1, 11
+ 33 PUSHCONSTINT -10
+ 35 PUSHCONST0
+ 36 PUSHACC2
+ 37 APPLY1
+ 38 NEQ
+ 39 BRANCHIFNOT 46
+ 41 GETGLOBAL Not_found
+ 43 MAKEBLOCK1 0
+ 45 RAISE
+ 46 POP 2
+ 48 ATOM0
+ 49 SETGLOBAL T181-appterm
+ 51 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t190-makefloatblock-1.ml b/testsuite/tests/tool-ocaml/t190-makefloatblock-1.ml
new file mode 100644
index 0000000000..f63c6cd8f9
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t190-makefloatblock-1.ml
@@ -0,0 +1,17 @@
+open Lib;;
+let x = 0.0 in [| x |];;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 GETGLOBAL 0
+ 11 PUSHACC0
+ 12 MAKEFLOATBLOCK 1
+ 14 POP 1
+ 16 ATOM0
+ 17 SETGLOBAL T190-makefloatblock-1
+ 19 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t190-makefloatblock-2.ml b/testsuite/tests/tool-ocaml/t190-makefloatblock-2.ml
new file mode 100644
index 0000000000..53b97f5d51
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t190-makefloatblock-2.ml
@@ -0,0 +1,18 @@
+open Lib;;
+let x = 0.0 in [| x; x |];;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 GETGLOBAL 0
+ 11 PUSHACC0
+ 12 PUSHACC1
+ 13 MAKEFLOATBLOCK 2
+ 15 POP 1
+ 17 ATOM0
+ 18 SETGLOBAL T190-makefloatblock-2
+ 20 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t190-makefloatblock-3.ml b/testsuite/tests/tool-ocaml/t190-makefloatblock-3.ml
new file mode 100644
index 0000000000..cebccaa38d
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t190-makefloatblock-3.ml
@@ -0,0 +1,19 @@
+open Lib;;
+let x = 0.0 in [| x; x; x |];;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 GETGLOBAL 0
+ 11 PUSHACC0
+ 12 PUSHACC1
+ 13 PUSHACC2
+ 14 MAKEFLOATBLOCK 3
+ 16 POP 1
+ 18 ATOM0
+ 19 SETGLOBAL T190-makefloatblock-3
+ 21 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t191-vectlength.ml b/testsuite/tests/tool-ocaml/t191-vectlength.ml
new file mode 100644
index 0000000000..16f7d783b1
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t191-vectlength.ml
@@ -0,0 +1,26 @@
+open Lib;;
+let x = 0.0 in
+if Array.length [| x |] <> 1 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 GETGLOBAL 0
+ 11 PUSHCONST1
+ 12 PUSHACC1
+ 13 MAKEFLOATBLOCK 1
+ 15 VECTLENGTH
+ 16 NEQ
+ 17 BRANCHIFNOT 24
+ 19 GETGLOBAL Not_found
+ 21 MAKEBLOCK1 0
+ 23 RAISE
+ 24 POP 1
+ 26 ATOM0
+ 27 SETGLOBAL T191-vectlength
+ 29 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t192-getfloatfield-1.ml b/testsuite/tests/tool-ocaml/t192-getfloatfield-1.ml
new file mode 100644
index 0000000000..ba002b20b1
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t192-getfloatfield-1.ml
@@ -0,0 +1,23 @@
+open Lib;;
+type t = { a : float; b : float };;
+
+if { a = 0.1; b = 0.2 }.a <> 0.1 then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 GETGLOBAL 0.1
+ 11 PUSHGETGLOBAL [|0.1, 0.2|]
+ 13 GETFLOATFIELD 0
+ 15 C_CALL2 neq_float
+ 17 BRANCHIFNOT 24
+ 19 GETGLOBAL Not_found
+ 21 MAKEBLOCK1 0
+ 23 RAISE
+ 24 ATOM0
+ 25 SETGLOBAL T192-getfloatfield-1
+ 27 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t192-getfloatfield-2.ml b/testsuite/tests/tool-ocaml/t192-getfloatfield-2.ml
new file mode 100644
index 0000000000..89230da397
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t192-getfloatfield-2.ml
@@ -0,0 +1,23 @@
+open Lib;;
+type t = { a : float; b : float };;
+
+if { a = 0.1; b = 0.2 }.b <> 0.2 then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 GETGLOBAL 0.2
+ 11 PUSHGETGLOBAL [|0.1, 0.2|]
+ 13 GETFLOATFIELD 1
+ 15 C_CALL2 neq_float
+ 17 BRANCHIFNOT 24
+ 19 GETGLOBAL Not_found
+ 21 MAKEBLOCK1 0
+ 23 RAISE
+ 24 ATOM0
+ 25 SETGLOBAL T192-getfloatfield-2
+ 27 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t193-setfloatfield-1.ml b/testsuite/tests/tool-ocaml/t193-setfloatfield-1.ml
new file mode 100644
index 0000000000..b488e7daad
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t193-setfloatfield-1.ml
@@ -0,0 +1,36 @@
+open Lib;;
+type t = {
+ mutable a : float;
+ mutable b : float;
+};;
+
+let x = { a = 0.1; b = 0.2 } in
+x.a <- 0.3;
+if x.a <> 0.3 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 GETGLOBAL 0.2
+ 11 PUSHGETGLOBAL 0.1
+ 13 MAKEFLOATBLOCK 2
+ 15 PUSHGETGLOBAL 0.3
+ 17 PUSHACC1
+ 18 SETFLOATFIELD 0
+ 20 GETGLOBAL 0.3
+ 22 PUSHACC1
+ 23 GETFLOATFIELD 0
+ 25 C_CALL2 neq_float
+ 27 BRANCHIFNOT 34
+ 29 GETGLOBAL Not_found
+ 31 MAKEBLOCK1 0
+ 33 RAISE
+ 34 POP 1
+ 36 ATOM0
+ 37 SETGLOBAL T193-setfloatfield-1
+ 39 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t193-setfloatfield-2.ml b/testsuite/tests/tool-ocaml/t193-setfloatfield-2.ml
new file mode 100644
index 0000000000..7dde0a2cf5
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t193-setfloatfield-2.ml
@@ -0,0 +1,36 @@
+open Lib;;
+type t = {
+ mutable a : float;
+ mutable b : float;
+};;
+
+let x = { a = 0.1; b = 0.2 } in
+x.b <- 0.3;
+if x.b <> 0.3 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 GETGLOBAL 0.2
+ 11 PUSHGETGLOBAL 0.1
+ 13 MAKEFLOATBLOCK 2
+ 15 PUSHGETGLOBAL 0.3
+ 17 PUSHACC1
+ 18 SETFLOATFIELD 1
+ 20 GETGLOBAL 0.3
+ 22 PUSHACC1
+ 23 GETFLOATFIELD 1
+ 25 C_CALL2 neq_float
+ 27 BRANCHIFNOT 34
+ 29 GETGLOBAL Not_found
+ 31 MAKEBLOCK1 0
+ 33 RAISE
+ 34 POP 1
+ 36 ATOM0
+ 37 SETGLOBAL T193-setfloatfield-2
+ 39 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t200-getfield0.ml b/testsuite/tests/tool-ocaml/t200-getfield0.ml
new file mode 100644
index 0000000000..14ce1d547d
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t200-getfield0.ml
@@ -0,0 +1,25 @@
+open Lib;;
+type t = {
+ a : int;
+};;
+
+if { a = 7 }.a <> 7 then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONSTINT 7
+ 11 PUSHGETGLOBAL <0>(7)
+ 13 GETFIELD0
+ 14 NEQ
+ 15 BRANCHIFNOT 22
+ 17 GETGLOBAL Not_found
+ 19 MAKEBLOCK1 0
+ 21 RAISE
+ 22 ATOM0
+ 23 SETGLOBAL T200-getfield0
+ 25 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t200-getfield1.ml b/testsuite/tests/tool-ocaml/t200-getfield1.ml
new file mode 100644
index 0000000000..f4e2e01907
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t200-getfield1.ml
@@ -0,0 +1,26 @@
+open Lib;;
+type t = {
+ a : int;
+ b : int;
+};;
+
+if { a = 7; b = 6 }.b <> 6 then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONSTINT 6
+ 11 PUSHGETGLOBAL <0>(7, 6)
+ 13 GETFIELD1
+ 14 NEQ
+ 15 BRANCHIFNOT 22
+ 17 GETGLOBAL Not_found
+ 19 MAKEBLOCK1 0
+ 21 RAISE
+ 22 ATOM0
+ 23 SETGLOBAL T200-getfield1
+ 25 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t200-getfield2.ml b/testsuite/tests/tool-ocaml/t200-getfield2.ml
new file mode 100644
index 0000000000..df5c7172d0
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t200-getfield2.ml
@@ -0,0 +1,27 @@
+open Lib;;
+type t = {
+ a : int;
+ b : int;
+ c : int;
+};;
+
+if { a = 7; b = 6; c = 5 }.c <> 5 then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONSTINT 5
+ 11 PUSHGETGLOBAL <0>(7, 6, 5)
+ 13 GETFIELD2
+ 14 NEQ
+ 15 BRANCHIFNOT 22
+ 17 GETGLOBAL Not_found
+ 19 MAKEBLOCK1 0
+ 21 RAISE
+ 22 ATOM0
+ 23 SETGLOBAL T200-getfield2
+ 25 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t200-getfield3.ml b/testsuite/tests/tool-ocaml/t200-getfield3.ml
new file mode 100644
index 0000000000..a0376a1fcf
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t200-getfield3.ml
@@ -0,0 +1,28 @@
+open Lib;;
+type t = {
+ a : int;
+ b : int;
+ c : int;
+ d : int;
+};;
+
+if { a = 7; b = 6; c = 5; d = 4 }.d <> 4 then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONSTINT 4
+ 11 PUSHGETGLOBAL <0>(7, 6, 5, 4)
+ 13 GETFIELD3
+ 14 NEQ
+ 15 BRANCHIFNOT 22
+ 17 GETGLOBAL Not_found
+ 19 MAKEBLOCK1 0
+ 21 RAISE
+ 22 ATOM0
+ 23 SETGLOBAL T200-getfield3
+ 25 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t201-getfield.ml b/testsuite/tests/tool-ocaml/t201-getfield.ml
new file mode 100644
index 0000000000..0fbbc63fee
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t201-getfield.ml
@@ -0,0 +1,29 @@
+open Lib;;
+type t = {
+ a : int;
+ b : int;
+ c : int;
+ d : int;
+ e : int;
+};;
+
+if { a = 7; b = 6; c = 5; d = 4; e = 3 }.e <> 3 then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST3
+ 10 PUSHGETGLOBAL <0>(7, 6, 5, 4, 3)
+ 12 GETFIELD 4
+ 14 NEQ
+ 15 BRANCHIFNOT 22
+ 17 GETGLOBAL Not_found
+ 19 MAKEBLOCK1 0
+ 21 RAISE
+ 22 ATOM0
+ 23 SETGLOBAL T201-getfield
+ 25 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t210-setfield0.ml b/testsuite/tests/tool-ocaml/t210-setfield0.ml
new file mode 100644
index 0000000000..aa31d41fe4
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t210-setfield0.ml
@@ -0,0 +1,36 @@
+open Lib;;
+type t = {
+ mutable a : int;
+};;
+
+let x = {a = 7} in
+x.a <- 11;
+if x.a <> 11 then raise Not_found;
+x
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONSTINT 7
+ 11 MAKEBLOCK1 0
+ 13 PUSHCONSTINT 11
+ 15 PUSHACC1
+ 16 SETFIELD0
+ 17 CONSTINT 11
+ 19 PUSHACC1
+ 20 GETFIELD0
+ 21 NEQ
+ 22 BRANCHIFNOT 29
+ 24 GETGLOBAL Not_found
+ 26 MAKEBLOCK1 0
+ 28 RAISE
+ 29 ACC0
+ 30 POP 1
+ 32 ATOM0
+ 33 SETGLOBAL T210-setfield0
+ 35 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t210-setfield1.ml b/testsuite/tests/tool-ocaml/t210-setfield1.ml
new file mode 100644
index 0000000000..0d8e16762c
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t210-setfield1.ml
@@ -0,0 +1,38 @@
+open Lib;;
+type t = {
+ mutable a : int;
+ mutable b : int;
+};;
+
+let x = {a = 7; b = 6} in
+x.b <- 11;
+if x.b <> 11 then raise Not_found;
+x
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONSTINT 6
+ 11 PUSHCONSTINT 7
+ 13 MAKEBLOCK2 0
+ 15 PUSHCONSTINT 11
+ 17 PUSHACC1
+ 18 SETFIELD1
+ 19 CONSTINT 11
+ 21 PUSHACC1
+ 22 GETFIELD1
+ 23 NEQ
+ 24 BRANCHIFNOT 31
+ 26 GETGLOBAL Not_found
+ 28 MAKEBLOCK1 0
+ 30 RAISE
+ 31 ACC0
+ 32 POP 1
+ 34 ATOM0
+ 35 SETGLOBAL T210-setfield1
+ 37 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t210-setfield2.ml b/testsuite/tests/tool-ocaml/t210-setfield2.ml
new file mode 100644
index 0000000000..727691d113
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t210-setfield2.ml
@@ -0,0 +1,40 @@
+open Lib;;
+type t = {
+ mutable a : int;
+ mutable b : int;
+ mutable c : int;
+};;
+
+let x = {a = 7; b = 6; c = 5} in
+x.c <- 11;
+if x.c <> 11 then raise Not_found;
+x
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONSTINT 5
+ 11 PUSHCONSTINT 6
+ 13 PUSHCONSTINT 7
+ 15 MAKEBLOCK3 0
+ 17 PUSHCONSTINT 11
+ 19 PUSHACC1
+ 20 SETFIELD2
+ 21 CONSTINT 11
+ 23 PUSHACC1
+ 24 GETFIELD2
+ 25 NEQ
+ 26 BRANCHIFNOT 33
+ 28 GETGLOBAL Not_found
+ 30 MAKEBLOCK1 0
+ 32 RAISE
+ 33 ACC0
+ 34 POP 1
+ 36 ATOM0
+ 37 SETGLOBAL T210-setfield2
+ 39 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t210-setfield3.ml b/testsuite/tests/tool-ocaml/t210-setfield3.ml
new file mode 100644
index 0000000000..d50d2c2a63
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t210-setfield3.ml
@@ -0,0 +1,42 @@
+open Lib;;
+type t = {
+ mutable a : int;
+ mutable b : int;
+ mutable c : int;
+ mutable d : int;
+};;
+
+let x = {a = 7; b = 6; c = 5; d = 4} in
+x.d <- 11;
+if x.d <> 11 then raise Not_found;
+x
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONSTINT 4
+ 11 PUSHCONSTINT 5
+ 13 PUSHCONSTINT 6
+ 15 PUSHCONSTINT 7
+ 17 MAKEBLOCK 4, 0
+ 20 PUSHCONSTINT 11
+ 22 PUSHACC1
+ 23 SETFIELD3
+ 24 CONSTINT 11
+ 26 PUSHACC1
+ 27 GETFIELD3
+ 28 NEQ
+ 29 BRANCHIFNOT 36
+ 31 GETGLOBAL Not_found
+ 33 MAKEBLOCK1 0
+ 35 RAISE
+ 36 ACC0
+ 37 POP 1
+ 39 ATOM0
+ 40 SETGLOBAL T210-setfield3
+ 42 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t211-setfield.ml b/testsuite/tests/tool-ocaml/t211-setfield.ml
new file mode 100644
index 0000000000..69c445e10b
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t211-setfield.ml
@@ -0,0 +1,44 @@
+open Lib;;
+type t = {
+ mutable a : int;
+ mutable b : int;
+ mutable c : int;
+ mutable d : int;
+ mutable e : int;
+};;
+
+let x = {a = 7; b = 6; c = 5; d = 4; e = 5} in
+x.e <- 11;
+if x.e <> 11 then raise Not_found;
+x
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONSTINT 5
+ 11 PUSHCONSTINT 4
+ 13 PUSHCONSTINT 5
+ 15 PUSHCONSTINT 6
+ 17 PUSHCONSTINT 7
+ 19 MAKEBLOCK 5, 0
+ 22 PUSHCONSTINT 11
+ 24 PUSHACC1
+ 25 SETFIELD 4
+ 27 CONSTINT 11
+ 29 PUSHACC1
+ 30 GETFIELD 4
+ 32 NEQ
+ 33 BRANCHIFNOT 40
+ 35 GETGLOBAL Not_found
+ 37 MAKEBLOCK1 0
+ 39 RAISE
+ 40 ACC0
+ 41 POP 1
+ 43 ATOM0
+ 44 SETGLOBAL T211-setfield
+ 46 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t220-assign.ml b/testsuite/tests/tool-ocaml/t220-assign.ml
new file mode 100644
index 0000000000..769f8fb22c
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t220-assign.ml
@@ -0,0 +1,27 @@
+open Lib;;
+let x = ref 1 in
+x := 3;
+if !x <> 3 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST1
+ 10 PUSHCONST3
+ 11 ASSIGN 0
+ 13 CONST3
+ 14 PUSHACC1
+ 15 NEQ
+ 16 BRANCHIFNOT 23
+ 18 GETGLOBAL Not_found
+ 20 MAKEBLOCK1 0
+ 22 RAISE
+ 23 POP 1
+ 25 ATOM0
+ 26 SETGLOBAL T220-assign
+ 28 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t230-check_signals.ml b/testsuite/tests/tool-ocaml/t230-check_signals.ml
new file mode 100644
index 0000000000..2c2b5d7731
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t230-check_signals.ml
@@ -0,0 +1,28 @@
+open Lib;;
+for i = 0 to 0 do () done;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST0
+ 10 PUSHCONST0
+ 11 PUSH
+ 12 BRANCH 21
+ 14 CHECK_SIGNALS
+ 15 CONST0
+ 16 ACC1
+ 17 OFFSETINT 1
+ 19 ASSIGN 1
+ 21 ACC0
+ 22 PUSHACC2
+ 23 LEINT
+ 24 BRANCHIF 14
+ 26 CONST0
+ 27 POP 2
+ 29 ATOM0
+ 30 SETGLOBAL T230-check_signals
+ 32 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t240-c_call1.ml b/testsuite/tests/tool-ocaml/t240-c_call1.ml
new file mode 100644
index 0000000000..3c7508cbc0
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t240-c_call1.ml
@@ -0,0 +1,21 @@
+open Lib;;
+if Pervasives.int_of_string "123" <> 123 then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONSTINT 123
+ 11 PUSHGETGLOBAL "123"
+ 13 C_CALL1 int_of_string
+ 15 NEQ
+ 16 BRANCHIFNOT 23
+ 18 GETGLOBAL Not_found
+ 20 MAKEBLOCK1 0
+ 22 RAISE
+ 23 ATOM0
+ 24 SETGLOBAL T240-c_call1
+ 26 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t240-c_call2.ml b/testsuite/tests/tool-ocaml/t240-c_call2.ml
new file mode 100644
index 0000000000..23c984369f
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t240-c_call2.ml
@@ -0,0 +1,22 @@
+open Lib;;
+if Pervasives.compare 1 2 <> -1 then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONSTINT -1
+ 11 PUSHCONST2
+ 12 PUSHCONST1
+ 13 C_CALL2 compare
+ 15 NEQ
+ 16 BRANCHIFNOT 23
+ 18 GETGLOBAL Not_found
+ 20 MAKEBLOCK1 0
+ 22 RAISE
+ 23 ATOM0
+ 24 SETGLOBAL T240-c_call2
+ 26 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t240-c_call3.ml b/testsuite/tests/tool-ocaml/t240-c_call3.ml
new file mode 100644
index 0000000000..707bc7eec6
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t240-c_call3.ml
@@ -0,0 +1,23 @@
+open Lib;;
+if Hashtbl.hash_param 5 6 [1;2;3] <> 196799 then raise Not_found;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONSTINT 196799
+ 11 PUSHGETGLOBAL <0>(1, <0>(2, <0>(3, 0)))
+ 13 PUSHCONSTINT 6
+ 15 PUSHCONSTINT 5
+ 17 C_CALL3 hash_univ_param
+ 19 NEQ
+ 20 BRANCHIFNOT 27
+ 22 GETGLOBAL Not_found
+ 24 MAKEBLOCK1 0
+ 26 RAISE
+ 27 ATOM0
+ 28 SETGLOBAL T240-c_call3
+ 30 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t240-c_call4.ml b/testsuite/tests/tool-ocaml/t240-c_call4.ml
new file mode 100644
index 0000000000..2ab62d86e0
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t240-c_call4.ml
@@ -0,0 +1,32 @@
+open Lib;;
+let s = "abcdefgh" in
+String.unsafe_fill s 0 6 'x';
+if s.[5] <> 'x' then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 GETGLOBAL "abcdefgh"
+ 11 PUSHCONSTINT 120
+ 13 PUSHCONSTINT 6
+ 15 PUSHCONST0
+ 16 PUSHACC3
+ 17 C_CALL4 fill_string
+ 19 CONSTINT 120
+ 21 PUSHCONSTINT 5
+ 23 PUSHACC2
+ 24 GETSTRINGCHAR
+ 25 NEQ
+ 26 BRANCHIFNOT 33
+ 28 GETGLOBAL Not_found
+ 30 MAKEBLOCK1 0
+ 32 RAISE
+ 33 POP 1
+ 35 ATOM0
+ 36 SETGLOBAL T240-c_call4
+ 38 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t240-c_call5.ml b/testsuite/tests/tool-ocaml/t240-c_call5.ml
new file mode 100644
index 0000000000..e817d55028
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t240-c_call5.ml
@@ -0,0 +1,33 @@
+open Lib;;
+let s = "abcdefgh" in
+String.unsafe_blit s 3 s 0 3;
+if s.[0] <> 'd' then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 GETGLOBAL "abcdefgh"
+ 11 PUSHCONST3
+ 12 PUSHCONST0
+ 13 PUSHACC2
+ 14 PUSHCONST3
+ 15 PUSHACC4
+ 16 C_CALL5 blit_string
+ 18 CONSTINT 100
+ 20 PUSHCONST0
+ 21 PUSHACC2
+ 22 GETSTRINGCHAR
+ 23 NEQ
+ 24 BRANCHIFNOT 31
+ 26 GETGLOBAL Not_found
+ 28 MAKEBLOCK1 0
+ 30 RAISE
+ 31 POP 1
+ 33 ATOM0
+ 34 SETGLOBAL T240-c_call5
+ 36 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t250-closurerec-1.ml b/testsuite/tests/tool-ocaml/t250-closurerec-1.ml
new file mode 100644
index 0000000000..ded5036e69
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t250-closurerec-1.ml
@@ -0,0 +1,19 @@
+open Lib;;
+let rec f _ = 0;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 14
+ 11 CONST0
+ 12 RETURN 1
+ 14 CLOSUREREC 0, 11
+ 18 ACC0
+ 19 MAKEBLOCK1 0
+ 21 POP 1
+ 23 SETGLOBAL T250-closurerec-1
+ 25 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t250-closurerec-2.ml b/testsuite/tests/tool-ocaml/t250-closurerec-2.ml
new file mode 100644
index 0000000000..97eac0c791
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t250-closurerec-2.ml
@@ -0,0 +1,29 @@
+open Lib;;
+let rec f _ = 23 in
+if f 0 <> 23 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 15
+ 11 CONSTINT 23
+ 13 RETURN 1
+ 15 CLOSUREREC 0, 11
+ 19 CONSTINT 23
+ 21 PUSHCONST0
+ 22 PUSHACC2
+ 23 APPLY1
+ 24 NEQ
+ 25 BRANCHIFNOT 32
+ 27 GETGLOBAL Not_found
+ 29 MAKEBLOCK1 0
+ 31 RAISE
+ 32 POP 1
+ 34 ATOM0
+ 35 SETGLOBAL T250-closurerec-2
+ 37 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t251-pushoffsetclosure0.ml b/testsuite/tests/tool-ocaml/t251-pushoffsetclosure0.ml
new file mode 100644
index 0000000000..b1c25555ea
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t251-pushoffsetclosure0.ml
@@ -0,0 +1,39 @@
+open Lib;;
+let rec f = function
+ | 0 -> 13
+ | n -> f 0
+in
+if f 5 <> 13 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 24
+ 11 CONST0
+ 12 PUSHACC1
+ 13 EQ
+ 14 BRANCHIFNOT 20
+ 16 CONSTINT 13
+ 18 RETURN 1
+ 20 CONST0
+ 21 PUSHOFFSETCLOSURE0
+ 22 APPTERM1 2
+ 24 CLOSUREREC 0, 11
+ 28 CONSTINT 13
+ 30 PUSHCONSTINT 5
+ 32 PUSHACC2
+ 33 APPLY1
+ 34 NEQ
+ 35 BRANCHIFNOT 42
+ 37 GETGLOBAL Not_found
+ 39 MAKEBLOCK1 0
+ 41 RAISE
+ 42 POP 1
+ 44 ATOM0
+ 45 SETGLOBAL T251-pushoffsetclosure0
+ 47 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t251-pushoffsetclosure2.ml b/testsuite/tests/tool-ocaml/t251-pushoffsetclosure2.ml
new file mode 100644
index 0000000000..0fbdd6eae7
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t251-pushoffsetclosure2.ml
@@ -0,0 +1,34 @@
+open Lib;;
+let rec f _ = g 0
+ and g _ = 4
+in
+if f 5 <> 4 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 19
+ 11 CONST0
+ 12 PUSHOFFSETCLOSURE2
+ 13 APPTERM1 2
+ 15 CONSTINT 4
+ 17 RETURN 1
+ 19 CLOSUREREC 0, 11, 15
+ 24 CONSTINT 4
+ 26 PUSHCONSTINT 5
+ 28 PUSHACC3
+ 29 APPLY1
+ 30 NEQ
+ 31 BRANCHIFNOT 38
+ 33 GETGLOBAL Not_found
+ 35 MAKEBLOCK1 0
+ 37 RAISE
+ 38 POP 2
+ 40 ATOM0
+ 41 SETGLOBAL T251-pushoffsetclosure2
+ 43 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t251-pushoffsetclosurem2.ml b/testsuite/tests/tool-ocaml/t251-pushoffsetclosurem2.ml
new file mode 100644
index 0000000000..41ec196c35
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t251-pushoffsetclosurem2.ml
@@ -0,0 +1,34 @@
+open Lib;;
+let rec f _ = 4
+ and g _ = f 2
+in
+if g 5 <> 4 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 19
+ 11 CONSTINT 4
+ 13 RETURN 1
+ 15 CONST2
+ 16 PUSHOFFSETCLOSUREM2
+ 17 APPTERM1 2
+ 19 CLOSUREREC 0, 11, 15
+ 24 CONSTINT 4
+ 26 PUSHCONSTINT 5
+ 28 PUSHACC2
+ 29 APPLY1
+ 30 NEQ
+ 31 BRANCHIFNOT 38
+ 33 GETGLOBAL Not_found
+ 35 MAKEBLOCK1 0
+ 37 RAISE
+ 38 POP 2
+ 40 ATOM0
+ 41 SETGLOBAL T251-pushoffsetclosurem2
+ 43 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t252-pushoffsetclosure.ml b/testsuite/tests/tool-ocaml/t252-pushoffsetclosure.ml
new file mode 100644
index 0000000000..1887133453
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t252-pushoffsetclosure.ml
@@ -0,0 +1,38 @@
+open Lib;;
+let rec f x = x
+ and g _ = f 4
+ and h _ = f 6
+in
+if h 1 <> 6 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 25
+ 11 ACC0
+ 12 RETURN 1
+ 14 CONSTINT 4
+ 16 PUSHOFFSETCLOSUREM2
+ 17 APPTERM1 2
+ 19 CONSTINT 6
+ 21 PUSHOFFSETCLOSURE -4
+ 23 APPTERM1 2
+ 25 CLOSUREREC 0, 11, 14, 19
+ 31 CONSTINT 6
+ 33 PUSHCONST1
+ 34 PUSHACC2
+ 35 APPLY1
+ 36 NEQ
+ 37 BRANCHIFNOT 44
+ 39 GETGLOBAL Not_found
+ 41 MAKEBLOCK1 0
+ 43 RAISE
+ 44 POP 3
+ 46 ATOM0
+ 47 SETGLOBAL T252-pushoffsetclosure
+ 49 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t253-offsetclosure0.ml b/testsuite/tests/tool-ocaml/t253-offsetclosure0.ml
new file mode 100644
index 0000000000..f6d12c6db0
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t253-offsetclosure0.ml
@@ -0,0 +1,34 @@
+open Lib;;
+let rec f _ = g f
+ and g _ = 10
+in
+if f 3 <> 10 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 19
+ 11 OFFSETCLOSURE0
+ 12 PUSHOFFSETCLOSURE2
+ 13 APPTERM1 2
+ 15 CONSTINT 10
+ 17 RETURN 1
+ 19 CLOSUREREC 0, 11, 15
+ 24 CONSTINT 10
+ 26 PUSHCONST3
+ 27 PUSHACC3
+ 28 APPLY1
+ 29 NEQ
+ 30 BRANCHIFNOT 37
+ 32 GETGLOBAL Not_found
+ 34 MAKEBLOCK1 0
+ 36 RAISE
+ 37 POP 2
+ 39 ATOM0
+ 40 SETGLOBAL T253-offsetclosure0
+ 42 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t253-offsetclosure2.ml b/testsuite/tests/tool-ocaml/t253-offsetclosure2.ml
new file mode 100644
index 0000000000..be940611fe
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t253-offsetclosure2.ml
@@ -0,0 +1,34 @@
+open Lib;;
+let rec f _ = g
+ and g _ = 10
+in
+if f 3 4 <> 10 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 18
+ 11 OFFSETCLOSURE2
+ 12 RETURN 1
+ 14 CONSTINT 10
+ 16 RETURN 1
+ 18 CLOSUREREC 0, 11, 14
+ 23 CONSTINT 10
+ 25 PUSHCONSTINT 4
+ 27 PUSHCONST3
+ 28 PUSHACC4
+ 29 APPLY2
+ 30 NEQ
+ 31 BRANCHIFNOT 38
+ 33 GETGLOBAL Not_found
+ 35 MAKEBLOCK1 0
+ 37 RAISE
+ 38 POP 2
+ 40 ATOM0
+ 41 SETGLOBAL T253-offsetclosure2
+ 43 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t253-offsetclosurem2.ml b/testsuite/tests/tool-ocaml/t253-offsetclosurem2.ml
new file mode 100644
index 0000000000..cec37931e7
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t253-offsetclosurem2.ml
@@ -0,0 +1,34 @@
+open Lib;;
+let rec f _ = 11
+ and g _ = f
+in
+if g 3 4 <> 11 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 18
+ 11 CONSTINT 11
+ 13 RETURN 1
+ 15 OFFSETCLOSUREM2
+ 16 RETURN 1
+ 18 CLOSUREREC 0, 11, 15
+ 23 CONSTINT 11
+ 25 PUSHCONSTINT 4
+ 27 PUSHCONST3
+ 28 PUSHACC3
+ 29 APPLY2
+ 30 NEQ
+ 31 BRANCHIFNOT 38
+ 33 GETGLOBAL Not_found
+ 35 MAKEBLOCK1 0
+ 37 RAISE
+ 38 POP 2
+ 40 ATOM0
+ 41 SETGLOBAL T253-offsetclosurem2
+ 43 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t254-offsetclosure.ml b/testsuite/tests/tool-ocaml/t254-offsetclosure.ml
new file mode 100644
index 0000000000..6da8c28c90
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t254-offsetclosure.ml
@@ -0,0 +1,37 @@
+open Lib;;
+let rec f _ = 11
+ and g _ = 0
+ and h _ = f
+in
+if h 3 4 <> 11 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 22
+ 11 CONSTINT 11
+ 13 RETURN 1
+ 15 CONST0
+ 16 RETURN 1
+ 18 OFFSETCLOSURE -4
+ 20 RETURN 1
+ 22 CLOSUREREC 0, 11, 15, 18
+ 28 CONSTINT 11
+ 30 PUSHCONSTINT 4
+ 32 PUSHCONST3
+ 33 PUSHACC3
+ 34 APPLY2
+ 35 NEQ
+ 36 BRANCHIFNOT 43
+ 38 GETGLOBAL Not_found
+ 40 MAKEBLOCK1 0
+ 42 RAISE
+ 43 POP 3
+ 45 ATOM0
+ 46 SETGLOBAL T254-offsetclosure
+ 48 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t260-offsetref.ml b/testsuite/tests/tool-ocaml/t260-offsetref.ml
new file mode 100644
index 0000000000..968892ef11
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t260-offsetref.ml
@@ -0,0 +1,31 @@
+open Lib;;
+let x = ref 32 in
+incr x;
+if !x <> 33 then raise Not_found;
+x
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONSTINT 32
+ 11 MAKEBLOCK1 0
+ 13 PUSHACC0
+ 14 OFFSETREF 1
+ 16 CONSTINT 33
+ 18 PUSHACC1
+ 19 GETFIELD0
+ 20 NEQ
+ 21 BRANCHIFNOT 28
+ 23 GETGLOBAL Not_found
+ 25 MAKEBLOCK1 0
+ 27 RAISE
+ 28 ACC0
+ 29 POP 1
+ 31 ATOM0
+ 32 SETGLOBAL T260-offsetref
+ 34 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t270-push_retaddr.ml b/testsuite/tests/tool-ocaml/t270-push_retaddr.ml
new file mode 100644
index 0000000000..0c7fb369bf
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t270-push_retaddr.ml
@@ -0,0 +1,36 @@
+open Lib;;
+let f a b c d = 123 in
+if f 0 1 2 3 <> 123 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 18
+ 11 RESTART
+ 12 GRAB 3
+ 14 CONSTINT 123
+ 16 RETURN 4
+ 18 CLOSURE 0, 12
+ 21 PUSHCONSTINT 123
+ 23 PUSH
+ 24 PUSH_RETADDR 34
+ 26 CONST3
+ 27 PUSHCONST2
+ 28 PUSHCONST1
+ 29 PUSHCONST0
+ 30 PUSHACC 8
+ 32 APPLY 4
+ 34 NEQ
+ 35 BRANCHIFNOT 42
+ 37 GETGLOBAL Not_found
+ 39 MAKEBLOCK1 0
+ 41 RAISE
+ 42 POP 1
+ 44 ATOM0
+ 45 SETGLOBAL T270-push_retaddr
+ 47 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t300-getmethod.ml b/testsuite/tests/tool-ocaml/t300-getmethod.ml
new file mode 100644
index 0000000000..e7894735c1
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t300-getmethod.ml
@@ -0,0 +1,5885 @@
+open Lib;;
+
+class c = object
+ method m = 23
+end;;
+
+let o = new c in
+if o#m <> 23 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 746
+ 11 RESTART
+ 12 GRAB 1
+ 14 ACC0
+ 15 BRANCHIFNOT 28
+ 17 ACC1
+ 18 PUSHACC1
+ 19 GETFIELD1
+ 20 PUSHOFFSETCLOSURE0
+ 21 APPLY2
+ 22 PUSHACC1
+ 23 GETFIELD0
+ 24 MAKEBLOCK2 0
+ 26 RETURN 2
+ 28 ACC1
+ 29 RETURN 2
+ 31 RESTART
+ 32 GRAB 3
+ 34 CONST0
+ 35 PUSHACC4
+ 36 LEINT
+ 37 BRANCHIFNOT 42
+ 39 CONST0
+ 40 RETURN 4
+ 42 ACC3
+ 43 PUSHACC3
+ 44 PUSHACC3
+ 45 PUSHACC3
+ 46 C_CALL4 caml_input
+ 48 PUSHCONST0
+ 49 PUSHACC1
+ 50 EQ
+ 51 BRANCHIFNOT 58
+ 53 GETGLOBAL End_of_file
+ 55 MAKEBLOCK1 0
+ 57 RAISE
+ 58 ACC0
+ 59 PUSHACC5
+ 60 SUBINT
+ 61 PUSHACC1
+ 62 PUSHACC5
+ 63 ADDINT
+ 64 PUSHACC4
+ 65 PUSHACC4
+ 66 PUSHOFFSETCLOSURE0
+ 67 APPTERM 4, 9
+ 70 ACC0
+ 71 C_CALL1 caml_input_scan_line
+ 73 PUSHCONST0
+ 74 PUSHACC1
+ 75 EQ
+ 76 BRANCHIFNOT 83
+ 78 GETGLOBAL End_of_file
+ 80 MAKEBLOCK1 0
+ 82 RAISE
+ 83 CONST0
+ 84 PUSHACC1
+ 85 GTINT
+ 86 BRANCHIFNOT 107
+ 88 ACC0
+ 89 OFFSETINT -1
+ 91 C_CALL1 create_string
+ 93 PUSHACC1
+ 94 OFFSETINT -1
+ 96 PUSHCONST0
+ 97 PUSHACC2
+ 98 PUSHACC5
+ 99 C_CALL4 caml_input
+ 101 ACC2
+ 102 C_CALL1 caml_input_char
+ 104 ACC0
+ 105 RETURN 3
+ 107 ACC0
+ 108 NEGINT
+ 109 C_CALL1 create_string
+ 111 PUSHACC1
+ 112 NEGINT
+ 113 PUSHCONST0
+ 114 PUSHACC2
+ 115 PUSHACC5
+ 116 C_CALL4 caml_input
+ 118 CONST0
+ 119 PUSHTRAP 130
+ 121 ACC6
+ 122 PUSHOFFSETCLOSURE0
+ 123 APPLY1
+ 124 PUSHACC5
+ 125 PUSHENVACC1
+ 126 APPLY2
+ 127 POPTRAP
+ 128 RETURN 3
+ 130 PUSHGETGLOBAL End_of_file
+ 132 PUSHACC1
+ 133 GETFIELD0
+ 134 EQ
+ 135 BRANCHIFNOT 140
+ 137 ACC1
+ 138 RETURN 4
+ 140 ACC0
+ 141 RAISE
+ 142 ACC0
+ 143 C_CALL1 caml_flush
+ 145 RETURN 1
+ 147 RESTART
+ 148 GRAB 1
+ 150 ACC1
+ 151 PUSHACC1
+ 152 C_CALL2 caml_output_char
+ 154 RETURN 2
+ 156 RESTART
+ 157 GRAB 1
+ 159 ACC1
+ 160 PUSHACC1
+ 161 C_CALL2 caml_output_char
+ 163 RETURN 2
+ 165 RESTART
+ 166 GRAB 1
+ 168 ACC1
+ 169 PUSHACC1
+ 170 C_CALL2 caml_output_int
+ 172 RETURN 2
+ 174 RESTART
+ 175 GRAB 1
+ 177 ACC1
+ 178 PUSHACC1
+ 179 C_CALL2 caml_seek_out
+ 181 RETURN 2
+ 183 ACC0
+ 184 C_CALL1 caml_pos_out
+ 186 RETURN 1
+ 188 ACC0
+ 189 C_CALL1 caml_channel_size
+ 191 RETURN 1
+ 193 RESTART
+ 194 GRAB 1
+ 196 ACC1
+ 197 PUSHACC1
+ 198 C_CALL2 caml_set_binary_mode
+ 200 RETURN 2
+ 202 ACC0
+ 203 C_CALL1 caml_input_char
+ 205 RETURN 1
+ 207 ACC0
+ 208 C_CALL1 caml_input_char
+ 210 RETURN 1
+ 212 ACC0
+ 213 C_CALL1 caml_input_int
+ 215 RETURN 1
+ 217 ACC0
+ 218 C_CALL1 input_value
+ 220 RETURN 1
+ 222 RESTART
+ 223 GRAB 1
+ 225 ACC1
+ 226 PUSHACC1
+ 227 C_CALL2 caml_seek_in
+ 229 RETURN 2
+ 231 ACC0
+ 232 C_CALL1 caml_pos_in
+ 234 RETURN 1
+ 236 ACC0
+ 237 C_CALL1 caml_channel_size
+ 239 RETURN 1
+ 241 ACC0
+ 242 C_CALL1 caml_close_channel
+ 244 RETURN 1
+ 246 RESTART
+ 247 GRAB 1
+ 249 ACC1
+ 250 PUSHACC1
+ 251 C_CALL2 caml_set_binary_mode
+ 253 RETURN 2
+ 255 CONST0
+ 256 PUSHENVACC1
+ 257 APPLY1
+ 258 ACC0
+ 259 C_CALL1 sys_exit
+ 261 RETURN 1
+ 263 CONST0
+ 264 PUSHENVACC1
+ 265 GETFIELD0
+ 266 APPTERM1 2
+ 268 CONST0
+ 269 PUSHENVACC1
+ 270 APPLY1
+ 271 CONST0
+ 272 PUSHENVACC2
+ 273 APPTERM1 2
+ 275 ENVACC1
+ 276 GETFIELD0
+ 277 PUSHACC0
+ 278 PUSHACC2
+ 279 CLOSURE 2, 268
+ 282 PUSHENVACC1
+ 283 SETFIELD0
+ 284 RETURN 2
+ 286 ENVACC1
+ 287 C_CALL1 caml_flush
+ 289 ENVACC2
+ 290 C_CALL1 caml_flush
+ 292 RETURN 1
+ 294 CONST0
+ 295 PUSHENVACC1
+ 296 APPLY1
+ 297 C_CALL1 float_of_string
+ 299 RETURN 1
+ 301 CONST0
+ 302 PUSHENVACC1
+ 303 APPLY1
+ 304 C_CALL1 int_of_string
+ 306 RETURN 1
+ 308 ENVACC2
+ 309 C_CALL1 caml_flush
+ 311 ENVACC1
+ 312 PUSHENVACC3
+ 313 APPTERM1 2
+ 315 CONSTINT 13
+ 317 PUSHENVACC1
+ 318 C_CALL2 caml_output_char
+ 320 ENVACC1
+ 321 C_CALL1 caml_flush
+ 323 RETURN 1
+ 325 ACC0
+ 326 PUSHENVACC1
+ 327 PUSHENVACC2
+ 328 APPLY2
+ 329 CONSTINT 13
+ 331 PUSHENVACC1
+ 332 C_CALL2 caml_output_char
+ 334 ENVACC1
+ 335 C_CALL1 caml_flush
+ 337 RETURN 1
+ 339 ACC0
+ 340 PUSHENVACC1
+ 341 APPLY1
+ 342 PUSHENVACC2
+ 343 PUSHENVACC3
+ 344 APPTERM2 3
+ 346 ACC0
+ 347 PUSHENVACC1
+ 348 APPLY1
+ 349 PUSHENVACC2
+ 350 PUSHENVACC3
+ 351 APPTERM2 3
+ 353 ACC0
+ 354 PUSHENVACC1
+ 355 PUSHENVACC2
+ 356 APPTERM2 3
+ 358 ACC0
+ 359 PUSHENVACC1
+ 360 C_CALL2 caml_output_char
+ 362 RETURN 1
+ 364 CONSTINT 13
+ 366 PUSHENVACC1
+ 367 C_CALL2 caml_output_char
+ 369 ENVACC1
+ 370 C_CALL1 caml_flush
+ 372 RETURN 1
+ 374 ACC0
+ 375 PUSHENVACC1
+ 376 PUSHENVACC2
+ 377 APPLY2
+ 378 CONSTINT 13
+ 380 PUSHENVACC1
+ 381 C_CALL2 caml_output_char
+ 383 RETURN 1
+ 385 ACC0
+ 386 PUSHENVACC1
+ 387 APPLY1
+ 388 PUSHENVACC2
+ 389 PUSHENVACC3
+ 390 APPTERM2 3
+ 392 ACC0
+ 393 PUSHENVACC1
+ 394 APPLY1
+ 395 PUSHENVACC2
+ 396 PUSHENVACC3
+ 397 APPTERM2 3
+ 399 ACC0
+ 400 PUSHENVACC1
+ 401 PUSHENVACC2
+ 402 APPTERM2 3
+ 404 ACC0
+ 405 PUSHENVACC1
+ 406 C_CALL2 caml_output_char
+ 408 RETURN 1
+ 410 RESTART
+ 411 GRAB 3
+ 413 CONST0
+ 414 PUSHACC3
+ 415 LTINT
+ 416 BRANCHIF 427
+ 418 ACC1
+ 419 C_CALL1 ml_string_length
+ 421 PUSHACC4
+ 422 PUSHACC4
+ 423 ADDINT
+ 424 GTINT
+ 425 BRANCHIFNOT 432
+ 427 GETGLOBAL "really_input"
+ 429 PUSHENVACC1
+ 430 APPTERM1 5
+ 432 ACC3
+ 433 PUSHACC3
+ 434 PUSHACC3
+ 435 PUSHACC3
+ 436 PUSHENVACC2
+ 437 APPTERM 4, 8
+ 440 RESTART
+ 441 GRAB 3
+ 443 CONST0
+ 444 PUSHACC3
+ 445 LTINT
+ 446 BRANCHIF 457
+ 448 ACC1
+ 449 C_CALL1 ml_string_length
+ 451 PUSHACC4
+ 452 PUSHACC4
+ 453 ADDINT
+ 454 GTINT
+ 455 BRANCHIFNOT 462
+ 457 GETGLOBAL "input"
+ 459 PUSHENVACC1
+ 460 APPTERM1 5
+ 462 ACC3
+ 463 PUSHACC3
+ 464 PUSHACC3
+ 465 PUSHACC3
+ 466 C_CALL4 caml_input
+ 468 RETURN 4
+ 470 ACC0
+ 471 PUSHCONST0
+ 472 PUSHGETGLOBAL <0>(0, <0>(6, 0))
+ 474 PUSHENVACC1
+ 475 APPTERM3 4
+ 477 ACC0
+ 478 PUSHCONST0
+ 479 PUSHGETGLOBAL <0>(0, <0>(7, 0))
+ 481 PUSHENVACC1
+ 482 APPTERM3 4
+ 484 RESTART
+ 485 GRAB 2
+ 487 ACC1
+ 488 PUSHACC1
+ 489 PUSHACC4
+ 490 C_CALL3 sys_open
+ 492 C_CALL1 caml_open_descriptor
+ 494 RETURN 3
+ 496 ACC0
+ 497 C_CALL1 caml_flush
+ 499 ACC0
+ 500 C_CALL1 caml_close_channel
+ 502 RETURN 1
+ 504 RESTART
+ 505 GRAB 1
+ 507 CONST0
+ 508 PUSHACC2
+ 509 PUSHACC2
+ 510 C_CALL3 output_value
+ 512 RETURN 2
+ 514 RESTART
+ 515 GRAB 3
+ 517 CONST0
+ 518 PUSHACC3
+ 519 LTINT
+ 520 BRANCHIF 531
+ 522 ACC1
+ 523 C_CALL1 ml_string_length
+ 525 PUSHACC4
+ 526 PUSHACC4
+ 527 ADDINT
+ 528 GTINT
+ 529 BRANCHIFNOT 536
+ 531 GETGLOBAL "output"
+ 533 PUSHENVACC1
+ 534 APPTERM1 5
+ 536 ACC3
+ 537 PUSHACC3
+ 538 PUSHACC3
+ 539 PUSHACC3
+ 540 C_CALL4 caml_output
+ 542 RETURN 4
+ 544 RESTART
+ 545 GRAB 1
+ 547 ACC1
+ 548 C_CALL1 ml_string_length
+ 550 PUSHCONST0
+ 551 PUSHACC3
+ 552 PUSHACC3
+ 553 C_CALL4 caml_output
+ 555 RETURN 2
+ 557 ACC0
+ 558 PUSHCONSTINT 438
+ 560 PUSHGETGLOBAL <0>(1, <0>(3, <0>(4, <0>(6, 0))))
+ 562 PUSHENVACC1
+ 563 APPTERM3 4
+ 565 ACC0
+ 566 PUSHCONSTINT 438
+ 568 PUSHGETGLOBAL <0>(1, <0>(3, <0>(4, <0>(7, 0))))
+ 570 PUSHENVACC1
+ 571 APPTERM3 4
+ 573 RESTART
+ 574 GRAB 2
+ 576 ACC1
+ 577 PUSHACC1
+ 578 PUSHACC4
+ 579 C_CALL3 sys_open
+ 581 C_CALL1 caml_open_descriptor
+ 583 RETURN 3
+ 585 ACC0
+ 586 PUSHGETGLOBAL "%.12g"
+ 588 C_CALL2 format_float
+ 590 RETURN 1
+ 592 ACC0
+ 593 PUSHGETGLOBAL "%d"
+ 595 C_CALL2 format_int
+ 597 RETURN 1
+ 599 GETGLOBAL "false"
+ 601 PUSHACC1
+ 602 C_CALL2 string_equal
+ 604 BRANCHIFNOT 609
+ 606 CONST0
+ 607 RETURN 1
+ 609 GETGLOBAL "true"
+ 611 PUSHACC1
+ 612 C_CALL2 string_equal
+ 614 BRANCHIFNOT 619
+ 616 CONST1
+ 617 RETURN 1
+ 619 GETGLOBAL "bool_of_string"
+ 621 PUSHENVACC1
+ 622 APPTERM1 2
+ 624 ACC0
+ 625 BRANCHIFNOT 631
+ 627 GETGLOBAL "true"
+ 629 RETURN 1
+ 631 GETGLOBAL "false"
+ 633 RETURN 1
+ 635 CONST0
+ 636 PUSHACC1
+ 637 LTINT
+ 638 BRANCHIF 646
+ 640 CONSTINT 255
+ 642 PUSHACC1
+ 643 GTINT
+ 644 BRANCHIFNOT 651
+ 646 GETGLOBAL "char_of_int"
+ 648 PUSHENVACC1
+ 649 APPTERM1 2
+ 651 ACC0
+ 652 RETURN 1
+ 654 RESTART
+ 655 GRAB 1
+ 657 ACC0
+ 658 C_CALL1 ml_string_length
+ 660 PUSHACC2
+ 661 C_CALL1 ml_string_length
+ 663 PUSHACC0
+ 664 PUSHACC2
+ 665 ADDINT
+ 666 C_CALL1 create_string
+ 668 PUSHACC2
+ 669 PUSHCONST0
+ 670 PUSHACC2
+ 671 PUSHCONST0
+ 672 PUSHACC7
+ 673 C_CALL5 blit_string
+ 675 ACC1
+ 676 PUSHACC3
+ 677 PUSHACC2
+ 678 PUSHCONST0
+ 679 PUSHACC 8
+ 681 C_CALL5 blit_string
+ 683 ACC0
+ 684 RETURN 5
+ 686 CONSTINT -1
+ 688 PUSHACC1
+ 689 XORINT
+ 690 RETURN 1
+ 692 CONST0
+ 693 PUSHACC1
+ 694 GEINT
+ 695 BRANCHIFNOT 700
+ 697 ACC0
+ 698 RETURN 1
+ 700 ACC0
+ 701 NEGINT
+ 702 RETURN 1
+ 704 RESTART
+ 705 GRAB 1
+ 707 ACC1
+ 708 PUSHACC1
+ 709 C_CALL2 greaterequal
+ 711 BRANCHIFNOT 716
+ 713 ACC0
+ 714 RETURN 2
+ 716 ACC1
+ 717 RETURN 2
+ 719 RESTART
+ 720 GRAB 1
+ 722 ACC1
+ 723 PUSHACC1
+ 724 C_CALL2 lessequal
+ 726 BRANCHIFNOT 731
+ 728 ACC0
+ 729 RETURN 2
+ 731 ACC1
+ 732 RETURN 2
+ 734 ACC0
+ 735 PUSHGETGLOBAL Invalid_argument
+ 737 MAKEBLOCK2 0
+ 739 RAISE
+ 740 ACC0
+ 741 PUSHGETGLOBAL Failure
+ 743 MAKEBLOCK2 0
+ 745 RAISE
+ 746 CLOSURE 0, 740
+ 749 PUSH
+ 750 CLOSURE 0, 734
+ 753 PUSHGETGLOBAL "Pervasives.Exit"
+ 755 MAKEBLOCK1 0
+ 757 PUSHGETGLOBAL "Pervasives.Assert_failure"
+ 759 MAKEBLOCK1 0
+ 761 PUSH
+ 762 CLOSURE 0, 720
+ 765 PUSH
+ 766 CLOSURE 0, 705
+ 769 PUSH
+ 770 CLOSURE 0, 692
+ 773 PUSH
+ 774 CLOSURE 0, 686
+ 777 PUSHCONST0
+ 778 PUSHCONSTINT 31
+ 780 PUSHCONST1
+ 781 LSLINT
+ 782 EQ
+ 783 BRANCHIFNOT 789
+ 785 CONSTINT 30
+ 787 BRANCH 791
+ 789 CONSTINT 62
+ 791 PUSHCONST1
+ 792 LSLINT
+ 793 PUSHACC0
+ 794 OFFSETINT -1
+ 796 PUSH
+ 797 CLOSURE 0, 655
+ 800 PUSHACC 9
+ 802 CLOSURE 1, 635
+ 805 PUSH
+ 806 CLOSURE 0, 624
+ 809 PUSHACC 11
+ 811 CLOSURE 1, 599
+ 814 PUSH
+ 815 CLOSURE 0, 592
+ 818 PUSH
+ 819 CLOSURE 0, 585
+ 822 PUSH
+ 823 CLOSUREREC 0, 12
+ 827 CONST0
+ 828 C_CALL1 caml_open_descriptor
+ 830 PUSHCONST1
+ 831 C_CALL1 caml_open_descriptor
+ 833 PUSHCONST2
+ 834 C_CALL1 caml_open_descriptor
+ 836 PUSH
+ 837 CLOSURE 0, 574
+ 840 PUSHACC0
+ 841 CLOSURE 1, 565
+ 844 PUSHACC1
+ 845 CLOSURE 1, 557
+ 848 PUSH
+ 849 CLOSURE 0, 545
+ 852 PUSHACC 22
+ 854 CLOSURE 1, 515
+ 857 PUSH
+ 858 CLOSURE 0, 505
+ 861 PUSH
+ 862 CLOSURE 0, 496
+ 865 PUSH
+ 866 CLOSURE 0, 485
+ 869 PUSHACC0
+ 870 CLOSURE 1, 477
+ 873 PUSHACC1
+ 874 CLOSURE 1, 470
+ 877 PUSHACC 28
+ 879 CLOSURE 1, 441
+ 882 PUSH
+ 883 CLOSUREREC 0, 32
+ 887 ACC0
+ 888 PUSHACC 31
+ 890 CLOSURE 2, 411
+ 893 PUSHACC 22
+ 895 CLOSUREREC 1, 70
+ 899 ACC 15
+ 901 CLOSURE 1, 404
+ 904 PUSHACC 11
+ 906 PUSHACC 17
+ 908 CLOSURE 2, 399
+ 911 PUSHACC 12
+ 913 PUSHACC 18
+ 915 PUSHACC 23
+ 917 CLOSURE 3, 392
+ 920 PUSHACC 13
+ 922 PUSHACC 19
+ 924 PUSHACC 23
+ 926 CLOSURE 3, 385
+ 929 PUSHACC 14
+ 931 PUSHACC 20
+ 933 CLOSURE 2, 374
+ 936 PUSHACC 20
+ 938 CLOSURE 1, 364
+ 941 PUSHACC 20
+ 943 CLOSURE 1, 358
+ 946 PUSHACC 17
+ 948 PUSHACC 22
+ 950 CLOSURE 2, 353
+ 953 PUSHACC 18
+ 955 PUSHACC 23
+ 957 PUSHACC 29
+ 959 CLOSURE 3, 346
+ 962 PUSHACC 19
+ 964 PUSHACC 24
+ 966 PUSHACC 29
+ 968 CLOSURE 3, 339
+ 971 PUSHACC 20
+ 973 PUSHACC 25
+ 975 CLOSURE 2, 325
+ 978 PUSHACC 25
+ 980 CLOSURE 1, 315
+ 983 PUSHACC 12
+ 985 PUSHACC 28
+ 987 PUSHACC 30
+ 989 CLOSURE 3, 308
+ 992 PUSHACC0
+ 993 CLOSURE 1, 301
+ 996 PUSHACC1
+ 997 CLOSURE 1, 294
+ 1000 PUSHACC 29
+ 1002 PUSHACC 31
+ 1004 CLOSURE 2, 286
+ 1007 MAKEBLOCK1 0
+ 1009 PUSHACC0
+ 1010 CLOSURE 1, 275
+ 1013 PUSHACC1
+ 1014 CLOSURE 1, 263
+ 1017 PUSHACC0
+ 1018 CLOSURE 1, 255
+ 1021 PUSHACC1
+ 1022 PUSHACC 22
+ 1024 PUSHACC4
+ 1025 PUSHACC3
+ 1026 PUSH
+ 1027 CLOSURE 0, 247
+ 1030 PUSH
+ 1031 CLOSURE 0, 241
+ 1034 PUSH
+ 1035 CLOSURE 0, 236
+ 1038 PUSH
+ 1039 CLOSURE 0, 231
+ 1042 PUSH
+ 1043 CLOSURE 0, 223
+ 1046 PUSH
+ 1047 CLOSURE 0, 217
+ 1050 PUSH
+ 1051 CLOSURE 0, 212
+ 1054 PUSH
+ 1055 CLOSURE 0, 207
+ 1058 PUSHACC 32
+ 1060 PUSHACC 35
+ 1062 PUSHACC 33
+ 1064 PUSH
+ 1065 CLOSURE 0, 202
+ 1068 PUSHACC 41
+ 1070 PUSHACC 40
+ 1072 PUSHACC 42
+ 1074 PUSH
+ 1075 CLOSURE 0, 194
+ 1078 PUSHACC 46
+ 1080 PUSH
+ 1081 CLOSURE 0, 188
+ 1084 PUSH
+ 1085 CLOSURE 0, 183
+ 1088 PUSH
+ 1089 CLOSURE 0, 175
+ 1092 PUSHACC 51
+ 1094 PUSH
+ 1095 CLOSURE 0, 166
+ 1098 PUSH
+ 1099 CLOSURE 0, 157
+ 1102 PUSHACC 55
+ 1104 PUSHACC 57
+ 1106 PUSH
+ 1107 CLOSURE 0, 148
+ 1110 PUSH
+ 1111 CLOSURE 0, 142
+ 1114 PUSHACC 63
+ 1116 PUSHACC 62
+ 1118 PUSHACC 64
+ 1120 PUSHACC 38
+ 1122 PUSHACC 40
+ 1124 PUSHACC 42
+ 1126 PUSHACC 44
+ 1128 PUSHACC 46
+ 1130 PUSHACC 48
+ 1132 PUSHACC 50
+ 1134 PUSHACC 52
+ 1136 PUSHACC 54
+ 1138 PUSHACC 56
+ 1140 PUSHACC 58
+ 1142 PUSHACC 60
+ 1144 PUSHACC 62
+ 1146 PUSHACC 64
+ 1148 PUSHACC 66
+ 1150 PUSHACC 82
+ 1152 PUSHACC 84
+ 1154 PUSHACC 86
+ 1156 PUSHACC 88
+ 1158 PUSHACC 90
+ 1160 PUSHACC 92
+ 1162 PUSHACC 94
+ 1164 PUSHACC 96
+ 1166 PUSHACC 98
+ 1168 PUSHACC 100
+ 1170 PUSHACC 104
+ 1172 PUSHACC 104
+ 1174 PUSHACC 104
+ 1176 PUSHACC 108
+ 1178 PUSHACC 110
+ 1180 PUSHACC 112
+ 1182 PUSHACC 117
+ 1184 PUSHACC 117
+ 1186 PUSHACC 117
+ 1188 PUSHACC 117
+ 1190 MAKEBLOCK 69, 0
+ 1193 POP 53
+ 1195 SETGLOBAL Pervasives
+ 1197 BRANCH 2177
+ 1199 RESTART
+ 1200 GRAB 1
+ 1202 ACC1
+ 1203 BRANCHIFNOT 1213
+ 1205 ACC1
+ 1206 GETFIELD1
+ 1207 PUSHACC1
+ 1208 OFFSETINT 1
+ 1210 PUSHOFFSETCLOSURE0
+ 1211 APPTERM2 4
+ 1213 ACC0
+ 1214 RETURN 2
+ 1216 RESTART
+ 1217 GRAB 1
+ 1219 ACC0
+ 1220 BRANCHIFNOT 1251
+ 1222 CONST0
+ 1223 PUSHACC2
+ 1224 EQ
+ 1225 BRANCHIFNOT 1231
+ 1227 ACC0
+ 1228 GETFIELD0
+ 1229 RETURN 2
+ 1231 CONST0
+ 1232 PUSHACC2
+ 1233 GTINT
+ 1234 BRANCHIFNOT 1244
+ 1236 ACC1
+ 1237 OFFSETINT -1
+ 1239 PUSHACC1
+ 1240 GETFIELD1
+ 1241 PUSHOFFSETCLOSURE0
+ 1242 APPTERM2 4
+ 1244 GETGLOBAL "List.nth"
+ 1246 PUSHGETGLOBALFIELD Pervasives, 2
+ 1249 APPTERM1 3
+ 1251 GETGLOBAL "nth"
+ 1253 PUSHGETGLOBALFIELD Pervasives, 3
+ 1256 APPTERM1 3
+ 1258 RESTART
+ 1259 GRAB 1
+ 1261 ACC0
+ 1262 BRANCHIFNOT 1274
+ 1264 ACC1
+ 1265 PUSHACC1
+ 1266 GETFIELD0
+ 1267 MAKEBLOCK2 0
+ 1269 PUSHACC1
+ 1270 GETFIELD1
+ 1271 PUSHOFFSETCLOSURE0
+ 1272 APPTERM2 4
+ 1274 ACC1
+ 1275 RETURN 2
+ 1277 ACC0
+ 1278 BRANCHIFNOT 1291
+ 1280 ACC0
+ 1281 GETFIELD1
+ 1282 PUSHOFFSETCLOSURE0
+ 1283 APPLY1
+ 1284 PUSHACC1
+ 1285 GETFIELD0
+ 1286 PUSHGETGLOBALFIELD Pervasives, 16
+ 1289 APPTERM2 3
+ 1291 RETURN 1
+ 1293 RESTART
+ 1294 GRAB 1
+ 1296 ACC1
+ 1297 BRANCHIFNOT 1313
+ 1299 ACC1
+ 1300 GETFIELD0
+ 1301 PUSHACC1
+ 1302 APPLY1
+ 1303 PUSHACC2
+ 1304 GETFIELD1
+ 1305 PUSHACC2
+ 1306 PUSHOFFSETCLOSURE0
+ 1307 APPLY2
+ 1308 PUSHACC1
+ 1309 MAKEBLOCK2 0
+ 1311 POP 1
+ 1313 RETURN 2
+ 1315 RESTART
+ 1316 GRAB 1
+ 1318 ACC1
+ 1319 BRANCHIFNOT 1331
+ 1321 ACC1
+ 1322 GETFIELD0
+ 1323 PUSHACC1
+ 1324 APPLY1
+ 1325 ACC1
+ 1326 GETFIELD1
+ 1327 PUSHACC1
+ 1328 PUSHOFFSETCLOSURE0
+ 1329 APPTERM2 4
+ 1331 RETURN 2
+ 1333 RESTART
+ 1334 GRAB 2
+ 1336 ACC2
+ 1337 BRANCHIFNOT 1350
+ 1339 ACC2
+ 1340 GETFIELD1
+ 1341 PUSHACC3
+ 1342 GETFIELD0
+ 1343 PUSHACC3
+ 1344 PUSHACC3
+ 1345 APPLY2
+ 1346 PUSHACC2
+ 1347 PUSHOFFSETCLOSURE0
+ 1348 APPTERM3 6
+ 1350 ACC1
+ 1351 RETURN 3
+ 1353 RESTART
+ 1354 GRAB 2
+ 1356 ACC1
+ 1357 BRANCHIFNOT 1370
+ 1359 ACC2
+ 1360 PUSHACC2
+ 1361 GETFIELD1
+ 1362 PUSHACC2
+ 1363 PUSHOFFSETCLOSURE0
+ 1364 APPLY3
+ 1365 PUSHACC2
+ 1366 GETFIELD0
+ 1367 PUSHACC2
+ 1368 APPTERM2 5
+ 1370 ACC2
+ 1371 RETURN 3
+ 1373 RESTART
+ 1374 GRAB 2
+ 1376 ACC1
+ 1377 BRANCHIFNOT 1400
+ 1379 ACC2
+ 1380 BRANCHIFNOT 1407
+ 1382 ACC2
+ 1383 GETFIELD0
+ 1384 PUSHACC2
+ 1385 GETFIELD0
+ 1386 PUSHACC2
+ 1387 APPLY2
+ 1388 PUSHACC3
+ 1389 GETFIELD1
+ 1390 PUSHACC3
+ 1391 GETFIELD1
+ 1392 PUSHACC3
+ 1393 PUSHOFFSETCLOSURE0
+ 1394 APPLY3
+ 1395 PUSHACC1
+ 1396 MAKEBLOCK2 0
+ 1398 RETURN 4
+ 1400 ACC2
+ 1401 BRANCHIFNOT 1405
+ 1403 BRANCH 1407
+ 1405 RETURN 3
+ 1407 GETGLOBAL "List.map2"
+ 1409 PUSHGETGLOBALFIELD Pervasives, 2
+ 1412 APPTERM1 4
+ 1414 RESTART
+ 1415 GRAB 2
+ 1417 ACC1
+ 1418 BRANCHIFNOT 1437
+ 1420 ACC2
+ 1421 BRANCHIFNOT 1444
+ 1423 ACC2
+ 1424 GETFIELD0
+ 1425 PUSHACC2
+ 1426 GETFIELD0
+ 1427 PUSHACC2
+ 1428 APPLY2
+ 1429 ACC2
+ 1430 GETFIELD1
+ 1431 PUSHACC2
+ 1432 GETFIELD1
+ 1433 PUSHACC2
+ 1434 PUSHOFFSETCLOSURE0
+ 1435 APPTERM3 6
+ 1437 ACC2
+ 1438 BRANCHIFNOT 1442
+ 1440 BRANCH 1444
+ 1442 RETURN 3
+ 1444 GETGLOBAL "List.iter2"
+ 1446 PUSHGETGLOBALFIELD Pervasives, 2
+ 1449 APPTERM1 4
+ 1451 RESTART
+ 1452 GRAB 3
+ 1454 ACC2
+ 1455 BRANCHIFNOT 1476
+ 1457 ACC3
+ 1458 BRANCHIFNOT 1482
+ 1460 ACC3
+ 1461 GETFIELD1
+ 1462 PUSHACC3
+ 1463 GETFIELD1
+ 1464 PUSHACC5
+ 1465 GETFIELD0
+ 1466 PUSHACC5
+ 1467 GETFIELD0
+ 1468 PUSHACC5
+ 1469 PUSHACC5
+ 1470 APPLY3
+ 1471 PUSHACC3
+ 1472 PUSHOFFSETCLOSURE0
+ 1473 APPTERM 4, 8
+ 1476 ACC3
+ 1477 BRANCHIF 1482
+ 1479 ACC1
+ 1480 RETURN 4
+ 1482 GETGLOBAL "List.fold_left2"
+ 1484 PUSHGETGLOBALFIELD Pervasives, 2
+ 1487 APPTERM1 5
+ 1489 RESTART
+ 1490 GRAB 3
+ 1492 ACC1
+ 1493 BRANCHIFNOT 1516
+ 1495 ACC2
+ 1496 BRANCHIFNOT 1522
+ 1498 PUSH_RETADDR 1509
+ 1500 ACC6
+ 1501 PUSHACC6
+ 1502 GETFIELD1
+ 1503 PUSHACC6
+ 1504 GETFIELD1
+ 1505 PUSHACC6
+ 1506 PUSHOFFSETCLOSURE0
+ 1507 APPLY 4
+ 1509 PUSHACC3
+ 1510 GETFIELD0
+ 1511 PUSHACC3
+ 1512 GETFIELD0
+ 1513 PUSHACC3
+ 1514 APPTERM3 7
+ 1516 ACC2
+ 1517 BRANCHIF 1522
+ 1519 ACC3
+ 1520 RETURN 4
+ 1522 GETGLOBAL "List.fold_right2"
+ 1524 PUSHGETGLOBALFIELD Pervasives, 2
+ 1527 APPTERM1 5
+ 1529 RESTART
+ 1530 GRAB 1
+ 1532 ACC1
+ 1533 BRANCHIFNOT 1549
+ 1535 ACC1
+ 1536 GETFIELD0
+ 1537 PUSHACC1
+ 1538 APPLY1
+ 1539 BRANCHIFNOT 1547
+ 1541 ACC1
+ 1542 GETFIELD1
+ 1543 PUSHACC1
+ 1544 PUSHOFFSETCLOSURE0
+ 1545 APPTERM2 4
+ 1547 RETURN 2
+ 1549 CONST1
+ 1550 RETURN 2
+ 1552 RESTART
+ 1553 GRAB 1
+ 1555 ACC1
+ 1556 BRANCHIFNOT 1570
+ 1558 ACC1
+ 1559 GETFIELD0
+ 1560 PUSHACC1
+ 1561 APPLY1
+ 1562 BRANCHIF 1570
+ 1564 ACC1
+ 1565 GETFIELD1
+ 1566 PUSHACC1
+ 1567 PUSHOFFSETCLOSURE0
+ 1568 APPTERM2 4
+ 1570 RETURN 2
+ 1572 RESTART
+ 1573 GRAB 2
+ 1575 ACC1
+ 1576 BRANCHIFNOT 1599
+ 1578 ACC2
+ 1579 BRANCHIFNOT 1605
+ 1581 ACC2
+ 1582 GETFIELD0
+ 1583 PUSHACC2
+ 1584 GETFIELD0
+ 1585 PUSHACC2
+ 1586 APPLY2
+ 1587 BRANCHIFNOT 1597
+ 1589 ACC2
+ 1590 GETFIELD1
+ 1591 PUSHACC2
+ 1592 GETFIELD1
+ 1593 PUSHACC2
+ 1594 PUSHOFFSETCLOSURE0
+ 1595 APPTERM3 6
+ 1597 RETURN 3
+ 1599 ACC2
+ 1600 BRANCHIF 1605
+ 1602 CONST1
+ 1603 RETURN 3
+ 1605 GETGLOBAL "List.for_all2"
+ 1607 PUSHGETGLOBALFIELD Pervasives, 2
+ 1610 APPTERM1 4
+ 1612 RESTART
+ 1613 GRAB 2
+ 1615 ACC1
+ 1616 BRANCHIFNOT 1639
+ 1618 ACC2
+ 1619 BRANCHIFNOT 1646
+ 1621 ACC2
+ 1622 GETFIELD0
+ 1623 PUSHACC2
+ 1624 GETFIELD0
+ 1625 PUSHACC2
+ 1626 APPLY2
+ 1627 BRANCHIF 1637
+ 1629 ACC2
+ 1630 GETFIELD1
+ 1631 PUSHACC2
+ 1632 GETFIELD1
+ 1633 PUSHACC2
+ 1634 PUSHOFFSETCLOSURE0
+ 1635 APPTERM3 6
+ 1637 RETURN 3
+ 1639 ACC2
+ 1640 BRANCHIFNOT 1644
+ 1642 BRANCH 1646
+ 1644 RETURN 3
+ 1646 GETGLOBAL "List.exists2"
+ 1648 PUSHGETGLOBALFIELD Pervasives, 2
+ 1651 APPTERM1 4
+ 1653 RESTART
+ 1654 GRAB 1
+ 1656 ACC1
+ 1657 BRANCHIFNOT 1672
+ 1659 ACC0
+ 1660 PUSHACC2
+ 1661 GETFIELD0
+ 1662 C_CALL2 equal
+ 1664 BRANCHIF 1672
+ 1666 ACC1
+ 1667 GETFIELD1
+ 1668 PUSHACC1
+ 1669 PUSHOFFSETCLOSURE0
+ 1670 APPTERM2 4
+ 1672 RETURN 2
+ 1674 RESTART
+ 1675 GRAB 1
+ 1677 ACC1
+ 1678 BRANCHIFNOT 1692
+ 1680 ACC0
+ 1681 PUSHACC2
+ 1682 GETFIELD0
+ 1683 EQ
+ 1684 BRANCHIF 1692
+ 1686 ACC1
+ 1687 GETFIELD1
+ 1688 PUSHACC1
+ 1689 PUSHOFFSETCLOSURE0
+ 1690 APPTERM2 4
+ 1692 RETURN 2
+ 1694 RESTART
+ 1695 GRAB 1
+ 1697 ACC1
+ 1698 BRANCHIFNOT 1719
+ 1700 ACC1
+ 1701 GETFIELD0
+ 1702 PUSHACC1
+ 1703 PUSHACC1
+ 1704 GETFIELD0
+ 1705 C_CALL2 equal
+ 1707 BRANCHIFNOT 1713
+ 1709 ACC0
+ 1710 GETFIELD1
+ 1711 RETURN 3
+ 1713 ACC2
+ 1714 GETFIELD1
+ 1715 PUSHACC2
+ 1716 PUSHOFFSETCLOSURE0
+ 1717 APPTERM2 5
+ 1719 GETGLOBAL Not_found
+ 1721 MAKEBLOCK1 0
+ 1723 RAISE
+ 1724 RESTART
+ 1725 GRAB 1
+ 1727 ACC1
+ 1728 BRANCHIFNOT 1748
+ 1730 ACC1
+ 1731 GETFIELD0
+ 1732 PUSHACC1
+ 1733 PUSHACC1
+ 1734 GETFIELD0
+ 1735 EQ
+ 1736 BRANCHIFNOT 1742
+ 1738 ACC0
+ 1739 GETFIELD1
+ 1740 RETURN 3
+ 1742 ACC2
+ 1743 GETFIELD1
+ 1744 PUSHACC2
+ 1745 PUSHOFFSETCLOSURE0
+ 1746 APPTERM2 5
+ 1748 GETGLOBAL Not_found
+ 1750 MAKEBLOCK1 0
+ 1752 RAISE
+ 1753 RESTART
+ 1754 GRAB 1
+ 1756 ACC1
+ 1757 BRANCHIFNOT 1773
+ 1759 ACC0
+ 1760 PUSHACC2
+ 1761 GETFIELD0
+ 1762 GETFIELD0
+ 1763 C_CALL2 equal
+ 1765 BRANCHIF 1773
+ 1767 ACC1
+ 1768 GETFIELD1
+ 1769 PUSHACC1
+ 1770 PUSHOFFSETCLOSURE0
+ 1771 APPTERM2 4
+ 1773 RETURN 2
+ 1775 RESTART
+ 1776 GRAB 1
+ 1778 ACC1
+ 1779 BRANCHIFNOT 1794
+ 1781 ACC0
+ 1782 PUSHACC2
+ 1783 GETFIELD0
+ 1784 GETFIELD0
+ 1785 EQ
+ 1786 BRANCHIF 1794
+ 1788 ACC1
+ 1789 GETFIELD1
+ 1790 PUSHACC1
+ 1791 PUSHOFFSETCLOSURE0
+ 1792 APPTERM2 4
+ 1794 RETURN 2
+ 1796 RESTART
+ 1797 GRAB 1
+ 1799 ACC1
+ 1800 BRANCHIFNOT 1825
+ 1802 ACC1
+ 1803 GETFIELD0
+ 1804 PUSHACC2
+ 1805 GETFIELD1
+ 1806 PUSHACC2
+ 1807 PUSHACC2
+ 1808 GETFIELD0
+ 1809 C_CALL2 equal
+ 1811 BRANCHIFNOT 1816
+ 1813 ACC0
+ 1814 RETURN 4
+ 1816 ACC0
+ 1817 PUSHACC3
+ 1818 PUSHOFFSETCLOSURE0
+ 1819 APPLY2
+ 1820 PUSHACC2
+ 1821 MAKEBLOCK2 0
+ 1823 POP 2
+ 1825 RETURN 2
+ 1827 RESTART
+ 1828 GRAB 1
+ 1830 ACC1
+ 1831 BRANCHIFNOT 1855
+ 1833 ACC1
+ 1834 GETFIELD0
+ 1835 PUSHACC2
+ 1836 GETFIELD1
+ 1837 PUSHACC2
+ 1838 PUSHACC2
+ 1839 GETFIELD0
+ 1840 EQ
+ 1841 BRANCHIFNOT 1846
+ 1843 ACC0
+ 1844 RETURN 4
+ 1846 ACC0
+ 1847 PUSHACC3
+ 1848 PUSHOFFSETCLOSURE0
+ 1849 APPLY2
+ 1850 PUSHACC2
+ 1851 MAKEBLOCK2 0
+ 1853 POP 2
+ 1855 RETURN 2
+ 1857 RESTART
+ 1858 GRAB 1
+ 1860 ACC1
+ 1861 BRANCHIFNOT 1879
+ 1863 ACC1
+ 1864 GETFIELD0
+ 1865 PUSHACC0
+ 1866 PUSHACC2
+ 1867 APPLY1
+ 1868 BRANCHIFNOT 1873
+ 1870 ACC0
+ 1871 RETURN 3
+ 1873 ACC2
+ 1874 GETFIELD1
+ 1875 PUSHACC2
+ 1876 PUSHOFFSETCLOSURE0
+ 1877 APPTERM2 5
+ 1879 GETGLOBAL Not_found
+ 1881 MAKEBLOCK1 0
+ 1883 RAISE
+ 1884 RESTART
+ 1885 GRAB 2
+ 1887 ACC2
+ 1888 BRANCHIFNOT 1917
+ 1890 ACC2
+ 1891 GETFIELD0
+ 1892 PUSHACC3
+ 1893 GETFIELD1
+ 1894 PUSHACC1
+ 1895 PUSHENVACC2
+ 1896 APPLY1
+ 1897 BRANCHIFNOT 1908
+ 1899 ACC0
+ 1900 PUSHACC4
+ 1901 PUSHACC4
+ 1902 PUSHACC4
+ 1903 MAKEBLOCK2 0
+ 1905 PUSHOFFSETCLOSURE0
+ 1906 APPTERM3 8
+ 1908 ACC0
+ 1909 PUSHACC4
+ 1910 PUSHACC3
+ 1911 MAKEBLOCK2 0
+ 1913 PUSHACC4
+ 1914 PUSHOFFSETCLOSURE0
+ 1915 APPTERM3 8
+ 1917 ACC1
+ 1918 PUSHENVACC1
+ 1919 APPLY1
+ 1920 PUSHACC1
+ 1921 PUSHENVACC1
+ 1922 APPLY1
+ 1923 MAKEBLOCK2 0
+ 1925 RETURN 3
+ 1927 RESTART
+ 1928 GRAB 1
+ 1930 ACC0
+ 1931 PUSHENVACC1
+ 1932 CLOSUREREC 2, 1885
+ 1936 ACC2
+ 1937 PUSHCONST0
+ 1938 PUSHCONST0
+ 1939 PUSHACC3
+ 1940 APPTERM3 6
+ 1942 ACC0
+ 1943 BRANCHIFNOT 1967
+ 1945 ACC0
+ 1946 GETFIELD0
+ 1947 PUSHACC1
+ 1948 GETFIELD1
+ 1949 PUSHOFFSETCLOSURE0
+ 1950 APPLY1
+ 1951 PUSHACC0
+ 1952 GETFIELD1
+ 1953 PUSHACC2
+ 1954 GETFIELD1
+ 1955 MAKEBLOCK2 0
+ 1957 PUSHACC1
+ 1958 GETFIELD0
+ 1959 PUSHACC3
+ 1960 GETFIELD0
+ 1961 MAKEBLOCK2 0
+ 1963 MAKEBLOCK2 0
+ 1965 RETURN 3
+ 1967 GETGLOBAL <0>(0, 0)
+ 1969 RETURN 1
+ 1971 RESTART
+ 1972 GRAB 1
+ 1974 ACC0
+ 1975 BRANCHIFNOT 1996
+ 1977 ACC1
+ 1978 BRANCHIFNOT 2003
+ 1980 ACC1
+ 1981 GETFIELD1
+ 1982 PUSHACC1
+ 1983 GETFIELD1
+ 1984 PUSHOFFSETCLOSURE0
+ 1985 APPLY2
+ 1986 PUSHACC2
+ 1987 GETFIELD0
+ 1988 PUSHACC2
+ 1989 GETFIELD0
+ 1990 MAKEBLOCK2 0
+ 1992 MAKEBLOCK2 0
+ 1994 RETURN 2
+ 1996 ACC1
+ 1997 BRANCHIFNOT 2001
+ 1999 BRANCH 2003
+ 2001 RETURN 2
+ 2003 GETGLOBAL "List.combine"
+ 2005 PUSHGETGLOBALFIELD Pervasives, 2
+ 2008 APPTERM1 3
+ 2010 RESTART
+ 2011 GRAB 1
+ 2013 ACC1
+ 2014 BRANCHIFNOT 2038
+ 2016 ACC1
+ 2017 GETFIELD0
+ 2018 PUSHACC2
+ 2019 GETFIELD1
+ 2020 PUSHACC1
+ 2021 PUSHENVACC2
+ 2022 APPLY1
+ 2023 BRANCHIFNOT 2033
+ 2025 ACC0
+ 2026 PUSHACC3
+ 2027 PUSHACC3
+ 2028 MAKEBLOCK2 0
+ 2030 PUSHOFFSETCLOSURE0
+ 2031 APPTERM2 6
+ 2033 ACC0
+ 2034 PUSHACC3
+ 2035 PUSHOFFSETCLOSURE0
+ 2036 APPTERM2 6
+ 2038 ACC0
+ 2039 PUSHENVACC1
+ 2040 APPTERM1 3
+ 2042 ACC0
+ 2043 PUSHENVACC1
+ 2044 CLOSUREREC 2, 2011
+ 2048 CONST0
+ 2049 PUSHACC1
+ 2050 APPTERM1 3
+ 2052 RESTART
+ 2053 GRAB 2
+ 2055 ACC1
+ 2056 BRANCHIFNOT 2077
+ 2058 ACC2
+ 2059 BRANCHIFNOT 2084
+ 2061 ACC2
+ 2062 GETFIELD1
+ 2063 PUSHACC2
+ 2064 GETFIELD1
+ 2065 PUSHACC2
+ 2066 PUSHACC5
+ 2067 GETFIELD0
+ 2068 PUSHACC5
+ 2069 GETFIELD0
+ 2070 PUSHENVACC1
+ 2071 APPLY2
+ 2072 MAKEBLOCK2 0
+ 2074 PUSHOFFSETCLOSURE0
+ 2075 APPTERM3 6
+ 2077 ACC2
+ 2078 BRANCHIFNOT 2082
+ 2080 BRANCH 2084
+ 2082 RETURN 3
+ 2084 GETGLOBAL "List.rev_map2"
+ 2086 PUSHGETGLOBALFIELD Pervasives, 2
+ 2089 APPTERM1 4
+ 2091 RESTART
+ 2092 GRAB 2
+ 2094 ACC0
+ 2095 CLOSUREREC 1, 2053
+ 2099 ACC3
+ 2100 PUSHACC3
+ 2101 PUSHCONST0
+ 2102 PUSHACC3
+ 2103 APPTERM3 7
+ 2105 RESTART
+ 2106 GRAB 1
+ 2108 ACC1
+ 2109 BRANCHIFNOT 2123
+ 2111 ACC1
+ 2112 GETFIELD1
+ 2113 PUSHACC1
+ 2114 PUSHACC3
+ 2115 GETFIELD0
+ 2116 PUSHENVACC1
+ 2117 APPLY1
+ 2118 MAKEBLOCK2 0
+ 2120 PUSHOFFSETCLOSURE0
+ 2121 APPTERM2 4
+ 2123 ACC0
+ 2124 RETURN 2
+ 2126 RESTART
+ 2127 GRAB 1
+ 2129 ACC0
+ 2130 CLOSUREREC 1, 2106
+ 2134 ACC2
+ 2135 PUSHCONST0
+ 2136 PUSHACC2
+ 2137 APPTERM2 5
+ 2139 CONST0
+ 2140 PUSHACC1
+ 2141 PUSHENVACC1
+ 2142 APPTERM2 3
+ 2144 ACC0
+ 2145 BRANCHIFNOT 2151
+ 2147 ACC0
+ 2148 GETFIELD1
+ 2149 RETURN 1
+ 2151 GETGLOBAL "tl"
+ 2153 PUSHGETGLOBALFIELD Pervasives, 3
+ 2156 APPTERM1 2
+ 2158 ACC0
+ 2159 BRANCHIFNOT 2165
+ 2161 ACC0
+ 2162 GETFIELD0
+ 2163 RETURN 1
+ 2165 GETGLOBAL "hd"
+ 2167 PUSHGETGLOBALFIELD Pervasives, 3
+ 2170 APPTERM1 2
+ 2172 ACC0
+ 2173 PUSHCONST0
+ 2174 PUSHENVACC1
+ 2175 APPTERM2 3
+ 2177 CLOSUREREC 0, 1200
+ 2181 ACC0
+ 2182 CLOSURE 1, 2172
+ 2185 PUSH
+ 2186 CLOSURE 0, 2158
+ 2189 PUSH
+ 2190 CLOSURE 0, 2144
+ 2193 PUSH
+ 2194 CLOSUREREC 0, 1217
+ 2198 GETGLOBALFIELD Pervasives, 16
+ 2201 PUSH
+ 2202 CLOSUREREC 0, 1259
+ 2206 ACC0
+ 2207 CLOSURE 1, 2139
+ 2210 PUSH
+ 2211 CLOSUREREC 0, 1277
+ 2215 CLOSUREREC 0, 1294
+ 2219 CLOSURE 0, 2127
+ 2222 PUSH
+ 2223 CLOSUREREC 0, 1316
+ 2227 CLOSUREREC 0, 1334
+ 2231 CLOSUREREC 0, 1354
+ 2235 CLOSUREREC 0, 1374
+ 2239 CLOSURE 0, 2092
+ 2242 PUSH
+ 2243 CLOSUREREC 0, 1415
+ 2247 CLOSUREREC 0, 1452
+ 2251 CLOSUREREC 0, 1490
+ 2255 CLOSUREREC 0, 1530
+ 2259 CLOSUREREC 0, 1553
+ 2263 CLOSUREREC 0, 1573
+ 2267 CLOSUREREC 0, 1613
+ 2271 CLOSUREREC 0, 1654
+ 2275 CLOSUREREC 0, 1675
+ 2279 CLOSUREREC 0, 1695
+ 2283 CLOSUREREC 0, 1725
+ 2287 CLOSUREREC 0, 1754
+ 2291 CLOSUREREC 0, 1776
+ 2295 CLOSUREREC 0, 1797
+ 2299 CLOSUREREC 0, 1828
+ 2303 CLOSUREREC 0, 1858
+ 2307 ACC 24
+ 2309 CLOSURE 1, 2042
+ 2312 PUSHACC 25
+ 2314 CLOSUREREC 1, 1928
+ 2318 CLOSUREREC 0, 1942
+ 2322 CLOSUREREC 0, 1972
+ 2326 ACC0
+ 2327 PUSHACC2
+ 2328 PUSHACC7
+ 2329 PUSHACC 9
+ 2331 PUSHACC 11
+ 2333 PUSHACC 13
+ 2335 PUSHACC 15
+ 2337 PUSHACC 17
+ 2339 PUSHACC 10
+ 2341 PUSHACC 12
+ 2343 PUSHACC 13
+ 2345 PUSHACC 15
+ 2347 PUSHACC 23
+ 2349 PUSHACC 25
+ 2351 PUSHACC 27
+ 2353 PUSHACC 29
+ 2355 PUSHACC 31
+ 2357 PUSHACC 33
+ 2359 PUSHACC 35
+ 2361 PUSHACC 37
+ 2363 PUSHACC 40
+ 2365 PUSHACC 42
+ 2367 PUSHACC 41
+ 2369 PUSHACC 45
+ 2371 PUSHACC 47
+ 2373 PUSHACC 50
+ 2375 PUSHACC 52
+ 2377 PUSHACC 51
+ 2379 PUSHACC 55
+ 2381 PUSHACC 56
+ 2383 PUSHACC 59
+ 2385 PUSHACC 61
+ 2387 PUSHACC 60
+ 2389 PUSHACC 64
+ 2391 PUSHACC 66
+ 2393 PUSHACC 68
+ 2395 PUSHACC 70
+ 2397 MAKEBLOCK 37, 0
+ 2400 POP 36
+ 2402 SETGLOBAL List
+ 2404 BRANCH 3341
+ 2406 RESTART
+ 2407 GRAB 2
+ 2409 ACC2
+ 2410 PUSHACC2
+ 2411 VECTLENGTH
+ 2412 OFFSETINT -1
+ 2414 PUSHCONST0
+ 2415 PUSH
+ 2416 BRANCH 2433
+ 2418 CHECK_SIGNALS
+ 2419 ACC2
+ 2420 PUSHACC2
+ 2421 PUSHACC6
+ 2422 C_CALL2 array_unsafe_get
+ 2424 PUSHACC5
+ 2425 APPLY2
+ 2426 ASSIGN 2
+ 2428 ACC1
+ 2429 OFFSETINT -1
+ 2431 ASSIGN 1
+ 2433 ACC0
+ 2434 PUSHACC2
+ 2435 GEINT
+ 2436 BRANCHIF 2418
+ 2438 CONST0
+ 2439 POP 2
+ 2441 ACC0
+ 2442 RETURN 4
+ 2444 RESTART
+ 2445 GRAB 2
+ 2447 ACC1
+ 2448 PUSHCONST0
+ 2449 PUSHACC4
+ 2450 VECTLENGTH
+ 2451 OFFSETINT -1
+ 2453 PUSH
+ 2454 BRANCH 2471
+ 2456 CHECK_SIGNALS
+ 2457 ACC1
+ 2458 PUSHACC6
+ 2459 C_CALL2 array_unsafe_get
+ 2461 PUSHACC3
+ 2462 PUSHACC5
+ 2463 APPLY2
+ 2464 ASSIGN 2
+ 2466 ACC1
+ 2467 OFFSETINT 1
+ 2469 ASSIGN 1
+ 2471 ACC0
+ 2472 PUSHACC2
+ 2473 LEINT
+ 2474 BRANCHIF 2456
+ 2476 CONST0
+ 2477 POP 2
+ 2479 ACC0
+ 2480 RETURN 4
+ 2482 RESTART
+ 2483 GRAB 1
+ 2485 ACC1
+ 2486 BRANCHIFNOT 2502
+ 2488 ACC1
+ 2489 GETFIELD0
+ 2490 PUSHACC1
+ 2491 PUSHENVACC1
+ 2492 C_CALL3 array_unsafe_set
+ 2494 ACC1
+ 2495 GETFIELD1
+ 2496 PUSHACC1
+ 2497 OFFSETINT 1
+ 2499 PUSHOFFSETCLOSURE0
+ 2500 APPTERM2 4
+ 2502 ENVACC1
+ 2503 RETURN 2
+ 2505 ACC0
+ 2506 BRANCHIFNOT 2531
+ 2508 ACC0
+ 2509 GETFIELD1
+ 2510 PUSHACC1
+ 2511 GETFIELD0
+ 2512 PUSHACC1
+ 2513 PUSHGETGLOBALFIELD List, 0
+ 2516 APPLY1
+ 2517 OFFSETINT 1
+ 2519 C_CALL2 make_vect
+ 2521 PUSHACC0
+ 2522 CLOSUREREC 1, 2483
+ 2526 ACC2
+ 2527 PUSHCONST1
+ 2528 PUSHACC2
+ 2529 APPTERM2 6
+ 2531 ATOM0
+ 2532 RETURN 1
+ 2534 RESTART
+ 2535 GRAB 1
+ 2537 CONST0
+ 2538 PUSHACC1
+ 2539 LTINT
+ 2540 BRANCHIFNOT 2545
+ 2542 ACC1
+ 2543 RETURN 2
+ 2545 ACC1
+ 2546 PUSHACC1
+ 2547 PUSHENVACC1
+ 2548 C_CALL2 array_unsafe_get
+ 2550 MAKEBLOCK2 0
+ 2552 PUSHACC1
+ 2553 OFFSETINT -1
+ 2555 PUSHOFFSETCLOSURE0
+ 2556 APPTERM2 4
+ 2558 ACC0
+ 2559 CLOSUREREC 1, 2535
+ 2563 CONST0
+ 2564 PUSHACC2
+ 2565 VECTLENGTH
+ 2566 OFFSETINT -1
+ 2568 PUSHACC2
+ 2569 APPTERM2 4
+ 2571 RESTART
+ 2572 GRAB 1
+ 2574 ACC1
+ 2575 VECTLENGTH
+ 2576 PUSHCONST0
+ 2577 PUSHACC1
+ 2578 EQ
+ 2579 BRANCHIFNOT 2584
+ 2581 ATOM0
+ 2582 RETURN 3
+ 2584 CONST0
+ 2585 PUSHACC3
+ 2586 C_CALL2 array_unsafe_get
+ 2588 PUSHCONST0
+ 2589 PUSHACC3
+ 2590 APPLY2
+ 2591 PUSHACC1
+ 2592 C_CALL2 make_vect
+ 2594 PUSHCONST1
+ 2595 PUSHACC2
+ 2596 OFFSETINT -1
+ 2598 PUSH
+ 2599 BRANCH 2618
+ 2601 CHECK_SIGNALS
+ 2602 ACC1
+ 2603 PUSHACC6
+ 2604 C_CALL2 array_unsafe_get
+ 2606 PUSHACC2
+ 2607 PUSHACC6
+ 2608 APPLY2
+ 2609 PUSHACC2
+ 2610 PUSHACC4
+ 2611 C_CALL3 array_unsafe_set
+ 2613 ACC1
+ 2614 OFFSETINT 1
+ 2616 ASSIGN 1
+ 2618 ACC0
+ 2619 PUSHACC2
+ 2620 LEINT
+ 2621 BRANCHIF 2601
+ 2623 CONST0
+ 2624 POP 2
+ 2626 ACC0
+ 2627 RETURN 4
+ 2629 RESTART
+ 2630 GRAB 1
+ 2632 CONST0
+ 2633 PUSHACC2
+ 2634 VECTLENGTH
+ 2635 OFFSETINT -1
+ 2637 PUSH
+ 2638 BRANCH 2653
+ 2640 CHECK_SIGNALS
+ 2641 ACC1
+ 2642 PUSHACC4
+ 2643 C_CALL2 array_unsafe_get
+ 2645 PUSHACC2
+ 2646 PUSHACC4
+ 2647 APPLY2
+ 2648 ACC1
+ 2649 OFFSETINT 1
+ 2651 ASSIGN 1
+ 2653 ACC0
+ 2654 PUSHACC2
+ 2655 LEINT
+ 2656 BRANCHIF 2640
+ 2658 CONST0
+ 2659 RETURN 4
+ 2661 RESTART
+ 2662 GRAB 1
+ 2664 ACC1
+ 2665 VECTLENGTH
+ 2666 PUSHCONST0
+ 2667 PUSHACC1
+ 2668 EQ
+ 2669 BRANCHIFNOT 2674
+ 2671 ATOM0
+ 2672 RETURN 3
+ 2674 CONST0
+ 2675 PUSHACC3
+ 2676 C_CALL2 array_unsafe_get
+ 2678 PUSHACC2
+ 2679 APPLY1
+ 2680 PUSHACC1
+ 2681 C_CALL2 make_vect
+ 2683 PUSHCONST1
+ 2684 PUSHACC2
+ 2685 OFFSETINT -1
+ 2687 PUSH
+ 2688 BRANCH 2706
+ 2690 CHECK_SIGNALS
+ 2691 ACC1
+ 2692 PUSHACC6
+ 2693 C_CALL2 array_unsafe_get
+ 2695 PUSHACC5
+ 2696 APPLY1
+ 2697 PUSHACC2
+ 2698 PUSHACC4
+ 2699 C_CALL3 array_unsafe_set
+ 2701 ACC1
+ 2702 OFFSETINT 1
+ 2704 ASSIGN 1
+ 2706 ACC0
+ 2707 PUSHACC2
+ 2708 LEINT
+ 2709 BRANCHIF 2690
+ 2711 CONST0
+ 2712 POP 2
+ 2714 ACC0
+ 2715 RETURN 4
+ 2717 RESTART
+ 2718 GRAB 1
+ 2720 CONST0
+ 2721 PUSHACC2
+ 2722 VECTLENGTH
+ 2723 OFFSETINT -1
+ 2725 PUSH
+ 2726 BRANCH 2740
+ 2728 CHECK_SIGNALS
+ 2729 ACC1
+ 2730 PUSHACC4
+ 2731 C_CALL2 array_unsafe_get
+ 2733 PUSHACC3
+ 2734 APPLY1
+ 2735 ACC1
+ 2736 OFFSETINT 1
+ 2738 ASSIGN 1
+ 2740 ACC0
+ 2741 PUSHACC2
+ 2742 LEINT
+ 2743 BRANCHIF 2728
+ 2745 CONST0
+ 2746 RETURN 4
+ 2748 RESTART
+ 2749 GRAB 4
+ 2751 CONST0
+ 2752 PUSHACC5
+ 2753 LTINT
+ 2754 BRANCHIF 2782
+ 2756 CONST0
+ 2757 PUSHACC2
+ 2758 LTINT
+ 2759 BRANCHIF 2782
+ 2761 ACC0
+ 2762 VECTLENGTH
+ 2763 PUSHACC5
+ 2764 PUSHACC3
+ 2765 ADDINT
+ 2766 GTINT
+ 2767 BRANCHIF 2782
+ 2769 CONST0
+ 2770 PUSHACC4
+ 2771 LTINT
+ 2772 BRANCHIF 2782
+ 2774 ACC2
+ 2775 VECTLENGTH
+ 2776 PUSHACC5
+ 2777 PUSHACC5
+ 2778 ADDINT
+ 2779 GTINT
+ 2780 BRANCHIFNOT 2789
+ 2782 GETGLOBAL "Array.blit"
+ 2784 PUSHGETGLOBALFIELD Pervasives, 2
+ 2787 APPTERM1 6
+ 2789 ACC3
+ 2790 PUSHACC2
+ 2791 LTINT
+ 2792 BRANCHIFNOT 2827
+ 2794 ACC4
+ 2795 OFFSETINT -1
+ 2797 PUSHCONST0
+ 2798 PUSH
+ 2799 BRANCH 2819
+ 2801 CHECK_SIGNALS
+ 2802 ACC1
+ 2803 PUSHACC4
+ 2804 ADDINT
+ 2805 PUSHACC3
+ 2806 C_CALL2 array_unsafe_get
+ 2808 PUSHACC2
+ 2809 PUSHACC7
+ 2810 ADDINT
+ 2811 PUSHACC6
+ 2812 C_CALL3 array_unsafe_set
+ 2814 ACC1
+ 2815 OFFSETINT -1
+ 2817 ASSIGN 1
+ 2819 ACC0
+ 2820 PUSHACC2
+ 2821 GEINT
+ 2822 BRANCHIF 2801
+ 2824 CONST0
+ 2825 RETURN 7
+ 2827 CONST0
+ 2828 PUSHACC5
+ 2829 OFFSETINT -1
+ 2831 PUSH
+ 2832 BRANCH 2852
+ 2834 CHECK_SIGNALS
+ 2835 ACC1
+ 2836 PUSHACC4
+ 2837 ADDINT
+ 2838 PUSHACC3
+ 2839 C_CALL2 array_unsafe_get
+ 2841 PUSHACC2
+ 2842 PUSHACC7
+ 2843 ADDINT
+ 2844 PUSHACC6
+ 2845 C_CALL3 array_unsafe_set
+ 2847 ACC1
+ 2848 OFFSETINT 1
+ 2850 ASSIGN 1
+ 2852 ACC0
+ 2853 PUSHACC2
+ 2854 LEINT
+ 2855 BRANCHIF 2834
+ 2857 CONST0
+ 2858 RETURN 7
+ 2860 RESTART
+ 2861 GRAB 3
+ 2863 CONST0
+ 2864 PUSHACC2
+ 2865 LTINT
+ 2866 BRANCHIF 2881
+ 2868 CONST0
+ 2869 PUSHACC3
+ 2870 LTINT
+ 2871 BRANCHIF 2881
+ 2873 ACC0
+ 2874 VECTLENGTH
+ 2875 PUSHACC3
+ 2876 PUSHACC3
+ 2877 ADDINT
+ 2878 GTINT
+ 2879 BRANCHIFNOT 2888
+ 2881 GETGLOBAL "Array.fill"
+ 2883 PUSHGETGLOBALFIELD Pervasives, 2
+ 2886 APPTERM1 5
+ 2888 ACC1
+ 2889 PUSHACC3
+ 2890 PUSHACC3
+ 2891 ADDINT
+ 2892 OFFSETINT -1
+ 2894 PUSH
+ 2895 BRANCH 2908
+ 2897 CHECK_SIGNALS
+ 2898 ACC5
+ 2899 PUSHACC2
+ 2900 PUSHACC4
+ 2901 C_CALL3 array_unsafe_set
+ 2903 ACC1
+ 2904 OFFSETINT 1
+ 2906 ASSIGN 1
+ 2908 ACC0
+ 2909 PUSHACC2
+ 2910 LEINT
+ 2911 BRANCHIF 2897
+ 2913 CONST0
+ 2914 RETURN 6
+ 2916 RESTART
+ 2917 GRAB 2
+ 2919 CONST0
+ 2920 PUSHACC2
+ 2921 LTINT
+ 2922 BRANCHIF 2937
+ 2924 CONST0
+ 2925 PUSHACC3
+ 2926 LTINT
+ 2927 BRANCHIF 2937
+ 2929 ACC0
+ 2930 VECTLENGTH
+ 2931 PUSHACC3
+ 2932 PUSHACC3
+ 2933 ADDINT
+ 2934 GTINT
+ 2935 BRANCHIFNOT 2944
+ 2937 GETGLOBAL "Array.sub"
+ 2939 PUSHGETGLOBALFIELD Pervasives, 2
+ 2942 APPTERM1 4
+ 2944 CONST0
+ 2945 PUSHACC3
+ 2946 EQ
+ 2947 BRANCHIFNOT 2952
+ 2949 ATOM0
+ 2950 RETURN 3
+ 2952 ACC1
+ 2953 PUSHACC1
+ 2954 C_CALL2 array_unsafe_get
+ 2956 PUSHACC3
+ 2957 C_CALL2 make_vect
+ 2959 PUSHCONST1
+ 2960 PUSHACC4
+ 2961 OFFSETINT -1
+ 2963 PUSH
+ 2964 BRANCH 2982
+ 2966 CHECK_SIGNALS
+ 2967 ACC1
+ 2968 PUSHACC5
+ 2969 ADDINT
+ 2970 PUSHACC4
+ 2971 C_CALL2 array_unsafe_get
+ 2973 PUSHACC2
+ 2974 PUSHACC4
+ 2975 C_CALL3 array_unsafe_set
+ 2977 ACC1
+ 2978 OFFSETINT 1
+ 2980 ASSIGN 1
+ 2982 ACC0
+ 2983 PUSHACC2
+ 2984 LEINT
+ 2985 BRANCHIF 2966
+ 2987 CONST0
+ 2988 POP 2
+ 2990 ACC0
+ 2991 RETURN 4
+ 2993 ACC0
+ 2994 BRANCHIFNOT 3017
+ 2996 ACC0
+ 2997 GETFIELD0
+ 2998 PUSHCONST0
+ 2999 PUSHACC1
+ 3000 VECTLENGTH
+ 3001 GTINT
+ 3002 BRANCHIFNOT 3012
+ 3004 ENVACC2
+ 3005 PUSHCONST0
+ 3006 PUSHACC2
+ 3007 C_CALL2 array_unsafe_get
+ 3009 PUSHENVACC1
+ 3010 APPTERM2 4
+ 3012 ACC1
+ 3013 GETFIELD1
+ 3014 PUSHOFFSETCLOSURE0
+ 3015 APPTERM1 3
+ 3017 ATOM0
+ 3018 RETURN 1
+ 3020 ACC0
+ 3021 PUSHENVACC1
+ 3022 CLOSUREREC 2, 2993
+ 3026 ACC1
+ 3027 PUSHACC1
+ 3028 APPTERM1 3
+ 3030 CONST0
+ 3031 PUSHACC1
+ 3032 VECTLENGTH
+ 3033 OFFSETINT -1
+ 3035 PUSH
+ 3036 BRANCH 3056
+ 3038 CHECK_SIGNALS
+ 3039 ACC1
+ 3040 PUSHACC3
+ 3041 C_CALL2 array_unsafe_get
+ 3043 PUSHENVACC2
+ 3044 GETFIELD0
+ 3045 PUSHENVACC1
+ 3046 C_CALL3 array_unsafe_set
+ 3048 ENVACC2
+ 3049 OFFSETREF 1
+ 3051 ACC1
+ 3052 OFFSETINT 1
+ 3054 ASSIGN 1
+ 3056 ACC0
+ 3057 PUSHACC2
+ 3058 LEINT
+ 3059 BRANCHIF 3038
+ 3061 CONST0
+ 3062 RETURN 3
+ 3064 RESTART
+ 3065 GRAB 1
+ 3067 ACC1
+ 3068 VECTLENGTH
+ 3069 PUSHACC1
+ 3070 ADDINT
+ 3071 RETURN 2
+ 3073 RESTART
+ 3074 GRAB 1
+ 3076 ACC1
+ 3077 PUSHCONST0
+ 3078 PUSH
+ 3079 CLOSURE 0, 3065
+ 3082 PUSHGETGLOBALFIELD List, 12
+ 3085 APPLY3
+ 3086 PUSHACC1
+ 3087 PUSHACC1
+ 3088 C_CALL2 make_vect
+ 3090 PUSHCONST0
+ 3091 MAKEBLOCK1 0
+ 3093 PUSHACC4
+ 3094 PUSHACC1
+ 3095 PUSHACC3
+ 3096 CLOSURE 2, 3030
+ 3099 PUSHGETGLOBALFIELD List, 9
+ 3102 APPLY2
+ 3103 ACC1
+ 3104 RETURN 5
+ 3106 RESTART
+ 3107 GRAB 1
+ 3109 ACC0
+ 3110 VECTLENGTH
+ 3111 PUSHACC2
+ 3112 VECTLENGTH
+ 3113 PUSHCONST0
+ 3114 PUSHACC2
+ 3115 EQ
+ 3116 BRANCHIFNOT 3126
+ 3118 CONST0
+ 3119 PUSHACC1
+ 3120 EQ
+ 3121 BRANCHIFNOT 3126
+ 3123 ATOM0
+ 3124 RETURN 4
+ 3126 CONST0
+ 3127 PUSHCONST0
+ 3128 PUSHACC3
+ 3129 GTINT
+ 3130 BRANCHIFNOT 3135
+ 3132 ACC3
+ 3133 BRANCH 3136
+ 3135 ACC4
+ 3136 C_CALL2 array_unsafe_get
+ 3138 PUSHACC1
+ 3139 PUSHACC3
+ 3140 ADDINT
+ 3141 C_CALL2 make_vect
+ 3143 PUSHCONST0
+ 3144 PUSHACC3
+ 3145 OFFSETINT -1
+ 3147 PUSH
+ 3148 BRANCH 3164
+ 3150 CHECK_SIGNALS
+ 3151 ACC1
+ 3152 PUSHACC6
+ 3153 C_CALL2 array_unsafe_get
+ 3155 PUSHACC2
+ 3156 PUSHACC4
+ 3157 C_CALL3 array_unsafe_set
+ 3159 ACC1
+ 3160 OFFSETINT 1
+ 3162 ASSIGN 1
+ 3164 ACC0
+ 3165 PUSHACC2
+ 3166 LEINT
+ 3167 BRANCHIF 3150
+ 3169 CONST0
+ 3170 POP 2
+ 3172 CONST0
+ 3173 PUSHACC2
+ 3174 OFFSETINT -1
+ 3176 PUSH
+ 3177 BRANCH 3195
+ 3179 CHECK_SIGNALS
+ 3180 ACC1
+ 3181 PUSHACC7
+ 3182 C_CALL2 array_unsafe_get
+ 3184 PUSHACC5
+ 3185 PUSHACC3
+ 3186 ADDINT
+ 3187 PUSHACC4
+ 3188 C_CALL3 array_unsafe_set
+ 3190 ACC1
+ 3191 OFFSETINT 1
+ 3193 ASSIGN 1
+ 3195 ACC0
+ 3196 PUSHACC2
+ 3197 LEINT
+ 3198 BRANCHIF 3179
+ 3200 CONST0
+ 3201 POP 2
+ 3203 ACC0
+ 3204 RETURN 5
+ 3206 ACC0
+ 3207 VECTLENGTH
+ 3208 PUSHCONST0
+ 3209 PUSHACC1
+ 3210 EQ
+ 3211 BRANCHIFNOT 3216
+ 3213 ATOM0
+ 3214 RETURN 2
+ 3216 CONST0
+ 3217 PUSHACC2
+ 3218 C_CALL2 array_unsafe_get
+ 3220 PUSHACC1
+ 3221 C_CALL2 make_vect
+ 3223 PUSHCONST1
+ 3224 PUSHACC2
+ 3225 OFFSETINT -1
+ 3227 PUSH
+ 3228 BRANCH 3244
+ 3230 CHECK_SIGNALS
+ 3231 ACC1
+ 3232 PUSHACC5
+ 3233 C_CALL2 array_unsafe_get
+ 3235 PUSHACC2
+ 3236 PUSHACC4
+ 3237 C_CALL3 array_unsafe_set
+ 3239 ACC1
+ 3240 OFFSETINT 1
+ 3242 ASSIGN 1
+ 3244 ACC0
+ 3245 PUSHACC2
+ 3246 LEINT
+ 3247 BRANCHIF 3230
+ 3249 CONST0
+ 3250 POP 2
+ 3252 ACC0
+ 3253 RETURN 3
+ 3255 RESTART
+ 3256 GRAB 2
+ 3258 ATOM0
+ 3259 PUSHACC1
+ 3260 C_CALL2 make_vect
+ 3262 PUSHCONST0
+ 3263 PUSHACC2
+ 3264 OFFSETINT -1
+ 3266 PUSH
+ 3267 BRANCH 3282
+ 3269 CHECK_SIGNALS
+ 3270 ACC5
+ 3271 PUSHACC5
+ 3272 C_CALL2 make_vect
+ 3274 PUSHACC2
+ 3275 PUSHACC4
+ 3276 SETVECTITEM
+ 3277 ACC1
+ 3278 OFFSETINT 1
+ 3280 ASSIGN 1
+ 3282 ACC0
+ 3283 PUSHACC2
+ 3284 LEINT
+ 3285 BRANCHIF 3269
+ 3287 CONST0
+ 3288 POP 2
+ 3290 ACC0
+ 3291 RETURN 4
+ 3293 RESTART
+ 3294 GRAB 1
+ 3296 CONST0
+ 3297 PUSHACC1
+ 3298 EQ
+ 3299 BRANCHIFNOT 3304
+ 3301 ATOM0
+ 3302 RETURN 2
+ 3304 CONST0
+ 3305 PUSHACC2
+ 3306 APPLY1
+ 3307 PUSHACC1
+ 3308 C_CALL2 make_vect
+ 3310 PUSHCONST1
+ 3311 PUSHACC2
+ 3312 OFFSETINT -1
+ 3314 PUSH
+ 3315 BRANCH 3330
+ 3317 CHECK_SIGNALS
+ 3318 ACC1
+ 3319 PUSHACC5
+ 3320 APPLY1
+ 3321 PUSHACC2
+ 3322 PUSHACC4
+ 3323 C_CALL3 array_unsafe_set
+ 3325 ACC1
+ 3326 OFFSETINT 1
+ 3328 ASSIGN 1
+ 3330 ACC0
+ 3331 PUSHACC2
+ 3332 LEINT
+ 3333 BRANCHIF 3317
+ 3335 CONST0
+ 3336 POP 2
+ 3338 ACC0
+ 3339 RETURN 3
+ 3341 CLOSURE 0, 3294
+ 3344 PUSH
+ 3345 CLOSURE 0, 3256
+ 3348 PUSH
+ 3349 CLOSURE 0, 3206
+ 3352 PUSH
+ 3353 CLOSURE 0, 3107
+ 3356 PUSH
+ 3357 CLOSURE 0, 3074
+ 3360 PUSHACC0
+ 3361 CLOSURE 1, 3020
+ 3364 PUSH
+ 3365 CLOSURE 0, 2917
+ 3368 PUSH
+ 3369 CLOSURE 0, 2861
+ 3372 PUSH
+ 3373 CLOSURE 0, 2749
+ 3376 PUSH
+ 3377 CLOSURE 0, 2718
+ 3380 PUSH
+ 3381 CLOSURE 0, 2662
+ 3384 PUSH
+ 3385 CLOSURE 0, 2630
+ 3388 PUSH
+ 3389 CLOSURE 0, 2572
+ 3392 PUSH
+ 3393 CLOSURE 0, 2558
+ 3396 PUSH
+ 3397 CLOSURE 0, 2505
+ 3400 PUSH
+ 3401 CLOSURE 0, 2445
+ 3404 PUSH
+ 3405 CLOSURE 0, 2407
+ 3408 PUSHACC0
+ 3409 PUSHACC2
+ 3410 PUSHACC6
+ 3411 PUSHACC 8
+ 3413 PUSHACC 10
+ 3415 PUSHACC 12
+ 3417 PUSHACC 8
+ 3419 PUSHACC 10
+ 3421 PUSHACC 16
+ 3423 PUSHACC 18
+ 3425 PUSHACC 24
+ 3427 PUSHACC 21
+ 3429 PUSHACC 23
+ 3431 PUSHACC 26
+ 3433 PUSHACC 29
+ 3435 PUSHACC 30
+ 3437 PUSHACC 32
+ 3439 MAKEBLOCK 17, 0
+ 3442 POP 17
+ 3444 SETGLOBAL Array
+ 3446 BRANCH 3480
+ 3448 ENVACC1
+ 3449 MAKEBLOCK1 0
+ 3451 RAISE
+ 3452 ACC0
+ 3453 BRANCHIFNOT 3465
+ 3455 ENVACC3
+ 3456 CLOSURE 1, 3448
+ 3459 MAKEBLOCK1 0
+ 3461 PUSHENVACC2
+ 3462 PUSHENVACC1
+ 3463 APPTERM2 3
+ 3465 CONST0
+ 3466 PUSHENVACC2
+ 3467 PUSHENVACC1
+ 3468 APPTERM2 3
+ 3470 RESTART
+ 3471 GRAB 1
+ 3473 ACC1
+ 3474 PUSHACC1
+ 3475 C_CALL2 install_signal_handler
+ 3477 CONST0
+ 3478 RETURN 2
+ 3480 CONST0
+ 3481 C_CALL1 sys_get_argv
+ 3483 PUSHCONST0
+ 3484 C_CALL1 sys_get_config
+ 3486 PUSHACC0
+ 3487 GETFIELD1
+ 3488 PUSHACC0
+ 3489 OFFSETINT -10
+ 3491 PUSHCONST1
+ 3492 LSLINT
+ 3493 OFFSETINT -1
+ 3495 PUSHACC0
+ 3496 PUSHCONSTINT 8
+ 3498 PUSHACC3
+ 3499 DIVINT
+ 3500 MULINT
+ 3501 OFFSETINT -1
+ 3503 PUSHCONST0
+ 3504 MAKEBLOCK1 0
+ 3506 PUSH
+ 3507 CLOSURE 0, 3471
+ 3510 PUSHCONSTINT -1
+ 3512 PUSHCONSTINT -2
+ 3514 PUSHCONSTINT -3
+ 3516 PUSHCONSTINT -4
+ 3518 PUSHCONSTINT -5
+ 3520 PUSHCONSTINT -6
+ 3522 PUSHCONSTINT -7
+ 3524 PUSHCONSTINT -8
+ 3526 PUSHCONSTINT -9
+ 3528 PUSHCONSTINT -10
+ 3530 PUSHCONSTINT -11
+ 3532 PUSHCONSTINT -12
+ 3534 PUSHCONSTINT -13
+ 3536 PUSHCONSTINT -14
+ 3538 PUSHCONSTINT -15
+ 3540 PUSHCONSTINT -16
+ 3542 PUSHCONSTINT -17
+ 3544 PUSHCONSTINT -18
+ 3546 PUSHCONSTINT -19
+ 3548 PUSHCONSTINT -20
+ 3550 PUSHCONSTINT -21
+ 3552 PUSHGETGLOBAL "Sys.Break"
+ 3554 MAKEBLOCK1 0
+ 3556 PUSHACC0
+ 3557 PUSHACC 17
+ 3559 PUSHACC 24
+ 3561 CLOSURE 3, 3452
+ 3564 PUSHACC0
+ 3565 PUSHACC2
+ 3566 PUSHACC4
+ 3567 PUSHACC6
+ 3568 PUSHACC 8
+ 3570 PUSHACC 10
+ 3572 PUSHACC 12
+ 3574 PUSHACC 14
+ 3576 PUSHACC 16
+ 3578 PUSHACC 18
+ 3580 PUSHACC 20
+ 3582 PUSHACC 22
+ 3584 PUSHACC 24
+ 3586 PUSHACC 26
+ 3588 PUSHACC 28
+ 3590 PUSHACC 30
+ 3592 PUSHACC 32
+ 3594 PUSHACC 34
+ 3596 PUSHACC 36
+ 3598 PUSHACC 38
+ 3600 PUSHACC 40
+ 3602 PUSHACC 42
+ 3604 PUSHACC 44
+ 3606 PUSHACC 46
+ 3608 PUSHACC 50
+ 3610 PUSHACC 50
+ 3612 PUSHACC 53
+ 3614 PUSHACC 55
+ 3616 GETFIELD0
+ 3617 PUSHACC 52
+ 3619 PUSHACC 58
+ 3621 MAKEBLOCK 30, 0
+ 3624 POP 30
+ 3626 SETGLOBAL Sys
+ 3628 BRANCH 4510
+ 3630 RESTART
+ 3631 GRAB 1
+ 3633 CONST0
+ 3634 PUSHACC1
+ 3635 LTINT
+ 3636 BRANCHIFNOT 3641
+ 3638 CONST1
+ 3639 RETURN 2
+ 3641 ACC1
+ 3642 BRANCHIFNOT 3652
+ 3644 ACC1
+ 3645 GETFIELD2
+ 3646 PUSHACC1
+ 3647 OFFSETINT -1
+ 3649 PUSHOFFSETCLOSURE0
+ 3650 APPTERM2 4
+ 3652 RETURN 2
+ 3654 ACC0
+ 3655 BRANCHIFNOT 3670
+ 3657 ENVACC2
+ 3658 PUSHACC1
+ 3659 GETFIELD0
+ 3660 PUSHENVACC1
+ 3661 GETFIELD0
+ 3662 APPLY2
+ 3663 BRANCHIF 3670
+ 3665 ACC0
+ 3666 GETFIELD2
+ 3667 PUSHOFFSETCLOSURE0
+ 3668 APPTERM1 2
+ 3670 RETURN 1
+ 3672 RESTART
+ 3673 GRAB 1
+ 3675 ACC1
+ 3676 PUSHENVACC1
+ 3677 CLOSUREREC 2, 3654
+ 3681 ACC1
+ 3682 GETFIELD1
+ 3683 VECTLENGTH
+ 3684 PUSHACC3
+ 3685 PUSHENVACC1
+ 3686 GETFIELD1
+ 3687 APPLY1
+ 3688 MODINT
+ 3689 PUSHACC2
+ 3690 GETFIELD1
+ 3691 C_CALL2 array_get_addr
+ 3693 PUSHACC1
+ 3694 APPTERM1 4
+ 3696 ACC0
+ 3697 BRANCHIFNOT 3722
+ 3699 ACC0
+ 3700 GETFIELD2
+ 3701 PUSHENVACC2
+ 3702 PUSHACC2
+ 3703 GETFIELD0
+ 3704 PUSHENVACC1
+ 3705 GETFIELD0
+ 3706 APPLY2
+ 3707 BRANCHIFNOT 3718
+ 3709 ACC0
+ 3710 PUSHOFFSETCLOSURE0
+ 3711 APPLY1
+ 3712 PUSHACC2
+ 3713 GETFIELD1
+ 3714 MAKEBLOCK2 0
+ 3716 RETURN 2
+ 3718 ACC0
+ 3719 PUSHOFFSETCLOSURE0
+ 3720 APPTERM1 3
+ 3722 RETURN 1
+ 3724 RESTART
+ 3725 GRAB 1
+ 3727 ACC1
+ 3728 PUSHENVACC1
+ 3729 CLOSUREREC 2, 3696
+ 3733 ACC1
+ 3734 GETFIELD1
+ 3735 VECTLENGTH
+ 3736 PUSHACC3
+ 3737 PUSHENVACC1
+ 3738 GETFIELD1
+ 3739 APPLY1
+ 3740 MODINT
+ 3741 PUSHACC2
+ 3742 GETFIELD1
+ 3743 C_CALL2 array_get_addr
+ 3745 PUSHACC1
+ 3746 APPTERM1 4
+ 3748 ACC0
+ 3749 BRANCHIFNOT 3768
+ 3751 ACC0
+ 3752 GETFIELD0
+ 3753 PUSHENVACC2
+ 3754 PUSHENVACC1
+ 3755 GETFIELD0
+ 3756 APPLY2
+ 3757 BRANCHIFNOT 3763
+ 3759 ACC0
+ 3760 GETFIELD1
+ 3761 RETURN 1
+ 3763 ACC0
+ 3764 GETFIELD2
+ 3765 PUSHOFFSETCLOSURE0
+ 3766 APPTERM1 2
+ 3768 GETGLOBAL Not_found
+ 3770 MAKEBLOCK1 0
+ 3772 RAISE
+ 3773 RESTART
+ 3774 GRAB 1
+ 3776 ACC0
+ 3777 GETFIELD1
+ 3778 VECTLENGTH
+ 3779 PUSHACC2
+ 3780 PUSHENVACC1
+ 3781 GETFIELD1
+ 3782 APPLY1
+ 3783 MODINT
+ 3784 PUSHACC1
+ 3785 GETFIELD1
+ 3786 C_CALL2 array_get_addr
+ 3788 PUSHACC0
+ 3789 BRANCHIFNOT 3858
+ 3791 ACC0
+ 3792 GETFIELD2
+ 3793 PUSHACC1
+ 3794 GETFIELD0
+ 3795 PUSHACC4
+ 3796 PUSHENVACC1
+ 3797 GETFIELD0
+ 3798 APPLY2
+ 3799 BRANCHIFNOT 3805
+ 3801 ACC1
+ 3802 GETFIELD1
+ 3803 RETURN 4
+ 3805 ACC0
+ 3806 BRANCHIFNOT 3853
+ 3808 ACC0
+ 3809 GETFIELD2
+ 3810 PUSHACC1
+ 3811 GETFIELD0
+ 3812 PUSHACC5
+ 3813 PUSHENVACC1
+ 3814 GETFIELD0
+ 3815 APPLY2
+ 3816 BRANCHIFNOT 3822
+ 3818 ACC1
+ 3819 GETFIELD1
+ 3820 RETURN 5
+ 3822 ACC0
+ 3823 BRANCHIFNOT 3848
+ 3825 ACC0
+ 3826 GETFIELD0
+ 3827 PUSHACC5
+ 3828 PUSHENVACC1
+ 3829 GETFIELD0
+ 3830 APPLY2
+ 3831 BRANCHIFNOT 3837
+ 3833 ACC0
+ 3834 GETFIELD1
+ 3835 RETURN 5
+ 3837 ACC4
+ 3838 PUSHENVACC1
+ 3839 CLOSUREREC 2, 3748
+ 3843 ACC1
+ 3844 GETFIELD2
+ 3845 PUSHACC1
+ 3846 APPTERM1 7
+ 3848 GETGLOBAL Not_found
+ 3850 MAKEBLOCK1 0
+ 3852 RAISE
+ 3853 GETGLOBAL Not_found
+ 3855 MAKEBLOCK1 0
+ 3857 RAISE
+ 3858 GETGLOBAL Not_found
+ 3860 MAKEBLOCK1 0
+ 3862 RAISE
+ 3863 ACC0
+ 3864 BRANCHIFNOT 3890
+ 3866 ACC0
+ 3867 GETFIELD0
+ 3868 PUSHACC1
+ 3869 GETFIELD2
+ 3870 PUSHENVACC2
+ 3871 PUSHACC2
+ 3872 PUSHENVACC1
+ 3873 GETFIELD0
+ 3874 APPLY2
+ 3875 BRANCHIFNOT 3880
+ 3877 ACC0
+ 3878 RETURN 3
+ 3880 ACC0
+ 3881 PUSHOFFSETCLOSURE0
+ 3882 APPLY1
+ 3883 PUSHACC3
+ 3884 GETFIELD1
+ 3885 PUSHACC3
+ 3886 MAKEBLOCK3 0
+ 3888 POP 2
+ 3890 RETURN 1
+ 3892 RESTART
+ 3893 GRAB 1
+ 3895 ACC1
+ 3896 PUSHENVACC1
+ 3897 CLOSUREREC 2, 3863
+ 3901 ACC1
+ 3902 GETFIELD1
+ 3903 VECTLENGTH
+ 3904 PUSHACC3
+ 3905 PUSHENVACC1
+ 3906 GETFIELD1
+ 3907 APPLY1
+ 3908 MODINT
+ 3909 PUSHACC0
+ 3910 PUSHACC3
+ 3911 GETFIELD1
+ 3912 C_CALL2 array_get_addr
+ 3914 PUSHACC2
+ 3915 APPLY1
+ 3916 PUSHACC1
+ 3917 PUSHACC4
+ 3918 GETFIELD1
+ 3919 C_CALL3 array_set_addr
+ 3921 RETURN 4
+ 3923 RESTART
+ 3924 GRAB 2
+ 3926 ACC0
+ 3927 GETFIELD1
+ 3928 VECTLENGTH
+ 3929 PUSHACC2
+ 3930 PUSHENVACC3
+ 3931 GETFIELD1
+ 3932 APPLY1
+ 3933 MODINT
+ 3934 PUSHACC0
+ 3935 PUSHACC2
+ 3936 GETFIELD1
+ 3937 C_CALL2 array_get_addr
+ 3939 PUSHACC4
+ 3940 PUSHACC4
+ 3941 MAKEBLOCK3 0
+ 3943 PUSHACC0
+ 3944 PUSHACC2
+ 3945 PUSHACC4
+ 3946 GETFIELD1
+ 3947 C_CALL3 array_set_addr
+ 3949 ACC0
+ 3950 PUSHACC3
+ 3951 GETFIELD0
+ 3952 PUSHENVACC2
+ 3953 APPLY2
+ 3954 BRANCHIFNOT 3962
+ 3956 ACC2
+ 3957 PUSHENVACC3
+ 3958 GETFIELD1
+ 3959 PUSHENVACC1
+ 3960 APPTERM2 7
+ 3962 RETURN 5
+ 3964 ACC0
+ 3965 PUSHENVACC 4
+ 3967 PUSHENVACC3
+ 3968 CLOSURE 3, 3924
+ 3971 PUSHACC1
+ 3972 CLOSURE 1, 3893
+ 3975 PUSHACC2
+ 3976 CLOSURE 1, 3774
+ 3979 PUSHACC3
+ 3980 CLOSURE 1, 3725
+ 3983 PUSHACC4
+ 3984 CLOSURE 1, 3673
+ 3987 PUSHENVACC 5
+ 3989 PUSHACC1
+ 3990 PUSHACC3
+ 3991 PUSHACC5
+ 3992 PUSHACC7
+ 3993 PUSHACC 9
+ 3995 PUSHENVACC2
+ 3996 PUSHENVACC1
+ 3997 MAKEBLOCK 8, 0
+ 4000 RETURN 6
+ 4002 ACC0
+ 4003 BRANCHIFNOT 4016
+ 4005 ACC0
+ 4006 GETFIELD1
+ 4007 PUSHACC1
+ 4008 GETFIELD0
+ 4009 PUSHENVACC1
+ 4010 APPLY2
+ 4011 ACC0
+ 4012 GETFIELD2
+ 4013 PUSHOFFSETCLOSURE0
+ 4014 APPTERM1 2
+ 4016 RETURN 1
+ 4018 RESTART
+ 4019 GRAB 1
+ 4021 ACC0
+ 4022 CLOSUREREC 1, 4002
+ 4026 ACC2
+ 4027 GETFIELD1
+ 4028 PUSHCONST0
+ 4029 PUSHACC1
+ 4030 VECTLENGTH
+ 4031 OFFSETINT -1
+ 4033 PUSH
+ 4034 BRANCH 4048
+ 4036 CHECK_SIGNALS
+ 4037 ACC1
+ 4038 PUSHACC3
+ 4039 C_CALL2 array_get_addr
+ 4041 PUSHACC4
+ 4042 APPLY1
+ 4043 ACC1
+ 4044 OFFSETINT 1
+ 4046 ASSIGN 1
+ 4048 ACC0
+ 4049 PUSHACC2
+ 4050 LEINT
+ 4051 BRANCHIF 4036
+ 4053 CONST0
+ 4054 RETURN 6
+ 4056 ACC0
+ 4057 BRANCHIFNOT 4071
+ 4059 ENVACC1
+ 4060 PUSHACC1
+ 4061 GETFIELD0
+ 4062 C_CALL2 equal
+ 4064 BRANCHIF 4071
+ 4066 ACC0
+ 4067 GETFIELD2
+ 4068 PUSHOFFSETCLOSURE0
+ 4069 APPTERM1 2
+ 4071 RETURN 1
+ 4073 RESTART
+ 4074 GRAB 1
+ 4076 ACC1
+ 4077 CLOSUREREC 1, 4056
+ 4081 ACC1
+ 4082 GETFIELD1
+ 4083 VECTLENGTH
+ 4084 PUSHACC3
+ 4085 PUSHENVACC1
+ 4086 APPLY1
+ 4087 MODINT
+ 4088 PUSHACC2
+ 4089 GETFIELD1
+ 4090 C_CALL2 array_get_addr
+ 4092 PUSHACC1
+ 4093 APPTERM1 4
+ 4095 ACC0
+ 4096 BRANCHIFNOT 4120
+ 4098 ACC0
+ 4099 GETFIELD2
+ 4100 PUSHENVACC1
+ 4101 PUSHACC2
+ 4102 GETFIELD0
+ 4103 C_CALL2 equal
+ 4105 BRANCHIFNOT 4116
+ 4107 ACC0
+ 4108 PUSHOFFSETCLOSURE0
+ 4109 APPLY1
+ 4110 PUSHACC2
+ 4111 GETFIELD1
+ 4112 MAKEBLOCK2 0
+ 4114 RETURN 2
+ 4116 ACC0
+ 4117 PUSHOFFSETCLOSURE0
+ 4118 APPTERM1 3
+ 4120 RETURN 1
+ 4122 RESTART
+ 4123 GRAB 1
+ 4125 ACC1
+ 4126 CLOSUREREC 1, 4095
+ 4130 ACC1
+ 4131 GETFIELD1
+ 4132 VECTLENGTH
+ 4133 PUSHACC3
+ 4134 PUSHENVACC1
+ 4135 APPLY1
+ 4136 MODINT
+ 4137 PUSHACC2
+ 4138 GETFIELD1
+ 4139 C_CALL2 array_get_addr
+ 4141 PUSHACC1
+ 4142 APPTERM1 4
+ 4144 ACC0
+ 4145 BRANCHIFNOT 4163
+ 4147 ACC0
+ 4148 GETFIELD0
+ 4149 PUSHENVACC1
+ 4150 C_CALL2 equal
+ 4152 BRANCHIFNOT 4158
+ 4154 ACC0
+ 4155 GETFIELD1
+ 4156 RETURN 1
+ 4158 ACC0
+ 4159 GETFIELD2
+ 4160 PUSHOFFSETCLOSURE0
+ 4161 APPTERM1 2
+ 4163 GETGLOBAL Not_found
+ 4165 MAKEBLOCK1 0
+ 4167 RAISE
+ 4168 RESTART
+ 4169 GRAB 1
+ 4171 ACC0
+ 4172 GETFIELD1
+ 4173 VECTLENGTH
+ 4174 PUSHACC2
+ 4175 PUSHENVACC1
+ 4176 APPLY1
+ 4177 MODINT
+ 4178 PUSHACC1
+ 4179 GETFIELD1
+ 4180 C_CALL2 array_get_addr
+ 4182 PUSHACC0
+ 4183 BRANCHIFNOT 4248
+ 4185 ACC0
+ 4186 GETFIELD2
+ 4187 PUSHACC1
+ 4188 GETFIELD0
+ 4189 PUSHACC4
+ 4190 C_CALL2 equal
+ 4192 BRANCHIFNOT 4198
+ 4194 ACC1
+ 4195 GETFIELD1
+ 4196 RETURN 4
+ 4198 ACC0
+ 4199 BRANCHIFNOT 4243
+ 4201 ACC0
+ 4202 GETFIELD2
+ 4203 PUSHACC1
+ 4204 GETFIELD0
+ 4205 PUSHACC5
+ 4206 C_CALL2 equal
+ 4208 BRANCHIFNOT 4214
+ 4210 ACC1
+ 4211 GETFIELD1
+ 4212 RETURN 5
+ 4214 ACC0
+ 4215 BRANCHIFNOT 4238
+ 4217 ACC0
+ 4218 GETFIELD0
+ 4219 PUSHACC5
+ 4220 C_CALL2 equal
+ 4222 BRANCHIFNOT 4228
+ 4224 ACC0
+ 4225 GETFIELD1
+ 4226 RETURN 5
+ 4228 ACC4
+ 4229 CLOSUREREC 1, 4144
+ 4233 ACC1
+ 4234 GETFIELD2
+ 4235 PUSHACC1
+ 4236 APPTERM1 7
+ 4238 GETGLOBAL Not_found
+ 4240 MAKEBLOCK1 0
+ 4242 RAISE
+ 4243 GETGLOBAL Not_found
+ 4245 MAKEBLOCK1 0
+ 4247 RAISE
+ 4248 GETGLOBAL Not_found
+ 4250 MAKEBLOCK1 0
+ 4252 RAISE
+ 4253 ACC0
+ 4254 BRANCHIFNOT 4279
+ 4256 ACC0
+ 4257 GETFIELD0
+ 4258 PUSHACC1
+ 4259 GETFIELD2
+ 4260 PUSHENVACC1
+ 4261 PUSHACC2
+ 4262 C_CALL2 equal
+ 4264 BRANCHIFNOT 4269
+ 4266 ACC0
+ 4267 RETURN 3
+ 4269 ACC0
+ 4270 PUSHOFFSETCLOSURE0
+ 4271 APPLY1
+ 4272 PUSHACC3
+ 4273 GETFIELD1
+ 4274 PUSHACC3
+ 4275 MAKEBLOCK3 0
+ 4277 POP 2
+ 4279 RETURN 1
+ 4281 RESTART
+ 4282 GRAB 1
+ 4284 ACC1
+ 4285 CLOSUREREC 1, 4253
+ 4289 ACC1
+ 4290 GETFIELD1
+ 4291 VECTLENGTH
+ 4292 PUSHACC3
+ 4293 PUSHENVACC1
+ 4294 APPLY1
+ 4295 MODINT
+ 4296 PUSHACC0
+ 4297 PUSHACC3
+ 4298 GETFIELD1
+ 4299 C_CALL2 array_get_addr
+ 4301 PUSHACC2
+ 4302 APPLY1
+ 4303 PUSHACC1
+ 4304 PUSHACC4
+ 4305 GETFIELD1
+ 4306 C_CALL3 array_set_addr
+ 4308 RETURN 4
+ 4310 RESTART
+ 4311 GRAB 2
+ 4313 ACC0
+ 4314 GETFIELD1
+ 4315 VECTLENGTH
+ 4316 PUSHACC2
+ 4317 PUSHENVACC1
+ 4318 APPLY1
+ 4319 MODINT
+ 4320 PUSHACC0
+ 4321 PUSHACC2
+ 4322 GETFIELD1
+ 4323 C_CALL2 array_get_addr
+ 4325 PUSHACC4
+ 4326 PUSHACC4
+ 4327 MAKEBLOCK3 0
+ 4329 PUSHACC0
+ 4330 PUSHACC2
+ 4331 PUSHACC4
+ 4332 GETFIELD1
+ 4333 C_CALL3 array_set_addr
+ 4335 ACC0
+ 4336 PUSHACC3
+ 4337 GETFIELD0
+ 4338 PUSHENVACC3
+ 4339 APPLY2
+ 4340 BRANCHIFNOT 4347
+ 4342 ACC2
+ 4343 PUSHENVACC1
+ 4344 PUSHENVACC2
+ 4345 APPTERM2 7
+ 4347 RETURN 5
+ 4349 ACC0
+ 4350 BRANCHIFNOT 4378
+ 4352 ACC0
+ 4353 GETFIELD0
+ 4354 PUSHACC1
+ 4355 GETFIELD2
+ 4356 PUSHOFFSETCLOSURE0
+ 4357 APPLY1
+ 4358 ENVACC2
+ 4359 PUSHACC1
+ 4360 PUSHENVACC1
+ 4361 APPLY1
+ 4362 MODINT
+ 4363 PUSHACC0
+ 4364 PUSHENVACC3
+ 4365 C_CALL2 array_get_addr
+ 4367 PUSHACC3
+ 4368 GETFIELD1
+ 4369 PUSHACC3
+ 4370 MAKEBLOCK3 0
+ 4372 PUSHACC1
+ 4373 PUSHENVACC3
+ 4374 C_CALL3 array_set_addr
+ 4376 POP 2
+ 4378 RETURN 1
+ 4380 RESTART
+ 4381 GRAB 1
+ 4383 ACC1
+ 4384 GETFIELD1
+ 4385 PUSHACC0
+ 4386 VECTLENGTH
+ 4387 PUSHACC0
+ 4388 PUSHCONST2
+ 4389 MULINT
+ 4390 OFFSETINT 1
+ 4392 PUSHCONST0
+ 4393 PUSHACC1
+ 4394 C_CALL2 make_vect
+ 4396 PUSHACC0
+ 4397 PUSHACC2
+ 4398 PUSHACC6
+ 4399 CLOSUREREC 3, 4349
+ 4403 CONST0
+ 4404 PUSHACC4
+ 4405 OFFSETINT -1
+ 4407 PUSH
+ 4408 BRANCH 4422
+ 4410 CHECK_SIGNALS
+ 4411 ACC1
+ 4412 PUSHACC7
+ 4413 C_CALL2 array_get_addr
+ 4415 PUSHACC3
+ 4416 APPLY1
+ 4417 ACC1
+ 4418 OFFSETINT 1
+ 4420 ASSIGN 1
+ 4422 ACC0
+ 4423 PUSHACC2
+ 4424 LEINT
+ 4425 BRANCHIF 4410
+ 4427 CONST0
+ 4428 POP 2
+ 4430 ACC1
+ 4431 PUSHACC7
+ 4432 SETFIELD1
+ 4433 ACC6
+ 4434 GETFIELD0
+ 4435 PUSHCONST2
+ 4436 MULINT
+ 4437 PUSHACC7
+ 4438 SETFIELD0
+ 4439 RETURN 7
+ 4441 CONST0
+ 4442 PUSHACC1
+ 4443 GETFIELD1
+ 4444 VECTLENGTH
+ 4445 OFFSETINT -1
+ 4447 PUSH
+ 4448 BRANCH 4462
+ 4450 CHECK_SIGNALS
+ 4451 CONST0
+ 4452 PUSHACC2
+ 4453 PUSHACC4
+ 4454 GETFIELD1
+ 4455 C_CALL3 array_set_addr
+ 4457 ACC1
+ 4458 OFFSETINT 1
+ 4460 ASSIGN 1
+ 4462 ACC0
+ 4463 PUSHACC2
+ 4464 LEINT
+ 4465 BRANCHIF 4450
+ 4467 CONST0
+ 4468 RETURN 3
+ 4470 CONST1
+ 4471 PUSHACC1
+ 4472 LTINT
+ 4473 BRANCHIFNOT 4478
+ 4475 CONST1
+ 4476 BRANCH 4479
+ 4478 ACC0
+ 4479 PUSHGETGLOBALFIELD Sys, 5
+ 4482 PUSHACC1
+ 4483 GTINT
+ 4484 BRANCHIFNOT 4491
+ 4486 GETGLOBALFIELD Sys, 5
+ 4489 BRANCH 4492
+ 4491 ACC0
+ 4492 PUSHCONST0
+ 4493 PUSHACC1
+ 4494 C_CALL2 make_vect
+ 4496 PUSHCONST3
+ 4497 MAKEBLOCK2 0
+ 4499 RETURN 3
+ 4501 ACC0
+ 4502 PUSHCONSTINT 100
+ 4504 PUSHCONSTINT 10
+ 4506 C_CALL3 hash_univ_param
+ 4508 RETURN 1
+ 4510 CLOSURE 0, 4501
+ 4513 PUSH
+ 4514 CLOSURE 0, 4470
+ 4517 PUSH
+ 4518 CLOSURE 0, 4441
+ 4521 PUSH
+ 4522 CLOSURE 0, 4381
+ 4525 PUSH
+ 4526 CLOSUREREC 0, 3631
+ 4530 ACC0
+ 4531 PUSHACC2
+ 4532 PUSHACC6
+ 4533 CLOSURE 3, 4311
+ 4536 PUSHACC5
+ 4537 CLOSURE 1, 4282
+ 4540 PUSHACC6
+ 4541 CLOSURE 1, 4169
+ 4544 PUSHACC7
+ 4545 CLOSURE 1, 4123
+ 4548 PUSHACC 8
+ 4550 CLOSURE 1, 4074
+ 4553 PUSH
+ 4554 CLOSURE 0, 4019
+ 4557 PUSHACC0
+ 4558 PUSHACC7
+ 4559 PUSHACC 9
+ 4561 PUSHACC 11
+ 4563 PUSHACC 13
+ 4565 CLOSURE 5, 3964
+ 4568 PUSHACC 11
+ 4570 PUSHACC1
+ 4571 PUSHACC3
+ 4572 PUSHACC 8
+ 4574 PUSHACC6
+ 4575 PUSHACC 8
+ 4577 PUSHACC 10
+ 4579 PUSHACC 13
+ 4581 PUSHACC 17
+ 4583 PUSHACC 19
+ 4585 MAKEBLOCK 10, 0
+ 4588 POP 12
+ 4590 SETGLOBAL Hashtbl
+ 4592 BRANCH 5073
+ 4594 RESTART
+ 4595 GRAB 2
+ 4597 ACC1
+ 4598 BRANCHIFNOT 4638
+ 4600 ACC1
+ 4601 GETFIELD0
+ 4602 PUSHACC3
+ 4603 BRANCHIFNOT 4635
+ 4605 ACC3
+ 4606 GETFIELD0
+ 4607 PUSHACC0
+ 4608 PUSHACC2
+ 4609 PUSHACC4
+ 4610 APPLY2
+ 4611 BRANCHIFNOT 4624
+ 4613 ACC4
+ 4614 PUSHACC4
+ 4615 GETFIELD1
+ 4616 PUSHACC4
+ 4617 PUSHOFFSETCLOSURE0
+ 4618 APPLY3
+ 4619 PUSHACC2
+ 4620 MAKEBLOCK2 0
+ 4622 RETURN 5
+ 4624 ACC4
+ 4625 GETFIELD1
+ 4626 PUSHACC4
+ 4627 PUSHACC4
+ 4628 PUSHOFFSETCLOSURE0
+ 4629 APPLY3
+ 4630 PUSHACC1
+ 4631 MAKEBLOCK2 0
+ 4633 RETURN 5
+ 4635 ACC2
+ 4636 RETURN 4
+ 4638 ACC2
+ 4639 RETURN 3
+ 4641 RESTART
+ 4642 GRAB 1
+ 4644 CONSTINT 6
+ 4646 PUSHACC1
+ 4647 PUSHACC3
+ 4648 SUBINT
+ 4649 GEINT
+ 4650 BRANCHIFNOT 4809
+ 4652 CONST1
+ 4653 PUSHACC2
+ 4654 PUSHACC2
+ 4655 ADDINT
+ 4656 LSRINT
+ 4657 PUSHACC1
+ 4658 PUSHENVACC3
+ 4659 C_CALL2 array_unsafe_get
+ 4661 PUSHACC1
+ 4662 PUSHENVACC3
+ 4663 C_CALL2 array_unsafe_get
+ 4665 PUSHENVACC2
+ 4666 APPLY2
+ 4667 BRANCHIFNOT 4674
+ 4669 ACC1
+ 4670 PUSHACC1
+ 4671 PUSHENVACC3
+ 4672 PUSHENVACC1
+ 4673 APPLY3
+ 4674 ACC0
+ 4675 PUSHENVACC3
+ 4676 C_CALL2 array_unsafe_get
+ 4678 PUSHACC3
+ 4679 PUSHENVACC3
+ 4680 C_CALL2 array_unsafe_get
+ 4682 PUSHENVACC2
+ 4683 APPLY2
+ 4684 BRANCHIFNOT 4708
+ 4686 ACC2
+ 4687 PUSHACC1
+ 4688 PUSHENVACC3
+ 4689 PUSHENVACC1
+ 4690 APPLY3
+ 4691 ACC1
+ 4692 PUSHENVACC3
+ 4693 C_CALL2 array_unsafe_get
+ 4695 PUSHACC1
+ 4696 PUSHENVACC3
+ 4697 C_CALL2 array_unsafe_get
+ 4699 PUSHENVACC2
+ 4700 APPLY2
+ 4701 BRANCHIFNOT 4708
+ 4703 ACC1
+ 4704 PUSHACC1
+ 4705 PUSHENVACC3
+ 4706 PUSHENVACC1
+ 4707 APPLY3
+ 4708 ACC0
+ 4709 PUSHENVACC3
+ 4710 C_CALL2 array_unsafe_get
+ 4712 PUSHACC2
+ 4713 OFFSETINT 1
+ 4715 PUSHACC4
+ 4716 OFFSETINT -1
+ 4718 PUSH
+ 4719 BRANCH 4777
+ 4721 CHECK_SIGNALS
+ 4722 BRANCH 4730
+ 4724 CHECK_SIGNALS
+ 4725 ACC1
+ 4726 OFFSETINT 1
+ 4728 ASSIGN 1
+ 4730 ACC1
+ 4731 PUSHENVACC3
+ 4732 C_CALL2 array_unsafe_get
+ 4734 PUSHACC3
+ 4735 PUSHENVACC2
+ 4736 APPLY2
+ 4737 BRANCHIFNOT 4724
+ 4739 CONST0
+ 4740 BRANCH 4748
+ 4742 CHECK_SIGNALS
+ 4743 ACC0
+ 4744 OFFSETINT -1
+ 4746 ASSIGN 0
+ 4748 ACC2
+ 4749 PUSHACC1
+ 4750 PUSHENVACC3
+ 4751 C_CALL2 array_unsafe_get
+ 4753 PUSHENVACC2
+ 4754 APPLY2
+ 4755 BRANCHIFNOT 4742
+ 4757 ACC0
+ 4758 PUSHACC2
+ 4759 LTINT
+ 4760 BRANCHIFNOT 4767
+ 4762 ACC0
+ 4763 PUSHACC2
+ 4764 PUSHENVACC3
+ 4765 PUSHENVACC1
+ 4766 APPLY3
+ 4767 ACC1
+ 4768 OFFSETINT 1
+ 4770 ASSIGN 1
+ 4772 ACC0
+ 4773 OFFSETINT -1
+ 4775 ASSIGN 0
+ 4777 ACC0
+ 4778 PUSHACC2
+ 4779 LTINT
+ 4780 BRANCHIF 4721
+ 4782 ACC1
+ 4783 PUSHACC6
+ 4784 SUBINT
+ 4785 PUSHACC5
+ 4786 PUSHACC2
+ 4787 SUBINT
+ 4788 LEINT
+ 4789 BRANCHIFNOT 4800
+ 4791 ACC0
+ 4792 PUSHACC5
+ 4793 PUSHOFFSETCLOSURE0
+ 4794 APPLY2
+ 4795 ACC5
+ 4796 PUSHACC2
+ 4797 PUSHOFFSETCLOSURE0
+ 4798 APPTERM2 8
+ 4800 ACC5
+ 4801 PUSHACC2
+ 4802 PUSHOFFSETCLOSURE0
+ 4803 APPLY2
+ 4804 ACC0
+ 4805 PUSHACC5
+ 4806 PUSHOFFSETCLOSURE0
+ 4807 APPTERM2 8
+ 4809 RETURN 2
+ 4811 RESTART
+ 4812 GRAB 1
+ 4814 ACC1
+ 4815 PUSHACC1
+ 4816 PUSHENVACC1
+ 4817 CLOSUREREC 3, 4642
+ 4821 ACC2
+ 4822 VECTLENGTH
+ 4823 OFFSETINT -1
+ 4825 PUSHCONST0
+ 4826 PUSHACC2
+ 4827 APPLY2
+ 4828 CONST1
+ 4829 PUSHACC3
+ 4830 VECTLENGTH
+ 4831 OFFSETINT -1
+ 4833 PUSH
+ 4834 BRANCH 4918
+ 4836 CHECK_SIGNALS
+ 4837 ACC1
+ 4838 PUSHACC5
+ 4839 C_CALL2 array_unsafe_get
+ 4841 PUSHACC0
+ 4842 PUSHACC3
+ 4843 OFFSETINT -1
+ 4845 PUSHACC7
+ 4846 C_CALL2 array_unsafe_get
+ 4848 PUSHACC6
+ 4849 APPLY2
+ 4850 BOOLNOT
+ 4851 BRANCHIFNOT 4911
+ 4853 ACC2
+ 4854 OFFSETINT -1
+ 4856 PUSHACC6
+ 4857 C_CALL2 array_unsafe_get
+ 4859 PUSHACC3
+ 4860 PUSHACC7
+ 4861 C_CALL3 array_unsafe_set
+ 4863 ACC2
+ 4864 OFFSETINT -1
+ 4866 PUSH
+ 4867 BRANCH 4886
+ 4869 CHECK_SIGNALS
+ 4870 ACC0
+ 4871 OFFSETINT -1
+ 4873 PUSHACC7
+ 4874 C_CALL2 array_unsafe_get
+ 4876 PUSHACC1
+ 4877 PUSHACC 8
+ 4879 C_CALL3 array_unsafe_set
+ 4881 ACC0
+ 4882 OFFSETINT -1
+ 4884 ASSIGN 0
+ 4886 CONST1
+ 4887 PUSHACC1
+ 4888 GEINT
+ 4889 BRANCHIFNOT 4903
+ 4891 ACC1
+ 4892 PUSHACC1
+ 4893 OFFSETINT -1
+ 4895 PUSHACC 8
+ 4897 C_CALL2 array_unsafe_get
+ 4899 PUSHACC7
+ 4900 APPLY2
+ 4901 BRANCHIFNOT 4869
+ 4903 ACC1
+ 4904 PUSHACC1
+ 4905 PUSHACC 8
+ 4907 C_CALL3 array_unsafe_set
+ 4909 POP 1
+ 4911 POP 1
+ 4913 ACC1
+ 4914 OFFSETINT 1
+ 4916 ASSIGN 1
+ 4918 ACC0
+ 4919 PUSHACC2
+ 4920 LEINT
+ 4921 BRANCHIF 4836
+ 4923 CONST0
+ 4924 RETURN 5
+ 4926 RESTART
+ 4927 GRAB 2
+ 4929 ACC1
+ 4930 PUSHACC1
+ 4931 C_CALL2 array_unsafe_get
+ 4933 PUSHACC3
+ 4934 PUSHACC2
+ 4935 C_CALL2 array_unsafe_get
+ 4937 PUSHACC3
+ 4938 PUSHACC3
+ 4939 C_CALL3 array_unsafe_set
+ 4941 ACC0
+ 4942 PUSHACC4
+ 4943 PUSHACC3
+ 4944 C_CALL3 array_unsafe_set
+ 4946 RETURN 4
+ 4948 ACC0
+ 4949 BRANCHIFNOT 4999
+ 4951 ACC0
+ 4952 GETFIELD0
+ 4953 PUSHACC1
+ 4954 GETFIELD1
+ 4955 PUSHACC0
+ 4956 BRANCHIFNOT 4990
+ 4958 ACC0
+ 4959 GETFIELD0
+ 4960 PUSHACC1
+ 4961 GETFIELD1
+ 4962 PUSHOFFSETCLOSURE0
+ 4963 APPLY1
+ 4964 PUSHACC1
+ 4965 PUSHACC4
+ 4966 PUSHENVACC1
+ 4967 APPLY2
+ 4968 BRANCHIFNOT 4979
+ 4970 CONST0
+ 4971 PUSHACC2
+ 4972 MAKEBLOCK2 0
+ 4974 PUSHACC4
+ 4975 MAKEBLOCK2 0
+ 4977 BRANCH 4986
+ 4979 CONST0
+ 4980 PUSHACC4
+ 4981 MAKEBLOCK2 0
+ 4983 PUSHACC2
+ 4984 MAKEBLOCK2 0
+ 4986 MAKEBLOCK2 0
+ 4988 RETURN 4
+ 4990 CONST0
+ 4991 PUSHCONST0
+ 4992 PUSHACC3
+ 4993 MAKEBLOCK2 0
+ 4995 MAKEBLOCK2 0
+ 4997 POP 2
+ 4999 RETURN 1
+ 5001 ACC0
+ 5002 BRANCHIFNOT 5028
+ 5004 ACC0
+ 5005 GETFIELD1
+ 5006 PUSHACC0
+ 5007 BRANCHIFNOT 5024
+ 5009 ACC0
+ 5010 GETFIELD1
+ 5011 PUSHOFFSETCLOSURE0
+ 5012 APPLY1
+ 5013 PUSHACC1
+ 5014 GETFIELD0
+ 5015 PUSHACC3
+ 5016 GETFIELD0
+ 5017 PUSHENVACC2
+ 5018 PUSHENVACC1
+ 5019 APPLY3
+ 5020 MAKEBLOCK2 0
+ 5022 RETURN 2
+ 5024 POP 1
+ 5026 BRANCH 5028
+ 5028 ACC0
+ 5029 RETURN 1
+ 5031 ACC0
+ 5032 BRANCHIFNOT 5040
+ 5034 ACC0
+ 5035 GETFIELD1
+ 5036 BRANCHIF 5042
+ 5038 ACC0
+ 5039 GETFIELD0
+ 5040 RETURN 1
+ 5042 ACC0
+ 5043 PUSHENVACC1
+ 5044 APPLY1
+ 5045 PUSHOFFSETCLOSURE0
+ 5046 APPTERM1 2
+ 5048 RESTART
+ 5049 GRAB 1
+ 5051 ACC0
+ 5052 CLOSUREREC 1, 4948
+ 5056 ACC1
+ 5057 PUSHENVACC1
+ 5058 CLOSUREREC 2, 5001
+ 5062 ACC0
+ 5063 CLOSUREREC 1, 5031
+ 5067 ACC4
+ 5068 PUSHACC3
+ 5069 APPLY1
+ 5070 PUSHACC1
+ 5071 APPTERM1 6
+ 5073 CLOSUREREC 0, 4595
+ 5077 ACC0
+ 5078 CLOSURE 1, 5049
+ 5081 PUSH
+ 5082 CLOSURE 0, 4927
+ 5085 PUSHACC0
+ 5086 CLOSURE 1, 4812
+ 5089 PUSHACC3
+ 5090 PUSHACC1
+ 5091 PUSHACC4
+ 5092 MAKEBLOCK3 0
+ 5094 POP 4
+ 5096 SETGLOBAL Sort
+ 5098 BRANCH 5847
+ 5100 ACC0
+ 5101 PUSHENVACC1
+ 5102 APPLY1
+ 5103 PUSHACC0
+ 5104 GETFIELD 11
+ 5106 PUSHACC1
+ 5107 GETFIELD 10
+ 5109 PUSHACC2
+ 5110 GETFIELD 9
+ 5112 PUSHACC3
+ 5113 GETFIELD 6
+ 5115 PUSHACC4
+ 5116 GETFIELD 8
+ 5118 PUSHACC5
+ 5119 GETFIELD 5
+ 5121 PUSHACC6
+ 5122 GETFIELD 4
+ 5124 PUSHACC7
+ 5125 GETFIELD0
+ 5126 MAKEBLOCK 8, 0
+ 5129 RETURN 2
+ 5131 RESTART
+ 5132 GRAB 2
+ 5134 ACC2
+ 5135 BRANCHIFNOT 5201
+ 5137 ACC2
+ 5138 GETFIELD0
+ 5139 PUSHACC3
+ 5140 GETFIELD1
+ 5141 PUSHACC4
+ 5142 GETFIELD2
+ 5143 PUSHACC5
+ 5144 GETFIELD3
+ 5145 PUSHACC2
+ 5146 PUSHACC5
+ 5147 PUSHENVACC1
+ 5148 GETFIELD0
+ 5149 APPLY2
+ 5150 PUSHCONST0
+ 5151 PUSHACC1
+ 5152 EQ
+ 5153 BRANCHIFNOT 5170
+ 5155 ACC7
+ 5156 GETFIELD 4
+ 5158 PUSHACC2
+ 5159 PUSHACC 8
+ 5161 PUSHACC 8
+ 5163 PUSHACC 8
+ 5165 MAKEBLOCK 5, 0
+ 5168 RETURN 8
+ 5170 CONST0
+ 5171 PUSHACC1
+ 5172 LTINT
+ 5173 BRANCHIFNOT 5189
+ 5175 ACC1
+ 5176 PUSHACC3
+ 5177 PUSHACC5
+ 5178 PUSHACC7
+ 5179 PUSHACC 10
+ 5181 PUSHACC 10
+ 5183 PUSHOFFSETCLOSURE0
+ 5184 APPLY3
+ 5185 PUSHENVACC2
+ 5186 APPTERM 4, 12
+ 5189 ACC1
+ 5190 PUSHACC7
+ 5191 PUSHACC7
+ 5192 PUSHOFFSETCLOSURE0
+ 5193 APPLY3
+ 5194 PUSHACC3
+ 5195 PUSHACC5
+ 5196 PUSHACC7
+ 5197 PUSHENVACC2
+ 5198 APPTERM 4, 12
+ 5201 CONST1
+ 5202 PUSHCONST0
+ 5203 PUSHACC3
+ 5204 PUSHACC3
+ 5205 PUSHCONST0
+ 5206 MAKEBLOCK 5, 0
+ 5209 RETURN 3
+ 5211 RESTART
+ 5212 GRAB 1
+ 5214 ACC1
+ 5215 BRANCHIFNOT 5247
+ 5217 ACC1
+ 5218 GETFIELD1
+ 5219 PUSHACC1
+ 5220 PUSHENVACC1
+ 5221 GETFIELD0
+ 5222 APPLY2
+ 5223 PUSHCONST0
+ 5224 PUSHACC1
+ 5225 EQ
+ 5226 BRANCHIFNOT 5232
+ 5228 ACC2
+ 5229 GETFIELD2
+ 5230 RETURN 3
+ 5232 CONST0
+ 5233 PUSHACC1
+ 5234 LTINT
+ 5235 BRANCHIFNOT 5241
+ 5237 ACC2
+ 5238 GETFIELD0
+ 5239 BRANCH 5243
+ 5241 ACC2
+ 5242 GETFIELD3
+ 5243 PUSHACC2
+ 5244 PUSHOFFSETCLOSURE0
+ 5245 APPTERM2 5
+ 5247 GETGLOBAL Not_found
+ 5249 MAKEBLOCK1 0
+ 5251 RAISE
+ 5252 RESTART
+ 5253 GRAB 1
+ 5255 ACC1
+ 5256 BRANCHIFNOT 5286
+ 5258 ACC1
+ 5259 GETFIELD1
+ 5260 PUSHACC1
+ 5261 PUSHENVACC1
+ 5262 GETFIELD0
+ 5263 APPLY2
+ 5264 PUSHCONST0
+ 5265 PUSHACC1
+ 5266 EQ
+ 5267 BRANCHIF 5284
+ 5269 CONST0
+ 5270 PUSHACC1
+ 5271 LTINT
+ 5272 BRANCHIFNOT 5278
+ 5274 ACC2
+ 5275 GETFIELD0
+ 5276 BRANCH 5280
+ 5278 ACC2
+ 5279 GETFIELD3
+ 5280 PUSHACC2
+ 5281 PUSHOFFSETCLOSURE0
+ 5282 APPTERM2 5
+ 5284 POP 1
+ 5286 RETURN 2
+ 5288 RESTART
+ 5289 GRAB 1
+ 5291 ACC0
+ 5292 BRANCHIF 5297
+ 5294 ACC1
+ 5295 RETURN 2
+ 5297 ACC1
+ 5298 BRANCHIF 5303
+ 5300 ACC0
+ 5301 RETURN 2
+ 5303 ACC0
+ 5304 BRANCHIFNOT 5336
+ 5306 ACC1
+ 5307 BRANCHIFNOT 5336
+ 5309 PUSH_RETADDR 5326
+ 5311 ACC4
+ 5312 GETFIELD3
+ 5313 PUSHACC5
+ 5314 GETFIELD2
+ 5315 PUSHACC6
+ 5316 GETFIELD1
+ 5317 PUSHACC7
+ 5318 GETFIELD0
+ 5319 PUSHACC7
+ 5320 GETFIELD3
+ 5321 PUSHOFFSETCLOSURE0
+ 5322 APPLY2
+ 5323 PUSHENVACC1
+ 5324 APPLY 4
+ 5326 PUSHACC1
+ 5327 GETFIELD2
+ 5328 PUSHACC2
+ 5329 GETFIELD1
+ 5330 PUSHACC3
+ 5331 GETFIELD0
+ 5332 PUSHENVACC1
+ 5333 APPTERM 4, 6
+ 5336 GETGLOBAL <0>("map.ml", 3614, 3797)
+ 5338 PUSHGETGLOBAL Match_failure
+ 5340 MAKEBLOCK2 0
+ 5342 RAISE
+ 5343 RESTART
+ 5344 GRAB 1
+ 5346 ACC1
+ 5347 BRANCHIFNOT 5400
+ 5349 ACC1
+ 5350 GETFIELD0
+ 5351 PUSHACC2
+ 5352 GETFIELD1
+ 5353 PUSHACC3
+ 5354 GETFIELD2
+ 5355 PUSHACC4
+ 5356 GETFIELD3
+ 5357 PUSHACC2
+ 5358 PUSHACC5
+ 5359 PUSHENVACC1
+ 5360 GETFIELD0
+ 5361 APPLY2
+ 5362 PUSHCONST0
+ 5363 PUSHACC1
+ 5364 EQ
+ 5365 BRANCHIFNOT 5372
+ 5367 ACC1
+ 5368 PUSHACC5
+ 5369 PUSHENVACC3
+ 5370 APPTERM2 9
+ 5372 CONST0
+ 5373 PUSHACC1
+ 5374 LTINT
+ 5375 BRANCHIFNOT 5389
+ 5377 ACC1
+ 5378 PUSHACC3
+ 5379 PUSHACC5
+ 5380 PUSHACC7
+ 5381 PUSHACC 9
+ 5383 PUSHOFFSETCLOSURE0
+ 5384 APPLY2
+ 5385 PUSHENVACC2
+ 5386 APPTERM 4, 11
+ 5389 ACC1
+ 5390 PUSHACC6
+ 5391 PUSHOFFSETCLOSURE0
+ 5392 APPLY2
+ 5393 PUSHACC3
+ 5394 PUSHACC5
+ 5395 PUSHACC7
+ 5396 PUSHENVACC2
+ 5397 APPTERM 4, 11
+ 5400 RETURN 2
+ 5402 RESTART
+ 5403 GRAB 1
+ 5405 ACC1
+ 5406 BRANCHIFNOT 5425
+ 5408 ACC1
+ 5409 GETFIELD0
+ 5410 PUSHACC1
+ 5411 PUSHOFFSETCLOSURE0
+ 5412 APPLY2
+ 5413 ACC1
+ 5414 GETFIELD2
+ 5415 PUSHACC2
+ 5416 GETFIELD1
+ 5417 PUSHACC2
+ 5418 APPLY2
+ 5419 ACC1
+ 5420 GETFIELD3
+ 5421 PUSHACC1
+ 5422 PUSHOFFSETCLOSURE0
+ 5423 APPTERM2 4
+ 5425 RETURN 2
+ 5427 RESTART
+ 5428 GRAB 1
+ 5430 ACC1
+ 5431 BRANCHIFNOT 5455
+ 5433 ACC1
+ 5434 GETFIELD 4
+ 5436 PUSHACC2
+ 5437 GETFIELD3
+ 5438 PUSHACC2
+ 5439 PUSHOFFSETCLOSURE0
+ 5440 APPLY2
+ 5441 PUSHACC3
+ 5442 GETFIELD2
+ 5443 PUSHACC3
+ 5444 APPLY1
+ 5445 PUSHACC4
+ 5446 GETFIELD1
+ 5447 PUSHACC5
+ 5448 GETFIELD0
+ 5449 PUSHACC5
+ 5450 PUSHOFFSETCLOSURE0
+ 5451 APPLY2
+ 5452 MAKEBLOCK 5, 0
+ 5455 RETURN 2
+ 5457 RESTART
+ 5458 GRAB 2
+ 5460 ACC1
+ 5461 BRANCHIFNOT 5481
+ 5463 ACC2
+ 5464 PUSHACC2
+ 5465 GETFIELD3
+ 5466 PUSHACC2
+ 5467 PUSHOFFSETCLOSURE0
+ 5468 APPLY3
+ 5469 PUSHACC2
+ 5470 GETFIELD2
+ 5471 PUSHACC3
+ 5472 GETFIELD1
+ 5473 PUSHACC3
+ 5474 APPLY3
+ 5475 PUSHACC2
+ 5476 GETFIELD0
+ 5477 PUSHACC2
+ 5478 PUSHOFFSETCLOSURE0
+ 5479 APPTERM3 6
+ 5481 ACC2
+ 5482 RETURN 3
+ 5484 RESTART
+ 5485 GRAB 3
+ 5487 ACC0
+ 5488 BRANCHIFNOT 5495
+ 5490 ACC0
+ 5491 GETFIELD 4
+ 5493 BRANCH 5496
+ 5495 CONST0
+ 5496 PUSHACC4
+ 5497 BRANCHIFNOT 5504
+ 5499 ACC4
+ 5500 GETFIELD 4
+ 5502 BRANCH 5505
+ 5504 CONST0
+ 5505 PUSHACC0
+ 5506 OFFSETINT 2
+ 5508 PUSHACC2
+ 5509 GTINT
+ 5510 BRANCHIFNOT 5603
+ 5512 ACC2
+ 5513 BRANCHIFNOT 5596
+ 5515 ACC2
+ 5516 GETFIELD0
+ 5517 PUSHACC3
+ 5518 GETFIELD1
+ 5519 PUSHACC4
+ 5520 GETFIELD2
+ 5521 PUSHACC5
+ 5522 GETFIELD3
+ 5523 PUSHACC0
+ 5524 PUSHENVACC1
+ 5525 APPLY1
+ 5526 PUSHACC4
+ 5527 PUSHENVACC1
+ 5528 APPLY1
+ 5529 GEINT
+ 5530 BRANCHIFNOT 5551
+ 5532 PUSH_RETADDR 5544
+ 5534 ACC 12
+ 5536 PUSHACC 12
+ 5538 PUSHACC 12
+ 5540 PUSHACC6
+ 5541 PUSHENVACC2
+ 5542 APPLY 4
+ 5544 PUSHACC2
+ 5545 PUSHACC4
+ 5546 PUSHACC6
+ 5547 PUSHENVACC2
+ 5548 APPTERM 4, 14
+ 5551 ACC0
+ 5552 BRANCHIFNOT 5589
+ 5554 PUSH_RETADDR 5567
+ 5556 ACC 12
+ 5558 PUSHACC 12
+ 5560 PUSHACC 12
+ 5562 PUSHACC6
+ 5563 GETFIELD3
+ 5564 PUSHENVACC2
+ 5565 APPLY 4
+ 5567 PUSHACC1
+ 5568 GETFIELD2
+ 5569 PUSHACC2
+ 5570 GETFIELD1
+ 5571 PUSH
+ 5572 PUSH_RETADDR 5585
+ 5574 ACC6
+ 5575 GETFIELD0
+ 5576 PUSHACC 8
+ 5578 PUSHACC 10
+ 5580 PUSHACC 12
+ 5582 PUSHENVACC2
+ 5583 APPLY 4
+ 5585 PUSHENVACC2
+ 5586 APPTERM 4, 14
+ 5589 GETGLOBAL "Map.bal"
+ 5591 PUSHGETGLOBALFIELD Pervasives, 2
+ 5594 APPTERM1 11
+ 5596 GETGLOBAL "Map.bal"
+ 5598 PUSHGETGLOBALFIELD Pervasives, 2
+ 5601 APPTERM1 7
+ 5603 ACC1
+ 5604 OFFSETINT 2
+ 5606 PUSHACC1
+ 5607 GTINT
+ 5608 BRANCHIFNOT 5703
+ 5610 ACC5
+ 5611 BRANCHIFNOT 5696
+ 5613 ACC5
+ 5614 GETFIELD0
+ 5615 PUSHACC6
+ 5616 GETFIELD1
+ 5617 PUSHACC7
+ 5618 GETFIELD2
+ 5619 PUSHACC 8
+ 5621 GETFIELD3
+ 5622 PUSHACC3
+ 5623 PUSHENVACC1
+ 5624 APPLY1
+ 5625 PUSHACC1
+ 5626 PUSHENVACC1
+ 5627 APPLY1
+ 5628 GEINT
+ 5629 BRANCHIFNOT 5652
+ 5631 ACC0
+ 5632 PUSHACC2
+ 5633 PUSHACC4
+ 5634 PUSH
+ 5635 PUSH_RETADDR 5648
+ 5637 ACC 9
+ 5639 PUSHACC 15
+ 5641 PUSHACC 15
+ 5643 PUSHACC 15
+ 5645 PUSHENVACC2
+ 5646 APPLY 4
+ 5648 PUSHENVACC2
+ 5649 APPTERM 4, 14
+ 5652 ACC3
+ 5653 BRANCHIFNOT 5689
+ 5655 PUSH_RETADDR 5666
+ 5657 ACC3
+ 5658 PUSHACC5
+ 5659 PUSHACC7
+ 5660 PUSHACC 9
+ 5662 GETFIELD3
+ 5663 PUSHENVACC2
+ 5664 APPLY 4
+ 5666 PUSHACC4
+ 5667 GETFIELD2
+ 5668 PUSHACC5
+ 5669 GETFIELD1
+ 5670 PUSH
+ 5671 PUSH_RETADDR 5685
+ 5673 ACC 9
+ 5675 GETFIELD0
+ 5676 PUSHACC 15
+ 5678 PUSHACC 15
+ 5680 PUSHACC 15
+ 5682 PUSHENVACC2
+ 5683 APPLY 4
+ 5685 PUSHENVACC2
+ 5686 APPTERM 4, 14
+ 5689 GETGLOBAL "Map.bal"
+ 5691 PUSHGETGLOBALFIELD Pervasives, 2
+ 5694 APPTERM1 11
+ 5696 GETGLOBAL "Map.bal"
+ 5698 PUSHGETGLOBALFIELD Pervasives, 2
+ 5701 APPTERM1 7
+ 5703 ACC0
+ 5704 PUSHACC2
+ 5705 GEINT
+ 5706 BRANCHIFNOT 5713
+ 5708 ACC1
+ 5709 OFFSETINT 1
+ 5711 BRANCH 5716
+ 5713 ACC0
+ 5714 OFFSETINT 1
+ 5716 PUSHACC6
+ 5717 PUSHACC6
+ 5718 PUSHACC6
+ 5719 PUSHACC6
+ 5720 MAKEBLOCK 5, 0
+ 5723 RETURN 6
+ 5725 RESTART
+ 5726 GRAB 3
+ 5728 ACC0
+ 5729 PUSHENVACC1
+ 5730 APPLY1
+ 5731 PUSHACC4
+ 5732 PUSHENVACC1
+ 5733 APPLY1
+ 5734 PUSHACC0
+ 5735 PUSHACC2
+ 5736 GEINT
+ 5737 BRANCHIFNOT 5744
+ 5739 ACC1
+ 5740 OFFSETINT 1
+ 5742 BRANCH 5747
+ 5744 ACC0
+ 5745 OFFSETINT 1
+ 5747 PUSHACC6
+ 5748 PUSHACC6
+ 5749 PUSHACC6
+ 5750 PUSHACC6
+ 5751 MAKEBLOCK 5, 0
+ 5754 RETURN 6
+ 5756 ACC0
+ 5757 BRANCHIFNOT 5764
+ 5759 ACC0
+ 5760 GETFIELD 4
+ 5762 RETURN 1
+ 5764 CONST0
+ 5765 RETURN 1
+ 5767 CONST0
+ 5768 PUSH
+ 5769 CLOSURE 0, 5756
+ 5772 PUSHACC0
+ 5773 CLOSURE 1, 5726
+ 5776 PUSHACC0
+ 5777 PUSHACC2
+ 5778 CLOSURE 2, 5485
+ 5781 PUSHACC0
+ 5782 PUSHACC5
+ 5783 CLOSUREREC 2, 5132
+ 5787 ACC5
+ 5788 CLOSUREREC 1, 5212
+ 5792 ACC6
+ 5793 CLOSUREREC 1, 5253
+ 5797 ACC3
+ 5798 CLOSUREREC 1, 5289
+ 5802 ACC0
+ 5803 PUSHACC5
+ 5804 PUSHACC 10
+ 5806 CLOSUREREC 3, 5344
+ 5810 CLOSUREREC 0, 5403
+ 5814 CLOSUREREC 0, 5428
+ 5818 CLOSUREREC 0, 5458
+ 5822 ACC0
+ 5823 PUSHACC2
+ 5824 PUSHACC4
+ 5825 PUSHACC6
+ 5826 PUSHACC 8
+ 5828 PUSHACC 10
+ 5830 PUSHACC 12
+ 5832 PUSHACC 14
+ 5834 PUSHACC 16
+ 5836 PUSHACC 18
+ 5838 PUSHACC 20
+ 5840 PUSHACC 22
+ 5842 MAKEBLOCK 12, 0
+ 5845 RETURN 13
+ 5847 CLOSURE 0, 5767
+ 5850 PUSHACC0
+ 5851 CLOSURE 1, 5100
+ 5854 MAKEBLOCK1 0
+ 5856 POP 1
+ 5858 SETGLOBAL Map
+ 5860 BRANCH 5957
+ 5862 CONSTINT 16
+ 5864 C_CALL1 create_string
+ 5866 PUSH
+ 5867 PUSH_RETADDR 5879
+ 5869 CONSTINT 16
+ 5871 PUSHCONST0
+ 5872 PUSHACC5
+ 5873 PUSHACC7
+ 5874 PUSHGETGLOBALFIELD Pervasives, 56
+ 5877 APPLY 4
+ 5879 ACC0
+ 5880 RETURN 2
+ 5882 RESTART
+ 5883 GRAB 1
+ 5885 CONSTINT 16
+ 5887 PUSHCONST0
+ 5888 PUSHACC3
+ 5889 PUSHACC3
+ 5890 PUSHGETGLOBALFIELD Pervasives, 41
+ 5893 APPTERM 4, 6
+ 5896 ACC0
+ 5897 PUSHGETGLOBALFIELD Pervasives, 51
+ 5900 APPLY1
+ 5901 PUSHACC0
+ 5902 PUSHGETGLOBALFIELD Pervasives, 62
+ 5905 APPLY1
+ 5906 PUSHACC1
+ 5907 C_CALL2 md5_chan
+ 5909 PUSHACC1
+ 5910 PUSHGETGLOBALFIELD Pervasives, 63
+ 5913 APPLY1
+ 5914 ACC0
+ 5915 RETURN 3
+ 5917 RESTART
+ 5918 GRAB 2
+ 5920 CONST0
+ 5921 PUSHACC2
+ 5922 LTINT
+ 5923 BRANCHIF 5934
+ 5925 ACC0
+ 5926 C_CALL1 ml_string_length
+ 5928 PUSHACC3
+ 5929 PUSHACC3
+ 5930 ADDINT
+ 5931 GTINT
+ 5932 BRANCHIFNOT 5941
+ 5934 GETGLOBAL "Digest.substring"
+ 5936 PUSHGETGLOBALFIELD Pervasives, 2
+ 5939 APPTERM1 4
+ 5941 ACC2
+ 5942 PUSHACC2
+ 5943 PUSHACC2
+ 5944 C_CALL3 md5_string
+ 5946 RETURN 3
+ 5948 ACC0
+ 5949 C_CALL1 ml_string_length
+ 5951 PUSHCONST0
+ 5952 PUSHACC2
+ 5953 C_CALL3 md5_string
+ 5955 RETURN 1
+ 5957 CLOSURE 0, 5948
+ 5960 PUSH
+ 5961 CLOSURE 0, 5918
+ 5964 PUSH
+ 5965 CLOSURE 0, 5896
+ 5968 PUSH
+ 5969 CLOSURE 0, 5883
+ 5972 PUSH
+ 5973 CLOSURE 0, 5862
+ 5976 PUSHACC0
+ 5977 PUSHACC2
+ 5978 PUSHACC4
+ 5979 PUSHACC6
+ 5980 PUSHACC 8
+ 5982 MAKEBLOCK 5, 0
+ 5985 POP 5
+ 5987 SETGLOBAL Digest
+ 5989 BRANCH 6245
+ 5991 CONST0
+ 5992 PUSHENVACC1
+ 5993 APPLY1
+ 5994 PUSHACC1
+ 5995 PUSHACC1
+ 5996 GEINT
+ 5997 BRANCHIFNOT 6003
+ 5999 ACC1
+ 6000 PUSHOFFSETCLOSURE0
+ 6001 APPTERM1 3
+ 6003 ACC0
+ 6004 RETURN 2
+ 6006 CONST0
+ 6007 C_CALL1 sys_random_seed
+ 6009 PUSHENVACC1
+ 6010 APPTERM1 2
+ 6012 CONSTINT 27182818
+ 6014 PUSHENVACC2
+ 6015 APPLY1
+ 6016 CONST0
+ 6017 PUSHACC1
+ 6018 VECTLENGTH
+ 6019 OFFSETINT -1
+ 6021 PUSH
+ 6022 BRANCH 6046
+ 6024 CHECK_SIGNALS
+ 6025 CONSTINT 55
+ 6027 PUSHACC2
+ 6028 MODINT
+ 6029 PUSHACC2
+ 6030 PUSHACC4
+ 6031 GETVECTITEM
+ 6032 PUSHACC1
+ 6033 PUSHENVACC1
+ 6034 GETVECTITEM
+ 6035 ADDINT
+ 6036 PUSHACC1
+ 6037 PUSHENVACC1
+ 6038 SETVECTITEM
+ 6039 POP 1
+ 6041 ACC1
+ 6042 OFFSETINT 1
+ 6044 ASSIGN 1
+ 6046 ACC0
+ 6047 PUSHACC2
+ 6048 LEINT
+ 6049 BRANCHIF 6024
+ 6051 CONST0
+ 6052 RETURN 3
+ 6054 ENVACC1
+ 6055 GETFIELD0
+ 6056 OFFSETINT 1
+ 6058 PUSHENVACC1
+ 6059 SETFIELD0
+ 6060 ENVACC1
+ 6061 GETFIELD0
+ 6062 PUSHGETGLOBALFIELD Pervasives, 14
+ 6065 APPLY1
+ 6066 PUSHGETGLOBALFIELD Digest, 0
+ 6069 APPLY1
+ 6070 PUSHCONSTINT 22
+ 6072 PUSHCONST3
+ 6073 PUSHACC2
+ 6074 C_CALL2 string_get
+ 6076 LSLINT
+ 6077 PUSHCONSTINT 16
+ 6079 PUSHCONST2
+ 6080 PUSHACC3
+ 6081 C_CALL2 string_get
+ 6083 LSLINT
+ 6084 PUSHCONSTINT 8
+ 6086 PUSHCONST1
+ 6087 PUSHACC4
+ 6088 C_CALL2 string_get
+ 6090 LSLINT
+ 6091 PUSHCONST0
+ 6092 PUSHACC4
+ 6093 C_CALL2 string_get
+ 6095 ADDINT
+ 6096 ADDINT
+ 6097 XORINT
+ 6098 RETURN 2
+ 6100 ACC0
+ 6101 MAKEBLOCK1 0
+ 6103 PUSHACC0
+ 6104 CLOSURE 1, 6054
+ 6107 PUSHCONST0
+ 6108 PUSHCONSTINT 54
+ 6110 PUSH
+ 6111 BRANCH 6125
+ 6113 CHECK_SIGNALS
+ 6114 CONST0
+ 6115 PUSHACC3
+ 6116 APPLY1
+ 6117 PUSHACC2
+ 6118 PUSHENVACC1
+ 6119 SETVECTITEM
+ 6120 ACC1
+ 6121 OFFSETINT 1
+ 6123 ASSIGN 1
+ 6125 ACC0
+ 6126 PUSHACC2
+ 6127 LEINT
+ 6128 BRANCHIF 6113
+ 6130 CONST0
+ 6131 POP 2
+ 6133 CONST0
+ 6134 PUSHENVACC2
+ 6135 SETFIELD0
+ 6136 RETURN 3
+ 6138 ACC0
+ 6139 PUSHCONST0
+ 6140 PUSHENVACC1
+ 6141 APPLY1
+ 6142 C_CALL2 mul_float
+ 6144 RETURN 1
+ 6146 CONSTINT 1073741823
+ 6148 PUSHACC1
+ 6149 GTINT
+ 6150 BRANCHIF 6157
+ 6152 CONST0
+ 6153 PUSHACC1
+ 6154 LEINT
+ 6155 BRANCHIFNOT 6164
+ 6157 GETGLOBAL "Random.int"
+ 6159 PUSHGETGLOBALFIELD Pervasives, 2
+ 6162 APPTERM1 2
+ 6164 ACC0
+ 6165 PUSHACC1
+ 6166 PUSHACC2
+ 6167 PUSHCONSTINT 1073741823
+ 6169 DIVINT
+ 6170 MULINT
+ 6171 PUSHENVACC1
+ 6172 APPLY1
+ 6173 MODINT
+ 6174 RETURN 1
+ 6176 GETGLOBAL 1073741824
+ 6178 PUSHCONST0
+ 6179 PUSHENVACC1
+ 6180 APPLY1
+ 6181 C_CALL1 float_of_int
+ 6183 PUSHCONST0
+ 6184 PUSHENVACC1
+ 6185 APPLY1
+ 6186 C_CALL1 float_of_int
+ 6188 PUSHCONST0
+ 6189 PUSHENVACC1
+ 6190 APPLY1
+ 6191 C_CALL1 float_of_int
+ 6193 PUSHACC3
+ 6194 PUSHACC1
+ 6195 PUSHACC5
+ 6196 PUSHACC4
+ 6197 PUSHACC7
+ 6198 PUSHACC7
+ 6199 C_CALL2 div_float
+ 6201 C_CALL2 add_float
+ 6203 C_CALL2 div_float
+ 6205 C_CALL2 add_float
+ 6207 C_CALL2 div_float
+ 6209 RETURN 5
+ 6211 CONSTINT 55
+ 6213 PUSHENVACC2
+ 6214 GETFIELD0
+ 6215 OFFSETINT 1
+ 6217 MODINT
+ 6218 PUSHENVACC2
+ 6219 SETFIELD0
+ 6220 ENVACC2
+ 6221 GETFIELD0
+ 6222 PUSHENVACC1
+ 6223 GETVECTITEM
+ 6224 PUSHCONSTINT 55
+ 6226 PUSHENVACC2
+ 6227 GETFIELD0
+ 6228 OFFSETINT 24
+ 6230 MODINT
+ 6231 PUSHENVACC1
+ 6232 GETVECTITEM
+ 6233 ADDINT
+ 6234 PUSHACC0
+ 6235 PUSHENVACC2
+ 6236 GETFIELD0
+ 6237 PUSHENVACC1
+ 6238 SETVECTITEM
+ 6239 CONSTINT 1073741823
+ 6241 PUSHACC1
+ 6242 ANDINT
+ 6243 RETURN 2
+ 6245 CONSTINT 440266690
+ 6247 PUSHCONSTINT 124177607
+ 6249 PUSHCONSTINT 414576093
+ 6251 PUSHCONSTINT 180326017
+ 6253 PUSHCONSTINT 33747835
+ 6255 PUSHCONSTINT 896816596
+ 6257 PUSHCONSTINT 21528564
+ 6259 PUSHCONSTINT 414383108
+ 6261 PUSHCONSTINT 514922558
+ 6263 PUSHCONSTINT 979459837
+ 6265 PUSHCONSTINT 146577263
+ 6267 PUSHCONSTINT 714526560
+ 6269 PUSHCONSTINT 187230644
+ 6271 PUSHCONSTINT 22990936
+ 6273 PUSHCONSTINT 310632349
+ 6275 PUSHCONSTINT 781847598
+ 6277 PUSHCONSTINT 854580894
+ 6279 PUSHCONSTINT 804670393
+ 6281 PUSHCONSTINT 268309077
+ 6283 PUSHCONSTINT 4136554
+ 6285 PUSHCONSTINT 567327260
+ 6287 PUSHCONSTINT 768795410
+ 6289 PUSHCONSTINT 868098973
+ 6291 PUSHCONSTINT 462134267
+ 6293 PUSHCONSTINT 32881167
+ 6295 PUSHCONSTINT 708896334
+ 6297 PUSHCONSTINT 572927557
+ 6299 PUSHCONSTINT 933858406
+ 6301 PUSHCONSTINT 965168955
+ 6303 PUSHCONSTINT 233350272
+ 6305 PUSHCONSTINT 878960411
+ 6307 PUSHCONSTINT 971004788
+ 6309 PUSHCONSTINT 762624501
+ 6311 PUSHCONSTINT 796925167
+ 6313 PUSHCONSTINT 206134737
+ 6315 PUSHCONSTINT 281896889
+ 6317 PUSHCONSTINT 814302728
+ 6319 PUSHCONSTINT 477485839
+ 6321 PUSHCONSTINT 998499212
+ 6323 PUSHCONSTINT 473370118
+ 6325 PUSHCONSTINT 66770770
+ 6327 PUSHCONSTINT 337696531
+ 6329 PUSHCONSTINT 848741663
+ 6331 PUSHCONSTINT 71648846
+ 6333 PUSHCONSTINT 869261341
+ 6335 PUSHCONSTINT 951240904
+ 6337 PUSHCONSTINT 147054819
+ 6339 PUSHCONSTINT 486882977
+ 6341 PUSHCONSTINT 552627506
+ 6343 PUSHCONSTINT 615350359
+ 6345 PUSHCONSTINT 1023641486
+ 6347 PUSHCONSTINT 9858203
+ 6349 PUSHCONSTINT 764306064
+ 6351 PUSHCONSTINT 1051173471
+ 6353 PUSHCONSTINT 561073064
+ 6355 MAKEBLOCK 55, 0
+ 6358 PUSHCONST0
+ 6359 MAKEBLOCK1 0
+ 6361 PUSHACC0
+ 6362 PUSHACC2
+ 6363 CLOSURE 2, 6211
+ 6366 PUSHACC0
+ 6367 CLOSURE 1, 6176
+ 6370 PUSHACC1
+ 6371 CLOSUREREC 1, 5991
+ 6375 ACC0
+ 6376 CLOSURE 1, 6146
+ 6379 PUSHACC2
+ 6380 CLOSURE 1, 6138
+ 6383 PUSHACC5
+ 6384 PUSHACC7
+ 6385 CLOSURE 2, 6100
+ 6388 PUSHACC0
+ 6389 PUSHACC 8
+ 6391 CLOSURE 2, 6012
+ 6394 PUSHACC1
+ 6395 CLOSURE 1, 6006
+ 6398 PUSHACC3
+ 6399 PUSHACC5
+ 6400 PUSHACC 9
+ 6402 PUSHACC3
+ 6403 PUSHACC5
+ 6404 PUSHACC7
+ 6405 MAKEBLOCK 6, 0
+ 6408 POP 10
+ 6410 SETGLOBAL Random
+ 6412 BRANCH 8038
+ 6414 RESTART
+ 6415 GRAB 1
+ 6417 ACC1
+ 6418 BRANCHIFNOT 6441
+ 6420 ACC1
+ 6421 GETFIELD0
+ 6422 PUSHACC2
+ 6423 GETFIELD1
+ 6424 PUSHACC1
+ 6425 PUSHACC3
+ 6426 EQ
+ 6427 BRANCHIFNOT 6432
+ 6429 ACC0
+ 6430 RETURN 4
+ 6432 ACC0
+ 6433 PUSHACC3
+ 6434 PUSHOFFSETCLOSURE0
+ 6435 APPLY2
+ 6436 PUSHACC2
+ 6437 MAKEBLOCK2 0
+ 6439 POP 2
+ 6441 RETURN 2
+ 6443 RESTART
+ 6444 GRAB 1
+ 6446 CONST0
+ 6447 PUSHACC2
+ 6448 GTINT
+ 6449 BRANCHIFNOT 6512
+ 6451 CONST0
+ 6452 PUSHENVACC2
+ 6453 GETFIELD0
+ 6454 GTINT
+ 6455 BRANCHIFNOT 6512
+ 6457 ENVACC2
+ 6458 GETFIELD0
+ 6459 PUSHGETGLOBALFIELD Random, 4
+ 6462 APPLY1
+ 6463 PUSHACC0
+ 6464 PUSHENVACC1
+ 6465 GETFIELD0
+ 6466 C_CALL2 array_get_addr
+ 6468 PUSHENVACC 5
+ 6470 APPLY1
+ 6471 BRANCHIF 6482
+ 6473 ACC0
+ 6474 PUSHENVACC 4
+ 6476 APPLY1
+ 6477 ACC2
+ 6478 PUSHACC2
+ 6479 PUSHOFFSETCLOSURE0
+ 6480 APPTERM2 5
+ 6482 PUSHTRAP 6496
+ 6484 ACC5
+ 6485 PUSHACC5
+ 6486 PUSHENVACC1
+ 6487 GETFIELD0
+ 6488 C_CALL2 array_get_addr
+ 6490 PUSHENVACC 7
+ 6492 APPLY2
+ 6493 POPTRAP
+ 6494 RETURN 3
+ 6496 PUSHENVACC 6
+ 6498 PUSHACC1
+ 6499 GETFIELD0
+ 6500 EQ
+ 6501 BRANCHIFNOT 6510
+ 6503 ACC3
+ 6504 OFFSETINT -1
+ 6506 PUSHACC3
+ 6507 PUSHOFFSETCLOSURE0
+ 6508 APPTERM2 6
+ 6510 ACC0
+ 6511 RAISE
+ 6512 ACC0
+ 6513 PUSHENVACC3
+ 6514 APPLY1
+ 6515 ACC0
+ 6516 RETURN 2
+ 6518 RESTART
+ 6519 GRAB 1
+ 6521 ACC1
+ 6522 BRANCHIFNOT 6534
+ 6524 ACC0
+ 6525 PUSHACC2
+ 6526 GETFIELD0
+ 6527 APPLY1
+ 6528 ACC1
+ 6529 GETFIELD1
+ 6530 PUSHACC1
+ 6531 PUSHOFFSETCLOSURE0
+ 6532 APPTERM2 4
+ 6534 RETURN 2
+ 6536 CONST0
+ 6537 PUSHENVACC1
+ 6538 OFFSETINT -1
+ 6540 PUSH
+ 6541 BRANCH 6567
+ 6543 CHECK_SIGNALS
+ 6544 ENVACC2
+ 6545 PUSHACC2
+ 6546 PUSHACC4
+ 6547 C_CALL2 array_get
+ 6549 EQ
+ 6550 BRANCHIFNOT 6556
+ 6552 CONSTINT 46
+ 6554 BRANCH 6558
+ 6556 CONSTINT 42
+ 6558 PUSHGETGLOBALFIELD Pervasives, 20
+ 6561 APPLY1
+ 6562 ACC1
+ 6563 OFFSETINT 1
+ 6565 ASSIGN 1
+ 6567 ACC0
+ 6568 PUSHACC2
+ 6569 LEINT
+ 6570 BRANCHIF 6543
+ 6572 CONST0
+ 6573 POP 2
+ 6575 CONST0
+ 6576 PUSHGETGLOBALFIELD Pervasives, 25
+ 6579 APPTERM1 2
+ 6581 ENVACC3
+ 6582 GETFIELD0
+ 6583 PUSHENVACC 4
+ 6585 APPLY1
+ 6586 PUSHENVACC2
+ 6587 PUSHENVACC1
+ 6588 CLOSURE 2, 6536
+ 6591 PUSHGETGLOBALFIELD List, 9
+ 6594 APPTERM2 3
+ 6596 ACC0
+ 6597 GETFIELD1
+ 6598 RETURN 1
+ 6600 RESTART
+ 6601 GRAB 1
+ 6603 ACC1
+ 6604 GETFIELD0
+ 6605 PUSHACC1
+ 6606 GETFIELD0
+ 6607 LEINT
+ 6608 RETURN 2
+ 6610 ACC0
+ 6611 PUSHACC1
+ 6612 PUSHENVACC1
+ 6613 APPLY1
+ 6614 MAKEBLOCK2 0
+ 6616 RETURN 1
+ 6618 ACC0
+ 6619 PUSHENVACC1
+ 6620 CLOSURE 1, 6610
+ 6623 PUSHGETGLOBALFIELD List, 10
+ 6626 APPLY2
+ 6627 PUSH
+ 6628 CLOSURE 0, 6601
+ 6631 PUSHGETGLOBALFIELD Sort, 0
+ 6634 APPLY2
+ 6635 PUSH
+ 6636 CLOSURE 0, 6596
+ 6639 PUSHGETGLOBALFIELD List, 10
+ 6642 APPTERM2 3
+ 6644 ENVACC3
+ 6645 GETFIELD0
+ 6646 VECTLENGTH
+ 6647 PUSHENVACC 4
+ 6649 GETFIELD0
+ 6650 PUSHCONST0
+ 6651 PUSHENVACC 8
+ 6653 APPLY1
+ 6654 PUSHENVACC2
+ 6655 GETFIELD0
+ 6656 PUSHGETGLOBALFIELD List, 0
+ 6659 APPLY1
+ 6660 PUSHENVACC 7
+ 6662 GETFIELD0
+ 6663 PUSHENVACC 6
+ 6665 GETFIELD0
+ 6666 PUSHENVACC1
+ 6667 GETFIELD0
+ 6668 PUSHENVACC 5
+ 6670 GETFIELD0
+ 6671 MAKEBLOCK 8, 0
+ 6674 RETURN 1
+ 6676 ACC0
+ 6677 PUSHENVACC1
+ 6678 APPLY1
+ 6679 PUSHACC0
+ 6680 OFFSETINT -1
+ 6682 PUSHENVACC2
+ 6683 C_CALL2 array_get_addr
+ 6685 OFFSETINT 1
+ 6687 PUSHACC1
+ 6688 OFFSETINT -1
+ 6690 PUSHENVACC2
+ 6691 C_CALL3 array_set_addr
+ 6693 RETURN 2
+ 6695 CONST0
+ 6696 PUSHCONSTINT 32
+ 6698 C_CALL2 make_vect
+ 6700 PUSHENVACC1
+ 6701 GETFIELD0
+ 6702 PUSHACC1
+ 6703 PUSHENVACC2
+ 6704 CLOSURE 2, 6676
+ 6707 PUSHGETGLOBALFIELD List, 9
+ 6710 APPLY2
+ 6711 ACC0
+ 6712 RETURN 2
+ 6714 RESTART
+ 6715 GRAB 1
+ 6717 ACC1
+ 6718 PUSHENVACC1
+ 6719 APPLY1
+ 6720 PUSHACC1
+ 6721 PUSHACC1
+ 6722 GETFIELD1
+ 6723 PUSHACC2
+ 6724 GETFIELD0
+ 6725 PUSHCONST0
+ 6726 PUSHACC5
+ 6727 C_CALL2 array_get_addr
+ 6729 C_CALL2 array_get_addr
+ 6731 C_CALL2 array_get_addr
+ 6733 APPTERM1 4
+ 6735 ACC0
+ 6736 GETFIELD0
+ 6737 C_CALL1 obj_dup
+ 6739 PUSHENVACC1
+ 6740 PUSHACC1
+ 6741 PUSHENVACC2
+ 6742 APPLY2
+ 6743 ACC1
+ 6744 GETFIELD2
+ 6745 PUSHACC1
+ 6746 PUSHENVACC3
+ 6747 APPLY2
+ 6748 ACC0
+ 6749 RETURN 2
+ 6751 RESTART
+ 6752 GRAB 1
+ 6754 ACC1
+ 6755 GETFIELD 7
+ 6757 PUSHCONST0
+ 6758 PUSHACC1
+ 6759 NEQ
+ 6760 BRANCHIFNOT 6767
+ 6762 ACC0
+ 6763 PUSHACC2
+ 6764 PUSHENVACC1
+ 6765 APPTERM2 5
+ 6767 RETURN 3
+ 6769 ACC0
+ 6770 GETFIELD0
+ 6771 PUSHENVACC1
+ 6772 C_CALL2 obj_block
+ 6774 PUSHACC1
+ 6775 GETFIELD1
+ 6776 PUSHCONST0
+ 6777 PUSHACC2
+ 6778 C_CALL3 array_unsafe_set
+ 6780 ENVACC2
+ 6781 PUSHACC1
+ 6782 PUSHENVACC3
+ 6783 APPLY2
+ 6784 ACC0
+ 6785 RETURN 2
+ 6787 ACC0
+ 6788 GETFIELD0
+ 6789 PUSHENVACC3
+ 6790 GETFIELD0
+ 6791 ADDINT
+ 6792 OFFSETINT -1
+ 6794 PUSHENVACC3
+ 6795 SETFIELD0
+ 6796 ENVACC1
+ 6797 GETFIELD0
+ 6798 BRANCHIFNOT 6804
+ 6800 ACC0
+ 6801 GETFIELD1
+ 6802 PUSHENVACC2
+ 6803 APPLY1
+ 6804 ACC0
+ 6805 GETFIELD 7
+ 6807 PUSHGETGLOBALFIELD List, 4
+ 6810 APPLY1
+ 6811 PUSHACC1
+ 6812 SETFIELD 7
+ 6814 RETURN 1
+ 6816 ACC0
+ 6817 PUSHENVACC1
+ 6818 APPLY1
+ 6819 PUSHENVACC 4
+ 6821 GETFIELD2
+ 6822 PUSHACC1
+ 6823 PUSHACC3
+ 6824 PUSHENVACC2
+ 6825 GETFIELD1
+ 6826 APPLY3
+ 6827 PUSHENVACC 4
+ 6829 SETFIELD2
+ 6830 ENVACC4
+ 6831 GETFIELD3
+ 6832 PUSHCONST1
+ 6833 PUSHACC2
+ 6834 PUSHENVACC3
+ 6835 GETFIELD1
+ 6836 APPLY3
+ 6837 PUSHENVACC 4
+ 6839 SETFIELD3
+ 6840 RETURN 2
+ 6842 CONST0
+ 6843 PUSHENVACC 4
+ 6845 APPLY1
+ 6846 PUSHACC1
+ 6847 PUSHACC1
+ 6848 PUSHENVACC3
+ 6849 PUSHENVACC2
+ 6850 PUSHENVACC1
+ 6851 CLOSURE 4, 6816
+ 6854 PUSHGETGLOBALFIELD List, 9
+ 6857 APPLY2
+ 6858 ACC0
+ 6859 RETURN 2
+ 6861 RESTART
+ 6862 GRAB 1
+ 6864 ACC0
+ 6865 GETFIELD 7
+ 6867 PUSHACC2
+ 6868 MAKEBLOCK2 0
+ 6870 PUSHACC1
+ 6871 SETFIELD 7
+ 6873 RETURN 2
+ 6875 ENVACC1
+ 6876 PUSHENVACC3
+ 6877 PUSH
+ 6878 BRANCH 6895
+ 6880 CHECK_SIGNALS
+ 6881 ACC1
+ 6882 PUSHENVACC2
+ 6883 GETVECTITEM
+ 6884 PUSHENVACC 4
+ 6886 PUSHACC3
+ 6887 ADDINT
+ 6888 PUSHACC4
+ 6889 SETVECTITEM
+ 6890 ACC1
+ 6891 OFFSETINT 1
+ 6893 ASSIGN 1
+ 6895 ACC0
+ 6896 PUSHACC2
+ 6897 LEINT
+ 6898 BRANCHIF 6880
+ 6900 CONST0
+ 6901 RETURN 3
+ 6903 ENVACC2
+ 6904 GETFIELD0
+ 6905 PUSHENVACC2
+ 6906 GETFIELD2
+ 6907 GETFIELD0
+ 6908 OFFSETINT -1
+ 6910 PUSHENVACC3
+ 6911 GETFIELD0
+ 6912 OFFSETINT -1
+ 6914 PUSHACC1
+ 6915 PUSHACC1
+ 6916 SUBINT
+ 6917 PUSHACC0
+ 6918 PUSHACC3
+ 6919 PUSHACC5
+ 6920 PUSHENVACC1
+ 6921 CLOSURE 4, 6875
+ 6924 RETURN 5
+ 6926 RESTART
+ 6927 GRAB 1
+ 6929 CONST0
+ 6930 ACC1
+ 6931 PUSHACC1
+ 6932 PUSHENVACC1
+ 6933 CLOSURE 3, 6903
+ 6936 RETURN 2
+ 6938 RESTART
+ 6939 GRAB 1
+ 6941 ACC0
+ 6942 GETFIELD 6
+ 6944 PUSHACC2
+ 6945 PUSHENVACC1
+ 6946 GETFIELD2
+ 6947 APPTERM2 4
+ 6949 RESTART
+ 6950 GRAB 1
+ 6952 ACC0
+ 6953 PUSHENVACC2
+ 6954 APPLY1
+ 6955 PUSHACC1
+ 6956 GETFIELD 6
+ 6958 PUSHACC1
+ 6959 PUSHACC4
+ 6960 PUSHENVACC1
+ 6961 GETFIELD1
+ 6962 APPLY3
+ 6963 PUSHACC2
+ 6964 SETFIELD 6
+ 6966 ACC0
+ 6967 RETURN 3
+ 6969 ACC0
+ 6970 GETFIELD0
+ 6971 PUSHACC0
+ 6972 OFFSETINT 1
+ 6974 PUSHACC2
+ 6975 SETFIELD0
+ 6976 ACC0
+ 6977 RETURN 2
+ 6979 RESTART
+ 6980 GRAB 1
+ 6982 CONST0
+ 6983 PUSHACC1
+ 6984 PUSHACC3
+ 6985 GETFIELD1
+ 6986 APPTERM2 4
+ 6988 RESTART
+ 6989 GRAB 1
+ 6991 ENVACC1
+ 6992 GETFIELD 4
+ 6994 PUSHACC1
+ 6995 GETFIELD0
+ 6996 PUSHGETGLOBALFIELD List, 23
+ 6999 APPLY2
+ 7000 BRANCHIFNOT 7005
+ 7002 ACC1
+ 7003 RETURN 2
+ 7005 ACC1
+ 7006 PUSHACC1
+ 7007 MAKEBLOCK2 0
+ 7009 RETURN 2
+ 7011 RESTART
+ 7012 GRAB 1
+ 7014 ACC0
+ 7015 PUSHENVACC2
+ 7016 GETFIELD 6
+ 7018 PUSHACC3
+ 7019 PUSHENVACC1
+ 7020 GETFIELD2
+ 7021 APPLY2
+ 7022 PUSHACC3
+ 7023 PUSHENVACC1
+ 7024 GETFIELD1
+ 7025 APPTERM3 5
+ 7027 ACC0
+ 7028 GETFIELD 4
+ 7030 PUSHGETGLOBALFIELD List, 1
+ 7033 APPLY1
+ 7034 PUSHACC1
+ 7035 GETFIELD 4
+ 7037 PUSHGETGLOBALFIELD List, 2
+ 7040 APPLY1
+ 7041 PUSHACC2
+ 7042 SETFIELD 4
+ 7044 ACC0
+ 7045 GETFIELD 5
+ 7047 PUSHACC1
+ 7048 GETFIELD3
+ 7049 PUSHACC3
+ 7050 PUSHENVACC1
+ 7051 CLOSURE 2, 7012
+ 7054 PUSHGETGLOBALFIELD List, 12
+ 7057 APPLY3
+ 7058 PUSHACC2
+ 7059 SETFIELD 6
+ 7061 ACC0
+ 7062 GETFIELD0
+ 7063 PUSHACC2
+ 7064 SETFIELD2
+ 7065 ACC0
+ 7066 GETFIELD1
+ 7067 PUSHACC2
+ 7068 SETFIELD3
+ 7069 ACC0
+ 7070 GETFIELD2
+ 7071 PUSHACC2
+ 7072 GETFIELD 5
+ 7074 PUSHACC2
+ 7075 CLOSURE 1, 6989
+ 7078 PUSHGETGLOBALFIELD List, 13
+ 7081 APPLY3
+ 7082 PUSHACC2
+ 7083 SETFIELD 5
+ 7085 RETURN 2
+ 7087 RESTART
+ 7088 GRAB 1
+ 7090 ENVACC1
+ 7091 PUSHACC1
+ 7092 GETFIELD0
+ 7093 PUSHGETGLOBALFIELD List, 23
+ 7096 APPLY2
+ 7097 BRANCHIFNOT 7102
+ 7099 ACC1
+ 7100 RETURN 2
+ 7102 ACC1
+ 7103 PUSHACC1
+ 7104 MAKEBLOCK2 0
+ 7106 RETURN 2
+ 7108 RESTART
+ 7109 GRAB 1
+ 7111 ENVACC3
+ 7112 GETFIELD0
+ 7113 PUSHACC2
+ 7114 PUSHACC2
+ 7115 PUSHENVACC1
+ 7116 GETFIELD1
+ 7117 APPLY3
+ 7118 PUSHENVACC3
+ 7119 SETFIELD0
+ 7120 ENVACC4
+ 7121 GETFIELD0
+ 7122 PUSHCONST0
+ 7123 PUSHACC3
+ 7124 PUSHENVACC2
+ 7125 GETFIELD1
+ 7126 APPLY3
+ 7127 PUSHENVACC 4
+ 7129 SETFIELD0
+ 7130 RETURN 2
+ 7132 ACC0
+ 7133 PUSHENVACC 4
+ 7135 PUSHENVACC3
+ 7136 APPLY2
+ 7137 PUSHENVACC 5
+ 7139 GETFIELD0
+ 7140 PUSHACC1
+ 7141 PUSHACC3
+ 7142 PUSHENVACC1
+ 7143 GETFIELD1
+ 7144 APPLY3
+ 7145 PUSHENVACC 5
+ 7147 SETFIELD0
+ 7148 ENVACC 6
+ 7150 GETFIELD0
+ 7151 PUSH
+ 7152 PUSHTRAP 7163
+ 7154 ENVACC4
+ 7155 GETFIELD3
+ 7156 PUSHACC6
+ 7157 PUSHENVACC2
+ 7158 GETFIELD2
+ 7159 APPLY2
+ 7160 POPTRAP
+ 7161 BRANCH 7177
+ 7163 PUSHGETGLOBAL Not_found
+ 7165 PUSHACC1
+ 7166 GETFIELD0
+ 7167 EQ
+ 7168 BRANCHIFNOT 7173
+ 7170 CONST1
+ 7171 BRANCH 7175
+ 7173 ACC0
+ 7174 RAISE
+ 7175 POP 1
+ 7177 PUSHACC2
+ 7178 PUSHENVACC2
+ 7179 GETFIELD1
+ 7180 APPLY3
+ 7181 PUSHENVACC 6
+ 7183 SETFIELD0
+ 7184 RETURN 2
+ 7186 RESTART
+ 7187 GRAB 3
+ 7189 ACC2
+ 7190 PUSHACC1
+ 7191 PUSHENVACC 4
+ 7193 APPLY1
+ 7194 PUSHGETGLOBALFIELD List, 10
+ 7197 APPLY2
+ 7198 PUSHACC1
+ 7199 GETFIELD 4
+ 7201 PUSHACC3
+ 7202 PUSHACC2
+ 7203 PUSHACC4
+ 7204 GETFIELD 6
+ 7206 PUSHACC5
+ 7207 GETFIELD 5
+ 7209 PUSHACC6
+ 7210 GETFIELD3
+ 7211 PUSHACC7
+ 7212 GETFIELD2
+ 7213 MAKEBLOCK 6, 0
+ 7216 MAKEBLOCK2 0
+ 7218 PUSHACC2
+ 7219 SETFIELD 4
+ 7221 ENVACC1
+ 7222 GETFIELD0
+ 7223 PUSHACC2
+ 7224 SETFIELD 6
+ 7226 ENVACC2
+ 7227 GETFIELD0
+ 7228 MAKEBLOCK1 0
+ 7230 PUSHENVACC3
+ 7231 GETFIELD0
+ 7232 MAKEBLOCK1 0
+ 7234 PUSHACC6
+ 7235 PUSHACC1
+ 7236 PUSHACC3
+ 7237 PUSHACC6
+ 7238 PUSHENVACC 4
+ 7240 PUSHENVACC3
+ 7241 PUSHENVACC2
+ 7242 CLOSURE 6, 7132
+ 7245 PUSHGETGLOBALFIELD List, 9
+ 7248 APPLY2
+ 7249 ACC2
+ 7250 PUSHACC6
+ 7251 PUSHACC2
+ 7252 PUSHACC4
+ 7253 PUSHENVACC3
+ 7254 PUSHENVACC2
+ 7255 CLOSURE 4, 7109
+ 7258 PUSHGETGLOBALFIELD List, 14
+ 7261 APPLY3
+ 7262 ACC1
+ 7263 GETFIELD0
+ 7264 PUSHACC4
+ 7265 SETFIELD2
+ 7266 ACC0
+ 7267 GETFIELD0
+ 7268 PUSHACC4
+ 7269 SETFIELD3
+ 7270 CONST0
+ 7271 PUSHACC4
+ 7272 GETFIELD 5
+ 7274 PUSHACC4
+ 7275 CLOSURE 1, 7088
+ 7278 PUSHGETGLOBALFIELD List, 13
+ 7281 APPLY3
+ 7282 PUSHACC4
+ 7283 SETFIELD 5
+ 7285 RETURN 7
+ 7287 RESTART
+ 7288 GRAB 1
+ 7290 PUSHTRAP 7303
+ 7292 ACC4
+ 7293 GETFIELD 5
+ 7295 PUSHACC6
+ 7296 PUSHGETGLOBALFIELD List, 29
+ 7299 APPLY2
+ 7300 POPTRAP
+ 7301 RETURN 2
+ 7303 PUSHGETGLOBAL Not_found
+ 7305 PUSHACC1
+ 7306 GETFIELD0
+ 7307 EQ
+ 7308 BRANCHIFNOT 7325
+ 7310 ACC2
+ 7311 PUSHENVACC1
+ 7312 APPLY1
+ 7313 PUSHACC0
+ 7314 GETFIELD1
+ 7315 PUSHACC1
+ 7316 GETFIELD0
+ 7317 PUSHACC4
+ 7318 GETFIELD1
+ 7319 C_CALL2 array_get_addr
+ 7321 C_CALL2 array_get
+ 7323 RETURN 4
+ 7325 ACC0
+ 7326 RAISE
+ 7327 RESTART
+ 7328 GRAB 2
+ 7330 ENVACC3
+ 7331 OFFSETREF 1
+ 7333 ACC0
+ 7334 GETFIELD3
+ 7335 PUSHACC2
+ 7336 PUSHENVACC1
+ 7337 GETFIELD2
+ 7338 APPLY2
+ 7339 BRANCHIFNOT 7347
+ 7341 ACC2
+ 7342 PUSHACC2
+ 7343 PUSHACC2
+ 7344 PUSHENVACC2
+ 7345 APPTERM3 6
+ 7347 ACC0
+ 7348 GETFIELD 5
+ 7350 PUSHACC3
+ 7351 PUSHACC3
+ 7352 MAKEBLOCK2 0
+ 7354 MAKEBLOCK2 0
+ 7356 PUSHACC1
+ 7357 SETFIELD 5
+ 7359 RETURN 3
+ 7361 RESTART
+ 7362 GRAB 1
+ 7364 PUSHTRAP 7375
+ 7366 ACC4
+ 7367 GETFIELD2
+ 7368 PUSHACC6
+ 7369 PUSHENVACC2
+ 7370 GETFIELD2
+ 7371 APPLY2
+ 7372 POPTRAP
+ 7373 RETURN 2
+ 7375 PUSHGETGLOBAL Not_found
+ 7377 PUSHACC1
+ 7378 GETFIELD0
+ 7379 EQ
+ 7380 BRANCHIFNOT 7406
+ 7382 CONST0
+ 7383 PUSHENVACC1
+ 7384 APPLY1
+ 7385 PUSHACC2
+ 7386 GETFIELD2
+ 7387 PUSHACC1
+ 7388 PUSHACC5
+ 7389 PUSHENVACC2
+ 7390 GETFIELD1
+ 7391 APPLY3
+ 7392 PUSHACC3
+ 7393 SETFIELD2
+ 7394 ACC2
+ 7395 GETFIELD3
+ 7396 PUSHCONST1
+ 7397 PUSHACC2
+ 7398 PUSHENVACC3
+ 7399 GETFIELD1
+ 7400 APPLY3
+ 7401 PUSHACC3
+ 7402 SETFIELD3
+ 7403 ACC0
+ 7404 RETURN 4
+ 7406 ACC0
+ 7407 RAISE
+ 7408 RESTART
+ 7409 GRAB 2
+ 7411 ACC1
+ 7412 PUSHENVACC1
+ 7413 APPLY1
+ 7414 PUSHACC0
+ 7415 GETFIELD0
+ 7416 PUSHACC0
+ 7417 OFFSETINT 1
+ 7419 PUSHACC3
+ 7420 PUSHENVACC 4
+ 7422 APPLY2
+ 7423 ACC0
+ 7424 PUSHACC3
+ 7425 GETFIELD1
+ 7426 C_CALL2 array_get_addr
+ 7428 PUSHENVACC2
+ 7429 PUSHACC1
+ 7430 EQ
+ 7431 BRANCHIFNOT 7444
+ 7433 CONST0
+ 7434 PUSHENVACC3
+ 7435 APPLY1
+ 7436 ASSIGN 0
+ 7438 ACC0
+ 7439 PUSHACC2
+ 7440 PUSHACC5
+ 7441 GETFIELD1
+ 7442 C_CALL3 array_set_addr
+ 7444 ACC5
+ 7445 PUSHACC3
+ 7446 GETFIELD1
+ 7447 PUSHACC2
+ 7448 C_CALL3 array_set
+ 7450 RETURN 6
+ 7452 RESTART
+ 7453 GRAB 1
+ 7455 ACC0
+ 7456 GETFIELD1
+ 7457 VECTLENGTH
+ 7458 PUSHACC0
+ 7459 PUSHACC3
+ 7460 GTINT
+ 7461 BRANCHIFNOT 7487
+ 7463 ENVACC1
+ 7464 PUSHACC3
+ 7465 C_CALL2 make_vect
+ 7467 PUSH
+ 7468 PUSH_RETADDR 7482
+ 7470 ACC4
+ 7471 PUSHCONST0
+ 7472 PUSHACC5
+ 7473 PUSHCONST0
+ 7474 PUSHACC 9
+ 7476 GETFIELD1
+ 7477 PUSHGETGLOBALFIELD Array, 8
+ 7480 APPLY 5
+ 7482 ACC0
+ 7483 PUSHACC3
+ 7484 SETFIELD1
+ 7485 POP 1
+ 7487 RETURN 3
+ 7489 ENVACC 5
+ 7491 OFFSETREF 1
+ 7493 CONST0
+ 7494 PUSHENVACC2
+ 7495 GETFIELD0
+ 7496 PUSHCONST0
+ 7497 PUSHCONST0
+ 7498 PUSHENVACC 4
+ 7500 GETFIELD0
+ 7501 PUSHENVACC3
+ 7502 GETFIELD0
+ 7503 PUSH
+ 7504 ATOM0
+ 7505 PUSHENVACC1
+ 7506 MAKEBLOCK 8, 0
+ 7509 RETURN 1
+ 7511 RESTART
+ 7512 GRAB 1
+ 7514 ACC1
+ 7515 PUSHACC1
+ 7516 C_CALL2 compare
+ 7518 RETURN 2
+ 7520 RESTART
+ 7521 GRAB 1
+ 7523 ACC1
+ 7524 PUSHACC1
+ 7525 C_CALL2 compare
+ 7527 RETURN 2
+ 7529 RESTART
+ 7530 GRAB 1
+ 7532 ACC1
+ 7533 PUSHACC1
+ 7534 C_CALL2 compare
+ 7536 RETURN 2
+ 7538 PUSHTRAP 7549
+ 7540 ACC4
+ 7541 PUSHENVACC1
+ 7542 PUSHGETGLOBALFIELD Hashtbl, 3
+ 7545 APPLY2
+ 7546 POPTRAP
+ 7547 RETURN 1
+ 7549 PUSHGETGLOBAL Not_found
+ 7551 PUSHACC1
+ 7552 GETFIELD0
+ 7553 EQ
+ 7554 BRANCHIFNOT 7569
+ 7556 CONST0
+ 7557 PUSHENVACC2
+ 7558 APPLY1
+ 7559 PUSHACC0
+ 7560 PUSHACC3
+ 7561 PUSHENVACC1
+ 7562 PUSHGETGLOBALFIELD Hashtbl, 2
+ 7565 APPLY3
+ 7566 ACC0
+ 7567 RETURN 3
+ 7569 ACC0
+ 7570 RAISE
+ 7571 ENVACC2
+ 7572 GETFIELD0
+ 7573 PUSHENVACC2
+ 7574 GETFIELD0
+ 7575 PUSHENVACC1
+ 7576 APPLY1
+ 7577 PUSHENVACC2
+ 7578 SETFIELD0
+ 7579 ACC0
+ 7580 RETURN 2
+ 7582 ENVACC1
+ 7583 PUSHACC1
+ 7584 VECTLENGTH
+ 7585 OFFSETINT -1
+ 7587 PUSH
+ 7588 BRANCH 7606
+ 7590 CHECK_SIGNALS
+ 7591 ACC1
+ 7592 PUSHACC3
+ 7593 C_CALL2 array_get_addr
+ 7595 PUSHENVACC2
+ 7596 APPLY1
+ 7597 PUSHACC2
+ 7598 PUSHACC4
+ 7599 C_CALL3 array_set_addr
+ 7601 ACC1
+ 7602 OFFSETINT 1
+ 7604 ASSIGN 1
+ 7606 ACC0
+ 7607 PUSHACC2
+ 7608 LEINT
+ 7609 BRANCHIF 7590
+ 7611 CONST0
+ 7612 RETURN 3
+ 7614 ENVACC4
+ 7615 PUSHACC1
+ 7616 NEQ
+ 7617 BRANCHIFNOT 7640
+ 7619 ENVACC2
+ 7620 GETFIELD0
+ 7621 PUSHACC1
+ 7622 PUSHENVACC3
+ 7623 APPLY1
+ 7624 EQ
+ 7625 BRANCHIFNOT 7640
+ 7627 ACC0
+ 7628 PUSHENVACC 5
+ 7630 APPLY1
+ 7631 BRANCHIFNOT 7640
+ 7633 ENVACC1
+ 7634 GETFIELD3
+ 7635 PUSHACC1
+ 7636 PUSHENVACC 6
+ 7638 APPTERM2 3
+ 7640 ACC0
+ 7641 RETURN 1
+ 7643 RESTART
+ 7644 GRAB 1
+ 7646 CONST0
+ 7647 PUSHENVACC1
+ 7648 OFFSETINT -1
+ 7650 PUSH
+ 7651 BRANCH 7690
+ 7653 CHECK_SIGNALS
+ 7654 ENVACC2
+ 7655 PUSHACC2
+ 7656 PUSHACC5
+ 7657 C_CALL2 array_get
+ 7659 NEQ
+ 7660 BRANCHIFNOT 7679
+ 7662 ENVACC2
+ 7663 PUSHACC2
+ 7664 PUSHACC4
+ 7665 C_CALL2 array_get
+ 7667 NEQ
+ 7668 BRANCHIFNOT 7679
+ 7670 ACC1
+ 7671 PUSHACC3
+ 7672 C_CALL2 array_get
+ 7674 PUSHACC2
+ 7675 PUSHACC5
+ 7676 C_CALL2 array_get
+ 7678 NEQ
+ 7679 BRANCHIFNOT 7685
+ 7681 ENVACC4
+ 7682 MAKEBLOCK1 0
+ 7684 RAISE
+ 7685 ACC1
+ 7686 OFFSETINT 1
+ 7688 ASSIGN 1
+ 7690 ACC0
+ 7691 PUSHACC2
+ 7692 LEINT
+ 7693 BRANCHIF 7653
+ 7695 CONST0
+ 7696 POP 2
+ 7698 CONST0
+ 7699 PUSHENVACC1
+ 7700 OFFSETINT -1
+ 7702 PUSH
+ 7703 BRANCH 7727
+ 7705 CHECK_SIGNALS
+ 7706 ENVACC2
+ 7707 PUSHACC2
+ 7708 PUSHACC5
+ 7709 C_CALL2 array_get
+ 7711 NEQ
+ 7712 BRANCHIFNOT 7722
+ 7714 ACC1
+ 7715 PUSHACC4
+ 7716 C_CALL2 array_get
+ 7718 PUSHACC2
+ 7719 PUSHACC4
+ 7720 C_CALL3 array_set
+ 7722 ACC1
+ 7723 OFFSETINT 1
+ 7725 ASSIGN 1
+ 7727 ACC0
+ 7728 PUSHACC2
+ 7729 LEINT
+ 7730 BRANCHIF 7705
+ 7732 CONST0
+ 7733 POP 2
+ 7735 ENVACC3
+ 7736 GETFIELD0
+ 7737 PUSHACC2
+ 7738 PUSHENVACC 5
+ 7740 APPLY2
+ 7741 PUSHENVACC3
+ 7742 SETFIELD0
+ 7743 ACC0
+ 7744 RETURN 2
+ 7746 ENVACC1
+ 7747 GETFIELD 4
+ 7749 PUSHACC1
+ 7750 PUSHENVACC2
+ 7751 APPLY1
+ 7752 LEINT
+ 7753 RETURN 1
+ 7755 CONST0
+ 7756 PUSHCONST0
+ 7757 PUSHENVACC1
+ 7758 OFFSETINT -1
+ 7760 PUSH
+ 7761 BRANCH 7782
+ 7763 CHECK_SIGNALS
+ 7764 ENVACC2
+ 7765 PUSHACC2
+ 7766 PUSHACC5
+ 7767 C_CALL2 array_get
+ 7769 NEQ
+ 7770 BRANCHIFNOT 7777
+ 7772 ACC2
+ 7773 OFFSETINT 1
+ 7775 ASSIGN 2
+ 7777 ACC1
+ 7778 OFFSETINT 1
+ 7780 ASSIGN 1
+ 7782 ACC0
+ 7783 PUSHACC2
+ 7784 LEINT
+ 7785 BRANCHIF 7763
+ 7787 CONST0
+ 7788 POP 2
+ 7790 ACC0
+ 7791 RETURN 2
+ 7793 ENVACC2
+ 7794 GETFIELD0
+ 7795 OFFSETINT -1
+ 7797 PUSHENVACC1
+ 7798 GETFIELD0
+ 7799 C_CALL2 array_get_addr
+ 7801 PUSHACC1
+ 7802 PUSHENVACC1
+ 7803 GETFIELD0
+ 7804 C_CALL3 array_set_addr
+ 7806 ENVACC2
+ 7807 OFFSETREF -1
+ 7809 RETURN 1
+ 7811 ENVACC1
+ 7812 GETFIELD0
+ 7813 VECTLENGTH
+ 7814 PUSHACC0
+ 7815 PUSHENVACC2
+ 7816 GETFIELD0
+ 7817 GEINT
+ 7818 BRANCHIFNOT 7845
+ 7820 ATOM0
+ 7821 PUSHACC1
+ 7822 PUSHCONST2
+ 7823 MULINT
+ 7824 C_CALL2 make_vect
+ 7826 PUSH
+ 7827 PUSH_RETADDR 7840
+ 7829 ACC4
+ 7830 PUSHCONST0
+ 7831 PUSHACC5
+ 7832 PUSHCONST0
+ 7833 PUSHENVACC1
+ 7834 GETFIELD0
+ 7835 PUSHGETGLOBALFIELD Array, 8
+ 7838 APPLY 5
+ 7840 ACC0
+ 7841 PUSHENVACC1
+ 7842 SETFIELD0
+ 7843 POP 1
+ 7845 ACC1
+ 7846 PUSHENVACC2
+ 7847 GETFIELD0
+ 7848 PUSHENVACC1
+ 7849 GETFIELD0
+ 7850 C_CALL3 array_set_addr
+ 7852 ENVACC2
+ 7853 OFFSETREF 1
+ 7855 RETURN 2
+ 7857 ACC0
+ 7858 GETFIELD0
+ 7859 PUSHENVACC1
+ 7860 APPLY1
+ 7861 PUSHENVACC2
+ 7862 PUSHACC1
+ 7863 GETFIELD0
+ 7864 EQ
+ 7865 BRANCHIFNOT 7874
+ 7867 ACC1
+ 7868 GETFIELD1
+ 7869 PUSHACC1
+ 7870 GETFIELD1
+ 7871 PUSHENVACC3
+ 7872 C_CALL3 array_set
+ 7874 RETURN 2
+ 7876 RESTART
+ 7877 GRAB 1
+ 7879 CONST0
+ 7880 PUSHENVACC2
+ 7881 APPLY1
+ 7882 PUSHACC2
+ 7883 PUSHGETGLOBALFIELD List, 4
+ 7886 APPLY1
+ 7887 PUSHACC1
+ 7888 PUSHACC3
+ 7889 PUSHENVACC1
+ 7890 CLOSURE 3, 7857
+ 7893 PUSHGETGLOBALFIELD List, 9
+ 7896 APPLY2
+ 7897 ACC0
+ 7898 RETURN 3
+ 7900 ACC0
+ 7901 PUSHGETGLOBALFIELD Array, 6
+ 7904 APPLY1
+ 7905 PUSHACC0
+ 7906 PUSHENVACC3
+ 7907 APPLY1
+ 7908 ENVACC2
+ 7909 GETFIELD0
+ 7910 PUSHENVACC1
+ 7911 PUSHACC2
+ 7912 C_CALL3 array_set
+ 7914 ENVACC4
+ 7915 GETFIELD0
+ 7916 PUSHACC1
+ 7917 MAKEBLOCK2 0
+ 7919 PUSHENVACC 4
+ 7921 SETFIELD0
+ 7922 ACC0
+ 7923 RETURN 2
+ 7925 ENVACC2
+ 7926 PUSHENVACC1
+ 7927 OFFSETINT 1
+ 7929 C_CALL2 make_vect
+ 7931 PUSHACC0
+ 7932 PUSHENVACC3
+ 7933 APPLY1
+ 7934 ENVACC4
+ 7935 GETFIELD0
+ 7936 PUSHACC1
+ 7937 MAKEBLOCK2 0
+ 7939 PUSHENVACC 4
+ 7941 SETFIELD0
+ 7942 ACC0
+ 7943 RETURN 2
+ 7945 ENVACC1
+ 7946 PUSHACC1
+ 7947 C_CALL2 array_get
+ 7949 RETURN 1
+ 7951 ENVACC2
+ 7952 GETFIELD0
+ 7953 PUSHENVACC1
+ 7954 PUSHACC2
+ 7955 C_CALL3 array_set
+ 7957 RETURN 1
+ 7959 ENVACC1
+ 7960 PUSHENVACC2
+ 7961 PUSHENVACC1
+ 7962 MULINT
+ 7963 PUSHACC2
+ 7964 MODINT
+ 7965 DIVINT
+ 7966 PUSHENVACC1
+ 7967 PUSHCONSTINT 65536
+ 7969 PUSHACC3
+ 7970 DIVINT
+ 7971 DIVINT
+ 7972 MAKEBLOCK2 0
+ 7974 RETURN 1
+ 7976 ENVACC3
+ 7977 OFFSETREF 1
+ 7979 ENVACC1
+ 7980 PUSHACC1
+ 7981 ADDINT
+ 7982 PUSHCONST0
+ 7983 PUSHENVACC2
+ 7984 PUSHENVACC1
+ 7985 MULINT
+ 7986 PUSHACC2
+ 7987 MODINT
+ 7988 EQ
+ 7989 BRANCHIFNOT 8001
+ 7991 ENVACC2
+ 7992 PUSHCONSTINT 65536
+ 7994 SUBINT
+ 7995 PUSHENVACC1
+ 7996 MULINT
+ 7997 PUSHACC1
+ 7998 ADDINT
+ 7999 RETURN 2
+ 8001 ACC0
+ 8002 RETURN 2
+ 8004 ACC0
+ 8005 C_CALL1 obj_dup
+ 8007 PUSHENVACC1
+ 8008 PUSHACC1
+ 8009 PUSHENVACC2
+ 8010 APPLY2
+ 8011 ACC0
+ 8012 RETURN 2
+ 8014 RESTART
+ 8015 GRAB 1
+ 8017 ACC1
+ 8018 GETFIELD0
+ 8019 PUSHACC0
+ 8020 PUSHCONST1
+ 8021 PUSHACC3
+ 8022 SETVECTITEM
+ 8023 ACC0
+ 8024 OFFSETINT 1
+ 8026 PUSHACC3
+ 8027 SETFIELD0
+ 8028 RETURN 3
+ 8030 ENVACC1
+ 8031 GETFIELD0
+ 8032 PUSHENVACC1
+ 8033 OFFSETREF 1
+ 8035 ACC0
+ 8036 RETURN 2
+ 8038 CONSTINT 248
+ 8040 PUSHCONST0
+ 8041 MAKEBLOCK1 0
+ 8043 PUSHACC0
+ 8044 CLOSURE 1, 8030
+ 8047 PUSH
+ 8048 CLOSURE 0, 8015
+ 8051 PUSHACC0
+ 8052 PUSHACC3
+ 8053 CLOSURE 2, 8004
+ 8056 PUSHCONSTINT 16
+ 8058 PUSHCONST3
+ 8059 PUSHCONST1
+ 8060 PUSHCONST1
+ 8061 PUSHCONST1
+ 8062 MAKEBLOCK 5, 0
+ 8065 PUSHCONSTINT 16
+ 8067 PUSHGETGLOBALFIELD Sys, 3
+ 8070 DIVINT
+ 8071 PUSHCONST0
+ 8072 PUSHCONSTINT 32
+ 8074 PUSHCONST2
+ 8075 PUSHCONST0
+ 8076 MAKEBLOCK1 0
+ 8078 PUSHACC0
+ 8079 PUSHACC3
+ 8080 PUSHACC6
+ 8081 CLOSURE 3, 7976
+ 8084 PUSHACC3
+ 8085 PUSHACC6
+ 8086 CLOSURE 2, 7959
+ 8089 PUSHCONST0
+ 8090 PUSHCONST0
+ 8091 MAKEBLOCK1 0
+ 8093 PUSHACC0
+ 8094 PUSHACC7
+ 8095 CLOSURE 2, 7951
+ 8098 PUSHACC7
+ 8099 CLOSURE 1, 7945
+ 8102 PUSHCONST0
+ 8103 MAKEBLOCK1 0
+ 8105 PUSH
+ 8106 ATOM0
+ 8107 PUSHACC1
+ 8108 PUSHACC4
+ 8109 PUSHACC7
+ 8110 PUSHACC 13
+ 8112 CLOSURE 4, 7925
+ 8115 PUSHACC2
+ 8116 PUSHACC5
+ 8117 PUSHACC7
+ 8118 PUSHACC 14
+ 8120 CLOSURE 4, 7900
+ 8123 PUSHACC1
+ 8124 PUSHACC 9
+ 8126 CLOSURE 2, 7877
+ 8129 PUSH
+ 8130 ATOM0
+ 8131 PUSHCONSTINT 10
+ 8133 C_CALL2 make_vect
+ 8135 MAKEBLOCK1 0
+ 8137 PUSHCONST0
+ 8138 MAKEBLOCK1 0
+ 8140 PUSHACC0
+ 8141 PUSHACC2
+ 8142 CLOSURE 2, 7811
+ 8145 PUSHACC1
+ 8146 PUSHACC3
+ 8147 CLOSURE 2, 7793
+ 8150 PUSHACC 12
+ 8152 PUSHACC 18
+ 8154 CLOSURE 2, 7755
+ 8157 PUSHACC0
+ 8158 PUSHACC 22
+ 8160 CLOSURE 2, 7746
+ 8163 PUSHGETGLOBAL "Oo.Failed"
+ 8165 MAKEBLOCK1 0
+ 8167 PUSH
+ 8168 CLOSUREREC 0, 6415
+ 8172 ACC0
+ 8173 PUSHACC2
+ 8174 PUSHACC 14
+ 8176 PUSHACC 19
+ 8178 PUSHACC 25
+ 8180 CLOSURE 5, 7644
+ 8183 PUSHACC0
+ 8184 PUSHACC3
+ 8185 PUSHACC5
+ 8186 PUSHACC 8
+ 8188 PUSHACC 10
+ 8190 PUSHACC 12
+ 8192 PUSHACC 14
+ 8194 CLOSUREREC 7, 6444
+ 8198 ACC0
+ 8199 PUSHACC5
+ 8200 PUSHACC 15
+ 8202 PUSHACC 18
+ 8204 PUSHACC 21
+ 8206 PUSHACC 31
+ 8208 CLOSURE 6, 7614
+ 8211 PUSHACC0
+ 8212 PUSHACC 26
+ 8214 CLOSURE 2, 7582
+ 8217 PUSHACC 27
+ 8219 PUSHCONSTINT 65536
+ 8221 PUSHACC 28
+ 8223 MULINT
+ 8224 MULINT
+ 8225 PUSHACC0
+ 8226 MAKEBLOCK1 0
+ 8228 PUSHCONSTINT 101
+ 8230 PUSHGETGLOBALFIELD Hashtbl, 0
+ 8233 APPLY1
+ 8234 PUSHACC1
+ 8235 PUSHACC 26
+ 8237 CLOSURE 2, 7571
+ 8240 PUSHACC0
+ 8241 PUSHACC2
+ 8242 CLOSURE 2, 7538
+ 8245 PUSH
+ 8246 CLOSURE 0, 7530
+ 8249 PUSHACC0
+ 8250 MAKEBLOCK1 0
+ 8252 POP 1
+ 8254 PUSHGETGLOBALFIELD Map, 0
+ 8257 APPLY1
+ 8258 PUSH
+ 8259 CLOSURE 0, 7521
+ 8262 PUSHACC0
+ 8263 MAKEBLOCK1 0
+ 8265 POP 1
+ 8267 PUSHGETGLOBALFIELD Map, 0
+ 8270 APPLY1
+ 8271 PUSH
+ 8272 CLOSURE 0, 7512
+ 8275 PUSHACC0
+ 8276 MAKEBLOCK1 0
+ 8278 POP 1
+ 8280 PUSHGETGLOBALFIELD Map, 0
+ 8283 APPLY1
+ 8284 PUSHCONST0
+ 8285 MAKEBLOCK1 0
+ 8287 PUSHACC0
+ 8288 PUSHACC2
+ 8289 PUSHACC4
+ 8290 PUSHACC6
+ 8291 PUSHACC 37
+ 8293 CLOSURE 5, 7489
+ 8296 PUSHACC 25
+ 8298 CLOSURE 1, 7453
+ 8301 PUSHACC0
+ 8302 PUSHACC 26
+ 8304 PUSHACC 28
+ 8306 PUSHACC 35
+ 8308 CLOSURE 4, 7409
+ 8311 PUSHCONST0
+ 8312 MAKEBLOCK1 0
+ 8314 PUSHCONST0
+ 8315 MAKEBLOCK1 0
+ 8317 PUSHACC6
+ 8318 PUSHACC 8
+ 8320 PUSHACC 12
+ 8322 CLOSURE 3, 7362
+ 8325 PUSHACC2
+ 8326 PUSHACC4
+ 8327 PUSHACC 9
+ 8329 CLOSURE 3, 7328
+ 8332 PUSHACC 37
+ 8334 CLOSURE 1, 7288
+ 8337 PUSHACC2
+ 8338 PUSHACC 10
+ 8340 PUSHACC 12
+ 8342 PUSHACC 14
+ 8344 CLOSURE 4, 7187
+ 8347 PUSHACC 12
+ 8349 CLOSURE 1, 7027
+ 8352 PUSH
+ 8353 CLOSURE 0, 6980
+ 8356 PUSH
+ 8357 CLOSURE 0, 6969
+ 8360 PUSHACC0
+ 8361 PUSHACC 16
+ 8363 CLOSURE 2, 6950
+ 8366 PUSHACC 16
+ 8368 CLOSURE 1, 6939
+ 8371 PUSHACC 47
+ 8373 CLOSURE 1, 6927
+ 8376 PUSH
+ 8377 CLOSURE 0, 6862
+ 8380 PUSHACC 15
+ 8382 PUSHACC 18
+ 8384 PUSHACC 20
+ 8386 PUSHACC 23
+ 8388 CLOSURE 4, 6842
+ 8391 PUSHACC 12
+ 8393 PUSHACC 27
+ 8395 PUSHACC 56
+ 8397 CLOSURE 3, 6787
+ 8400 PUSHACC 57
+ 8402 PUSHACC 60
+ 8404 PUSHACC 62
+ 8406 CLOSURE 3, 6769
+ 8409 PUSH
+ 8410 CLOSUREREC 0, 6519
+ 8414 ACC0
+ 8415 CLOSURE 1, 6752
+ 8418 PUSHACC0
+ 8419 PUSHACC 61
+ 8421 PUSHACC 64
+ 8423 CLOSURE 3, 6735
+ 8426 PUSHACC 52
+ 8428 CLOSURE 1, 6715
+ 8431 PUSHACC 39
+ 8433 PUSHACC 49
+ 8435 CLOSURE 2, 6695
+ 8438 PUSHACC0
+ 8439 PUSHACC 20
+ 8441 PUSHACC 22
+ 8443 PUSHACC 27
+ 8445 PUSHACC 47
+ 8447 PUSHACC 49
+ 8449 PUSHACC 55
+ 8451 PUSHACC 63
+ 8453 CLOSURE 8, 6644
+ 8456 PUSHACC 41
+ 8458 CLOSURE 1, 6618
+ 8461 PUSHACC0
+ 8462 PUSHACC 52
+ 8464 PUSHACC 57
+ 8466 PUSHACC 63
+ 8468 CLOSURE 4, 6581
+ 8471 PUSHACC0
+ 8472 PUSHACC3
+ 8473 PUSHACC 66
+ 8475 PUSHACC7
+ 8476 PUSHACC 9
+ 8478 PUSHACC 11
+ 8480 PUSHACC 14
+ 8482 PUSHACC 16
+ 8484 PUSHACC 18
+ 8486 PUSHACC 20
+ 8488 PUSHACC 27
+ 8490 PUSHACC 29
+ 8492 PUSHACC 32
+ 8494 PUSHACC 32
+ 8496 PUSHACC 35
+ 8498 PUSHACC 27
+ 8500 PUSHACC 29
+ 8502 PUSHACC 31
+ 8504 PUSHACC 34
+ 8506 PUSHACC 50
+ 8508 PUSHACC 85
+ 8510 MAKEBLOCK 21, 0
+ 8513 POP 70
+ 8515 SETGLOBAL Oo
+ 8517 BRANCH 8568
+ 8519 ACC0
+ 8520 BRANCHIFNOT 8525
+ 8522 ACC0
+ 8523 BRANCH 8530
+ 8525 ENVACC1
+ 8526 PUSHGETGLOBALFIELD Oo, 14
+ 8529 APPLY1
+ 8530 PUSHCONST0
+ 8531 ACC1
+ 8532 BRANCHIFNOT 8537
+ 8534 CONST0
+ 8535 BRANCH 8543
+ 8537 ENVACC1
+ 8538 PUSHACC1
+ 8539 PUSHGETGLOBALFIELD Oo, 15
+ 8542 APPLY2
+ 8543 ACC0
+ 8544 RETURN 2
+ 8546 CONSTINT 23
+ 8548 RETURN 1
+ 8550 CLOSURE 0, 8546
+ 8553 PUSHACC0
+ 8554 POP 1
+ 8556 PUSHENVACC1
+ 8557 PUSHACC2
+ 8558 PUSHGETGLOBALFIELD Oo, 8
+ 8561 APPLY3
+ 8562 ACC0
+ 8563 CLOSURE 1, 8519
+ 8566 RETURN 1
+ 8568 GETGLOBALFIELD Oo, 1
+ 8571 PUSHGETGLOBAL "m"
+ 8573 PUSHACC1
+ 8574 APPLY1
+ 8575 PUSHCONST3
+ 8576 C_CALL1 alloc_dummy
+ 8578 PUSHGETGLOBAL <0>("m", 0)
+ 8580 PUSHGETGLOBALFIELD Oo, 12
+ 8583 APPLY1
+ 8584 PUSHACC2
+ 8585 CLOSURE 1, 8550
+ 8588 PUSHACC1
+ 8589 PUSHACC1
+ 8590 APPLY1
+ 8591 PUSHACC2
+ 8592 PUSHGETGLOBALFIELD Oo, 13
+ 8595 APPLY1
+ 8596 ACC2
+ 8597 PUSHACC2
+ 8598 PUSHACC2
+ 8599 MAKEBLOCK3 0
+ 8601 POP 3
+ 8603 PUSHACC1
+ 8604 C_CALL2 update_dummy
+ 8606 CONST0
+ 8607 PUSHACC1
+ 8608 GETFIELD0
+ 8609 APPLY1
+ 8610 PUSHCONSTINT 23
+ 8612 PUSHACC1
+ 8613 PUSHACC4
+ 8614 GETMETHOD
+ 8615 APPLY1
+ 8616 NEQ
+ 8617 BRANCHIFNOT 8624
+ 8619 GETGLOBAL Not_found
+ 8621 MAKEBLOCK1 0
+ 8623 RAISE
+ 8624 POP 1
+ 8626 ACC0
+ 8627 MAKEBLOCK1 0
+ 8629 POP 3
+ 8631 SETGLOBAL T300-getmethod
+ 8633 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t301-object.ml b/testsuite/tests/tool-ocaml/t301-object.ml
new file mode 100644
index 0000000000..6cef9bedc5
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t301-object.ml
@@ -0,0 +1,29 @@
+(**** file testinterp/t301-object.ml
+ suggested by Jacques Garrigue to Basile Starynkevitch
+
+ compilable with
+ocamlc -nostdlib -I ../../stdlib \
+ ../../stdlib/pervasives.cmo ../../stdlib/camlinternalOO.cmo \
+ t301-object.ml -o t301-object.byte
+
+***)
+(* $Id: t301-object.ml 6363 2004-06-02 09:42:01Z basile $ *)
+
+
+class c = object (self)
+ method pubmet = 1
+ method privmet = self#pubmet + 1
+ val o = object method a = 3 method m = 4 end
+ method dynmet = o#m
+end;;
+
+let f () =
+ let c = new c in
+ (c#pubmet, c#privmet, c#dynmet);;
+
+let (x,y,z) = f () in
+ if x <> 1 then raise Not_found;
+ if y <> 2 then raise Not_found;
+ if z <> 4 then raise Not_found;;
+
+(**** eof $Id: t301-object.ml 6363 2004-06-02 09:42:01Z basile $ *)
diff --git a/testsuite/tests/tool-ocaml/t310-alloc-1.ml b/testsuite/tests/tool-ocaml/t310-alloc-1.ml
new file mode 100644
index 0000000000..c438cc972d
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t310-alloc-1.ml
@@ -0,0 +1,1587 @@
+open Lib;;
+let rec f a n =
+ if n <= 0 then a
+ else f (1::a) (n-1)
+in
+let l = f [] 30000 in
+if List.fold_left (+) 0 l <> 30000 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 746
+ 11 RESTART
+ 12 GRAB 1
+ 14 ACC0
+ 15 BRANCHIFNOT 28
+ 17 ACC1
+ 18 PUSHACC1
+ 19 GETFIELD1
+ 20 PUSHOFFSETCLOSURE0
+ 21 APPLY2
+ 22 PUSHACC1
+ 23 GETFIELD0
+ 24 MAKEBLOCK2 0
+ 26 RETURN 2
+ 28 ACC1
+ 29 RETURN 2
+ 31 RESTART
+ 32 GRAB 3
+ 34 CONST0
+ 35 PUSHACC4
+ 36 LEINT
+ 37 BRANCHIFNOT 42
+ 39 CONST0
+ 40 RETURN 4
+ 42 ACC3
+ 43 PUSHACC3
+ 44 PUSHACC3
+ 45 PUSHACC3
+ 46 C_CALL4 caml_input
+ 48 PUSHCONST0
+ 49 PUSHACC1
+ 50 EQ
+ 51 BRANCHIFNOT 58
+ 53 GETGLOBAL End_of_file
+ 55 MAKEBLOCK1 0
+ 57 RAISE
+ 58 ACC0
+ 59 PUSHACC5
+ 60 SUBINT
+ 61 PUSHACC1
+ 62 PUSHACC5
+ 63 ADDINT
+ 64 PUSHACC4
+ 65 PUSHACC4
+ 66 PUSHOFFSETCLOSURE0
+ 67 APPTERM 4, 9
+ 70 ACC0
+ 71 C_CALL1 caml_input_scan_line
+ 73 PUSHCONST0
+ 74 PUSHACC1
+ 75 EQ
+ 76 BRANCHIFNOT 83
+ 78 GETGLOBAL End_of_file
+ 80 MAKEBLOCK1 0
+ 82 RAISE
+ 83 CONST0
+ 84 PUSHACC1
+ 85 GTINT
+ 86 BRANCHIFNOT 107
+ 88 ACC0
+ 89 OFFSETINT -1
+ 91 C_CALL1 create_string
+ 93 PUSHACC1
+ 94 OFFSETINT -1
+ 96 PUSHCONST0
+ 97 PUSHACC2
+ 98 PUSHACC5
+ 99 C_CALL4 caml_input
+ 101 ACC2
+ 102 C_CALL1 caml_input_char
+ 104 ACC0
+ 105 RETURN 3
+ 107 ACC0
+ 108 NEGINT
+ 109 C_CALL1 create_string
+ 111 PUSHACC1
+ 112 NEGINT
+ 113 PUSHCONST0
+ 114 PUSHACC2
+ 115 PUSHACC5
+ 116 C_CALL4 caml_input
+ 118 CONST0
+ 119 PUSHTRAP 130
+ 121 ACC6
+ 122 PUSHOFFSETCLOSURE0
+ 123 APPLY1
+ 124 PUSHACC5
+ 125 PUSHENVACC1
+ 126 APPLY2
+ 127 POPTRAP
+ 128 RETURN 3
+ 130 PUSHGETGLOBAL End_of_file
+ 132 PUSHACC1
+ 133 GETFIELD0
+ 134 EQ
+ 135 BRANCHIFNOT 140
+ 137 ACC1
+ 138 RETURN 4
+ 140 ACC0
+ 141 RAISE
+ 142 ACC0
+ 143 C_CALL1 caml_flush
+ 145 RETURN 1
+ 147 RESTART
+ 148 GRAB 1
+ 150 ACC1
+ 151 PUSHACC1
+ 152 C_CALL2 caml_output_char
+ 154 RETURN 2
+ 156 RESTART
+ 157 GRAB 1
+ 159 ACC1
+ 160 PUSHACC1
+ 161 C_CALL2 caml_output_char
+ 163 RETURN 2
+ 165 RESTART
+ 166 GRAB 1
+ 168 ACC1
+ 169 PUSHACC1
+ 170 C_CALL2 caml_output_int
+ 172 RETURN 2
+ 174 RESTART
+ 175 GRAB 1
+ 177 ACC1
+ 178 PUSHACC1
+ 179 C_CALL2 caml_seek_out
+ 181 RETURN 2
+ 183 ACC0
+ 184 C_CALL1 caml_pos_out
+ 186 RETURN 1
+ 188 ACC0
+ 189 C_CALL1 caml_channel_size
+ 191 RETURN 1
+ 193 RESTART
+ 194 GRAB 1
+ 196 ACC1
+ 197 PUSHACC1
+ 198 C_CALL2 caml_set_binary_mode
+ 200 RETURN 2
+ 202 ACC0
+ 203 C_CALL1 caml_input_char
+ 205 RETURN 1
+ 207 ACC0
+ 208 C_CALL1 caml_input_char
+ 210 RETURN 1
+ 212 ACC0
+ 213 C_CALL1 caml_input_int
+ 215 RETURN 1
+ 217 ACC0
+ 218 C_CALL1 input_value
+ 220 RETURN 1
+ 222 RESTART
+ 223 GRAB 1
+ 225 ACC1
+ 226 PUSHACC1
+ 227 C_CALL2 caml_seek_in
+ 229 RETURN 2
+ 231 ACC0
+ 232 C_CALL1 caml_pos_in
+ 234 RETURN 1
+ 236 ACC0
+ 237 C_CALL1 caml_channel_size
+ 239 RETURN 1
+ 241 ACC0
+ 242 C_CALL1 caml_close_channel
+ 244 RETURN 1
+ 246 RESTART
+ 247 GRAB 1
+ 249 ACC1
+ 250 PUSHACC1
+ 251 C_CALL2 caml_set_binary_mode
+ 253 RETURN 2
+ 255 CONST0
+ 256 PUSHENVACC1
+ 257 APPLY1
+ 258 ACC0
+ 259 C_CALL1 sys_exit
+ 261 RETURN 1
+ 263 CONST0
+ 264 PUSHENVACC1
+ 265 GETFIELD0
+ 266 APPTERM1 2
+ 268 CONST0
+ 269 PUSHENVACC1
+ 270 APPLY1
+ 271 CONST0
+ 272 PUSHENVACC2
+ 273 APPTERM1 2
+ 275 ENVACC1
+ 276 GETFIELD0
+ 277 PUSHACC0
+ 278 PUSHACC2
+ 279 CLOSURE 2, 268
+ 282 PUSHENVACC1
+ 283 SETFIELD0
+ 284 RETURN 2
+ 286 ENVACC1
+ 287 C_CALL1 caml_flush
+ 289 ENVACC2
+ 290 C_CALL1 caml_flush
+ 292 RETURN 1
+ 294 CONST0
+ 295 PUSHENVACC1
+ 296 APPLY1
+ 297 C_CALL1 float_of_string
+ 299 RETURN 1
+ 301 CONST0
+ 302 PUSHENVACC1
+ 303 APPLY1
+ 304 C_CALL1 int_of_string
+ 306 RETURN 1
+ 308 ENVACC2
+ 309 C_CALL1 caml_flush
+ 311 ENVACC1
+ 312 PUSHENVACC3
+ 313 APPTERM1 2
+ 315 CONSTINT 13
+ 317 PUSHENVACC1
+ 318 C_CALL2 caml_output_char
+ 320 ENVACC1
+ 321 C_CALL1 caml_flush
+ 323 RETURN 1
+ 325 ACC0
+ 326 PUSHENVACC1
+ 327 PUSHENVACC2
+ 328 APPLY2
+ 329 CONSTINT 13
+ 331 PUSHENVACC1
+ 332 C_CALL2 caml_output_char
+ 334 ENVACC1
+ 335 C_CALL1 caml_flush
+ 337 RETURN 1
+ 339 ACC0
+ 340 PUSHENVACC1
+ 341 APPLY1
+ 342 PUSHENVACC2
+ 343 PUSHENVACC3
+ 344 APPTERM2 3
+ 346 ACC0
+ 347 PUSHENVACC1
+ 348 APPLY1
+ 349 PUSHENVACC2
+ 350 PUSHENVACC3
+ 351 APPTERM2 3
+ 353 ACC0
+ 354 PUSHENVACC1
+ 355 PUSHENVACC2
+ 356 APPTERM2 3
+ 358 ACC0
+ 359 PUSHENVACC1
+ 360 C_CALL2 caml_output_char
+ 362 RETURN 1
+ 364 CONSTINT 13
+ 366 PUSHENVACC1
+ 367 C_CALL2 caml_output_char
+ 369 ENVACC1
+ 370 C_CALL1 caml_flush
+ 372 RETURN 1
+ 374 ACC0
+ 375 PUSHENVACC1
+ 376 PUSHENVACC2
+ 377 APPLY2
+ 378 CONSTINT 13
+ 380 PUSHENVACC1
+ 381 C_CALL2 caml_output_char
+ 383 RETURN 1
+ 385 ACC0
+ 386 PUSHENVACC1
+ 387 APPLY1
+ 388 PUSHENVACC2
+ 389 PUSHENVACC3
+ 390 APPTERM2 3
+ 392 ACC0
+ 393 PUSHENVACC1
+ 394 APPLY1
+ 395 PUSHENVACC2
+ 396 PUSHENVACC3
+ 397 APPTERM2 3
+ 399 ACC0
+ 400 PUSHENVACC1
+ 401 PUSHENVACC2
+ 402 APPTERM2 3
+ 404 ACC0
+ 405 PUSHENVACC1
+ 406 C_CALL2 caml_output_char
+ 408 RETURN 1
+ 410 RESTART
+ 411 GRAB 3
+ 413 CONST0
+ 414 PUSHACC3
+ 415 LTINT
+ 416 BRANCHIF 427
+ 418 ACC1
+ 419 C_CALL1 ml_string_length
+ 421 PUSHACC4
+ 422 PUSHACC4
+ 423 ADDINT
+ 424 GTINT
+ 425 BRANCHIFNOT 432
+ 427 GETGLOBAL "really_input"
+ 429 PUSHENVACC1
+ 430 APPTERM1 5
+ 432 ACC3
+ 433 PUSHACC3
+ 434 PUSHACC3
+ 435 PUSHACC3
+ 436 PUSHENVACC2
+ 437 APPTERM 4, 8
+ 440 RESTART
+ 441 GRAB 3
+ 443 CONST0
+ 444 PUSHACC3
+ 445 LTINT
+ 446 BRANCHIF 457
+ 448 ACC1
+ 449 C_CALL1 ml_string_length
+ 451 PUSHACC4
+ 452 PUSHACC4
+ 453 ADDINT
+ 454 GTINT
+ 455 BRANCHIFNOT 462
+ 457 GETGLOBAL "input"
+ 459 PUSHENVACC1
+ 460 APPTERM1 5
+ 462 ACC3
+ 463 PUSHACC3
+ 464 PUSHACC3
+ 465 PUSHACC3
+ 466 C_CALL4 caml_input
+ 468 RETURN 4
+ 470 ACC0
+ 471 PUSHCONST0
+ 472 PUSHGETGLOBAL <0>(0, <0>(6, 0))
+ 474 PUSHENVACC1
+ 475 APPTERM3 4
+ 477 ACC0
+ 478 PUSHCONST0
+ 479 PUSHGETGLOBAL <0>(0, <0>(7, 0))
+ 481 PUSHENVACC1
+ 482 APPTERM3 4
+ 484 RESTART
+ 485 GRAB 2
+ 487 ACC1
+ 488 PUSHACC1
+ 489 PUSHACC4
+ 490 C_CALL3 sys_open
+ 492 C_CALL1 caml_open_descriptor
+ 494 RETURN 3
+ 496 ACC0
+ 497 C_CALL1 caml_flush
+ 499 ACC0
+ 500 C_CALL1 caml_close_channel
+ 502 RETURN 1
+ 504 RESTART
+ 505 GRAB 1
+ 507 CONST0
+ 508 PUSHACC2
+ 509 PUSHACC2
+ 510 C_CALL3 output_value
+ 512 RETURN 2
+ 514 RESTART
+ 515 GRAB 3
+ 517 CONST0
+ 518 PUSHACC3
+ 519 LTINT
+ 520 BRANCHIF 531
+ 522 ACC1
+ 523 C_CALL1 ml_string_length
+ 525 PUSHACC4
+ 526 PUSHACC4
+ 527 ADDINT
+ 528 GTINT
+ 529 BRANCHIFNOT 536
+ 531 GETGLOBAL "output"
+ 533 PUSHENVACC1
+ 534 APPTERM1 5
+ 536 ACC3
+ 537 PUSHACC3
+ 538 PUSHACC3
+ 539 PUSHACC3
+ 540 C_CALL4 caml_output
+ 542 RETURN 4
+ 544 RESTART
+ 545 GRAB 1
+ 547 ACC1
+ 548 C_CALL1 ml_string_length
+ 550 PUSHCONST0
+ 551 PUSHACC3
+ 552 PUSHACC3
+ 553 C_CALL4 caml_output
+ 555 RETURN 2
+ 557 ACC0
+ 558 PUSHCONSTINT 438
+ 560 PUSHGETGLOBAL <0>(1, <0>(3, <0>(4, <0>(6, 0))))
+ 562 PUSHENVACC1
+ 563 APPTERM3 4
+ 565 ACC0
+ 566 PUSHCONSTINT 438
+ 568 PUSHGETGLOBAL <0>(1, <0>(3, <0>(4, <0>(7, 0))))
+ 570 PUSHENVACC1
+ 571 APPTERM3 4
+ 573 RESTART
+ 574 GRAB 2
+ 576 ACC1
+ 577 PUSHACC1
+ 578 PUSHACC4
+ 579 C_CALL3 sys_open
+ 581 C_CALL1 caml_open_descriptor
+ 583 RETURN 3
+ 585 ACC0
+ 586 PUSHGETGLOBAL "%.12g"
+ 588 C_CALL2 format_float
+ 590 RETURN 1
+ 592 ACC0
+ 593 PUSHGETGLOBAL "%d"
+ 595 C_CALL2 format_int
+ 597 RETURN 1
+ 599 GETGLOBAL "false"
+ 601 PUSHACC1
+ 602 C_CALL2 string_equal
+ 604 BRANCHIFNOT 609
+ 606 CONST0
+ 607 RETURN 1
+ 609 GETGLOBAL "true"
+ 611 PUSHACC1
+ 612 C_CALL2 string_equal
+ 614 BRANCHIFNOT 619
+ 616 CONST1
+ 617 RETURN 1
+ 619 GETGLOBAL "bool_of_string"
+ 621 PUSHENVACC1
+ 622 APPTERM1 2
+ 624 ACC0
+ 625 BRANCHIFNOT 631
+ 627 GETGLOBAL "true"
+ 629 RETURN 1
+ 631 GETGLOBAL "false"
+ 633 RETURN 1
+ 635 CONST0
+ 636 PUSHACC1
+ 637 LTINT
+ 638 BRANCHIF 646
+ 640 CONSTINT 255
+ 642 PUSHACC1
+ 643 GTINT
+ 644 BRANCHIFNOT 651
+ 646 GETGLOBAL "char_of_int"
+ 648 PUSHENVACC1
+ 649 APPTERM1 2
+ 651 ACC0
+ 652 RETURN 1
+ 654 RESTART
+ 655 GRAB 1
+ 657 ACC0
+ 658 C_CALL1 ml_string_length
+ 660 PUSHACC2
+ 661 C_CALL1 ml_string_length
+ 663 PUSHACC0
+ 664 PUSHACC2
+ 665 ADDINT
+ 666 C_CALL1 create_string
+ 668 PUSHACC2
+ 669 PUSHCONST0
+ 670 PUSHACC2
+ 671 PUSHCONST0
+ 672 PUSHACC7
+ 673 C_CALL5 blit_string
+ 675 ACC1
+ 676 PUSHACC3
+ 677 PUSHACC2
+ 678 PUSHCONST0
+ 679 PUSHACC 8
+ 681 C_CALL5 blit_string
+ 683 ACC0
+ 684 RETURN 5
+ 686 CONSTINT -1
+ 688 PUSHACC1
+ 689 XORINT
+ 690 RETURN 1
+ 692 CONST0
+ 693 PUSHACC1
+ 694 GEINT
+ 695 BRANCHIFNOT 700
+ 697 ACC0
+ 698 RETURN 1
+ 700 ACC0
+ 701 NEGINT
+ 702 RETURN 1
+ 704 RESTART
+ 705 GRAB 1
+ 707 ACC1
+ 708 PUSHACC1
+ 709 C_CALL2 greaterequal
+ 711 BRANCHIFNOT 716
+ 713 ACC0
+ 714 RETURN 2
+ 716 ACC1
+ 717 RETURN 2
+ 719 RESTART
+ 720 GRAB 1
+ 722 ACC1
+ 723 PUSHACC1
+ 724 C_CALL2 lessequal
+ 726 BRANCHIFNOT 731
+ 728 ACC0
+ 729 RETURN 2
+ 731 ACC1
+ 732 RETURN 2
+ 734 ACC0
+ 735 PUSHGETGLOBAL Invalid_argument
+ 737 MAKEBLOCK2 0
+ 739 RAISE
+ 740 ACC0
+ 741 PUSHGETGLOBAL Failure
+ 743 MAKEBLOCK2 0
+ 745 RAISE
+ 746 CLOSURE 0, 740
+ 749 PUSH
+ 750 CLOSURE 0, 734
+ 753 PUSHGETGLOBAL "Pervasives.Exit"
+ 755 MAKEBLOCK1 0
+ 757 PUSHGETGLOBAL "Pervasives.Assert_failure"
+ 759 MAKEBLOCK1 0
+ 761 PUSH
+ 762 CLOSURE 0, 720
+ 765 PUSH
+ 766 CLOSURE 0, 705
+ 769 PUSH
+ 770 CLOSURE 0, 692
+ 773 PUSH
+ 774 CLOSURE 0, 686
+ 777 PUSHCONST0
+ 778 PUSHCONSTINT 31
+ 780 PUSHCONST1
+ 781 LSLINT
+ 782 EQ
+ 783 BRANCHIFNOT 789
+ 785 CONSTINT 30
+ 787 BRANCH 791
+ 789 CONSTINT 62
+ 791 PUSHCONST1
+ 792 LSLINT
+ 793 PUSHACC0
+ 794 OFFSETINT -1
+ 796 PUSH
+ 797 CLOSURE 0, 655
+ 800 PUSHACC 9
+ 802 CLOSURE 1, 635
+ 805 PUSH
+ 806 CLOSURE 0, 624
+ 809 PUSHACC 11
+ 811 CLOSURE 1, 599
+ 814 PUSH
+ 815 CLOSURE 0, 592
+ 818 PUSH
+ 819 CLOSURE 0, 585
+ 822 PUSH
+ 823 CLOSUREREC 0, 12
+ 827 CONST0
+ 828 C_CALL1 caml_open_descriptor
+ 830 PUSHCONST1
+ 831 C_CALL1 caml_open_descriptor
+ 833 PUSHCONST2
+ 834 C_CALL1 caml_open_descriptor
+ 836 PUSH
+ 837 CLOSURE 0, 574
+ 840 PUSHACC0
+ 841 CLOSURE 1, 565
+ 844 PUSHACC1
+ 845 CLOSURE 1, 557
+ 848 PUSH
+ 849 CLOSURE 0, 545
+ 852 PUSHACC 22
+ 854 CLOSURE 1, 515
+ 857 PUSH
+ 858 CLOSURE 0, 505
+ 861 PUSH
+ 862 CLOSURE 0, 496
+ 865 PUSH
+ 866 CLOSURE 0, 485
+ 869 PUSHACC0
+ 870 CLOSURE 1, 477
+ 873 PUSHACC1
+ 874 CLOSURE 1, 470
+ 877 PUSHACC 28
+ 879 CLOSURE 1, 441
+ 882 PUSH
+ 883 CLOSUREREC 0, 32
+ 887 ACC0
+ 888 PUSHACC 31
+ 890 CLOSURE 2, 411
+ 893 PUSHACC 22
+ 895 CLOSUREREC 1, 70
+ 899 ACC 15
+ 901 CLOSURE 1, 404
+ 904 PUSHACC 11
+ 906 PUSHACC 17
+ 908 CLOSURE 2, 399
+ 911 PUSHACC 12
+ 913 PUSHACC 18
+ 915 PUSHACC 23
+ 917 CLOSURE 3, 392
+ 920 PUSHACC 13
+ 922 PUSHACC 19
+ 924 PUSHACC 23
+ 926 CLOSURE 3, 385
+ 929 PUSHACC 14
+ 931 PUSHACC 20
+ 933 CLOSURE 2, 374
+ 936 PUSHACC 20
+ 938 CLOSURE 1, 364
+ 941 PUSHACC 20
+ 943 CLOSURE 1, 358
+ 946 PUSHACC 17
+ 948 PUSHACC 22
+ 950 CLOSURE 2, 353
+ 953 PUSHACC 18
+ 955 PUSHACC 23
+ 957 PUSHACC 29
+ 959 CLOSURE 3, 346
+ 962 PUSHACC 19
+ 964 PUSHACC 24
+ 966 PUSHACC 29
+ 968 CLOSURE 3, 339
+ 971 PUSHACC 20
+ 973 PUSHACC 25
+ 975 CLOSURE 2, 325
+ 978 PUSHACC 25
+ 980 CLOSURE 1, 315
+ 983 PUSHACC 12
+ 985 PUSHACC 28
+ 987 PUSHACC 30
+ 989 CLOSURE 3, 308
+ 992 PUSHACC0
+ 993 CLOSURE 1, 301
+ 996 PUSHACC1
+ 997 CLOSURE 1, 294
+ 1000 PUSHACC 29
+ 1002 PUSHACC 31
+ 1004 CLOSURE 2, 286
+ 1007 MAKEBLOCK1 0
+ 1009 PUSHACC0
+ 1010 CLOSURE 1, 275
+ 1013 PUSHACC1
+ 1014 CLOSURE 1, 263
+ 1017 PUSHACC0
+ 1018 CLOSURE 1, 255
+ 1021 PUSHACC1
+ 1022 PUSHACC 22
+ 1024 PUSHACC4
+ 1025 PUSHACC3
+ 1026 PUSH
+ 1027 CLOSURE 0, 247
+ 1030 PUSH
+ 1031 CLOSURE 0, 241
+ 1034 PUSH
+ 1035 CLOSURE 0, 236
+ 1038 PUSH
+ 1039 CLOSURE 0, 231
+ 1042 PUSH
+ 1043 CLOSURE 0, 223
+ 1046 PUSH
+ 1047 CLOSURE 0, 217
+ 1050 PUSH
+ 1051 CLOSURE 0, 212
+ 1054 PUSH
+ 1055 CLOSURE 0, 207
+ 1058 PUSHACC 32
+ 1060 PUSHACC 35
+ 1062 PUSHACC 33
+ 1064 PUSH
+ 1065 CLOSURE 0, 202
+ 1068 PUSHACC 41
+ 1070 PUSHACC 40
+ 1072 PUSHACC 42
+ 1074 PUSH
+ 1075 CLOSURE 0, 194
+ 1078 PUSHACC 46
+ 1080 PUSH
+ 1081 CLOSURE 0, 188
+ 1084 PUSH
+ 1085 CLOSURE 0, 183
+ 1088 PUSH
+ 1089 CLOSURE 0, 175
+ 1092 PUSHACC 51
+ 1094 PUSH
+ 1095 CLOSURE 0, 166
+ 1098 PUSH
+ 1099 CLOSURE 0, 157
+ 1102 PUSHACC 55
+ 1104 PUSHACC 57
+ 1106 PUSH
+ 1107 CLOSURE 0, 148
+ 1110 PUSH
+ 1111 CLOSURE 0, 142
+ 1114 PUSHACC 63
+ 1116 PUSHACC 62
+ 1118 PUSHACC 64
+ 1120 PUSHACC 38
+ 1122 PUSHACC 40
+ 1124 PUSHACC 42
+ 1126 PUSHACC 44
+ 1128 PUSHACC 46
+ 1130 PUSHACC 48
+ 1132 PUSHACC 50
+ 1134 PUSHACC 52
+ 1136 PUSHACC 54
+ 1138 PUSHACC 56
+ 1140 PUSHACC 58
+ 1142 PUSHACC 60
+ 1144 PUSHACC 62
+ 1146 PUSHACC 64
+ 1148 PUSHACC 66
+ 1150 PUSHACC 82
+ 1152 PUSHACC 84
+ 1154 PUSHACC 86
+ 1156 PUSHACC 88
+ 1158 PUSHACC 90
+ 1160 PUSHACC 92
+ 1162 PUSHACC 94
+ 1164 PUSHACC 96
+ 1166 PUSHACC 98
+ 1168 PUSHACC 100
+ 1170 PUSHACC 104
+ 1172 PUSHACC 104
+ 1174 PUSHACC 104
+ 1176 PUSHACC 108
+ 1178 PUSHACC 110
+ 1180 PUSHACC 112
+ 1182 PUSHACC 117
+ 1184 PUSHACC 117
+ 1186 PUSHACC 117
+ 1188 PUSHACC 117
+ 1190 MAKEBLOCK 69, 0
+ 1193 POP 53
+ 1195 SETGLOBAL Pervasives
+ 1197 BRANCH 2177
+ 1199 RESTART
+ 1200 GRAB 1
+ 1202 ACC1
+ 1203 BRANCHIFNOT 1213
+ 1205 ACC1
+ 1206 GETFIELD1
+ 1207 PUSHACC1
+ 1208 OFFSETINT 1
+ 1210 PUSHOFFSETCLOSURE0
+ 1211 APPTERM2 4
+ 1213 ACC0
+ 1214 RETURN 2
+ 1216 RESTART
+ 1217 GRAB 1
+ 1219 ACC0
+ 1220 BRANCHIFNOT 1251
+ 1222 CONST0
+ 1223 PUSHACC2
+ 1224 EQ
+ 1225 BRANCHIFNOT 1231
+ 1227 ACC0
+ 1228 GETFIELD0
+ 1229 RETURN 2
+ 1231 CONST0
+ 1232 PUSHACC2
+ 1233 GTINT
+ 1234 BRANCHIFNOT 1244
+ 1236 ACC1
+ 1237 OFFSETINT -1
+ 1239 PUSHACC1
+ 1240 GETFIELD1
+ 1241 PUSHOFFSETCLOSURE0
+ 1242 APPTERM2 4
+ 1244 GETGLOBAL "List.nth"
+ 1246 PUSHGETGLOBALFIELD Pervasives, 2
+ 1249 APPTERM1 3
+ 1251 GETGLOBAL "nth"
+ 1253 PUSHGETGLOBALFIELD Pervasives, 3
+ 1256 APPTERM1 3
+ 1258 RESTART
+ 1259 GRAB 1
+ 1261 ACC0
+ 1262 BRANCHIFNOT 1274
+ 1264 ACC1
+ 1265 PUSHACC1
+ 1266 GETFIELD0
+ 1267 MAKEBLOCK2 0
+ 1269 PUSHACC1
+ 1270 GETFIELD1
+ 1271 PUSHOFFSETCLOSURE0
+ 1272 APPTERM2 4
+ 1274 ACC1
+ 1275 RETURN 2
+ 1277 ACC0
+ 1278 BRANCHIFNOT 1291
+ 1280 ACC0
+ 1281 GETFIELD1
+ 1282 PUSHOFFSETCLOSURE0
+ 1283 APPLY1
+ 1284 PUSHACC1
+ 1285 GETFIELD0
+ 1286 PUSHGETGLOBALFIELD Pervasives, 16
+ 1289 APPTERM2 3
+ 1291 RETURN 1
+ 1293 RESTART
+ 1294 GRAB 1
+ 1296 ACC1
+ 1297 BRANCHIFNOT 1313
+ 1299 ACC1
+ 1300 GETFIELD0
+ 1301 PUSHACC1
+ 1302 APPLY1
+ 1303 PUSHACC2
+ 1304 GETFIELD1
+ 1305 PUSHACC2
+ 1306 PUSHOFFSETCLOSURE0
+ 1307 APPLY2
+ 1308 PUSHACC1
+ 1309 MAKEBLOCK2 0
+ 1311 POP 1
+ 1313 RETURN 2
+ 1315 RESTART
+ 1316 GRAB 1
+ 1318 ACC1
+ 1319 BRANCHIFNOT 1331
+ 1321 ACC1
+ 1322 GETFIELD0
+ 1323 PUSHACC1
+ 1324 APPLY1
+ 1325 ACC1
+ 1326 GETFIELD1
+ 1327 PUSHACC1
+ 1328 PUSHOFFSETCLOSURE0
+ 1329 APPTERM2 4
+ 1331 RETURN 2
+ 1333 RESTART
+ 1334 GRAB 2
+ 1336 ACC2
+ 1337 BRANCHIFNOT 1350
+ 1339 ACC2
+ 1340 GETFIELD1
+ 1341 PUSHACC3
+ 1342 GETFIELD0
+ 1343 PUSHACC3
+ 1344 PUSHACC3
+ 1345 APPLY2
+ 1346 PUSHACC2
+ 1347 PUSHOFFSETCLOSURE0
+ 1348 APPTERM3 6
+ 1350 ACC1
+ 1351 RETURN 3
+ 1353 RESTART
+ 1354 GRAB 2
+ 1356 ACC1
+ 1357 BRANCHIFNOT 1370
+ 1359 ACC2
+ 1360 PUSHACC2
+ 1361 GETFIELD1
+ 1362 PUSHACC2
+ 1363 PUSHOFFSETCLOSURE0
+ 1364 APPLY3
+ 1365 PUSHACC2
+ 1366 GETFIELD0
+ 1367 PUSHACC2
+ 1368 APPTERM2 5
+ 1370 ACC2
+ 1371 RETURN 3
+ 1373 RESTART
+ 1374 GRAB 2
+ 1376 ACC1
+ 1377 BRANCHIFNOT 1400
+ 1379 ACC2
+ 1380 BRANCHIFNOT 1407
+ 1382 ACC2
+ 1383 GETFIELD0
+ 1384 PUSHACC2
+ 1385 GETFIELD0
+ 1386 PUSHACC2
+ 1387 APPLY2
+ 1388 PUSHACC3
+ 1389 GETFIELD1
+ 1390 PUSHACC3
+ 1391 GETFIELD1
+ 1392 PUSHACC3
+ 1393 PUSHOFFSETCLOSURE0
+ 1394 APPLY3
+ 1395 PUSHACC1
+ 1396 MAKEBLOCK2 0
+ 1398 RETURN 4
+ 1400 ACC2
+ 1401 BRANCHIFNOT 1405
+ 1403 BRANCH 1407
+ 1405 RETURN 3
+ 1407 GETGLOBAL "List.map2"
+ 1409 PUSHGETGLOBALFIELD Pervasives, 2
+ 1412 APPTERM1 4
+ 1414 RESTART
+ 1415 GRAB 2
+ 1417 ACC1
+ 1418 BRANCHIFNOT 1437
+ 1420 ACC2
+ 1421 BRANCHIFNOT 1444
+ 1423 ACC2
+ 1424 GETFIELD0
+ 1425 PUSHACC2
+ 1426 GETFIELD0
+ 1427 PUSHACC2
+ 1428 APPLY2
+ 1429 ACC2
+ 1430 GETFIELD1
+ 1431 PUSHACC2
+ 1432 GETFIELD1
+ 1433 PUSHACC2
+ 1434 PUSHOFFSETCLOSURE0
+ 1435 APPTERM3 6
+ 1437 ACC2
+ 1438 BRANCHIFNOT 1442
+ 1440 BRANCH 1444
+ 1442 RETURN 3
+ 1444 GETGLOBAL "List.iter2"
+ 1446 PUSHGETGLOBALFIELD Pervasives, 2
+ 1449 APPTERM1 4
+ 1451 RESTART
+ 1452 GRAB 3
+ 1454 ACC2
+ 1455 BRANCHIFNOT 1476
+ 1457 ACC3
+ 1458 BRANCHIFNOT 1482
+ 1460 ACC3
+ 1461 GETFIELD1
+ 1462 PUSHACC3
+ 1463 GETFIELD1
+ 1464 PUSHACC5
+ 1465 GETFIELD0
+ 1466 PUSHACC5
+ 1467 GETFIELD0
+ 1468 PUSHACC5
+ 1469 PUSHACC5
+ 1470 APPLY3
+ 1471 PUSHACC3
+ 1472 PUSHOFFSETCLOSURE0
+ 1473 APPTERM 4, 8
+ 1476 ACC3
+ 1477 BRANCHIF 1482
+ 1479 ACC1
+ 1480 RETURN 4
+ 1482 GETGLOBAL "List.fold_left2"
+ 1484 PUSHGETGLOBALFIELD Pervasives, 2
+ 1487 APPTERM1 5
+ 1489 RESTART
+ 1490 GRAB 3
+ 1492 ACC1
+ 1493 BRANCHIFNOT 1516
+ 1495 ACC2
+ 1496 BRANCHIFNOT 1522
+ 1498 PUSH_RETADDR 1509
+ 1500 ACC6
+ 1501 PUSHACC6
+ 1502 GETFIELD1
+ 1503 PUSHACC6
+ 1504 GETFIELD1
+ 1505 PUSHACC6
+ 1506 PUSHOFFSETCLOSURE0
+ 1507 APPLY 4
+ 1509 PUSHACC3
+ 1510 GETFIELD0
+ 1511 PUSHACC3
+ 1512 GETFIELD0
+ 1513 PUSHACC3
+ 1514 APPTERM3 7
+ 1516 ACC2
+ 1517 BRANCHIF 1522
+ 1519 ACC3
+ 1520 RETURN 4
+ 1522 GETGLOBAL "List.fold_right2"
+ 1524 PUSHGETGLOBALFIELD Pervasives, 2
+ 1527 APPTERM1 5
+ 1529 RESTART
+ 1530 GRAB 1
+ 1532 ACC1
+ 1533 BRANCHIFNOT 1549
+ 1535 ACC1
+ 1536 GETFIELD0
+ 1537 PUSHACC1
+ 1538 APPLY1
+ 1539 BRANCHIFNOT 1547
+ 1541 ACC1
+ 1542 GETFIELD1
+ 1543 PUSHACC1
+ 1544 PUSHOFFSETCLOSURE0
+ 1545 APPTERM2 4
+ 1547 RETURN 2
+ 1549 CONST1
+ 1550 RETURN 2
+ 1552 RESTART
+ 1553 GRAB 1
+ 1555 ACC1
+ 1556 BRANCHIFNOT 1570
+ 1558 ACC1
+ 1559 GETFIELD0
+ 1560 PUSHACC1
+ 1561 APPLY1
+ 1562 BRANCHIF 1570
+ 1564 ACC1
+ 1565 GETFIELD1
+ 1566 PUSHACC1
+ 1567 PUSHOFFSETCLOSURE0
+ 1568 APPTERM2 4
+ 1570 RETURN 2
+ 1572 RESTART
+ 1573 GRAB 2
+ 1575 ACC1
+ 1576 BRANCHIFNOT 1599
+ 1578 ACC2
+ 1579 BRANCHIFNOT 1605
+ 1581 ACC2
+ 1582 GETFIELD0
+ 1583 PUSHACC2
+ 1584 GETFIELD0
+ 1585 PUSHACC2
+ 1586 APPLY2
+ 1587 BRANCHIFNOT 1597
+ 1589 ACC2
+ 1590 GETFIELD1
+ 1591 PUSHACC2
+ 1592 GETFIELD1
+ 1593 PUSHACC2
+ 1594 PUSHOFFSETCLOSURE0
+ 1595 APPTERM3 6
+ 1597 RETURN 3
+ 1599 ACC2
+ 1600 BRANCHIF 1605
+ 1602 CONST1
+ 1603 RETURN 3
+ 1605 GETGLOBAL "List.for_all2"
+ 1607 PUSHGETGLOBALFIELD Pervasives, 2
+ 1610 APPTERM1 4
+ 1612 RESTART
+ 1613 GRAB 2
+ 1615 ACC1
+ 1616 BRANCHIFNOT 1639
+ 1618 ACC2
+ 1619 BRANCHIFNOT 1646
+ 1621 ACC2
+ 1622 GETFIELD0
+ 1623 PUSHACC2
+ 1624 GETFIELD0
+ 1625 PUSHACC2
+ 1626 APPLY2
+ 1627 BRANCHIF 1637
+ 1629 ACC2
+ 1630 GETFIELD1
+ 1631 PUSHACC2
+ 1632 GETFIELD1
+ 1633 PUSHACC2
+ 1634 PUSHOFFSETCLOSURE0
+ 1635 APPTERM3 6
+ 1637 RETURN 3
+ 1639 ACC2
+ 1640 BRANCHIFNOT 1644
+ 1642 BRANCH 1646
+ 1644 RETURN 3
+ 1646 GETGLOBAL "List.exists2"
+ 1648 PUSHGETGLOBALFIELD Pervasives, 2
+ 1651 APPTERM1 4
+ 1653 RESTART
+ 1654 GRAB 1
+ 1656 ACC1
+ 1657 BRANCHIFNOT 1672
+ 1659 ACC0
+ 1660 PUSHACC2
+ 1661 GETFIELD0
+ 1662 C_CALL2 equal
+ 1664 BRANCHIF 1672
+ 1666 ACC1
+ 1667 GETFIELD1
+ 1668 PUSHACC1
+ 1669 PUSHOFFSETCLOSURE0
+ 1670 APPTERM2 4
+ 1672 RETURN 2
+ 1674 RESTART
+ 1675 GRAB 1
+ 1677 ACC1
+ 1678 BRANCHIFNOT 1692
+ 1680 ACC0
+ 1681 PUSHACC2
+ 1682 GETFIELD0
+ 1683 EQ
+ 1684 BRANCHIF 1692
+ 1686 ACC1
+ 1687 GETFIELD1
+ 1688 PUSHACC1
+ 1689 PUSHOFFSETCLOSURE0
+ 1690 APPTERM2 4
+ 1692 RETURN 2
+ 1694 RESTART
+ 1695 GRAB 1
+ 1697 ACC1
+ 1698 BRANCHIFNOT 1719
+ 1700 ACC1
+ 1701 GETFIELD0
+ 1702 PUSHACC1
+ 1703 PUSHACC1
+ 1704 GETFIELD0
+ 1705 C_CALL2 equal
+ 1707 BRANCHIFNOT 1713
+ 1709 ACC0
+ 1710 GETFIELD1
+ 1711 RETURN 3
+ 1713 ACC2
+ 1714 GETFIELD1
+ 1715 PUSHACC2
+ 1716 PUSHOFFSETCLOSURE0
+ 1717 APPTERM2 5
+ 1719 GETGLOBAL Not_found
+ 1721 MAKEBLOCK1 0
+ 1723 RAISE
+ 1724 RESTART
+ 1725 GRAB 1
+ 1727 ACC1
+ 1728 BRANCHIFNOT 1748
+ 1730 ACC1
+ 1731 GETFIELD0
+ 1732 PUSHACC1
+ 1733 PUSHACC1
+ 1734 GETFIELD0
+ 1735 EQ
+ 1736 BRANCHIFNOT 1742
+ 1738 ACC0
+ 1739 GETFIELD1
+ 1740 RETURN 3
+ 1742 ACC2
+ 1743 GETFIELD1
+ 1744 PUSHACC2
+ 1745 PUSHOFFSETCLOSURE0
+ 1746 APPTERM2 5
+ 1748 GETGLOBAL Not_found
+ 1750 MAKEBLOCK1 0
+ 1752 RAISE
+ 1753 RESTART
+ 1754 GRAB 1
+ 1756 ACC1
+ 1757 BRANCHIFNOT 1773
+ 1759 ACC0
+ 1760 PUSHACC2
+ 1761 GETFIELD0
+ 1762 GETFIELD0
+ 1763 C_CALL2 equal
+ 1765 BRANCHIF 1773
+ 1767 ACC1
+ 1768 GETFIELD1
+ 1769 PUSHACC1
+ 1770 PUSHOFFSETCLOSURE0
+ 1771 APPTERM2 4
+ 1773 RETURN 2
+ 1775 RESTART
+ 1776 GRAB 1
+ 1778 ACC1
+ 1779 BRANCHIFNOT 1794
+ 1781 ACC0
+ 1782 PUSHACC2
+ 1783 GETFIELD0
+ 1784 GETFIELD0
+ 1785 EQ
+ 1786 BRANCHIF 1794
+ 1788 ACC1
+ 1789 GETFIELD1
+ 1790 PUSHACC1
+ 1791 PUSHOFFSETCLOSURE0
+ 1792 APPTERM2 4
+ 1794 RETURN 2
+ 1796 RESTART
+ 1797 GRAB 1
+ 1799 ACC1
+ 1800 BRANCHIFNOT 1825
+ 1802 ACC1
+ 1803 GETFIELD0
+ 1804 PUSHACC2
+ 1805 GETFIELD1
+ 1806 PUSHACC2
+ 1807 PUSHACC2
+ 1808 GETFIELD0
+ 1809 C_CALL2 equal
+ 1811 BRANCHIFNOT 1816
+ 1813 ACC0
+ 1814 RETURN 4
+ 1816 ACC0
+ 1817 PUSHACC3
+ 1818 PUSHOFFSETCLOSURE0
+ 1819 APPLY2
+ 1820 PUSHACC2
+ 1821 MAKEBLOCK2 0
+ 1823 POP 2
+ 1825 RETURN 2
+ 1827 RESTART
+ 1828 GRAB 1
+ 1830 ACC1
+ 1831 BRANCHIFNOT 1855
+ 1833 ACC1
+ 1834 GETFIELD0
+ 1835 PUSHACC2
+ 1836 GETFIELD1
+ 1837 PUSHACC2
+ 1838 PUSHACC2
+ 1839 GETFIELD0
+ 1840 EQ
+ 1841 BRANCHIFNOT 1846
+ 1843 ACC0
+ 1844 RETURN 4
+ 1846 ACC0
+ 1847 PUSHACC3
+ 1848 PUSHOFFSETCLOSURE0
+ 1849 APPLY2
+ 1850 PUSHACC2
+ 1851 MAKEBLOCK2 0
+ 1853 POP 2
+ 1855 RETURN 2
+ 1857 RESTART
+ 1858 GRAB 1
+ 1860 ACC1
+ 1861 BRANCHIFNOT 1879
+ 1863 ACC1
+ 1864 GETFIELD0
+ 1865 PUSHACC0
+ 1866 PUSHACC2
+ 1867 APPLY1
+ 1868 BRANCHIFNOT 1873
+ 1870 ACC0
+ 1871 RETURN 3
+ 1873 ACC2
+ 1874 GETFIELD1
+ 1875 PUSHACC2
+ 1876 PUSHOFFSETCLOSURE0
+ 1877 APPTERM2 5
+ 1879 GETGLOBAL Not_found
+ 1881 MAKEBLOCK1 0
+ 1883 RAISE
+ 1884 RESTART
+ 1885 GRAB 2
+ 1887 ACC2
+ 1888 BRANCHIFNOT 1917
+ 1890 ACC2
+ 1891 GETFIELD0
+ 1892 PUSHACC3
+ 1893 GETFIELD1
+ 1894 PUSHACC1
+ 1895 PUSHENVACC2
+ 1896 APPLY1
+ 1897 BRANCHIFNOT 1908
+ 1899 ACC0
+ 1900 PUSHACC4
+ 1901 PUSHACC4
+ 1902 PUSHACC4
+ 1903 MAKEBLOCK2 0
+ 1905 PUSHOFFSETCLOSURE0
+ 1906 APPTERM3 8
+ 1908 ACC0
+ 1909 PUSHACC4
+ 1910 PUSHACC3
+ 1911 MAKEBLOCK2 0
+ 1913 PUSHACC4
+ 1914 PUSHOFFSETCLOSURE0
+ 1915 APPTERM3 8
+ 1917 ACC1
+ 1918 PUSHENVACC1
+ 1919 APPLY1
+ 1920 PUSHACC1
+ 1921 PUSHENVACC1
+ 1922 APPLY1
+ 1923 MAKEBLOCK2 0
+ 1925 RETURN 3
+ 1927 RESTART
+ 1928 GRAB 1
+ 1930 ACC0
+ 1931 PUSHENVACC1
+ 1932 CLOSUREREC 2, 1885
+ 1936 ACC2
+ 1937 PUSHCONST0
+ 1938 PUSHCONST0
+ 1939 PUSHACC3
+ 1940 APPTERM3 6
+ 1942 ACC0
+ 1943 BRANCHIFNOT 1967
+ 1945 ACC0
+ 1946 GETFIELD0
+ 1947 PUSHACC1
+ 1948 GETFIELD1
+ 1949 PUSHOFFSETCLOSURE0
+ 1950 APPLY1
+ 1951 PUSHACC0
+ 1952 GETFIELD1
+ 1953 PUSHACC2
+ 1954 GETFIELD1
+ 1955 MAKEBLOCK2 0
+ 1957 PUSHACC1
+ 1958 GETFIELD0
+ 1959 PUSHACC3
+ 1960 GETFIELD0
+ 1961 MAKEBLOCK2 0
+ 1963 MAKEBLOCK2 0
+ 1965 RETURN 3
+ 1967 GETGLOBAL <0>(0, 0)
+ 1969 RETURN 1
+ 1971 RESTART
+ 1972 GRAB 1
+ 1974 ACC0
+ 1975 BRANCHIFNOT 1996
+ 1977 ACC1
+ 1978 BRANCHIFNOT 2003
+ 1980 ACC1
+ 1981 GETFIELD1
+ 1982 PUSHACC1
+ 1983 GETFIELD1
+ 1984 PUSHOFFSETCLOSURE0
+ 1985 APPLY2
+ 1986 PUSHACC2
+ 1987 GETFIELD0
+ 1988 PUSHACC2
+ 1989 GETFIELD0
+ 1990 MAKEBLOCK2 0
+ 1992 MAKEBLOCK2 0
+ 1994 RETURN 2
+ 1996 ACC1
+ 1997 BRANCHIFNOT 2001
+ 1999 BRANCH 2003
+ 2001 RETURN 2
+ 2003 GETGLOBAL "List.combine"
+ 2005 PUSHGETGLOBALFIELD Pervasives, 2
+ 2008 APPTERM1 3
+ 2010 RESTART
+ 2011 GRAB 1
+ 2013 ACC1
+ 2014 BRANCHIFNOT 2038
+ 2016 ACC1
+ 2017 GETFIELD0
+ 2018 PUSHACC2
+ 2019 GETFIELD1
+ 2020 PUSHACC1
+ 2021 PUSHENVACC2
+ 2022 APPLY1
+ 2023 BRANCHIFNOT 2033
+ 2025 ACC0
+ 2026 PUSHACC3
+ 2027 PUSHACC3
+ 2028 MAKEBLOCK2 0
+ 2030 PUSHOFFSETCLOSURE0
+ 2031 APPTERM2 6
+ 2033 ACC0
+ 2034 PUSHACC3
+ 2035 PUSHOFFSETCLOSURE0
+ 2036 APPTERM2 6
+ 2038 ACC0
+ 2039 PUSHENVACC1
+ 2040 APPTERM1 3
+ 2042 ACC0
+ 2043 PUSHENVACC1
+ 2044 CLOSUREREC 2, 2011
+ 2048 CONST0
+ 2049 PUSHACC1
+ 2050 APPTERM1 3
+ 2052 RESTART
+ 2053 GRAB 2
+ 2055 ACC1
+ 2056 BRANCHIFNOT 2077
+ 2058 ACC2
+ 2059 BRANCHIFNOT 2084
+ 2061 ACC2
+ 2062 GETFIELD1
+ 2063 PUSHACC2
+ 2064 GETFIELD1
+ 2065 PUSHACC2
+ 2066 PUSHACC5
+ 2067 GETFIELD0
+ 2068 PUSHACC5
+ 2069 GETFIELD0
+ 2070 PUSHENVACC1
+ 2071 APPLY2
+ 2072 MAKEBLOCK2 0
+ 2074 PUSHOFFSETCLOSURE0
+ 2075 APPTERM3 6
+ 2077 ACC2
+ 2078 BRANCHIFNOT 2082
+ 2080 BRANCH 2084
+ 2082 RETURN 3
+ 2084 GETGLOBAL "List.rev_map2"
+ 2086 PUSHGETGLOBALFIELD Pervasives, 2
+ 2089 APPTERM1 4
+ 2091 RESTART
+ 2092 GRAB 2
+ 2094 ACC0
+ 2095 CLOSUREREC 1, 2053
+ 2099 ACC3
+ 2100 PUSHACC3
+ 2101 PUSHCONST0
+ 2102 PUSHACC3
+ 2103 APPTERM3 7
+ 2105 RESTART
+ 2106 GRAB 1
+ 2108 ACC1
+ 2109 BRANCHIFNOT 2123
+ 2111 ACC1
+ 2112 GETFIELD1
+ 2113 PUSHACC1
+ 2114 PUSHACC3
+ 2115 GETFIELD0
+ 2116 PUSHENVACC1
+ 2117 APPLY1
+ 2118 MAKEBLOCK2 0
+ 2120 PUSHOFFSETCLOSURE0
+ 2121 APPTERM2 4
+ 2123 ACC0
+ 2124 RETURN 2
+ 2126 RESTART
+ 2127 GRAB 1
+ 2129 ACC0
+ 2130 CLOSUREREC 1, 2106
+ 2134 ACC2
+ 2135 PUSHCONST0
+ 2136 PUSHACC2
+ 2137 APPTERM2 5
+ 2139 CONST0
+ 2140 PUSHACC1
+ 2141 PUSHENVACC1
+ 2142 APPTERM2 3
+ 2144 ACC0
+ 2145 BRANCHIFNOT 2151
+ 2147 ACC0
+ 2148 GETFIELD1
+ 2149 RETURN 1
+ 2151 GETGLOBAL "tl"
+ 2153 PUSHGETGLOBALFIELD Pervasives, 3
+ 2156 APPTERM1 2
+ 2158 ACC0
+ 2159 BRANCHIFNOT 2165
+ 2161 ACC0
+ 2162 GETFIELD0
+ 2163 RETURN 1
+ 2165 GETGLOBAL "hd"
+ 2167 PUSHGETGLOBALFIELD Pervasives, 3
+ 2170 APPTERM1 2
+ 2172 ACC0
+ 2173 PUSHCONST0
+ 2174 PUSHENVACC1
+ 2175 APPTERM2 3
+ 2177 CLOSUREREC 0, 1200
+ 2181 ACC0
+ 2182 CLOSURE 1, 2172
+ 2185 PUSH
+ 2186 CLOSURE 0, 2158
+ 2189 PUSH
+ 2190 CLOSURE 0, 2144
+ 2193 PUSH
+ 2194 CLOSUREREC 0, 1217
+ 2198 GETGLOBALFIELD Pervasives, 16
+ 2201 PUSH
+ 2202 CLOSUREREC 0, 1259
+ 2206 ACC0
+ 2207 CLOSURE 1, 2139
+ 2210 PUSH
+ 2211 CLOSUREREC 0, 1277
+ 2215 CLOSUREREC 0, 1294
+ 2219 CLOSURE 0, 2127
+ 2222 PUSH
+ 2223 CLOSUREREC 0, 1316
+ 2227 CLOSUREREC 0, 1334
+ 2231 CLOSUREREC 0, 1354
+ 2235 CLOSUREREC 0, 1374
+ 2239 CLOSURE 0, 2092
+ 2242 PUSH
+ 2243 CLOSUREREC 0, 1415
+ 2247 CLOSUREREC 0, 1452
+ 2251 CLOSUREREC 0, 1490
+ 2255 CLOSUREREC 0, 1530
+ 2259 CLOSUREREC 0, 1553
+ 2263 CLOSUREREC 0, 1573
+ 2267 CLOSUREREC 0, 1613
+ 2271 CLOSUREREC 0, 1654
+ 2275 CLOSUREREC 0, 1675
+ 2279 CLOSUREREC 0, 1695
+ 2283 CLOSUREREC 0, 1725
+ 2287 CLOSUREREC 0, 1754
+ 2291 CLOSUREREC 0, 1776
+ 2295 CLOSUREREC 0, 1797
+ 2299 CLOSUREREC 0, 1828
+ 2303 CLOSUREREC 0, 1858
+ 2307 ACC 24
+ 2309 CLOSURE 1, 2042
+ 2312 PUSHACC 25
+ 2314 CLOSUREREC 1, 1928
+ 2318 CLOSUREREC 0, 1942
+ 2322 CLOSUREREC 0, 1972
+ 2326 ACC0
+ 2327 PUSHACC2
+ 2328 PUSHACC7
+ 2329 PUSHACC 9
+ 2331 PUSHACC 11
+ 2333 PUSHACC 13
+ 2335 PUSHACC 15
+ 2337 PUSHACC 17
+ 2339 PUSHACC 10
+ 2341 PUSHACC 12
+ 2343 PUSHACC 13
+ 2345 PUSHACC 15
+ 2347 PUSHACC 23
+ 2349 PUSHACC 25
+ 2351 PUSHACC 27
+ 2353 PUSHACC 29
+ 2355 PUSHACC 31
+ 2357 PUSHACC 33
+ 2359 PUSHACC 35
+ 2361 PUSHACC 37
+ 2363 PUSHACC 40
+ 2365 PUSHACC 42
+ 2367 PUSHACC 41
+ 2369 PUSHACC 45
+ 2371 PUSHACC 47
+ 2373 PUSHACC 50
+ 2375 PUSHACC 52
+ 2377 PUSHACC 51
+ 2379 PUSHACC 55
+ 2381 PUSHACC 56
+ 2383 PUSHACC 59
+ 2385 PUSHACC 61
+ 2387 PUSHACC 60
+ 2389 PUSHACC 64
+ 2391 PUSHACC 66
+ 2393 PUSHACC 68
+ 2395 PUSHACC 70
+ 2397 MAKEBLOCK 37, 0
+ 2400 POP 36
+ 2402 SETGLOBAL List
+ 2404 BRANCH 2435
+ 2406 RESTART
+ 2407 GRAB 1
+ 2409 CONST0
+ 2410 PUSHACC2
+ 2411 LEINT
+ 2412 BRANCHIFNOT 2417
+ 2414 ACC0
+ 2415 RETURN 2
+ 2417 ACC1
+ 2418 OFFSETINT -1
+ 2420 PUSHACC1
+ 2421 PUSHCONST1
+ 2422 MAKEBLOCK2 0
+ 2424 PUSHOFFSETCLOSURE0
+ 2425 APPTERM2 4
+ 2427 RESTART
+ 2428 GRAB 1
+ 2430 ACC1
+ 2431 PUSHACC1
+ 2432 ADDINT
+ 2433 RETURN 2
+ 2435 CLOSUREREC 0, 2407
+ 2439 CONSTINT 30000
+ 2441 PUSHCONST0
+ 2442 PUSHACC2
+ 2443 APPLY2
+ 2444 PUSHCONSTINT 30000
+ 2446 PUSHACC1
+ 2447 PUSHCONST0
+ 2448 PUSH
+ 2449 CLOSURE 0, 2428
+ 2452 PUSHGETGLOBALFIELD List, 12
+ 2455 APPLY3
+ 2456 NEQ
+ 2457 BRANCHIFNOT 2464
+ 2459 GETGLOBAL Not_found
+ 2461 MAKEBLOCK1 0
+ 2463 RAISE
+ 2464 POP 2
+ 2466 ATOM0
+ 2467 SETGLOBAL T310-alloc-1
+ 2469 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t310-alloc-2.ml b/testsuite/tests/tool-ocaml/t310-alloc-2.ml
new file mode 100644
index 0000000000..81034e78ab
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t310-alloc-2.ml
@@ -0,0 +1,2313 @@
+open Lib;;
+let v = Array.make 200000 2 in
+let t = ref 0 in
+Array.iter (fun x -> t := !t + x) v;
+if !t <> 400000 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 746
+ 11 RESTART
+ 12 GRAB 1
+ 14 ACC0
+ 15 BRANCHIFNOT 28
+ 17 ACC1
+ 18 PUSHACC1
+ 19 GETFIELD1
+ 20 PUSHOFFSETCLOSURE0
+ 21 APPLY2
+ 22 PUSHACC1
+ 23 GETFIELD0
+ 24 MAKEBLOCK2 0
+ 26 RETURN 2
+ 28 ACC1
+ 29 RETURN 2
+ 31 RESTART
+ 32 GRAB 3
+ 34 CONST0
+ 35 PUSHACC4
+ 36 LEINT
+ 37 BRANCHIFNOT 42
+ 39 CONST0
+ 40 RETURN 4
+ 42 ACC3
+ 43 PUSHACC3
+ 44 PUSHACC3
+ 45 PUSHACC3
+ 46 C_CALL4 caml_input
+ 48 PUSHCONST0
+ 49 PUSHACC1
+ 50 EQ
+ 51 BRANCHIFNOT 58
+ 53 GETGLOBAL End_of_file
+ 55 MAKEBLOCK1 0
+ 57 RAISE
+ 58 ACC0
+ 59 PUSHACC5
+ 60 SUBINT
+ 61 PUSHACC1
+ 62 PUSHACC5
+ 63 ADDINT
+ 64 PUSHACC4
+ 65 PUSHACC4
+ 66 PUSHOFFSETCLOSURE0
+ 67 APPTERM 4, 9
+ 70 ACC0
+ 71 C_CALL1 caml_input_scan_line
+ 73 PUSHCONST0
+ 74 PUSHACC1
+ 75 EQ
+ 76 BRANCHIFNOT 83
+ 78 GETGLOBAL End_of_file
+ 80 MAKEBLOCK1 0
+ 82 RAISE
+ 83 CONST0
+ 84 PUSHACC1
+ 85 GTINT
+ 86 BRANCHIFNOT 107
+ 88 ACC0
+ 89 OFFSETINT -1
+ 91 C_CALL1 create_string
+ 93 PUSHACC1
+ 94 OFFSETINT -1
+ 96 PUSHCONST0
+ 97 PUSHACC2
+ 98 PUSHACC5
+ 99 C_CALL4 caml_input
+ 101 ACC2
+ 102 C_CALL1 caml_input_char
+ 104 ACC0
+ 105 RETURN 3
+ 107 ACC0
+ 108 NEGINT
+ 109 C_CALL1 create_string
+ 111 PUSHACC1
+ 112 NEGINT
+ 113 PUSHCONST0
+ 114 PUSHACC2
+ 115 PUSHACC5
+ 116 C_CALL4 caml_input
+ 118 CONST0
+ 119 PUSHTRAP 130
+ 121 ACC6
+ 122 PUSHOFFSETCLOSURE0
+ 123 APPLY1
+ 124 PUSHACC5
+ 125 PUSHENVACC1
+ 126 APPLY2
+ 127 POPTRAP
+ 128 RETURN 3
+ 130 PUSHGETGLOBAL End_of_file
+ 132 PUSHACC1
+ 133 GETFIELD0
+ 134 EQ
+ 135 BRANCHIFNOT 140
+ 137 ACC1
+ 138 RETURN 4
+ 140 ACC0
+ 141 RAISE
+ 142 ACC0
+ 143 C_CALL1 caml_flush
+ 145 RETURN 1
+ 147 RESTART
+ 148 GRAB 1
+ 150 ACC1
+ 151 PUSHACC1
+ 152 C_CALL2 caml_output_char
+ 154 RETURN 2
+ 156 RESTART
+ 157 GRAB 1
+ 159 ACC1
+ 160 PUSHACC1
+ 161 C_CALL2 caml_output_char
+ 163 RETURN 2
+ 165 RESTART
+ 166 GRAB 1
+ 168 ACC1
+ 169 PUSHACC1
+ 170 C_CALL2 caml_output_int
+ 172 RETURN 2
+ 174 RESTART
+ 175 GRAB 1
+ 177 ACC1
+ 178 PUSHACC1
+ 179 C_CALL2 caml_seek_out
+ 181 RETURN 2
+ 183 ACC0
+ 184 C_CALL1 caml_pos_out
+ 186 RETURN 1
+ 188 ACC0
+ 189 C_CALL1 caml_channel_size
+ 191 RETURN 1
+ 193 RESTART
+ 194 GRAB 1
+ 196 ACC1
+ 197 PUSHACC1
+ 198 C_CALL2 caml_set_binary_mode
+ 200 RETURN 2
+ 202 ACC0
+ 203 C_CALL1 caml_input_char
+ 205 RETURN 1
+ 207 ACC0
+ 208 C_CALL1 caml_input_char
+ 210 RETURN 1
+ 212 ACC0
+ 213 C_CALL1 caml_input_int
+ 215 RETURN 1
+ 217 ACC0
+ 218 C_CALL1 input_value
+ 220 RETURN 1
+ 222 RESTART
+ 223 GRAB 1
+ 225 ACC1
+ 226 PUSHACC1
+ 227 C_CALL2 caml_seek_in
+ 229 RETURN 2
+ 231 ACC0
+ 232 C_CALL1 caml_pos_in
+ 234 RETURN 1
+ 236 ACC0
+ 237 C_CALL1 caml_channel_size
+ 239 RETURN 1
+ 241 ACC0
+ 242 C_CALL1 caml_close_channel
+ 244 RETURN 1
+ 246 RESTART
+ 247 GRAB 1
+ 249 ACC1
+ 250 PUSHACC1
+ 251 C_CALL2 caml_set_binary_mode
+ 253 RETURN 2
+ 255 CONST0
+ 256 PUSHENVACC1
+ 257 APPLY1
+ 258 ACC0
+ 259 C_CALL1 sys_exit
+ 261 RETURN 1
+ 263 CONST0
+ 264 PUSHENVACC1
+ 265 GETFIELD0
+ 266 APPTERM1 2
+ 268 CONST0
+ 269 PUSHENVACC1
+ 270 APPLY1
+ 271 CONST0
+ 272 PUSHENVACC2
+ 273 APPTERM1 2
+ 275 ENVACC1
+ 276 GETFIELD0
+ 277 PUSHACC0
+ 278 PUSHACC2
+ 279 CLOSURE 2, 268
+ 282 PUSHENVACC1
+ 283 SETFIELD0
+ 284 RETURN 2
+ 286 ENVACC1
+ 287 C_CALL1 caml_flush
+ 289 ENVACC2
+ 290 C_CALL1 caml_flush
+ 292 RETURN 1
+ 294 CONST0
+ 295 PUSHENVACC1
+ 296 APPLY1
+ 297 C_CALL1 float_of_string
+ 299 RETURN 1
+ 301 CONST0
+ 302 PUSHENVACC1
+ 303 APPLY1
+ 304 C_CALL1 int_of_string
+ 306 RETURN 1
+ 308 ENVACC2
+ 309 C_CALL1 caml_flush
+ 311 ENVACC1
+ 312 PUSHENVACC3
+ 313 APPTERM1 2
+ 315 CONSTINT 13
+ 317 PUSHENVACC1
+ 318 C_CALL2 caml_output_char
+ 320 ENVACC1
+ 321 C_CALL1 caml_flush
+ 323 RETURN 1
+ 325 ACC0
+ 326 PUSHENVACC1
+ 327 PUSHENVACC2
+ 328 APPLY2
+ 329 CONSTINT 13
+ 331 PUSHENVACC1
+ 332 C_CALL2 caml_output_char
+ 334 ENVACC1
+ 335 C_CALL1 caml_flush
+ 337 RETURN 1
+ 339 ACC0
+ 340 PUSHENVACC1
+ 341 APPLY1
+ 342 PUSHENVACC2
+ 343 PUSHENVACC3
+ 344 APPTERM2 3
+ 346 ACC0
+ 347 PUSHENVACC1
+ 348 APPLY1
+ 349 PUSHENVACC2
+ 350 PUSHENVACC3
+ 351 APPTERM2 3
+ 353 ACC0
+ 354 PUSHENVACC1
+ 355 PUSHENVACC2
+ 356 APPTERM2 3
+ 358 ACC0
+ 359 PUSHENVACC1
+ 360 C_CALL2 caml_output_char
+ 362 RETURN 1
+ 364 CONSTINT 13
+ 366 PUSHENVACC1
+ 367 C_CALL2 caml_output_char
+ 369 ENVACC1
+ 370 C_CALL1 caml_flush
+ 372 RETURN 1
+ 374 ACC0
+ 375 PUSHENVACC1
+ 376 PUSHENVACC2
+ 377 APPLY2
+ 378 CONSTINT 13
+ 380 PUSHENVACC1
+ 381 C_CALL2 caml_output_char
+ 383 RETURN 1
+ 385 ACC0
+ 386 PUSHENVACC1
+ 387 APPLY1
+ 388 PUSHENVACC2
+ 389 PUSHENVACC3
+ 390 APPTERM2 3
+ 392 ACC0
+ 393 PUSHENVACC1
+ 394 APPLY1
+ 395 PUSHENVACC2
+ 396 PUSHENVACC3
+ 397 APPTERM2 3
+ 399 ACC0
+ 400 PUSHENVACC1
+ 401 PUSHENVACC2
+ 402 APPTERM2 3
+ 404 ACC0
+ 405 PUSHENVACC1
+ 406 C_CALL2 caml_output_char
+ 408 RETURN 1
+ 410 RESTART
+ 411 GRAB 3
+ 413 CONST0
+ 414 PUSHACC3
+ 415 LTINT
+ 416 BRANCHIF 427
+ 418 ACC1
+ 419 C_CALL1 ml_string_length
+ 421 PUSHACC4
+ 422 PUSHACC4
+ 423 ADDINT
+ 424 GTINT
+ 425 BRANCHIFNOT 432
+ 427 GETGLOBAL "really_input"
+ 429 PUSHENVACC1
+ 430 APPTERM1 5
+ 432 ACC3
+ 433 PUSHACC3
+ 434 PUSHACC3
+ 435 PUSHACC3
+ 436 PUSHENVACC2
+ 437 APPTERM 4, 8
+ 440 RESTART
+ 441 GRAB 3
+ 443 CONST0
+ 444 PUSHACC3
+ 445 LTINT
+ 446 BRANCHIF 457
+ 448 ACC1
+ 449 C_CALL1 ml_string_length
+ 451 PUSHACC4
+ 452 PUSHACC4
+ 453 ADDINT
+ 454 GTINT
+ 455 BRANCHIFNOT 462
+ 457 GETGLOBAL "input"
+ 459 PUSHENVACC1
+ 460 APPTERM1 5
+ 462 ACC3
+ 463 PUSHACC3
+ 464 PUSHACC3
+ 465 PUSHACC3
+ 466 C_CALL4 caml_input
+ 468 RETURN 4
+ 470 ACC0
+ 471 PUSHCONST0
+ 472 PUSHGETGLOBAL <0>(0, <0>(6, 0))
+ 474 PUSHENVACC1
+ 475 APPTERM3 4
+ 477 ACC0
+ 478 PUSHCONST0
+ 479 PUSHGETGLOBAL <0>(0, <0>(7, 0))
+ 481 PUSHENVACC1
+ 482 APPTERM3 4
+ 484 RESTART
+ 485 GRAB 2
+ 487 ACC1
+ 488 PUSHACC1
+ 489 PUSHACC4
+ 490 C_CALL3 sys_open
+ 492 C_CALL1 caml_open_descriptor
+ 494 RETURN 3
+ 496 ACC0
+ 497 C_CALL1 caml_flush
+ 499 ACC0
+ 500 C_CALL1 caml_close_channel
+ 502 RETURN 1
+ 504 RESTART
+ 505 GRAB 1
+ 507 CONST0
+ 508 PUSHACC2
+ 509 PUSHACC2
+ 510 C_CALL3 output_value
+ 512 RETURN 2
+ 514 RESTART
+ 515 GRAB 3
+ 517 CONST0
+ 518 PUSHACC3
+ 519 LTINT
+ 520 BRANCHIF 531
+ 522 ACC1
+ 523 C_CALL1 ml_string_length
+ 525 PUSHACC4
+ 526 PUSHACC4
+ 527 ADDINT
+ 528 GTINT
+ 529 BRANCHIFNOT 536
+ 531 GETGLOBAL "output"
+ 533 PUSHENVACC1
+ 534 APPTERM1 5
+ 536 ACC3
+ 537 PUSHACC3
+ 538 PUSHACC3
+ 539 PUSHACC3
+ 540 C_CALL4 caml_output
+ 542 RETURN 4
+ 544 RESTART
+ 545 GRAB 1
+ 547 ACC1
+ 548 C_CALL1 ml_string_length
+ 550 PUSHCONST0
+ 551 PUSHACC3
+ 552 PUSHACC3
+ 553 C_CALL4 caml_output
+ 555 RETURN 2
+ 557 ACC0
+ 558 PUSHCONSTINT 438
+ 560 PUSHGETGLOBAL <0>(1, <0>(3, <0>(4, <0>(6, 0))))
+ 562 PUSHENVACC1
+ 563 APPTERM3 4
+ 565 ACC0
+ 566 PUSHCONSTINT 438
+ 568 PUSHGETGLOBAL <0>(1, <0>(3, <0>(4, <0>(7, 0))))
+ 570 PUSHENVACC1
+ 571 APPTERM3 4
+ 573 RESTART
+ 574 GRAB 2
+ 576 ACC1
+ 577 PUSHACC1
+ 578 PUSHACC4
+ 579 C_CALL3 sys_open
+ 581 C_CALL1 caml_open_descriptor
+ 583 RETURN 3
+ 585 ACC0
+ 586 PUSHGETGLOBAL "%.12g"
+ 588 C_CALL2 format_float
+ 590 RETURN 1
+ 592 ACC0
+ 593 PUSHGETGLOBAL "%d"
+ 595 C_CALL2 format_int
+ 597 RETURN 1
+ 599 GETGLOBAL "false"
+ 601 PUSHACC1
+ 602 C_CALL2 string_equal
+ 604 BRANCHIFNOT 609
+ 606 CONST0
+ 607 RETURN 1
+ 609 GETGLOBAL "true"
+ 611 PUSHACC1
+ 612 C_CALL2 string_equal
+ 614 BRANCHIFNOT 619
+ 616 CONST1
+ 617 RETURN 1
+ 619 GETGLOBAL "bool_of_string"
+ 621 PUSHENVACC1
+ 622 APPTERM1 2
+ 624 ACC0
+ 625 BRANCHIFNOT 631
+ 627 GETGLOBAL "true"
+ 629 RETURN 1
+ 631 GETGLOBAL "false"
+ 633 RETURN 1
+ 635 CONST0
+ 636 PUSHACC1
+ 637 LTINT
+ 638 BRANCHIF 646
+ 640 CONSTINT 255
+ 642 PUSHACC1
+ 643 GTINT
+ 644 BRANCHIFNOT 651
+ 646 GETGLOBAL "char_of_int"
+ 648 PUSHENVACC1
+ 649 APPTERM1 2
+ 651 ACC0
+ 652 RETURN 1
+ 654 RESTART
+ 655 GRAB 1
+ 657 ACC0
+ 658 C_CALL1 ml_string_length
+ 660 PUSHACC2
+ 661 C_CALL1 ml_string_length
+ 663 PUSHACC0
+ 664 PUSHACC2
+ 665 ADDINT
+ 666 C_CALL1 create_string
+ 668 PUSHACC2
+ 669 PUSHCONST0
+ 670 PUSHACC2
+ 671 PUSHCONST0
+ 672 PUSHACC7
+ 673 C_CALL5 blit_string
+ 675 ACC1
+ 676 PUSHACC3
+ 677 PUSHACC2
+ 678 PUSHCONST0
+ 679 PUSHACC 8
+ 681 C_CALL5 blit_string
+ 683 ACC0
+ 684 RETURN 5
+ 686 CONSTINT -1
+ 688 PUSHACC1
+ 689 XORINT
+ 690 RETURN 1
+ 692 CONST0
+ 693 PUSHACC1
+ 694 GEINT
+ 695 BRANCHIFNOT 700
+ 697 ACC0
+ 698 RETURN 1
+ 700 ACC0
+ 701 NEGINT
+ 702 RETURN 1
+ 704 RESTART
+ 705 GRAB 1
+ 707 ACC1
+ 708 PUSHACC1
+ 709 C_CALL2 greaterequal
+ 711 BRANCHIFNOT 716
+ 713 ACC0
+ 714 RETURN 2
+ 716 ACC1
+ 717 RETURN 2
+ 719 RESTART
+ 720 GRAB 1
+ 722 ACC1
+ 723 PUSHACC1
+ 724 C_CALL2 lessequal
+ 726 BRANCHIFNOT 731
+ 728 ACC0
+ 729 RETURN 2
+ 731 ACC1
+ 732 RETURN 2
+ 734 ACC0
+ 735 PUSHGETGLOBAL Invalid_argument
+ 737 MAKEBLOCK2 0
+ 739 RAISE
+ 740 ACC0
+ 741 PUSHGETGLOBAL Failure
+ 743 MAKEBLOCK2 0
+ 745 RAISE
+ 746 CLOSURE 0, 740
+ 749 PUSH
+ 750 CLOSURE 0, 734
+ 753 PUSHGETGLOBAL "Pervasives.Exit"
+ 755 MAKEBLOCK1 0
+ 757 PUSHGETGLOBAL "Pervasives.Assert_failure"
+ 759 MAKEBLOCK1 0
+ 761 PUSH
+ 762 CLOSURE 0, 720
+ 765 PUSH
+ 766 CLOSURE 0, 705
+ 769 PUSH
+ 770 CLOSURE 0, 692
+ 773 PUSH
+ 774 CLOSURE 0, 686
+ 777 PUSHCONST0
+ 778 PUSHCONSTINT 31
+ 780 PUSHCONST1
+ 781 LSLINT
+ 782 EQ
+ 783 BRANCHIFNOT 789
+ 785 CONSTINT 30
+ 787 BRANCH 791
+ 789 CONSTINT 62
+ 791 PUSHCONST1
+ 792 LSLINT
+ 793 PUSHACC0
+ 794 OFFSETINT -1
+ 796 PUSH
+ 797 CLOSURE 0, 655
+ 800 PUSHACC 9
+ 802 CLOSURE 1, 635
+ 805 PUSH
+ 806 CLOSURE 0, 624
+ 809 PUSHACC 11
+ 811 CLOSURE 1, 599
+ 814 PUSH
+ 815 CLOSURE 0, 592
+ 818 PUSH
+ 819 CLOSURE 0, 585
+ 822 PUSH
+ 823 CLOSUREREC 0, 12
+ 827 CONST0
+ 828 C_CALL1 caml_open_descriptor
+ 830 PUSHCONST1
+ 831 C_CALL1 caml_open_descriptor
+ 833 PUSHCONST2
+ 834 C_CALL1 caml_open_descriptor
+ 836 PUSH
+ 837 CLOSURE 0, 574
+ 840 PUSHACC0
+ 841 CLOSURE 1, 565
+ 844 PUSHACC1
+ 845 CLOSURE 1, 557
+ 848 PUSH
+ 849 CLOSURE 0, 545
+ 852 PUSHACC 22
+ 854 CLOSURE 1, 515
+ 857 PUSH
+ 858 CLOSURE 0, 505
+ 861 PUSH
+ 862 CLOSURE 0, 496
+ 865 PUSH
+ 866 CLOSURE 0, 485
+ 869 PUSHACC0
+ 870 CLOSURE 1, 477
+ 873 PUSHACC1
+ 874 CLOSURE 1, 470
+ 877 PUSHACC 28
+ 879 CLOSURE 1, 441
+ 882 PUSH
+ 883 CLOSUREREC 0, 32
+ 887 ACC0
+ 888 PUSHACC 31
+ 890 CLOSURE 2, 411
+ 893 PUSHACC 22
+ 895 CLOSUREREC 1, 70
+ 899 ACC 15
+ 901 CLOSURE 1, 404
+ 904 PUSHACC 11
+ 906 PUSHACC 17
+ 908 CLOSURE 2, 399
+ 911 PUSHACC 12
+ 913 PUSHACC 18
+ 915 PUSHACC 23
+ 917 CLOSURE 3, 392
+ 920 PUSHACC 13
+ 922 PUSHACC 19
+ 924 PUSHACC 23
+ 926 CLOSURE 3, 385
+ 929 PUSHACC 14
+ 931 PUSHACC 20
+ 933 CLOSURE 2, 374
+ 936 PUSHACC 20
+ 938 CLOSURE 1, 364
+ 941 PUSHACC 20
+ 943 CLOSURE 1, 358
+ 946 PUSHACC 17
+ 948 PUSHACC 22
+ 950 CLOSURE 2, 353
+ 953 PUSHACC 18
+ 955 PUSHACC 23
+ 957 PUSHACC 29
+ 959 CLOSURE 3, 346
+ 962 PUSHACC 19
+ 964 PUSHACC 24
+ 966 PUSHACC 29
+ 968 CLOSURE 3, 339
+ 971 PUSHACC 20
+ 973 PUSHACC 25
+ 975 CLOSURE 2, 325
+ 978 PUSHACC 25
+ 980 CLOSURE 1, 315
+ 983 PUSHACC 12
+ 985 PUSHACC 28
+ 987 PUSHACC 30
+ 989 CLOSURE 3, 308
+ 992 PUSHACC0
+ 993 CLOSURE 1, 301
+ 996 PUSHACC1
+ 997 CLOSURE 1, 294
+ 1000 PUSHACC 29
+ 1002 PUSHACC 31
+ 1004 CLOSURE 2, 286
+ 1007 MAKEBLOCK1 0
+ 1009 PUSHACC0
+ 1010 CLOSURE 1, 275
+ 1013 PUSHACC1
+ 1014 CLOSURE 1, 263
+ 1017 PUSHACC0
+ 1018 CLOSURE 1, 255
+ 1021 PUSHACC1
+ 1022 PUSHACC 22
+ 1024 PUSHACC4
+ 1025 PUSHACC3
+ 1026 PUSH
+ 1027 CLOSURE 0, 247
+ 1030 PUSH
+ 1031 CLOSURE 0, 241
+ 1034 PUSH
+ 1035 CLOSURE 0, 236
+ 1038 PUSH
+ 1039 CLOSURE 0, 231
+ 1042 PUSH
+ 1043 CLOSURE 0, 223
+ 1046 PUSH
+ 1047 CLOSURE 0, 217
+ 1050 PUSH
+ 1051 CLOSURE 0, 212
+ 1054 PUSH
+ 1055 CLOSURE 0, 207
+ 1058 PUSHACC 32
+ 1060 PUSHACC 35
+ 1062 PUSHACC 33
+ 1064 PUSH
+ 1065 CLOSURE 0, 202
+ 1068 PUSHACC 41
+ 1070 PUSHACC 40
+ 1072 PUSHACC 42
+ 1074 PUSH
+ 1075 CLOSURE 0, 194
+ 1078 PUSHACC 46
+ 1080 PUSH
+ 1081 CLOSURE 0, 188
+ 1084 PUSH
+ 1085 CLOSURE 0, 183
+ 1088 PUSH
+ 1089 CLOSURE 0, 175
+ 1092 PUSHACC 51
+ 1094 PUSH
+ 1095 CLOSURE 0, 166
+ 1098 PUSH
+ 1099 CLOSURE 0, 157
+ 1102 PUSHACC 55
+ 1104 PUSHACC 57
+ 1106 PUSH
+ 1107 CLOSURE 0, 148
+ 1110 PUSH
+ 1111 CLOSURE 0, 142
+ 1114 PUSHACC 63
+ 1116 PUSHACC 62
+ 1118 PUSHACC 64
+ 1120 PUSHACC 38
+ 1122 PUSHACC 40
+ 1124 PUSHACC 42
+ 1126 PUSHACC 44
+ 1128 PUSHACC 46
+ 1130 PUSHACC 48
+ 1132 PUSHACC 50
+ 1134 PUSHACC 52
+ 1136 PUSHACC 54
+ 1138 PUSHACC 56
+ 1140 PUSHACC 58
+ 1142 PUSHACC 60
+ 1144 PUSHACC 62
+ 1146 PUSHACC 64
+ 1148 PUSHACC 66
+ 1150 PUSHACC 82
+ 1152 PUSHACC 84
+ 1154 PUSHACC 86
+ 1156 PUSHACC 88
+ 1158 PUSHACC 90
+ 1160 PUSHACC 92
+ 1162 PUSHACC 94
+ 1164 PUSHACC 96
+ 1166 PUSHACC 98
+ 1168 PUSHACC 100
+ 1170 PUSHACC 104
+ 1172 PUSHACC 104
+ 1174 PUSHACC 104
+ 1176 PUSHACC 108
+ 1178 PUSHACC 110
+ 1180 PUSHACC 112
+ 1182 PUSHACC 117
+ 1184 PUSHACC 117
+ 1186 PUSHACC 117
+ 1188 PUSHACC 117
+ 1190 MAKEBLOCK 69, 0
+ 1193 POP 53
+ 1195 SETGLOBAL Pervasives
+ 1197 BRANCH 2177
+ 1199 RESTART
+ 1200 GRAB 1
+ 1202 ACC1
+ 1203 BRANCHIFNOT 1213
+ 1205 ACC1
+ 1206 GETFIELD1
+ 1207 PUSHACC1
+ 1208 OFFSETINT 1
+ 1210 PUSHOFFSETCLOSURE0
+ 1211 APPTERM2 4
+ 1213 ACC0
+ 1214 RETURN 2
+ 1216 RESTART
+ 1217 GRAB 1
+ 1219 ACC0
+ 1220 BRANCHIFNOT 1251
+ 1222 CONST0
+ 1223 PUSHACC2
+ 1224 EQ
+ 1225 BRANCHIFNOT 1231
+ 1227 ACC0
+ 1228 GETFIELD0
+ 1229 RETURN 2
+ 1231 CONST0
+ 1232 PUSHACC2
+ 1233 GTINT
+ 1234 BRANCHIFNOT 1244
+ 1236 ACC1
+ 1237 OFFSETINT -1
+ 1239 PUSHACC1
+ 1240 GETFIELD1
+ 1241 PUSHOFFSETCLOSURE0
+ 1242 APPTERM2 4
+ 1244 GETGLOBAL "List.nth"
+ 1246 PUSHGETGLOBALFIELD Pervasives, 2
+ 1249 APPTERM1 3
+ 1251 GETGLOBAL "nth"
+ 1253 PUSHGETGLOBALFIELD Pervasives, 3
+ 1256 APPTERM1 3
+ 1258 RESTART
+ 1259 GRAB 1
+ 1261 ACC0
+ 1262 BRANCHIFNOT 1274
+ 1264 ACC1
+ 1265 PUSHACC1
+ 1266 GETFIELD0
+ 1267 MAKEBLOCK2 0
+ 1269 PUSHACC1
+ 1270 GETFIELD1
+ 1271 PUSHOFFSETCLOSURE0
+ 1272 APPTERM2 4
+ 1274 ACC1
+ 1275 RETURN 2
+ 1277 ACC0
+ 1278 BRANCHIFNOT 1291
+ 1280 ACC0
+ 1281 GETFIELD1
+ 1282 PUSHOFFSETCLOSURE0
+ 1283 APPLY1
+ 1284 PUSHACC1
+ 1285 GETFIELD0
+ 1286 PUSHGETGLOBALFIELD Pervasives, 16
+ 1289 APPTERM2 3
+ 1291 RETURN 1
+ 1293 RESTART
+ 1294 GRAB 1
+ 1296 ACC1
+ 1297 BRANCHIFNOT 1313
+ 1299 ACC1
+ 1300 GETFIELD0
+ 1301 PUSHACC1
+ 1302 APPLY1
+ 1303 PUSHACC2
+ 1304 GETFIELD1
+ 1305 PUSHACC2
+ 1306 PUSHOFFSETCLOSURE0
+ 1307 APPLY2
+ 1308 PUSHACC1
+ 1309 MAKEBLOCK2 0
+ 1311 POP 1
+ 1313 RETURN 2
+ 1315 RESTART
+ 1316 GRAB 1
+ 1318 ACC1
+ 1319 BRANCHIFNOT 1331
+ 1321 ACC1
+ 1322 GETFIELD0
+ 1323 PUSHACC1
+ 1324 APPLY1
+ 1325 ACC1
+ 1326 GETFIELD1
+ 1327 PUSHACC1
+ 1328 PUSHOFFSETCLOSURE0
+ 1329 APPTERM2 4
+ 1331 RETURN 2
+ 1333 RESTART
+ 1334 GRAB 2
+ 1336 ACC2
+ 1337 BRANCHIFNOT 1350
+ 1339 ACC2
+ 1340 GETFIELD1
+ 1341 PUSHACC3
+ 1342 GETFIELD0
+ 1343 PUSHACC3
+ 1344 PUSHACC3
+ 1345 APPLY2
+ 1346 PUSHACC2
+ 1347 PUSHOFFSETCLOSURE0
+ 1348 APPTERM3 6
+ 1350 ACC1
+ 1351 RETURN 3
+ 1353 RESTART
+ 1354 GRAB 2
+ 1356 ACC1
+ 1357 BRANCHIFNOT 1370
+ 1359 ACC2
+ 1360 PUSHACC2
+ 1361 GETFIELD1
+ 1362 PUSHACC2
+ 1363 PUSHOFFSETCLOSURE0
+ 1364 APPLY3
+ 1365 PUSHACC2
+ 1366 GETFIELD0
+ 1367 PUSHACC2
+ 1368 APPTERM2 5
+ 1370 ACC2
+ 1371 RETURN 3
+ 1373 RESTART
+ 1374 GRAB 2
+ 1376 ACC1
+ 1377 BRANCHIFNOT 1400
+ 1379 ACC2
+ 1380 BRANCHIFNOT 1407
+ 1382 ACC2
+ 1383 GETFIELD0
+ 1384 PUSHACC2
+ 1385 GETFIELD0
+ 1386 PUSHACC2
+ 1387 APPLY2
+ 1388 PUSHACC3
+ 1389 GETFIELD1
+ 1390 PUSHACC3
+ 1391 GETFIELD1
+ 1392 PUSHACC3
+ 1393 PUSHOFFSETCLOSURE0
+ 1394 APPLY3
+ 1395 PUSHACC1
+ 1396 MAKEBLOCK2 0
+ 1398 RETURN 4
+ 1400 ACC2
+ 1401 BRANCHIFNOT 1405
+ 1403 BRANCH 1407
+ 1405 RETURN 3
+ 1407 GETGLOBAL "List.map2"
+ 1409 PUSHGETGLOBALFIELD Pervasives, 2
+ 1412 APPTERM1 4
+ 1414 RESTART
+ 1415 GRAB 2
+ 1417 ACC1
+ 1418 BRANCHIFNOT 1437
+ 1420 ACC2
+ 1421 BRANCHIFNOT 1444
+ 1423 ACC2
+ 1424 GETFIELD0
+ 1425 PUSHACC2
+ 1426 GETFIELD0
+ 1427 PUSHACC2
+ 1428 APPLY2
+ 1429 ACC2
+ 1430 GETFIELD1
+ 1431 PUSHACC2
+ 1432 GETFIELD1
+ 1433 PUSHACC2
+ 1434 PUSHOFFSETCLOSURE0
+ 1435 APPTERM3 6
+ 1437 ACC2
+ 1438 BRANCHIFNOT 1442
+ 1440 BRANCH 1444
+ 1442 RETURN 3
+ 1444 GETGLOBAL "List.iter2"
+ 1446 PUSHGETGLOBALFIELD Pervasives, 2
+ 1449 APPTERM1 4
+ 1451 RESTART
+ 1452 GRAB 3
+ 1454 ACC2
+ 1455 BRANCHIFNOT 1476
+ 1457 ACC3
+ 1458 BRANCHIFNOT 1482
+ 1460 ACC3
+ 1461 GETFIELD1
+ 1462 PUSHACC3
+ 1463 GETFIELD1
+ 1464 PUSHACC5
+ 1465 GETFIELD0
+ 1466 PUSHACC5
+ 1467 GETFIELD0
+ 1468 PUSHACC5
+ 1469 PUSHACC5
+ 1470 APPLY3
+ 1471 PUSHACC3
+ 1472 PUSHOFFSETCLOSURE0
+ 1473 APPTERM 4, 8
+ 1476 ACC3
+ 1477 BRANCHIF 1482
+ 1479 ACC1
+ 1480 RETURN 4
+ 1482 GETGLOBAL "List.fold_left2"
+ 1484 PUSHGETGLOBALFIELD Pervasives, 2
+ 1487 APPTERM1 5
+ 1489 RESTART
+ 1490 GRAB 3
+ 1492 ACC1
+ 1493 BRANCHIFNOT 1516
+ 1495 ACC2
+ 1496 BRANCHIFNOT 1522
+ 1498 PUSH_RETADDR 1509
+ 1500 ACC6
+ 1501 PUSHACC6
+ 1502 GETFIELD1
+ 1503 PUSHACC6
+ 1504 GETFIELD1
+ 1505 PUSHACC6
+ 1506 PUSHOFFSETCLOSURE0
+ 1507 APPLY 4
+ 1509 PUSHACC3
+ 1510 GETFIELD0
+ 1511 PUSHACC3
+ 1512 GETFIELD0
+ 1513 PUSHACC3
+ 1514 APPTERM3 7
+ 1516 ACC2
+ 1517 BRANCHIF 1522
+ 1519 ACC3
+ 1520 RETURN 4
+ 1522 GETGLOBAL "List.fold_right2"
+ 1524 PUSHGETGLOBALFIELD Pervasives, 2
+ 1527 APPTERM1 5
+ 1529 RESTART
+ 1530 GRAB 1
+ 1532 ACC1
+ 1533 BRANCHIFNOT 1549
+ 1535 ACC1
+ 1536 GETFIELD0
+ 1537 PUSHACC1
+ 1538 APPLY1
+ 1539 BRANCHIFNOT 1547
+ 1541 ACC1
+ 1542 GETFIELD1
+ 1543 PUSHACC1
+ 1544 PUSHOFFSETCLOSURE0
+ 1545 APPTERM2 4
+ 1547 RETURN 2
+ 1549 CONST1
+ 1550 RETURN 2
+ 1552 RESTART
+ 1553 GRAB 1
+ 1555 ACC1
+ 1556 BRANCHIFNOT 1570
+ 1558 ACC1
+ 1559 GETFIELD0
+ 1560 PUSHACC1
+ 1561 APPLY1
+ 1562 BRANCHIF 1570
+ 1564 ACC1
+ 1565 GETFIELD1
+ 1566 PUSHACC1
+ 1567 PUSHOFFSETCLOSURE0
+ 1568 APPTERM2 4
+ 1570 RETURN 2
+ 1572 RESTART
+ 1573 GRAB 2
+ 1575 ACC1
+ 1576 BRANCHIFNOT 1599
+ 1578 ACC2
+ 1579 BRANCHIFNOT 1605
+ 1581 ACC2
+ 1582 GETFIELD0
+ 1583 PUSHACC2
+ 1584 GETFIELD0
+ 1585 PUSHACC2
+ 1586 APPLY2
+ 1587 BRANCHIFNOT 1597
+ 1589 ACC2
+ 1590 GETFIELD1
+ 1591 PUSHACC2
+ 1592 GETFIELD1
+ 1593 PUSHACC2
+ 1594 PUSHOFFSETCLOSURE0
+ 1595 APPTERM3 6
+ 1597 RETURN 3
+ 1599 ACC2
+ 1600 BRANCHIF 1605
+ 1602 CONST1
+ 1603 RETURN 3
+ 1605 GETGLOBAL "List.for_all2"
+ 1607 PUSHGETGLOBALFIELD Pervasives, 2
+ 1610 APPTERM1 4
+ 1612 RESTART
+ 1613 GRAB 2
+ 1615 ACC1
+ 1616 BRANCHIFNOT 1639
+ 1618 ACC2
+ 1619 BRANCHIFNOT 1646
+ 1621 ACC2
+ 1622 GETFIELD0
+ 1623 PUSHACC2
+ 1624 GETFIELD0
+ 1625 PUSHACC2
+ 1626 APPLY2
+ 1627 BRANCHIF 1637
+ 1629 ACC2
+ 1630 GETFIELD1
+ 1631 PUSHACC2
+ 1632 GETFIELD1
+ 1633 PUSHACC2
+ 1634 PUSHOFFSETCLOSURE0
+ 1635 APPTERM3 6
+ 1637 RETURN 3
+ 1639 ACC2
+ 1640 BRANCHIFNOT 1644
+ 1642 BRANCH 1646
+ 1644 RETURN 3
+ 1646 GETGLOBAL "List.exists2"
+ 1648 PUSHGETGLOBALFIELD Pervasives, 2
+ 1651 APPTERM1 4
+ 1653 RESTART
+ 1654 GRAB 1
+ 1656 ACC1
+ 1657 BRANCHIFNOT 1672
+ 1659 ACC0
+ 1660 PUSHACC2
+ 1661 GETFIELD0
+ 1662 C_CALL2 equal
+ 1664 BRANCHIF 1672
+ 1666 ACC1
+ 1667 GETFIELD1
+ 1668 PUSHACC1
+ 1669 PUSHOFFSETCLOSURE0
+ 1670 APPTERM2 4
+ 1672 RETURN 2
+ 1674 RESTART
+ 1675 GRAB 1
+ 1677 ACC1
+ 1678 BRANCHIFNOT 1692
+ 1680 ACC0
+ 1681 PUSHACC2
+ 1682 GETFIELD0
+ 1683 EQ
+ 1684 BRANCHIF 1692
+ 1686 ACC1
+ 1687 GETFIELD1
+ 1688 PUSHACC1
+ 1689 PUSHOFFSETCLOSURE0
+ 1690 APPTERM2 4
+ 1692 RETURN 2
+ 1694 RESTART
+ 1695 GRAB 1
+ 1697 ACC1
+ 1698 BRANCHIFNOT 1719
+ 1700 ACC1
+ 1701 GETFIELD0
+ 1702 PUSHACC1
+ 1703 PUSHACC1
+ 1704 GETFIELD0
+ 1705 C_CALL2 equal
+ 1707 BRANCHIFNOT 1713
+ 1709 ACC0
+ 1710 GETFIELD1
+ 1711 RETURN 3
+ 1713 ACC2
+ 1714 GETFIELD1
+ 1715 PUSHACC2
+ 1716 PUSHOFFSETCLOSURE0
+ 1717 APPTERM2 5
+ 1719 GETGLOBAL Not_found
+ 1721 MAKEBLOCK1 0
+ 1723 RAISE
+ 1724 RESTART
+ 1725 GRAB 1
+ 1727 ACC1
+ 1728 BRANCHIFNOT 1748
+ 1730 ACC1
+ 1731 GETFIELD0
+ 1732 PUSHACC1
+ 1733 PUSHACC1
+ 1734 GETFIELD0
+ 1735 EQ
+ 1736 BRANCHIFNOT 1742
+ 1738 ACC0
+ 1739 GETFIELD1
+ 1740 RETURN 3
+ 1742 ACC2
+ 1743 GETFIELD1
+ 1744 PUSHACC2
+ 1745 PUSHOFFSETCLOSURE0
+ 1746 APPTERM2 5
+ 1748 GETGLOBAL Not_found
+ 1750 MAKEBLOCK1 0
+ 1752 RAISE
+ 1753 RESTART
+ 1754 GRAB 1
+ 1756 ACC1
+ 1757 BRANCHIFNOT 1773
+ 1759 ACC0
+ 1760 PUSHACC2
+ 1761 GETFIELD0
+ 1762 GETFIELD0
+ 1763 C_CALL2 equal
+ 1765 BRANCHIF 1773
+ 1767 ACC1
+ 1768 GETFIELD1
+ 1769 PUSHACC1
+ 1770 PUSHOFFSETCLOSURE0
+ 1771 APPTERM2 4
+ 1773 RETURN 2
+ 1775 RESTART
+ 1776 GRAB 1
+ 1778 ACC1
+ 1779 BRANCHIFNOT 1794
+ 1781 ACC0
+ 1782 PUSHACC2
+ 1783 GETFIELD0
+ 1784 GETFIELD0
+ 1785 EQ
+ 1786 BRANCHIF 1794
+ 1788 ACC1
+ 1789 GETFIELD1
+ 1790 PUSHACC1
+ 1791 PUSHOFFSETCLOSURE0
+ 1792 APPTERM2 4
+ 1794 RETURN 2
+ 1796 RESTART
+ 1797 GRAB 1
+ 1799 ACC1
+ 1800 BRANCHIFNOT 1825
+ 1802 ACC1
+ 1803 GETFIELD0
+ 1804 PUSHACC2
+ 1805 GETFIELD1
+ 1806 PUSHACC2
+ 1807 PUSHACC2
+ 1808 GETFIELD0
+ 1809 C_CALL2 equal
+ 1811 BRANCHIFNOT 1816
+ 1813 ACC0
+ 1814 RETURN 4
+ 1816 ACC0
+ 1817 PUSHACC3
+ 1818 PUSHOFFSETCLOSURE0
+ 1819 APPLY2
+ 1820 PUSHACC2
+ 1821 MAKEBLOCK2 0
+ 1823 POP 2
+ 1825 RETURN 2
+ 1827 RESTART
+ 1828 GRAB 1
+ 1830 ACC1
+ 1831 BRANCHIFNOT 1855
+ 1833 ACC1
+ 1834 GETFIELD0
+ 1835 PUSHACC2
+ 1836 GETFIELD1
+ 1837 PUSHACC2
+ 1838 PUSHACC2
+ 1839 GETFIELD0
+ 1840 EQ
+ 1841 BRANCHIFNOT 1846
+ 1843 ACC0
+ 1844 RETURN 4
+ 1846 ACC0
+ 1847 PUSHACC3
+ 1848 PUSHOFFSETCLOSURE0
+ 1849 APPLY2
+ 1850 PUSHACC2
+ 1851 MAKEBLOCK2 0
+ 1853 POP 2
+ 1855 RETURN 2
+ 1857 RESTART
+ 1858 GRAB 1
+ 1860 ACC1
+ 1861 BRANCHIFNOT 1879
+ 1863 ACC1
+ 1864 GETFIELD0
+ 1865 PUSHACC0
+ 1866 PUSHACC2
+ 1867 APPLY1
+ 1868 BRANCHIFNOT 1873
+ 1870 ACC0
+ 1871 RETURN 3
+ 1873 ACC2
+ 1874 GETFIELD1
+ 1875 PUSHACC2
+ 1876 PUSHOFFSETCLOSURE0
+ 1877 APPTERM2 5
+ 1879 GETGLOBAL Not_found
+ 1881 MAKEBLOCK1 0
+ 1883 RAISE
+ 1884 RESTART
+ 1885 GRAB 2
+ 1887 ACC2
+ 1888 BRANCHIFNOT 1917
+ 1890 ACC2
+ 1891 GETFIELD0
+ 1892 PUSHACC3
+ 1893 GETFIELD1
+ 1894 PUSHACC1
+ 1895 PUSHENVACC2
+ 1896 APPLY1
+ 1897 BRANCHIFNOT 1908
+ 1899 ACC0
+ 1900 PUSHACC4
+ 1901 PUSHACC4
+ 1902 PUSHACC4
+ 1903 MAKEBLOCK2 0
+ 1905 PUSHOFFSETCLOSURE0
+ 1906 APPTERM3 8
+ 1908 ACC0
+ 1909 PUSHACC4
+ 1910 PUSHACC3
+ 1911 MAKEBLOCK2 0
+ 1913 PUSHACC4
+ 1914 PUSHOFFSETCLOSURE0
+ 1915 APPTERM3 8
+ 1917 ACC1
+ 1918 PUSHENVACC1
+ 1919 APPLY1
+ 1920 PUSHACC1
+ 1921 PUSHENVACC1
+ 1922 APPLY1
+ 1923 MAKEBLOCK2 0
+ 1925 RETURN 3
+ 1927 RESTART
+ 1928 GRAB 1
+ 1930 ACC0
+ 1931 PUSHENVACC1
+ 1932 CLOSUREREC 2, 1885
+ 1936 ACC2
+ 1937 PUSHCONST0
+ 1938 PUSHCONST0
+ 1939 PUSHACC3
+ 1940 APPTERM3 6
+ 1942 ACC0
+ 1943 BRANCHIFNOT 1967
+ 1945 ACC0
+ 1946 GETFIELD0
+ 1947 PUSHACC1
+ 1948 GETFIELD1
+ 1949 PUSHOFFSETCLOSURE0
+ 1950 APPLY1
+ 1951 PUSHACC0
+ 1952 GETFIELD1
+ 1953 PUSHACC2
+ 1954 GETFIELD1
+ 1955 MAKEBLOCK2 0
+ 1957 PUSHACC1
+ 1958 GETFIELD0
+ 1959 PUSHACC3
+ 1960 GETFIELD0
+ 1961 MAKEBLOCK2 0
+ 1963 MAKEBLOCK2 0
+ 1965 RETURN 3
+ 1967 GETGLOBAL <0>(0, 0)
+ 1969 RETURN 1
+ 1971 RESTART
+ 1972 GRAB 1
+ 1974 ACC0
+ 1975 BRANCHIFNOT 1996
+ 1977 ACC1
+ 1978 BRANCHIFNOT 2003
+ 1980 ACC1
+ 1981 GETFIELD1
+ 1982 PUSHACC1
+ 1983 GETFIELD1
+ 1984 PUSHOFFSETCLOSURE0
+ 1985 APPLY2
+ 1986 PUSHACC2
+ 1987 GETFIELD0
+ 1988 PUSHACC2
+ 1989 GETFIELD0
+ 1990 MAKEBLOCK2 0
+ 1992 MAKEBLOCK2 0
+ 1994 RETURN 2
+ 1996 ACC1
+ 1997 BRANCHIFNOT 2001
+ 1999 BRANCH 2003
+ 2001 RETURN 2
+ 2003 GETGLOBAL "List.combine"
+ 2005 PUSHGETGLOBALFIELD Pervasives, 2
+ 2008 APPTERM1 3
+ 2010 RESTART
+ 2011 GRAB 1
+ 2013 ACC1
+ 2014 BRANCHIFNOT 2038
+ 2016 ACC1
+ 2017 GETFIELD0
+ 2018 PUSHACC2
+ 2019 GETFIELD1
+ 2020 PUSHACC1
+ 2021 PUSHENVACC2
+ 2022 APPLY1
+ 2023 BRANCHIFNOT 2033
+ 2025 ACC0
+ 2026 PUSHACC3
+ 2027 PUSHACC3
+ 2028 MAKEBLOCK2 0
+ 2030 PUSHOFFSETCLOSURE0
+ 2031 APPTERM2 6
+ 2033 ACC0
+ 2034 PUSHACC3
+ 2035 PUSHOFFSETCLOSURE0
+ 2036 APPTERM2 6
+ 2038 ACC0
+ 2039 PUSHENVACC1
+ 2040 APPTERM1 3
+ 2042 ACC0
+ 2043 PUSHENVACC1
+ 2044 CLOSUREREC 2, 2011
+ 2048 CONST0
+ 2049 PUSHACC1
+ 2050 APPTERM1 3
+ 2052 RESTART
+ 2053 GRAB 2
+ 2055 ACC1
+ 2056 BRANCHIFNOT 2077
+ 2058 ACC2
+ 2059 BRANCHIFNOT 2084
+ 2061 ACC2
+ 2062 GETFIELD1
+ 2063 PUSHACC2
+ 2064 GETFIELD1
+ 2065 PUSHACC2
+ 2066 PUSHACC5
+ 2067 GETFIELD0
+ 2068 PUSHACC5
+ 2069 GETFIELD0
+ 2070 PUSHENVACC1
+ 2071 APPLY2
+ 2072 MAKEBLOCK2 0
+ 2074 PUSHOFFSETCLOSURE0
+ 2075 APPTERM3 6
+ 2077 ACC2
+ 2078 BRANCHIFNOT 2082
+ 2080 BRANCH 2084
+ 2082 RETURN 3
+ 2084 GETGLOBAL "List.rev_map2"
+ 2086 PUSHGETGLOBALFIELD Pervasives, 2
+ 2089 APPTERM1 4
+ 2091 RESTART
+ 2092 GRAB 2
+ 2094 ACC0
+ 2095 CLOSUREREC 1, 2053
+ 2099 ACC3
+ 2100 PUSHACC3
+ 2101 PUSHCONST0
+ 2102 PUSHACC3
+ 2103 APPTERM3 7
+ 2105 RESTART
+ 2106 GRAB 1
+ 2108 ACC1
+ 2109 BRANCHIFNOT 2123
+ 2111 ACC1
+ 2112 GETFIELD1
+ 2113 PUSHACC1
+ 2114 PUSHACC3
+ 2115 GETFIELD0
+ 2116 PUSHENVACC1
+ 2117 APPLY1
+ 2118 MAKEBLOCK2 0
+ 2120 PUSHOFFSETCLOSURE0
+ 2121 APPTERM2 4
+ 2123 ACC0
+ 2124 RETURN 2
+ 2126 RESTART
+ 2127 GRAB 1
+ 2129 ACC0
+ 2130 CLOSUREREC 1, 2106
+ 2134 ACC2
+ 2135 PUSHCONST0
+ 2136 PUSHACC2
+ 2137 APPTERM2 5
+ 2139 CONST0
+ 2140 PUSHACC1
+ 2141 PUSHENVACC1
+ 2142 APPTERM2 3
+ 2144 ACC0
+ 2145 BRANCHIFNOT 2151
+ 2147 ACC0
+ 2148 GETFIELD1
+ 2149 RETURN 1
+ 2151 GETGLOBAL "tl"
+ 2153 PUSHGETGLOBALFIELD Pervasives, 3
+ 2156 APPTERM1 2
+ 2158 ACC0
+ 2159 BRANCHIFNOT 2165
+ 2161 ACC0
+ 2162 GETFIELD0
+ 2163 RETURN 1
+ 2165 GETGLOBAL "hd"
+ 2167 PUSHGETGLOBALFIELD Pervasives, 3
+ 2170 APPTERM1 2
+ 2172 ACC0
+ 2173 PUSHCONST0
+ 2174 PUSHENVACC1
+ 2175 APPTERM2 3
+ 2177 CLOSUREREC 0, 1200
+ 2181 ACC0
+ 2182 CLOSURE 1, 2172
+ 2185 PUSH
+ 2186 CLOSURE 0, 2158
+ 2189 PUSH
+ 2190 CLOSURE 0, 2144
+ 2193 PUSH
+ 2194 CLOSUREREC 0, 1217
+ 2198 GETGLOBALFIELD Pervasives, 16
+ 2201 PUSH
+ 2202 CLOSUREREC 0, 1259
+ 2206 ACC0
+ 2207 CLOSURE 1, 2139
+ 2210 PUSH
+ 2211 CLOSUREREC 0, 1277
+ 2215 CLOSUREREC 0, 1294
+ 2219 CLOSURE 0, 2127
+ 2222 PUSH
+ 2223 CLOSUREREC 0, 1316
+ 2227 CLOSUREREC 0, 1334
+ 2231 CLOSUREREC 0, 1354
+ 2235 CLOSUREREC 0, 1374
+ 2239 CLOSURE 0, 2092
+ 2242 PUSH
+ 2243 CLOSUREREC 0, 1415
+ 2247 CLOSUREREC 0, 1452
+ 2251 CLOSUREREC 0, 1490
+ 2255 CLOSUREREC 0, 1530
+ 2259 CLOSUREREC 0, 1553
+ 2263 CLOSUREREC 0, 1573
+ 2267 CLOSUREREC 0, 1613
+ 2271 CLOSUREREC 0, 1654
+ 2275 CLOSUREREC 0, 1675
+ 2279 CLOSUREREC 0, 1695
+ 2283 CLOSUREREC 0, 1725
+ 2287 CLOSUREREC 0, 1754
+ 2291 CLOSUREREC 0, 1776
+ 2295 CLOSUREREC 0, 1797
+ 2299 CLOSUREREC 0, 1828
+ 2303 CLOSUREREC 0, 1858
+ 2307 ACC 24
+ 2309 CLOSURE 1, 2042
+ 2312 PUSHACC 25
+ 2314 CLOSUREREC 1, 1928
+ 2318 CLOSUREREC 0, 1942
+ 2322 CLOSUREREC 0, 1972
+ 2326 ACC0
+ 2327 PUSHACC2
+ 2328 PUSHACC7
+ 2329 PUSHACC 9
+ 2331 PUSHACC 11
+ 2333 PUSHACC 13
+ 2335 PUSHACC 15
+ 2337 PUSHACC 17
+ 2339 PUSHACC 10
+ 2341 PUSHACC 12
+ 2343 PUSHACC 13
+ 2345 PUSHACC 15
+ 2347 PUSHACC 23
+ 2349 PUSHACC 25
+ 2351 PUSHACC 27
+ 2353 PUSHACC 29
+ 2355 PUSHACC 31
+ 2357 PUSHACC 33
+ 2359 PUSHACC 35
+ 2361 PUSHACC 37
+ 2363 PUSHACC 40
+ 2365 PUSHACC 42
+ 2367 PUSHACC 41
+ 2369 PUSHACC 45
+ 2371 PUSHACC 47
+ 2373 PUSHACC 50
+ 2375 PUSHACC 52
+ 2377 PUSHACC 51
+ 2379 PUSHACC 55
+ 2381 PUSHACC 56
+ 2383 PUSHACC 59
+ 2385 PUSHACC 61
+ 2387 PUSHACC 60
+ 2389 PUSHACC 64
+ 2391 PUSHACC 66
+ 2393 PUSHACC 68
+ 2395 PUSHACC 70
+ 2397 MAKEBLOCK 37, 0
+ 2400 POP 36
+ 2402 SETGLOBAL List
+ 2404 BRANCH 3341
+ 2406 RESTART
+ 2407 GRAB 2
+ 2409 ACC2
+ 2410 PUSHACC2
+ 2411 VECTLENGTH
+ 2412 OFFSETINT -1
+ 2414 PUSHCONST0
+ 2415 PUSH
+ 2416 BRANCH 2433
+ 2418 CHECK_SIGNALS
+ 2419 ACC2
+ 2420 PUSHACC2
+ 2421 PUSHACC6
+ 2422 C_CALL2 array_unsafe_get
+ 2424 PUSHACC5
+ 2425 APPLY2
+ 2426 ASSIGN 2
+ 2428 ACC1
+ 2429 OFFSETINT -1
+ 2431 ASSIGN 1
+ 2433 ACC0
+ 2434 PUSHACC2
+ 2435 GEINT
+ 2436 BRANCHIF 2418
+ 2438 CONST0
+ 2439 POP 2
+ 2441 ACC0
+ 2442 RETURN 4
+ 2444 RESTART
+ 2445 GRAB 2
+ 2447 ACC1
+ 2448 PUSHCONST0
+ 2449 PUSHACC4
+ 2450 VECTLENGTH
+ 2451 OFFSETINT -1
+ 2453 PUSH
+ 2454 BRANCH 2471
+ 2456 CHECK_SIGNALS
+ 2457 ACC1
+ 2458 PUSHACC6
+ 2459 C_CALL2 array_unsafe_get
+ 2461 PUSHACC3
+ 2462 PUSHACC5
+ 2463 APPLY2
+ 2464 ASSIGN 2
+ 2466 ACC1
+ 2467 OFFSETINT 1
+ 2469 ASSIGN 1
+ 2471 ACC0
+ 2472 PUSHACC2
+ 2473 LEINT
+ 2474 BRANCHIF 2456
+ 2476 CONST0
+ 2477 POP 2
+ 2479 ACC0
+ 2480 RETURN 4
+ 2482 RESTART
+ 2483 GRAB 1
+ 2485 ACC1
+ 2486 BRANCHIFNOT 2502
+ 2488 ACC1
+ 2489 GETFIELD0
+ 2490 PUSHACC1
+ 2491 PUSHENVACC1
+ 2492 C_CALL3 array_unsafe_set
+ 2494 ACC1
+ 2495 GETFIELD1
+ 2496 PUSHACC1
+ 2497 OFFSETINT 1
+ 2499 PUSHOFFSETCLOSURE0
+ 2500 APPTERM2 4
+ 2502 ENVACC1
+ 2503 RETURN 2
+ 2505 ACC0
+ 2506 BRANCHIFNOT 2531
+ 2508 ACC0
+ 2509 GETFIELD1
+ 2510 PUSHACC1
+ 2511 GETFIELD0
+ 2512 PUSHACC1
+ 2513 PUSHGETGLOBALFIELD List, 0
+ 2516 APPLY1
+ 2517 OFFSETINT 1
+ 2519 C_CALL2 make_vect
+ 2521 PUSHACC0
+ 2522 CLOSUREREC 1, 2483
+ 2526 ACC2
+ 2527 PUSHCONST1
+ 2528 PUSHACC2
+ 2529 APPTERM2 6
+ 2531 ATOM0
+ 2532 RETURN 1
+ 2534 RESTART
+ 2535 GRAB 1
+ 2537 CONST0
+ 2538 PUSHACC1
+ 2539 LTINT
+ 2540 BRANCHIFNOT 2545
+ 2542 ACC1
+ 2543 RETURN 2
+ 2545 ACC1
+ 2546 PUSHACC1
+ 2547 PUSHENVACC1
+ 2548 C_CALL2 array_unsafe_get
+ 2550 MAKEBLOCK2 0
+ 2552 PUSHACC1
+ 2553 OFFSETINT -1
+ 2555 PUSHOFFSETCLOSURE0
+ 2556 APPTERM2 4
+ 2558 ACC0
+ 2559 CLOSUREREC 1, 2535
+ 2563 CONST0
+ 2564 PUSHACC2
+ 2565 VECTLENGTH
+ 2566 OFFSETINT -1
+ 2568 PUSHACC2
+ 2569 APPTERM2 4
+ 2571 RESTART
+ 2572 GRAB 1
+ 2574 ACC1
+ 2575 VECTLENGTH
+ 2576 PUSHCONST0
+ 2577 PUSHACC1
+ 2578 EQ
+ 2579 BRANCHIFNOT 2584
+ 2581 ATOM0
+ 2582 RETURN 3
+ 2584 CONST0
+ 2585 PUSHACC3
+ 2586 C_CALL2 array_unsafe_get
+ 2588 PUSHCONST0
+ 2589 PUSHACC3
+ 2590 APPLY2
+ 2591 PUSHACC1
+ 2592 C_CALL2 make_vect
+ 2594 PUSHCONST1
+ 2595 PUSHACC2
+ 2596 OFFSETINT -1
+ 2598 PUSH
+ 2599 BRANCH 2618
+ 2601 CHECK_SIGNALS
+ 2602 ACC1
+ 2603 PUSHACC6
+ 2604 C_CALL2 array_unsafe_get
+ 2606 PUSHACC2
+ 2607 PUSHACC6
+ 2608 APPLY2
+ 2609 PUSHACC2
+ 2610 PUSHACC4
+ 2611 C_CALL3 array_unsafe_set
+ 2613 ACC1
+ 2614 OFFSETINT 1
+ 2616 ASSIGN 1
+ 2618 ACC0
+ 2619 PUSHACC2
+ 2620 LEINT
+ 2621 BRANCHIF 2601
+ 2623 CONST0
+ 2624 POP 2
+ 2626 ACC0
+ 2627 RETURN 4
+ 2629 RESTART
+ 2630 GRAB 1
+ 2632 CONST0
+ 2633 PUSHACC2
+ 2634 VECTLENGTH
+ 2635 OFFSETINT -1
+ 2637 PUSH
+ 2638 BRANCH 2653
+ 2640 CHECK_SIGNALS
+ 2641 ACC1
+ 2642 PUSHACC4
+ 2643 C_CALL2 array_unsafe_get
+ 2645 PUSHACC2
+ 2646 PUSHACC4
+ 2647 APPLY2
+ 2648 ACC1
+ 2649 OFFSETINT 1
+ 2651 ASSIGN 1
+ 2653 ACC0
+ 2654 PUSHACC2
+ 2655 LEINT
+ 2656 BRANCHIF 2640
+ 2658 CONST0
+ 2659 RETURN 4
+ 2661 RESTART
+ 2662 GRAB 1
+ 2664 ACC1
+ 2665 VECTLENGTH
+ 2666 PUSHCONST0
+ 2667 PUSHACC1
+ 2668 EQ
+ 2669 BRANCHIFNOT 2674
+ 2671 ATOM0
+ 2672 RETURN 3
+ 2674 CONST0
+ 2675 PUSHACC3
+ 2676 C_CALL2 array_unsafe_get
+ 2678 PUSHACC2
+ 2679 APPLY1
+ 2680 PUSHACC1
+ 2681 C_CALL2 make_vect
+ 2683 PUSHCONST1
+ 2684 PUSHACC2
+ 2685 OFFSETINT -1
+ 2687 PUSH
+ 2688 BRANCH 2706
+ 2690 CHECK_SIGNALS
+ 2691 ACC1
+ 2692 PUSHACC6
+ 2693 C_CALL2 array_unsafe_get
+ 2695 PUSHACC5
+ 2696 APPLY1
+ 2697 PUSHACC2
+ 2698 PUSHACC4
+ 2699 C_CALL3 array_unsafe_set
+ 2701 ACC1
+ 2702 OFFSETINT 1
+ 2704 ASSIGN 1
+ 2706 ACC0
+ 2707 PUSHACC2
+ 2708 LEINT
+ 2709 BRANCHIF 2690
+ 2711 CONST0
+ 2712 POP 2
+ 2714 ACC0
+ 2715 RETURN 4
+ 2717 RESTART
+ 2718 GRAB 1
+ 2720 CONST0
+ 2721 PUSHACC2
+ 2722 VECTLENGTH
+ 2723 OFFSETINT -1
+ 2725 PUSH
+ 2726 BRANCH 2740
+ 2728 CHECK_SIGNALS
+ 2729 ACC1
+ 2730 PUSHACC4
+ 2731 C_CALL2 array_unsafe_get
+ 2733 PUSHACC3
+ 2734 APPLY1
+ 2735 ACC1
+ 2736 OFFSETINT 1
+ 2738 ASSIGN 1
+ 2740 ACC0
+ 2741 PUSHACC2
+ 2742 LEINT
+ 2743 BRANCHIF 2728
+ 2745 CONST0
+ 2746 RETURN 4
+ 2748 RESTART
+ 2749 GRAB 4
+ 2751 CONST0
+ 2752 PUSHACC5
+ 2753 LTINT
+ 2754 BRANCHIF 2782
+ 2756 CONST0
+ 2757 PUSHACC2
+ 2758 LTINT
+ 2759 BRANCHIF 2782
+ 2761 ACC0
+ 2762 VECTLENGTH
+ 2763 PUSHACC5
+ 2764 PUSHACC3
+ 2765 ADDINT
+ 2766 GTINT
+ 2767 BRANCHIF 2782
+ 2769 CONST0
+ 2770 PUSHACC4
+ 2771 LTINT
+ 2772 BRANCHIF 2782
+ 2774 ACC2
+ 2775 VECTLENGTH
+ 2776 PUSHACC5
+ 2777 PUSHACC5
+ 2778 ADDINT
+ 2779 GTINT
+ 2780 BRANCHIFNOT 2789
+ 2782 GETGLOBAL "Array.blit"
+ 2784 PUSHGETGLOBALFIELD Pervasives, 2
+ 2787 APPTERM1 6
+ 2789 ACC3
+ 2790 PUSHACC2
+ 2791 LTINT
+ 2792 BRANCHIFNOT 2827
+ 2794 ACC4
+ 2795 OFFSETINT -1
+ 2797 PUSHCONST0
+ 2798 PUSH
+ 2799 BRANCH 2819
+ 2801 CHECK_SIGNALS
+ 2802 ACC1
+ 2803 PUSHACC4
+ 2804 ADDINT
+ 2805 PUSHACC3
+ 2806 C_CALL2 array_unsafe_get
+ 2808 PUSHACC2
+ 2809 PUSHACC7
+ 2810 ADDINT
+ 2811 PUSHACC6
+ 2812 C_CALL3 array_unsafe_set
+ 2814 ACC1
+ 2815 OFFSETINT -1
+ 2817 ASSIGN 1
+ 2819 ACC0
+ 2820 PUSHACC2
+ 2821 GEINT
+ 2822 BRANCHIF 2801
+ 2824 CONST0
+ 2825 RETURN 7
+ 2827 CONST0
+ 2828 PUSHACC5
+ 2829 OFFSETINT -1
+ 2831 PUSH
+ 2832 BRANCH 2852
+ 2834 CHECK_SIGNALS
+ 2835 ACC1
+ 2836 PUSHACC4
+ 2837 ADDINT
+ 2838 PUSHACC3
+ 2839 C_CALL2 array_unsafe_get
+ 2841 PUSHACC2
+ 2842 PUSHACC7
+ 2843 ADDINT
+ 2844 PUSHACC6
+ 2845 C_CALL3 array_unsafe_set
+ 2847 ACC1
+ 2848 OFFSETINT 1
+ 2850 ASSIGN 1
+ 2852 ACC0
+ 2853 PUSHACC2
+ 2854 LEINT
+ 2855 BRANCHIF 2834
+ 2857 CONST0
+ 2858 RETURN 7
+ 2860 RESTART
+ 2861 GRAB 3
+ 2863 CONST0
+ 2864 PUSHACC2
+ 2865 LTINT
+ 2866 BRANCHIF 2881
+ 2868 CONST0
+ 2869 PUSHACC3
+ 2870 LTINT
+ 2871 BRANCHIF 2881
+ 2873 ACC0
+ 2874 VECTLENGTH
+ 2875 PUSHACC3
+ 2876 PUSHACC3
+ 2877 ADDINT
+ 2878 GTINT
+ 2879 BRANCHIFNOT 2888
+ 2881 GETGLOBAL "Array.fill"
+ 2883 PUSHGETGLOBALFIELD Pervasives, 2
+ 2886 APPTERM1 5
+ 2888 ACC1
+ 2889 PUSHACC3
+ 2890 PUSHACC3
+ 2891 ADDINT
+ 2892 OFFSETINT -1
+ 2894 PUSH
+ 2895 BRANCH 2908
+ 2897 CHECK_SIGNALS
+ 2898 ACC5
+ 2899 PUSHACC2
+ 2900 PUSHACC4
+ 2901 C_CALL3 array_unsafe_set
+ 2903 ACC1
+ 2904 OFFSETINT 1
+ 2906 ASSIGN 1
+ 2908 ACC0
+ 2909 PUSHACC2
+ 2910 LEINT
+ 2911 BRANCHIF 2897
+ 2913 CONST0
+ 2914 RETURN 6
+ 2916 RESTART
+ 2917 GRAB 2
+ 2919 CONST0
+ 2920 PUSHACC2
+ 2921 LTINT
+ 2922 BRANCHIF 2937
+ 2924 CONST0
+ 2925 PUSHACC3
+ 2926 LTINT
+ 2927 BRANCHIF 2937
+ 2929 ACC0
+ 2930 VECTLENGTH
+ 2931 PUSHACC3
+ 2932 PUSHACC3
+ 2933 ADDINT
+ 2934 GTINT
+ 2935 BRANCHIFNOT 2944
+ 2937 GETGLOBAL "Array.sub"
+ 2939 PUSHGETGLOBALFIELD Pervasives, 2
+ 2942 APPTERM1 4
+ 2944 CONST0
+ 2945 PUSHACC3
+ 2946 EQ
+ 2947 BRANCHIFNOT 2952
+ 2949 ATOM0
+ 2950 RETURN 3
+ 2952 ACC1
+ 2953 PUSHACC1
+ 2954 C_CALL2 array_unsafe_get
+ 2956 PUSHACC3
+ 2957 C_CALL2 make_vect
+ 2959 PUSHCONST1
+ 2960 PUSHACC4
+ 2961 OFFSETINT -1
+ 2963 PUSH
+ 2964 BRANCH 2982
+ 2966 CHECK_SIGNALS
+ 2967 ACC1
+ 2968 PUSHACC5
+ 2969 ADDINT
+ 2970 PUSHACC4
+ 2971 C_CALL2 array_unsafe_get
+ 2973 PUSHACC2
+ 2974 PUSHACC4
+ 2975 C_CALL3 array_unsafe_set
+ 2977 ACC1
+ 2978 OFFSETINT 1
+ 2980 ASSIGN 1
+ 2982 ACC0
+ 2983 PUSHACC2
+ 2984 LEINT
+ 2985 BRANCHIF 2966
+ 2987 CONST0
+ 2988 POP 2
+ 2990 ACC0
+ 2991 RETURN 4
+ 2993 ACC0
+ 2994 BRANCHIFNOT 3017
+ 2996 ACC0
+ 2997 GETFIELD0
+ 2998 PUSHCONST0
+ 2999 PUSHACC1
+ 3000 VECTLENGTH
+ 3001 GTINT
+ 3002 BRANCHIFNOT 3012
+ 3004 ENVACC2
+ 3005 PUSHCONST0
+ 3006 PUSHACC2
+ 3007 C_CALL2 array_unsafe_get
+ 3009 PUSHENVACC1
+ 3010 APPTERM2 4
+ 3012 ACC1
+ 3013 GETFIELD1
+ 3014 PUSHOFFSETCLOSURE0
+ 3015 APPTERM1 3
+ 3017 ATOM0
+ 3018 RETURN 1
+ 3020 ACC0
+ 3021 PUSHENVACC1
+ 3022 CLOSUREREC 2, 2993
+ 3026 ACC1
+ 3027 PUSHACC1
+ 3028 APPTERM1 3
+ 3030 CONST0
+ 3031 PUSHACC1
+ 3032 VECTLENGTH
+ 3033 OFFSETINT -1
+ 3035 PUSH
+ 3036 BRANCH 3056
+ 3038 CHECK_SIGNALS
+ 3039 ACC1
+ 3040 PUSHACC3
+ 3041 C_CALL2 array_unsafe_get
+ 3043 PUSHENVACC2
+ 3044 GETFIELD0
+ 3045 PUSHENVACC1
+ 3046 C_CALL3 array_unsafe_set
+ 3048 ENVACC2
+ 3049 OFFSETREF 1
+ 3051 ACC1
+ 3052 OFFSETINT 1
+ 3054 ASSIGN 1
+ 3056 ACC0
+ 3057 PUSHACC2
+ 3058 LEINT
+ 3059 BRANCHIF 3038
+ 3061 CONST0
+ 3062 RETURN 3
+ 3064 RESTART
+ 3065 GRAB 1
+ 3067 ACC1
+ 3068 VECTLENGTH
+ 3069 PUSHACC1
+ 3070 ADDINT
+ 3071 RETURN 2
+ 3073 RESTART
+ 3074 GRAB 1
+ 3076 ACC1
+ 3077 PUSHCONST0
+ 3078 PUSH
+ 3079 CLOSURE 0, 3065
+ 3082 PUSHGETGLOBALFIELD List, 12
+ 3085 APPLY3
+ 3086 PUSHACC1
+ 3087 PUSHACC1
+ 3088 C_CALL2 make_vect
+ 3090 PUSHCONST0
+ 3091 MAKEBLOCK1 0
+ 3093 PUSHACC4
+ 3094 PUSHACC1
+ 3095 PUSHACC3
+ 3096 CLOSURE 2, 3030
+ 3099 PUSHGETGLOBALFIELD List, 9
+ 3102 APPLY2
+ 3103 ACC1
+ 3104 RETURN 5
+ 3106 RESTART
+ 3107 GRAB 1
+ 3109 ACC0
+ 3110 VECTLENGTH
+ 3111 PUSHACC2
+ 3112 VECTLENGTH
+ 3113 PUSHCONST0
+ 3114 PUSHACC2
+ 3115 EQ
+ 3116 BRANCHIFNOT 3126
+ 3118 CONST0
+ 3119 PUSHACC1
+ 3120 EQ
+ 3121 BRANCHIFNOT 3126
+ 3123 ATOM0
+ 3124 RETURN 4
+ 3126 CONST0
+ 3127 PUSHCONST0
+ 3128 PUSHACC3
+ 3129 GTINT
+ 3130 BRANCHIFNOT 3135
+ 3132 ACC3
+ 3133 BRANCH 3136
+ 3135 ACC4
+ 3136 C_CALL2 array_unsafe_get
+ 3138 PUSHACC1
+ 3139 PUSHACC3
+ 3140 ADDINT
+ 3141 C_CALL2 make_vect
+ 3143 PUSHCONST0
+ 3144 PUSHACC3
+ 3145 OFFSETINT -1
+ 3147 PUSH
+ 3148 BRANCH 3164
+ 3150 CHECK_SIGNALS
+ 3151 ACC1
+ 3152 PUSHACC6
+ 3153 C_CALL2 array_unsafe_get
+ 3155 PUSHACC2
+ 3156 PUSHACC4
+ 3157 C_CALL3 array_unsafe_set
+ 3159 ACC1
+ 3160 OFFSETINT 1
+ 3162 ASSIGN 1
+ 3164 ACC0
+ 3165 PUSHACC2
+ 3166 LEINT
+ 3167 BRANCHIF 3150
+ 3169 CONST0
+ 3170 POP 2
+ 3172 CONST0
+ 3173 PUSHACC2
+ 3174 OFFSETINT -1
+ 3176 PUSH
+ 3177 BRANCH 3195
+ 3179 CHECK_SIGNALS
+ 3180 ACC1
+ 3181 PUSHACC7
+ 3182 C_CALL2 array_unsafe_get
+ 3184 PUSHACC5
+ 3185 PUSHACC3
+ 3186 ADDINT
+ 3187 PUSHACC4
+ 3188 C_CALL3 array_unsafe_set
+ 3190 ACC1
+ 3191 OFFSETINT 1
+ 3193 ASSIGN 1
+ 3195 ACC0
+ 3196 PUSHACC2
+ 3197 LEINT
+ 3198 BRANCHIF 3179
+ 3200 CONST0
+ 3201 POP 2
+ 3203 ACC0
+ 3204 RETURN 5
+ 3206 ACC0
+ 3207 VECTLENGTH
+ 3208 PUSHCONST0
+ 3209 PUSHACC1
+ 3210 EQ
+ 3211 BRANCHIFNOT 3216
+ 3213 ATOM0
+ 3214 RETURN 2
+ 3216 CONST0
+ 3217 PUSHACC2
+ 3218 C_CALL2 array_unsafe_get
+ 3220 PUSHACC1
+ 3221 C_CALL2 make_vect
+ 3223 PUSHCONST1
+ 3224 PUSHACC2
+ 3225 OFFSETINT -1
+ 3227 PUSH
+ 3228 BRANCH 3244
+ 3230 CHECK_SIGNALS
+ 3231 ACC1
+ 3232 PUSHACC5
+ 3233 C_CALL2 array_unsafe_get
+ 3235 PUSHACC2
+ 3236 PUSHACC4
+ 3237 C_CALL3 array_unsafe_set
+ 3239 ACC1
+ 3240 OFFSETINT 1
+ 3242 ASSIGN 1
+ 3244 ACC0
+ 3245 PUSHACC2
+ 3246 LEINT
+ 3247 BRANCHIF 3230
+ 3249 CONST0
+ 3250 POP 2
+ 3252 ACC0
+ 3253 RETURN 3
+ 3255 RESTART
+ 3256 GRAB 2
+ 3258 ATOM0
+ 3259 PUSHACC1
+ 3260 C_CALL2 make_vect
+ 3262 PUSHCONST0
+ 3263 PUSHACC2
+ 3264 OFFSETINT -1
+ 3266 PUSH
+ 3267 BRANCH 3282
+ 3269 CHECK_SIGNALS
+ 3270 ACC5
+ 3271 PUSHACC5
+ 3272 C_CALL2 make_vect
+ 3274 PUSHACC2
+ 3275 PUSHACC4
+ 3276 SETVECTITEM
+ 3277 ACC1
+ 3278 OFFSETINT 1
+ 3280 ASSIGN 1
+ 3282 ACC0
+ 3283 PUSHACC2
+ 3284 LEINT
+ 3285 BRANCHIF 3269
+ 3287 CONST0
+ 3288 POP 2
+ 3290 ACC0
+ 3291 RETURN 4
+ 3293 RESTART
+ 3294 GRAB 1
+ 3296 CONST0
+ 3297 PUSHACC1
+ 3298 EQ
+ 3299 BRANCHIFNOT 3304
+ 3301 ATOM0
+ 3302 RETURN 2
+ 3304 CONST0
+ 3305 PUSHACC2
+ 3306 APPLY1
+ 3307 PUSHACC1
+ 3308 C_CALL2 make_vect
+ 3310 PUSHCONST1
+ 3311 PUSHACC2
+ 3312 OFFSETINT -1
+ 3314 PUSH
+ 3315 BRANCH 3330
+ 3317 CHECK_SIGNALS
+ 3318 ACC1
+ 3319 PUSHACC5
+ 3320 APPLY1
+ 3321 PUSHACC2
+ 3322 PUSHACC4
+ 3323 C_CALL3 array_unsafe_set
+ 3325 ACC1
+ 3326 OFFSETINT 1
+ 3328 ASSIGN 1
+ 3330 ACC0
+ 3331 PUSHACC2
+ 3332 LEINT
+ 3333 BRANCHIF 3317
+ 3335 CONST0
+ 3336 POP 2
+ 3338 ACC0
+ 3339 RETURN 3
+ 3341 CLOSURE 0, 3294
+ 3344 PUSH
+ 3345 CLOSURE 0, 3256
+ 3348 PUSH
+ 3349 CLOSURE 0, 3206
+ 3352 PUSH
+ 3353 CLOSURE 0, 3107
+ 3356 PUSH
+ 3357 CLOSURE 0, 3074
+ 3360 PUSHACC0
+ 3361 CLOSURE 1, 3020
+ 3364 PUSH
+ 3365 CLOSURE 0, 2917
+ 3368 PUSH
+ 3369 CLOSURE 0, 2861
+ 3372 PUSH
+ 3373 CLOSURE 0, 2749
+ 3376 PUSH
+ 3377 CLOSURE 0, 2718
+ 3380 PUSH
+ 3381 CLOSURE 0, 2662
+ 3384 PUSH
+ 3385 CLOSURE 0, 2630
+ 3388 PUSH
+ 3389 CLOSURE 0, 2572
+ 3392 PUSH
+ 3393 CLOSURE 0, 2558
+ 3396 PUSH
+ 3397 CLOSURE 0, 2505
+ 3400 PUSH
+ 3401 CLOSURE 0, 2445
+ 3404 PUSH
+ 3405 CLOSURE 0, 2407
+ 3408 PUSHACC0
+ 3409 PUSHACC2
+ 3410 PUSHACC6
+ 3411 PUSHACC 8
+ 3413 PUSHACC 10
+ 3415 PUSHACC 12
+ 3417 PUSHACC 8
+ 3419 PUSHACC 10
+ 3421 PUSHACC 16
+ 3423 PUSHACC 18
+ 3425 PUSHACC 24
+ 3427 PUSHACC 21
+ 3429 PUSHACC 23
+ 3431 PUSHACC 26
+ 3433 PUSHACC 29
+ 3435 PUSHACC 30
+ 3437 PUSHACC 32
+ 3439 MAKEBLOCK 17, 0
+ 3442 POP 17
+ 3444 SETGLOBAL Array
+ 3446 BRANCH 3456
+ 3448 ACC0
+ 3449 PUSHENVACC1
+ 3450 GETFIELD0
+ 3451 ADDINT
+ 3452 PUSHENVACC1
+ 3453 SETFIELD0
+ 3454 RETURN 1
+ 3456 CONST2
+ 3457 PUSHCONSTINT 200000
+ 3459 C_CALL2 make_vect
+ 3461 PUSHCONST0
+ 3462 MAKEBLOCK1 0
+ 3464 PUSHACC1
+ 3465 PUSHACC1
+ 3466 CLOSURE 1, 3448
+ 3469 PUSHGETGLOBALFIELD Array, 11
+ 3472 APPLY2
+ 3473 CONSTINT 400000
+ 3475 PUSHACC1
+ 3476 GETFIELD0
+ 3477 NEQ
+ 3478 BRANCHIFNOT 3485
+ 3480 GETGLOBAL Not_found
+ 3482 MAKEBLOCK1 0
+ 3484 RAISE
+ 3485 POP 2
+ 3487 ATOM0
+ 3488 SETGLOBAL T310-alloc-2
+ 3490 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t320-gc-1.ml b/testsuite/tests/tool-ocaml/t320-gc-1.ml
new file mode 100644
index 0000000000..4d5d6d966d
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t320-gc-1.ml
@@ -0,0 +1,1589 @@
+open Lib;;
+let rec f n =
+ if n <= 0 then []
+ else n :: f (n-1)
+in
+let l = f 300 in
+Gc.minor ();
+if List.fold_left (+) 0 l <> 301 * 150 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 746
+ 11 RESTART
+ 12 GRAB 1
+ 14 ACC0
+ 15 BRANCHIFNOT 28
+ 17 ACC1
+ 18 PUSHACC1
+ 19 GETFIELD1
+ 20 PUSHOFFSETCLOSURE0
+ 21 APPLY2
+ 22 PUSHACC1
+ 23 GETFIELD0
+ 24 MAKEBLOCK2 0
+ 26 RETURN 2
+ 28 ACC1
+ 29 RETURN 2
+ 31 RESTART
+ 32 GRAB 3
+ 34 CONST0
+ 35 PUSHACC4
+ 36 LEINT
+ 37 BRANCHIFNOT 42
+ 39 CONST0
+ 40 RETURN 4
+ 42 ACC3
+ 43 PUSHACC3
+ 44 PUSHACC3
+ 45 PUSHACC3
+ 46 C_CALL4 caml_input
+ 48 PUSHCONST0
+ 49 PUSHACC1
+ 50 EQ
+ 51 BRANCHIFNOT 58
+ 53 GETGLOBAL End_of_file
+ 55 MAKEBLOCK1 0
+ 57 RAISE
+ 58 ACC0
+ 59 PUSHACC5
+ 60 SUBINT
+ 61 PUSHACC1
+ 62 PUSHACC5
+ 63 ADDINT
+ 64 PUSHACC4
+ 65 PUSHACC4
+ 66 PUSHOFFSETCLOSURE0
+ 67 APPTERM 4, 9
+ 70 ACC0
+ 71 C_CALL1 caml_input_scan_line
+ 73 PUSHCONST0
+ 74 PUSHACC1
+ 75 EQ
+ 76 BRANCHIFNOT 83
+ 78 GETGLOBAL End_of_file
+ 80 MAKEBLOCK1 0
+ 82 RAISE
+ 83 CONST0
+ 84 PUSHACC1
+ 85 GTINT
+ 86 BRANCHIFNOT 107
+ 88 ACC0
+ 89 OFFSETINT -1
+ 91 C_CALL1 create_string
+ 93 PUSHACC1
+ 94 OFFSETINT -1
+ 96 PUSHCONST0
+ 97 PUSHACC2
+ 98 PUSHACC5
+ 99 C_CALL4 caml_input
+ 101 ACC2
+ 102 C_CALL1 caml_input_char
+ 104 ACC0
+ 105 RETURN 3
+ 107 ACC0
+ 108 NEGINT
+ 109 C_CALL1 create_string
+ 111 PUSHACC1
+ 112 NEGINT
+ 113 PUSHCONST0
+ 114 PUSHACC2
+ 115 PUSHACC5
+ 116 C_CALL4 caml_input
+ 118 CONST0
+ 119 PUSHTRAP 130
+ 121 ACC6
+ 122 PUSHOFFSETCLOSURE0
+ 123 APPLY1
+ 124 PUSHACC5
+ 125 PUSHENVACC1
+ 126 APPLY2
+ 127 POPTRAP
+ 128 RETURN 3
+ 130 PUSHGETGLOBAL End_of_file
+ 132 PUSHACC1
+ 133 GETFIELD0
+ 134 EQ
+ 135 BRANCHIFNOT 140
+ 137 ACC1
+ 138 RETURN 4
+ 140 ACC0
+ 141 RAISE
+ 142 ACC0
+ 143 C_CALL1 caml_flush
+ 145 RETURN 1
+ 147 RESTART
+ 148 GRAB 1
+ 150 ACC1
+ 151 PUSHACC1
+ 152 C_CALL2 caml_output_char
+ 154 RETURN 2
+ 156 RESTART
+ 157 GRAB 1
+ 159 ACC1
+ 160 PUSHACC1
+ 161 C_CALL2 caml_output_char
+ 163 RETURN 2
+ 165 RESTART
+ 166 GRAB 1
+ 168 ACC1
+ 169 PUSHACC1
+ 170 C_CALL2 caml_output_int
+ 172 RETURN 2
+ 174 RESTART
+ 175 GRAB 1
+ 177 ACC1
+ 178 PUSHACC1
+ 179 C_CALL2 caml_seek_out
+ 181 RETURN 2
+ 183 ACC0
+ 184 C_CALL1 caml_pos_out
+ 186 RETURN 1
+ 188 ACC0
+ 189 C_CALL1 caml_channel_size
+ 191 RETURN 1
+ 193 RESTART
+ 194 GRAB 1
+ 196 ACC1
+ 197 PUSHACC1
+ 198 C_CALL2 caml_set_binary_mode
+ 200 RETURN 2
+ 202 ACC0
+ 203 C_CALL1 caml_input_char
+ 205 RETURN 1
+ 207 ACC0
+ 208 C_CALL1 caml_input_char
+ 210 RETURN 1
+ 212 ACC0
+ 213 C_CALL1 caml_input_int
+ 215 RETURN 1
+ 217 ACC0
+ 218 C_CALL1 input_value
+ 220 RETURN 1
+ 222 RESTART
+ 223 GRAB 1
+ 225 ACC1
+ 226 PUSHACC1
+ 227 C_CALL2 caml_seek_in
+ 229 RETURN 2
+ 231 ACC0
+ 232 C_CALL1 caml_pos_in
+ 234 RETURN 1
+ 236 ACC0
+ 237 C_CALL1 caml_channel_size
+ 239 RETURN 1
+ 241 ACC0
+ 242 C_CALL1 caml_close_channel
+ 244 RETURN 1
+ 246 RESTART
+ 247 GRAB 1
+ 249 ACC1
+ 250 PUSHACC1
+ 251 C_CALL2 caml_set_binary_mode
+ 253 RETURN 2
+ 255 CONST0
+ 256 PUSHENVACC1
+ 257 APPLY1
+ 258 ACC0
+ 259 C_CALL1 sys_exit
+ 261 RETURN 1
+ 263 CONST0
+ 264 PUSHENVACC1
+ 265 GETFIELD0
+ 266 APPTERM1 2
+ 268 CONST0
+ 269 PUSHENVACC1
+ 270 APPLY1
+ 271 CONST0
+ 272 PUSHENVACC2
+ 273 APPTERM1 2
+ 275 ENVACC1
+ 276 GETFIELD0
+ 277 PUSHACC0
+ 278 PUSHACC2
+ 279 CLOSURE 2, 268
+ 282 PUSHENVACC1
+ 283 SETFIELD0
+ 284 RETURN 2
+ 286 ENVACC1
+ 287 C_CALL1 caml_flush
+ 289 ENVACC2
+ 290 C_CALL1 caml_flush
+ 292 RETURN 1
+ 294 CONST0
+ 295 PUSHENVACC1
+ 296 APPLY1
+ 297 C_CALL1 float_of_string
+ 299 RETURN 1
+ 301 CONST0
+ 302 PUSHENVACC1
+ 303 APPLY1
+ 304 C_CALL1 int_of_string
+ 306 RETURN 1
+ 308 ENVACC2
+ 309 C_CALL1 caml_flush
+ 311 ENVACC1
+ 312 PUSHENVACC3
+ 313 APPTERM1 2
+ 315 CONSTINT 13
+ 317 PUSHENVACC1
+ 318 C_CALL2 caml_output_char
+ 320 ENVACC1
+ 321 C_CALL1 caml_flush
+ 323 RETURN 1
+ 325 ACC0
+ 326 PUSHENVACC1
+ 327 PUSHENVACC2
+ 328 APPLY2
+ 329 CONSTINT 13
+ 331 PUSHENVACC1
+ 332 C_CALL2 caml_output_char
+ 334 ENVACC1
+ 335 C_CALL1 caml_flush
+ 337 RETURN 1
+ 339 ACC0
+ 340 PUSHENVACC1
+ 341 APPLY1
+ 342 PUSHENVACC2
+ 343 PUSHENVACC3
+ 344 APPTERM2 3
+ 346 ACC0
+ 347 PUSHENVACC1
+ 348 APPLY1
+ 349 PUSHENVACC2
+ 350 PUSHENVACC3
+ 351 APPTERM2 3
+ 353 ACC0
+ 354 PUSHENVACC1
+ 355 PUSHENVACC2
+ 356 APPTERM2 3
+ 358 ACC0
+ 359 PUSHENVACC1
+ 360 C_CALL2 caml_output_char
+ 362 RETURN 1
+ 364 CONSTINT 13
+ 366 PUSHENVACC1
+ 367 C_CALL2 caml_output_char
+ 369 ENVACC1
+ 370 C_CALL1 caml_flush
+ 372 RETURN 1
+ 374 ACC0
+ 375 PUSHENVACC1
+ 376 PUSHENVACC2
+ 377 APPLY2
+ 378 CONSTINT 13
+ 380 PUSHENVACC1
+ 381 C_CALL2 caml_output_char
+ 383 RETURN 1
+ 385 ACC0
+ 386 PUSHENVACC1
+ 387 APPLY1
+ 388 PUSHENVACC2
+ 389 PUSHENVACC3
+ 390 APPTERM2 3
+ 392 ACC0
+ 393 PUSHENVACC1
+ 394 APPLY1
+ 395 PUSHENVACC2
+ 396 PUSHENVACC3
+ 397 APPTERM2 3
+ 399 ACC0
+ 400 PUSHENVACC1
+ 401 PUSHENVACC2
+ 402 APPTERM2 3
+ 404 ACC0
+ 405 PUSHENVACC1
+ 406 C_CALL2 caml_output_char
+ 408 RETURN 1
+ 410 RESTART
+ 411 GRAB 3
+ 413 CONST0
+ 414 PUSHACC3
+ 415 LTINT
+ 416 BRANCHIF 427
+ 418 ACC1
+ 419 C_CALL1 ml_string_length
+ 421 PUSHACC4
+ 422 PUSHACC4
+ 423 ADDINT
+ 424 GTINT
+ 425 BRANCHIFNOT 432
+ 427 GETGLOBAL "really_input"
+ 429 PUSHENVACC1
+ 430 APPTERM1 5
+ 432 ACC3
+ 433 PUSHACC3
+ 434 PUSHACC3
+ 435 PUSHACC3
+ 436 PUSHENVACC2
+ 437 APPTERM 4, 8
+ 440 RESTART
+ 441 GRAB 3
+ 443 CONST0
+ 444 PUSHACC3
+ 445 LTINT
+ 446 BRANCHIF 457
+ 448 ACC1
+ 449 C_CALL1 ml_string_length
+ 451 PUSHACC4
+ 452 PUSHACC4
+ 453 ADDINT
+ 454 GTINT
+ 455 BRANCHIFNOT 462
+ 457 GETGLOBAL "input"
+ 459 PUSHENVACC1
+ 460 APPTERM1 5
+ 462 ACC3
+ 463 PUSHACC3
+ 464 PUSHACC3
+ 465 PUSHACC3
+ 466 C_CALL4 caml_input
+ 468 RETURN 4
+ 470 ACC0
+ 471 PUSHCONST0
+ 472 PUSHGETGLOBAL <0>(0, <0>(6, 0))
+ 474 PUSHENVACC1
+ 475 APPTERM3 4
+ 477 ACC0
+ 478 PUSHCONST0
+ 479 PUSHGETGLOBAL <0>(0, <0>(7, 0))
+ 481 PUSHENVACC1
+ 482 APPTERM3 4
+ 484 RESTART
+ 485 GRAB 2
+ 487 ACC1
+ 488 PUSHACC1
+ 489 PUSHACC4
+ 490 C_CALL3 sys_open
+ 492 C_CALL1 caml_open_descriptor
+ 494 RETURN 3
+ 496 ACC0
+ 497 C_CALL1 caml_flush
+ 499 ACC0
+ 500 C_CALL1 caml_close_channel
+ 502 RETURN 1
+ 504 RESTART
+ 505 GRAB 1
+ 507 CONST0
+ 508 PUSHACC2
+ 509 PUSHACC2
+ 510 C_CALL3 output_value
+ 512 RETURN 2
+ 514 RESTART
+ 515 GRAB 3
+ 517 CONST0
+ 518 PUSHACC3
+ 519 LTINT
+ 520 BRANCHIF 531
+ 522 ACC1
+ 523 C_CALL1 ml_string_length
+ 525 PUSHACC4
+ 526 PUSHACC4
+ 527 ADDINT
+ 528 GTINT
+ 529 BRANCHIFNOT 536
+ 531 GETGLOBAL "output"
+ 533 PUSHENVACC1
+ 534 APPTERM1 5
+ 536 ACC3
+ 537 PUSHACC3
+ 538 PUSHACC3
+ 539 PUSHACC3
+ 540 C_CALL4 caml_output
+ 542 RETURN 4
+ 544 RESTART
+ 545 GRAB 1
+ 547 ACC1
+ 548 C_CALL1 ml_string_length
+ 550 PUSHCONST0
+ 551 PUSHACC3
+ 552 PUSHACC3
+ 553 C_CALL4 caml_output
+ 555 RETURN 2
+ 557 ACC0
+ 558 PUSHCONSTINT 438
+ 560 PUSHGETGLOBAL <0>(1, <0>(3, <0>(4, <0>(6, 0))))
+ 562 PUSHENVACC1
+ 563 APPTERM3 4
+ 565 ACC0
+ 566 PUSHCONSTINT 438
+ 568 PUSHGETGLOBAL <0>(1, <0>(3, <0>(4, <0>(7, 0))))
+ 570 PUSHENVACC1
+ 571 APPTERM3 4
+ 573 RESTART
+ 574 GRAB 2
+ 576 ACC1
+ 577 PUSHACC1
+ 578 PUSHACC4
+ 579 C_CALL3 sys_open
+ 581 C_CALL1 caml_open_descriptor
+ 583 RETURN 3
+ 585 ACC0
+ 586 PUSHGETGLOBAL "%.12g"
+ 588 C_CALL2 format_float
+ 590 RETURN 1
+ 592 ACC0
+ 593 PUSHGETGLOBAL "%d"
+ 595 C_CALL2 format_int
+ 597 RETURN 1
+ 599 GETGLOBAL "false"
+ 601 PUSHACC1
+ 602 C_CALL2 string_equal
+ 604 BRANCHIFNOT 609
+ 606 CONST0
+ 607 RETURN 1
+ 609 GETGLOBAL "true"
+ 611 PUSHACC1
+ 612 C_CALL2 string_equal
+ 614 BRANCHIFNOT 619
+ 616 CONST1
+ 617 RETURN 1
+ 619 GETGLOBAL "bool_of_string"
+ 621 PUSHENVACC1
+ 622 APPTERM1 2
+ 624 ACC0
+ 625 BRANCHIFNOT 631
+ 627 GETGLOBAL "true"
+ 629 RETURN 1
+ 631 GETGLOBAL "false"
+ 633 RETURN 1
+ 635 CONST0
+ 636 PUSHACC1
+ 637 LTINT
+ 638 BRANCHIF 646
+ 640 CONSTINT 255
+ 642 PUSHACC1
+ 643 GTINT
+ 644 BRANCHIFNOT 651
+ 646 GETGLOBAL "char_of_int"
+ 648 PUSHENVACC1
+ 649 APPTERM1 2
+ 651 ACC0
+ 652 RETURN 1
+ 654 RESTART
+ 655 GRAB 1
+ 657 ACC0
+ 658 C_CALL1 ml_string_length
+ 660 PUSHACC2
+ 661 C_CALL1 ml_string_length
+ 663 PUSHACC0
+ 664 PUSHACC2
+ 665 ADDINT
+ 666 C_CALL1 create_string
+ 668 PUSHACC2
+ 669 PUSHCONST0
+ 670 PUSHACC2
+ 671 PUSHCONST0
+ 672 PUSHACC7
+ 673 C_CALL5 blit_string
+ 675 ACC1
+ 676 PUSHACC3
+ 677 PUSHACC2
+ 678 PUSHCONST0
+ 679 PUSHACC 8
+ 681 C_CALL5 blit_string
+ 683 ACC0
+ 684 RETURN 5
+ 686 CONSTINT -1
+ 688 PUSHACC1
+ 689 XORINT
+ 690 RETURN 1
+ 692 CONST0
+ 693 PUSHACC1
+ 694 GEINT
+ 695 BRANCHIFNOT 700
+ 697 ACC0
+ 698 RETURN 1
+ 700 ACC0
+ 701 NEGINT
+ 702 RETURN 1
+ 704 RESTART
+ 705 GRAB 1
+ 707 ACC1
+ 708 PUSHACC1
+ 709 C_CALL2 greaterequal
+ 711 BRANCHIFNOT 716
+ 713 ACC0
+ 714 RETURN 2
+ 716 ACC1
+ 717 RETURN 2
+ 719 RESTART
+ 720 GRAB 1
+ 722 ACC1
+ 723 PUSHACC1
+ 724 C_CALL2 lessequal
+ 726 BRANCHIFNOT 731
+ 728 ACC0
+ 729 RETURN 2
+ 731 ACC1
+ 732 RETURN 2
+ 734 ACC0
+ 735 PUSHGETGLOBAL Invalid_argument
+ 737 MAKEBLOCK2 0
+ 739 RAISE
+ 740 ACC0
+ 741 PUSHGETGLOBAL Failure
+ 743 MAKEBLOCK2 0
+ 745 RAISE
+ 746 CLOSURE 0, 740
+ 749 PUSH
+ 750 CLOSURE 0, 734
+ 753 PUSHGETGLOBAL "Pervasives.Exit"
+ 755 MAKEBLOCK1 0
+ 757 PUSHGETGLOBAL "Pervasives.Assert_failure"
+ 759 MAKEBLOCK1 0
+ 761 PUSH
+ 762 CLOSURE 0, 720
+ 765 PUSH
+ 766 CLOSURE 0, 705
+ 769 PUSH
+ 770 CLOSURE 0, 692
+ 773 PUSH
+ 774 CLOSURE 0, 686
+ 777 PUSHCONST0
+ 778 PUSHCONSTINT 31
+ 780 PUSHCONST1
+ 781 LSLINT
+ 782 EQ
+ 783 BRANCHIFNOT 789
+ 785 CONSTINT 30
+ 787 BRANCH 791
+ 789 CONSTINT 62
+ 791 PUSHCONST1
+ 792 LSLINT
+ 793 PUSHACC0
+ 794 OFFSETINT -1
+ 796 PUSH
+ 797 CLOSURE 0, 655
+ 800 PUSHACC 9
+ 802 CLOSURE 1, 635
+ 805 PUSH
+ 806 CLOSURE 0, 624
+ 809 PUSHACC 11
+ 811 CLOSURE 1, 599
+ 814 PUSH
+ 815 CLOSURE 0, 592
+ 818 PUSH
+ 819 CLOSURE 0, 585
+ 822 PUSH
+ 823 CLOSUREREC 0, 12
+ 827 CONST0
+ 828 C_CALL1 caml_open_descriptor
+ 830 PUSHCONST1
+ 831 C_CALL1 caml_open_descriptor
+ 833 PUSHCONST2
+ 834 C_CALL1 caml_open_descriptor
+ 836 PUSH
+ 837 CLOSURE 0, 574
+ 840 PUSHACC0
+ 841 CLOSURE 1, 565
+ 844 PUSHACC1
+ 845 CLOSURE 1, 557
+ 848 PUSH
+ 849 CLOSURE 0, 545
+ 852 PUSHACC 22
+ 854 CLOSURE 1, 515
+ 857 PUSH
+ 858 CLOSURE 0, 505
+ 861 PUSH
+ 862 CLOSURE 0, 496
+ 865 PUSH
+ 866 CLOSURE 0, 485
+ 869 PUSHACC0
+ 870 CLOSURE 1, 477
+ 873 PUSHACC1
+ 874 CLOSURE 1, 470
+ 877 PUSHACC 28
+ 879 CLOSURE 1, 441
+ 882 PUSH
+ 883 CLOSUREREC 0, 32
+ 887 ACC0
+ 888 PUSHACC 31
+ 890 CLOSURE 2, 411
+ 893 PUSHACC 22
+ 895 CLOSUREREC 1, 70
+ 899 ACC 15
+ 901 CLOSURE 1, 404
+ 904 PUSHACC 11
+ 906 PUSHACC 17
+ 908 CLOSURE 2, 399
+ 911 PUSHACC 12
+ 913 PUSHACC 18
+ 915 PUSHACC 23
+ 917 CLOSURE 3, 392
+ 920 PUSHACC 13
+ 922 PUSHACC 19
+ 924 PUSHACC 23
+ 926 CLOSURE 3, 385
+ 929 PUSHACC 14
+ 931 PUSHACC 20
+ 933 CLOSURE 2, 374
+ 936 PUSHACC 20
+ 938 CLOSURE 1, 364
+ 941 PUSHACC 20
+ 943 CLOSURE 1, 358
+ 946 PUSHACC 17
+ 948 PUSHACC 22
+ 950 CLOSURE 2, 353
+ 953 PUSHACC 18
+ 955 PUSHACC 23
+ 957 PUSHACC 29
+ 959 CLOSURE 3, 346
+ 962 PUSHACC 19
+ 964 PUSHACC 24
+ 966 PUSHACC 29
+ 968 CLOSURE 3, 339
+ 971 PUSHACC 20
+ 973 PUSHACC 25
+ 975 CLOSURE 2, 325
+ 978 PUSHACC 25
+ 980 CLOSURE 1, 315
+ 983 PUSHACC 12
+ 985 PUSHACC 28
+ 987 PUSHACC 30
+ 989 CLOSURE 3, 308
+ 992 PUSHACC0
+ 993 CLOSURE 1, 301
+ 996 PUSHACC1
+ 997 CLOSURE 1, 294
+ 1000 PUSHACC 29
+ 1002 PUSHACC 31
+ 1004 CLOSURE 2, 286
+ 1007 MAKEBLOCK1 0
+ 1009 PUSHACC0
+ 1010 CLOSURE 1, 275
+ 1013 PUSHACC1
+ 1014 CLOSURE 1, 263
+ 1017 PUSHACC0
+ 1018 CLOSURE 1, 255
+ 1021 PUSHACC1
+ 1022 PUSHACC 22
+ 1024 PUSHACC4
+ 1025 PUSHACC3
+ 1026 PUSH
+ 1027 CLOSURE 0, 247
+ 1030 PUSH
+ 1031 CLOSURE 0, 241
+ 1034 PUSH
+ 1035 CLOSURE 0, 236
+ 1038 PUSH
+ 1039 CLOSURE 0, 231
+ 1042 PUSH
+ 1043 CLOSURE 0, 223
+ 1046 PUSH
+ 1047 CLOSURE 0, 217
+ 1050 PUSH
+ 1051 CLOSURE 0, 212
+ 1054 PUSH
+ 1055 CLOSURE 0, 207
+ 1058 PUSHACC 32
+ 1060 PUSHACC 35
+ 1062 PUSHACC 33
+ 1064 PUSH
+ 1065 CLOSURE 0, 202
+ 1068 PUSHACC 41
+ 1070 PUSHACC 40
+ 1072 PUSHACC 42
+ 1074 PUSH
+ 1075 CLOSURE 0, 194
+ 1078 PUSHACC 46
+ 1080 PUSH
+ 1081 CLOSURE 0, 188
+ 1084 PUSH
+ 1085 CLOSURE 0, 183
+ 1088 PUSH
+ 1089 CLOSURE 0, 175
+ 1092 PUSHACC 51
+ 1094 PUSH
+ 1095 CLOSURE 0, 166
+ 1098 PUSH
+ 1099 CLOSURE 0, 157
+ 1102 PUSHACC 55
+ 1104 PUSHACC 57
+ 1106 PUSH
+ 1107 CLOSURE 0, 148
+ 1110 PUSH
+ 1111 CLOSURE 0, 142
+ 1114 PUSHACC 63
+ 1116 PUSHACC 62
+ 1118 PUSHACC 64
+ 1120 PUSHACC 38
+ 1122 PUSHACC 40
+ 1124 PUSHACC 42
+ 1126 PUSHACC 44
+ 1128 PUSHACC 46
+ 1130 PUSHACC 48
+ 1132 PUSHACC 50
+ 1134 PUSHACC 52
+ 1136 PUSHACC 54
+ 1138 PUSHACC 56
+ 1140 PUSHACC 58
+ 1142 PUSHACC 60
+ 1144 PUSHACC 62
+ 1146 PUSHACC 64
+ 1148 PUSHACC 66
+ 1150 PUSHACC 82
+ 1152 PUSHACC 84
+ 1154 PUSHACC 86
+ 1156 PUSHACC 88
+ 1158 PUSHACC 90
+ 1160 PUSHACC 92
+ 1162 PUSHACC 94
+ 1164 PUSHACC 96
+ 1166 PUSHACC 98
+ 1168 PUSHACC 100
+ 1170 PUSHACC 104
+ 1172 PUSHACC 104
+ 1174 PUSHACC 104
+ 1176 PUSHACC 108
+ 1178 PUSHACC 110
+ 1180 PUSHACC 112
+ 1182 PUSHACC 117
+ 1184 PUSHACC 117
+ 1186 PUSHACC 117
+ 1188 PUSHACC 117
+ 1190 MAKEBLOCK 69, 0
+ 1193 POP 53
+ 1195 SETGLOBAL Pervasives
+ 1197 BRANCH 2177
+ 1199 RESTART
+ 1200 GRAB 1
+ 1202 ACC1
+ 1203 BRANCHIFNOT 1213
+ 1205 ACC1
+ 1206 GETFIELD1
+ 1207 PUSHACC1
+ 1208 OFFSETINT 1
+ 1210 PUSHOFFSETCLOSURE0
+ 1211 APPTERM2 4
+ 1213 ACC0
+ 1214 RETURN 2
+ 1216 RESTART
+ 1217 GRAB 1
+ 1219 ACC0
+ 1220 BRANCHIFNOT 1251
+ 1222 CONST0
+ 1223 PUSHACC2
+ 1224 EQ
+ 1225 BRANCHIFNOT 1231
+ 1227 ACC0
+ 1228 GETFIELD0
+ 1229 RETURN 2
+ 1231 CONST0
+ 1232 PUSHACC2
+ 1233 GTINT
+ 1234 BRANCHIFNOT 1244
+ 1236 ACC1
+ 1237 OFFSETINT -1
+ 1239 PUSHACC1
+ 1240 GETFIELD1
+ 1241 PUSHOFFSETCLOSURE0
+ 1242 APPTERM2 4
+ 1244 GETGLOBAL "List.nth"
+ 1246 PUSHGETGLOBALFIELD Pervasives, 2
+ 1249 APPTERM1 3
+ 1251 GETGLOBAL "nth"
+ 1253 PUSHGETGLOBALFIELD Pervasives, 3
+ 1256 APPTERM1 3
+ 1258 RESTART
+ 1259 GRAB 1
+ 1261 ACC0
+ 1262 BRANCHIFNOT 1274
+ 1264 ACC1
+ 1265 PUSHACC1
+ 1266 GETFIELD0
+ 1267 MAKEBLOCK2 0
+ 1269 PUSHACC1
+ 1270 GETFIELD1
+ 1271 PUSHOFFSETCLOSURE0
+ 1272 APPTERM2 4
+ 1274 ACC1
+ 1275 RETURN 2
+ 1277 ACC0
+ 1278 BRANCHIFNOT 1291
+ 1280 ACC0
+ 1281 GETFIELD1
+ 1282 PUSHOFFSETCLOSURE0
+ 1283 APPLY1
+ 1284 PUSHACC1
+ 1285 GETFIELD0
+ 1286 PUSHGETGLOBALFIELD Pervasives, 16
+ 1289 APPTERM2 3
+ 1291 RETURN 1
+ 1293 RESTART
+ 1294 GRAB 1
+ 1296 ACC1
+ 1297 BRANCHIFNOT 1313
+ 1299 ACC1
+ 1300 GETFIELD0
+ 1301 PUSHACC1
+ 1302 APPLY1
+ 1303 PUSHACC2
+ 1304 GETFIELD1
+ 1305 PUSHACC2
+ 1306 PUSHOFFSETCLOSURE0
+ 1307 APPLY2
+ 1308 PUSHACC1
+ 1309 MAKEBLOCK2 0
+ 1311 POP 1
+ 1313 RETURN 2
+ 1315 RESTART
+ 1316 GRAB 1
+ 1318 ACC1
+ 1319 BRANCHIFNOT 1331
+ 1321 ACC1
+ 1322 GETFIELD0
+ 1323 PUSHACC1
+ 1324 APPLY1
+ 1325 ACC1
+ 1326 GETFIELD1
+ 1327 PUSHACC1
+ 1328 PUSHOFFSETCLOSURE0
+ 1329 APPTERM2 4
+ 1331 RETURN 2
+ 1333 RESTART
+ 1334 GRAB 2
+ 1336 ACC2
+ 1337 BRANCHIFNOT 1350
+ 1339 ACC2
+ 1340 GETFIELD1
+ 1341 PUSHACC3
+ 1342 GETFIELD0
+ 1343 PUSHACC3
+ 1344 PUSHACC3
+ 1345 APPLY2
+ 1346 PUSHACC2
+ 1347 PUSHOFFSETCLOSURE0
+ 1348 APPTERM3 6
+ 1350 ACC1
+ 1351 RETURN 3
+ 1353 RESTART
+ 1354 GRAB 2
+ 1356 ACC1
+ 1357 BRANCHIFNOT 1370
+ 1359 ACC2
+ 1360 PUSHACC2
+ 1361 GETFIELD1
+ 1362 PUSHACC2
+ 1363 PUSHOFFSETCLOSURE0
+ 1364 APPLY3
+ 1365 PUSHACC2
+ 1366 GETFIELD0
+ 1367 PUSHACC2
+ 1368 APPTERM2 5
+ 1370 ACC2
+ 1371 RETURN 3
+ 1373 RESTART
+ 1374 GRAB 2
+ 1376 ACC1
+ 1377 BRANCHIFNOT 1400
+ 1379 ACC2
+ 1380 BRANCHIFNOT 1407
+ 1382 ACC2
+ 1383 GETFIELD0
+ 1384 PUSHACC2
+ 1385 GETFIELD0
+ 1386 PUSHACC2
+ 1387 APPLY2
+ 1388 PUSHACC3
+ 1389 GETFIELD1
+ 1390 PUSHACC3
+ 1391 GETFIELD1
+ 1392 PUSHACC3
+ 1393 PUSHOFFSETCLOSURE0
+ 1394 APPLY3
+ 1395 PUSHACC1
+ 1396 MAKEBLOCK2 0
+ 1398 RETURN 4
+ 1400 ACC2
+ 1401 BRANCHIFNOT 1405
+ 1403 BRANCH 1407
+ 1405 RETURN 3
+ 1407 GETGLOBAL "List.map2"
+ 1409 PUSHGETGLOBALFIELD Pervasives, 2
+ 1412 APPTERM1 4
+ 1414 RESTART
+ 1415 GRAB 2
+ 1417 ACC1
+ 1418 BRANCHIFNOT 1437
+ 1420 ACC2
+ 1421 BRANCHIFNOT 1444
+ 1423 ACC2
+ 1424 GETFIELD0
+ 1425 PUSHACC2
+ 1426 GETFIELD0
+ 1427 PUSHACC2
+ 1428 APPLY2
+ 1429 ACC2
+ 1430 GETFIELD1
+ 1431 PUSHACC2
+ 1432 GETFIELD1
+ 1433 PUSHACC2
+ 1434 PUSHOFFSETCLOSURE0
+ 1435 APPTERM3 6
+ 1437 ACC2
+ 1438 BRANCHIFNOT 1442
+ 1440 BRANCH 1444
+ 1442 RETURN 3
+ 1444 GETGLOBAL "List.iter2"
+ 1446 PUSHGETGLOBALFIELD Pervasives, 2
+ 1449 APPTERM1 4
+ 1451 RESTART
+ 1452 GRAB 3
+ 1454 ACC2
+ 1455 BRANCHIFNOT 1476
+ 1457 ACC3
+ 1458 BRANCHIFNOT 1482
+ 1460 ACC3
+ 1461 GETFIELD1
+ 1462 PUSHACC3
+ 1463 GETFIELD1
+ 1464 PUSHACC5
+ 1465 GETFIELD0
+ 1466 PUSHACC5
+ 1467 GETFIELD0
+ 1468 PUSHACC5
+ 1469 PUSHACC5
+ 1470 APPLY3
+ 1471 PUSHACC3
+ 1472 PUSHOFFSETCLOSURE0
+ 1473 APPTERM 4, 8
+ 1476 ACC3
+ 1477 BRANCHIF 1482
+ 1479 ACC1
+ 1480 RETURN 4
+ 1482 GETGLOBAL "List.fold_left2"
+ 1484 PUSHGETGLOBALFIELD Pervasives, 2
+ 1487 APPTERM1 5
+ 1489 RESTART
+ 1490 GRAB 3
+ 1492 ACC1
+ 1493 BRANCHIFNOT 1516
+ 1495 ACC2
+ 1496 BRANCHIFNOT 1522
+ 1498 PUSH_RETADDR 1509
+ 1500 ACC6
+ 1501 PUSHACC6
+ 1502 GETFIELD1
+ 1503 PUSHACC6
+ 1504 GETFIELD1
+ 1505 PUSHACC6
+ 1506 PUSHOFFSETCLOSURE0
+ 1507 APPLY 4
+ 1509 PUSHACC3
+ 1510 GETFIELD0
+ 1511 PUSHACC3
+ 1512 GETFIELD0
+ 1513 PUSHACC3
+ 1514 APPTERM3 7
+ 1516 ACC2
+ 1517 BRANCHIF 1522
+ 1519 ACC3
+ 1520 RETURN 4
+ 1522 GETGLOBAL "List.fold_right2"
+ 1524 PUSHGETGLOBALFIELD Pervasives, 2
+ 1527 APPTERM1 5
+ 1529 RESTART
+ 1530 GRAB 1
+ 1532 ACC1
+ 1533 BRANCHIFNOT 1549
+ 1535 ACC1
+ 1536 GETFIELD0
+ 1537 PUSHACC1
+ 1538 APPLY1
+ 1539 BRANCHIFNOT 1547
+ 1541 ACC1
+ 1542 GETFIELD1
+ 1543 PUSHACC1
+ 1544 PUSHOFFSETCLOSURE0
+ 1545 APPTERM2 4
+ 1547 RETURN 2
+ 1549 CONST1
+ 1550 RETURN 2
+ 1552 RESTART
+ 1553 GRAB 1
+ 1555 ACC1
+ 1556 BRANCHIFNOT 1570
+ 1558 ACC1
+ 1559 GETFIELD0
+ 1560 PUSHACC1
+ 1561 APPLY1
+ 1562 BRANCHIF 1570
+ 1564 ACC1
+ 1565 GETFIELD1
+ 1566 PUSHACC1
+ 1567 PUSHOFFSETCLOSURE0
+ 1568 APPTERM2 4
+ 1570 RETURN 2
+ 1572 RESTART
+ 1573 GRAB 2
+ 1575 ACC1
+ 1576 BRANCHIFNOT 1599
+ 1578 ACC2
+ 1579 BRANCHIFNOT 1605
+ 1581 ACC2
+ 1582 GETFIELD0
+ 1583 PUSHACC2
+ 1584 GETFIELD0
+ 1585 PUSHACC2
+ 1586 APPLY2
+ 1587 BRANCHIFNOT 1597
+ 1589 ACC2
+ 1590 GETFIELD1
+ 1591 PUSHACC2
+ 1592 GETFIELD1
+ 1593 PUSHACC2
+ 1594 PUSHOFFSETCLOSURE0
+ 1595 APPTERM3 6
+ 1597 RETURN 3
+ 1599 ACC2
+ 1600 BRANCHIF 1605
+ 1602 CONST1
+ 1603 RETURN 3
+ 1605 GETGLOBAL "List.for_all2"
+ 1607 PUSHGETGLOBALFIELD Pervasives, 2
+ 1610 APPTERM1 4
+ 1612 RESTART
+ 1613 GRAB 2
+ 1615 ACC1
+ 1616 BRANCHIFNOT 1639
+ 1618 ACC2
+ 1619 BRANCHIFNOT 1646
+ 1621 ACC2
+ 1622 GETFIELD0
+ 1623 PUSHACC2
+ 1624 GETFIELD0
+ 1625 PUSHACC2
+ 1626 APPLY2
+ 1627 BRANCHIF 1637
+ 1629 ACC2
+ 1630 GETFIELD1
+ 1631 PUSHACC2
+ 1632 GETFIELD1
+ 1633 PUSHACC2
+ 1634 PUSHOFFSETCLOSURE0
+ 1635 APPTERM3 6
+ 1637 RETURN 3
+ 1639 ACC2
+ 1640 BRANCHIFNOT 1644
+ 1642 BRANCH 1646
+ 1644 RETURN 3
+ 1646 GETGLOBAL "List.exists2"
+ 1648 PUSHGETGLOBALFIELD Pervasives, 2
+ 1651 APPTERM1 4
+ 1653 RESTART
+ 1654 GRAB 1
+ 1656 ACC1
+ 1657 BRANCHIFNOT 1672
+ 1659 ACC0
+ 1660 PUSHACC2
+ 1661 GETFIELD0
+ 1662 C_CALL2 equal
+ 1664 BRANCHIF 1672
+ 1666 ACC1
+ 1667 GETFIELD1
+ 1668 PUSHACC1
+ 1669 PUSHOFFSETCLOSURE0
+ 1670 APPTERM2 4
+ 1672 RETURN 2
+ 1674 RESTART
+ 1675 GRAB 1
+ 1677 ACC1
+ 1678 BRANCHIFNOT 1692
+ 1680 ACC0
+ 1681 PUSHACC2
+ 1682 GETFIELD0
+ 1683 EQ
+ 1684 BRANCHIF 1692
+ 1686 ACC1
+ 1687 GETFIELD1
+ 1688 PUSHACC1
+ 1689 PUSHOFFSETCLOSURE0
+ 1690 APPTERM2 4
+ 1692 RETURN 2
+ 1694 RESTART
+ 1695 GRAB 1
+ 1697 ACC1
+ 1698 BRANCHIFNOT 1719
+ 1700 ACC1
+ 1701 GETFIELD0
+ 1702 PUSHACC1
+ 1703 PUSHACC1
+ 1704 GETFIELD0
+ 1705 C_CALL2 equal
+ 1707 BRANCHIFNOT 1713
+ 1709 ACC0
+ 1710 GETFIELD1
+ 1711 RETURN 3
+ 1713 ACC2
+ 1714 GETFIELD1
+ 1715 PUSHACC2
+ 1716 PUSHOFFSETCLOSURE0
+ 1717 APPTERM2 5
+ 1719 GETGLOBAL Not_found
+ 1721 MAKEBLOCK1 0
+ 1723 RAISE
+ 1724 RESTART
+ 1725 GRAB 1
+ 1727 ACC1
+ 1728 BRANCHIFNOT 1748
+ 1730 ACC1
+ 1731 GETFIELD0
+ 1732 PUSHACC1
+ 1733 PUSHACC1
+ 1734 GETFIELD0
+ 1735 EQ
+ 1736 BRANCHIFNOT 1742
+ 1738 ACC0
+ 1739 GETFIELD1
+ 1740 RETURN 3
+ 1742 ACC2
+ 1743 GETFIELD1
+ 1744 PUSHACC2
+ 1745 PUSHOFFSETCLOSURE0
+ 1746 APPTERM2 5
+ 1748 GETGLOBAL Not_found
+ 1750 MAKEBLOCK1 0
+ 1752 RAISE
+ 1753 RESTART
+ 1754 GRAB 1
+ 1756 ACC1
+ 1757 BRANCHIFNOT 1773
+ 1759 ACC0
+ 1760 PUSHACC2
+ 1761 GETFIELD0
+ 1762 GETFIELD0
+ 1763 C_CALL2 equal
+ 1765 BRANCHIF 1773
+ 1767 ACC1
+ 1768 GETFIELD1
+ 1769 PUSHACC1
+ 1770 PUSHOFFSETCLOSURE0
+ 1771 APPTERM2 4
+ 1773 RETURN 2
+ 1775 RESTART
+ 1776 GRAB 1
+ 1778 ACC1
+ 1779 BRANCHIFNOT 1794
+ 1781 ACC0
+ 1782 PUSHACC2
+ 1783 GETFIELD0
+ 1784 GETFIELD0
+ 1785 EQ
+ 1786 BRANCHIF 1794
+ 1788 ACC1
+ 1789 GETFIELD1
+ 1790 PUSHACC1
+ 1791 PUSHOFFSETCLOSURE0
+ 1792 APPTERM2 4
+ 1794 RETURN 2
+ 1796 RESTART
+ 1797 GRAB 1
+ 1799 ACC1
+ 1800 BRANCHIFNOT 1825
+ 1802 ACC1
+ 1803 GETFIELD0
+ 1804 PUSHACC2
+ 1805 GETFIELD1
+ 1806 PUSHACC2
+ 1807 PUSHACC2
+ 1808 GETFIELD0
+ 1809 C_CALL2 equal
+ 1811 BRANCHIFNOT 1816
+ 1813 ACC0
+ 1814 RETURN 4
+ 1816 ACC0
+ 1817 PUSHACC3
+ 1818 PUSHOFFSETCLOSURE0
+ 1819 APPLY2
+ 1820 PUSHACC2
+ 1821 MAKEBLOCK2 0
+ 1823 POP 2
+ 1825 RETURN 2
+ 1827 RESTART
+ 1828 GRAB 1
+ 1830 ACC1
+ 1831 BRANCHIFNOT 1855
+ 1833 ACC1
+ 1834 GETFIELD0
+ 1835 PUSHACC2
+ 1836 GETFIELD1
+ 1837 PUSHACC2
+ 1838 PUSHACC2
+ 1839 GETFIELD0
+ 1840 EQ
+ 1841 BRANCHIFNOT 1846
+ 1843 ACC0
+ 1844 RETURN 4
+ 1846 ACC0
+ 1847 PUSHACC3
+ 1848 PUSHOFFSETCLOSURE0
+ 1849 APPLY2
+ 1850 PUSHACC2
+ 1851 MAKEBLOCK2 0
+ 1853 POP 2
+ 1855 RETURN 2
+ 1857 RESTART
+ 1858 GRAB 1
+ 1860 ACC1
+ 1861 BRANCHIFNOT 1879
+ 1863 ACC1
+ 1864 GETFIELD0
+ 1865 PUSHACC0
+ 1866 PUSHACC2
+ 1867 APPLY1
+ 1868 BRANCHIFNOT 1873
+ 1870 ACC0
+ 1871 RETURN 3
+ 1873 ACC2
+ 1874 GETFIELD1
+ 1875 PUSHACC2
+ 1876 PUSHOFFSETCLOSURE0
+ 1877 APPTERM2 5
+ 1879 GETGLOBAL Not_found
+ 1881 MAKEBLOCK1 0
+ 1883 RAISE
+ 1884 RESTART
+ 1885 GRAB 2
+ 1887 ACC2
+ 1888 BRANCHIFNOT 1917
+ 1890 ACC2
+ 1891 GETFIELD0
+ 1892 PUSHACC3
+ 1893 GETFIELD1
+ 1894 PUSHACC1
+ 1895 PUSHENVACC2
+ 1896 APPLY1
+ 1897 BRANCHIFNOT 1908
+ 1899 ACC0
+ 1900 PUSHACC4
+ 1901 PUSHACC4
+ 1902 PUSHACC4
+ 1903 MAKEBLOCK2 0
+ 1905 PUSHOFFSETCLOSURE0
+ 1906 APPTERM3 8
+ 1908 ACC0
+ 1909 PUSHACC4
+ 1910 PUSHACC3
+ 1911 MAKEBLOCK2 0
+ 1913 PUSHACC4
+ 1914 PUSHOFFSETCLOSURE0
+ 1915 APPTERM3 8
+ 1917 ACC1
+ 1918 PUSHENVACC1
+ 1919 APPLY1
+ 1920 PUSHACC1
+ 1921 PUSHENVACC1
+ 1922 APPLY1
+ 1923 MAKEBLOCK2 0
+ 1925 RETURN 3
+ 1927 RESTART
+ 1928 GRAB 1
+ 1930 ACC0
+ 1931 PUSHENVACC1
+ 1932 CLOSUREREC 2, 1885
+ 1936 ACC2
+ 1937 PUSHCONST0
+ 1938 PUSHCONST0
+ 1939 PUSHACC3
+ 1940 APPTERM3 6
+ 1942 ACC0
+ 1943 BRANCHIFNOT 1967
+ 1945 ACC0
+ 1946 GETFIELD0
+ 1947 PUSHACC1
+ 1948 GETFIELD1
+ 1949 PUSHOFFSETCLOSURE0
+ 1950 APPLY1
+ 1951 PUSHACC0
+ 1952 GETFIELD1
+ 1953 PUSHACC2
+ 1954 GETFIELD1
+ 1955 MAKEBLOCK2 0
+ 1957 PUSHACC1
+ 1958 GETFIELD0
+ 1959 PUSHACC3
+ 1960 GETFIELD0
+ 1961 MAKEBLOCK2 0
+ 1963 MAKEBLOCK2 0
+ 1965 RETURN 3
+ 1967 GETGLOBAL <0>(0, 0)
+ 1969 RETURN 1
+ 1971 RESTART
+ 1972 GRAB 1
+ 1974 ACC0
+ 1975 BRANCHIFNOT 1996
+ 1977 ACC1
+ 1978 BRANCHIFNOT 2003
+ 1980 ACC1
+ 1981 GETFIELD1
+ 1982 PUSHACC1
+ 1983 GETFIELD1
+ 1984 PUSHOFFSETCLOSURE0
+ 1985 APPLY2
+ 1986 PUSHACC2
+ 1987 GETFIELD0
+ 1988 PUSHACC2
+ 1989 GETFIELD0
+ 1990 MAKEBLOCK2 0
+ 1992 MAKEBLOCK2 0
+ 1994 RETURN 2
+ 1996 ACC1
+ 1997 BRANCHIFNOT 2001
+ 1999 BRANCH 2003
+ 2001 RETURN 2
+ 2003 GETGLOBAL "List.combine"
+ 2005 PUSHGETGLOBALFIELD Pervasives, 2
+ 2008 APPTERM1 3
+ 2010 RESTART
+ 2011 GRAB 1
+ 2013 ACC1
+ 2014 BRANCHIFNOT 2038
+ 2016 ACC1
+ 2017 GETFIELD0
+ 2018 PUSHACC2
+ 2019 GETFIELD1
+ 2020 PUSHACC1
+ 2021 PUSHENVACC2
+ 2022 APPLY1
+ 2023 BRANCHIFNOT 2033
+ 2025 ACC0
+ 2026 PUSHACC3
+ 2027 PUSHACC3
+ 2028 MAKEBLOCK2 0
+ 2030 PUSHOFFSETCLOSURE0
+ 2031 APPTERM2 6
+ 2033 ACC0
+ 2034 PUSHACC3
+ 2035 PUSHOFFSETCLOSURE0
+ 2036 APPTERM2 6
+ 2038 ACC0
+ 2039 PUSHENVACC1
+ 2040 APPTERM1 3
+ 2042 ACC0
+ 2043 PUSHENVACC1
+ 2044 CLOSUREREC 2, 2011
+ 2048 CONST0
+ 2049 PUSHACC1
+ 2050 APPTERM1 3
+ 2052 RESTART
+ 2053 GRAB 2
+ 2055 ACC1
+ 2056 BRANCHIFNOT 2077
+ 2058 ACC2
+ 2059 BRANCHIFNOT 2084
+ 2061 ACC2
+ 2062 GETFIELD1
+ 2063 PUSHACC2
+ 2064 GETFIELD1
+ 2065 PUSHACC2
+ 2066 PUSHACC5
+ 2067 GETFIELD0
+ 2068 PUSHACC5
+ 2069 GETFIELD0
+ 2070 PUSHENVACC1
+ 2071 APPLY2
+ 2072 MAKEBLOCK2 0
+ 2074 PUSHOFFSETCLOSURE0
+ 2075 APPTERM3 6
+ 2077 ACC2
+ 2078 BRANCHIFNOT 2082
+ 2080 BRANCH 2084
+ 2082 RETURN 3
+ 2084 GETGLOBAL "List.rev_map2"
+ 2086 PUSHGETGLOBALFIELD Pervasives, 2
+ 2089 APPTERM1 4
+ 2091 RESTART
+ 2092 GRAB 2
+ 2094 ACC0
+ 2095 CLOSUREREC 1, 2053
+ 2099 ACC3
+ 2100 PUSHACC3
+ 2101 PUSHCONST0
+ 2102 PUSHACC3
+ 2103 APPTERM3 7
+ 2105 RESTART
+ 2106 GRAB 1
+ 2108 ACC1
+ 2109 BRANCHIFNOT 2123
+ 2111 ACC1
+ 2112 GETFIELD1
+ 2113 PUSHACC1
+ 2114 PUSHACC3
+ 2115 GETFIELD0
+ 2116 PUSHENVACC1
+ 2117 APPLY1
+ 2118 MAKEBLOCK2 0
+ 2120 PUSHOFFSETCLOSURE0
+ 2121 APPTERM2 4
+ 2123 ACC0
+ 2124 RETURN 2
+ 2126 RESTART
+ 2127 GRAB 1
+ 2129 ACC0
+ 2130 CLOSUREREC 1, 2106
+ 2134 ACC2
+ 2135 PUSHCONST0
+ 2136 PUSHACC2
+ 2137 APPTERM2 5
+ 2139 CONST0
+ 2140 PUSHACC1
+ 2141 PUSHENVACC1
+ 2142 APPTERM2 3
+ 2144 ACC0
+ 2145 BRANCHIFNOT 2151
+ 2147 ACC0
+ 2148 GETFIELD1
+ 2149 RETURN 1
+ 2151 GETGLOBAL "tl"
+ 2153 PUSHGETGLOBALFIELD Pervasives, 3
+ 2156 APPTERM1 2
+ 2158 ACC0
+ 2159 BRANCHIFNOT 2165
+ 2161 ACC0
+ 2162 GETFIELD0
+ 2163 RETURN 1
+ 2165 GETGLOBAL "hd"
+ 2167 PUSHGETGLOBALFIELD Pervasives, 3
+ 2170 APPTERM1 2
+ 2172 ACC0
+ 2173 PUSHCONST0
+ 2174 PUSHENVACC1
+ 2175 APPTERM2 3
+ 2177 CLOSUREREC 0, 1200
+ 2181 ACC0
+ 2182 CLOSURE 1, 2172
+ 2185 PUSH
+ 2186 CLOSURE 0, 2158
+ 2189 PUSH
+ 2190 CLOSURE 0, 2144
+ 2193 PUSH
+ 2194 CLOSUREREC 0, 1217
+ 2198 GETGLOBALFIELD Pervasives, 16
+ 2201 PUSH
+ 2202 CLOSUREREC 0, 1259
+ 2206 ACC0
+ 2207 CLOSURE 1, 2139
+ 2210 PUSH
+ 2211 CLOSUREREC 0, 1277
+ 2215 CLOSUREREC 0, 1294
+ 2219 CLOSURE 0, 2127
+ 2222 PUSH
+ 2223 CLOSUREREC 0, 1316
+ 2227 CLOSUREREC 0, 1334
+ 2231 CLOSUREREC 0, 1354
+ 2235 CLOSUREREC 0, 1374
+ 2239 CLOSURE 0, 2092
+ 2242 PUSH
+ 2243 CLOSUREREC 0, 1415
+ 2247 CLOSUREREC 0, 1452
+ 2251 CLOSUREREC 0, 1490
+ 2255 CLOSUREREC 0, 1530
+ 2259 CLOSUREREC 0, 1553
+ 2263 CLOSUREREC 0, 1573
+ 2267 CLOSUREREC 0, 1613
+ 2271 CLOSUREREC 0, 1654
+ 2275 CLOSUREREC 0, 1675
+ 2279 CLOSUREREC 0, 1695
+ 2283 CLOSUREREC 0, 1725
+ 2287 CLOSUREREC 0, 1754
+ 2291 CLOSUREREC 0, 1776
+ 2295 CLOSUREREC 0, 1797
+ 2299 CLOSUREREC 0, 1828
+ 2303 CLOSUREREC 0, 1858
+ 2307 ACC 24
+ 2309 CLOSURE 1, 2042
+ 2312 PUSHACC 25
+ 2314 CLOSUREREC 1, 1928
+ 2318 CLOSUREREC 0, 1942
+ 2322 CLOSUREREC 0, 1972
+ 2326 ACC0
+ 2327 PUSHACC2
+ 2328 PUSHACC7
+ 2329 PUSHACC 9
+ 2331 PUSHACC 11
+ 2333 PUSHACC 13
+ 2335 PUSHACC 15
+ 2337 PUSHACC 17
+ 2339 PUSHACC 10
+ 2341 PUSHACC 12
+ 2343 PUSHACC 13
+ 2345 PUSHACC 15
+ 2347 PUSHACC 23
+ 2349 PUSHACC 25
+ 2351 PUSHACC 27
+ 2353 PUSHACC 29
+ 2355 PUSHACC 31
+ 2357 PUSHACC 33
+ 2359 PUSHACC 35
+ 2361 PUSHACC 37
+ 2363 PUSHACC 40
+ 2365 PUSHACC 42
+ 2367 PUSHACC 41
+ 2369 PUSHACC 45
+ 2371 PUSHACC 47
+ 2373 PUSHACC 50
+ 2375 PUSHACC 52
+ 2377 PUSHACC 51
+ 2379 PUSHACC 55
+ 2381 PUSHACC 56
+ 2383 PUSHACC 59
+ 2385 PUSHACC 61
+ 2387 PUSHACC 60
+ 2389 PUSHACC 64
+ 2391 PUSHACC 66
+ 2393 PUSHACC 68
+ 2395 PUSHACC 70
+ 2397 MAKEBLOCK 37, 0
+ 2400 POP 36
+ 2402 SETGLOBAL List
+ 2404 BRANCH 2432
+ 2406 CONST0
+ 2407 PUSHACC1
+ 2408 LEINT
+ 2409 BRANCHIFNOT 2414
+ 2411 CONST0
+ 2412 RETURN 1
+ 2414 ACC0
+ 2415 OFFSETINT -1
+ 2417 PUSHOFFSETCLOSURE0
+ 2418 APPLY1
+ 2419 PUSHACC1
+ 2420 MAKEBLOCK2 0
+ 2422 RETURN 1
+ 2424 RESTART
+ 2425 GRAB 1
+ 2427 ACC1
+ 2428 PUSHACC1
+ 2429 ADDINT
+ 2430 RETURN 2
+ 2432 CLOSUREREC 0, 2406
+ 2436 CONSTINT 300
+ 2438 PUSHACC1
+ 2439 APPLY1
+ 2440 PUSHCONST0
+ 2441 C_CALL1 gc_minor
+ 2443 CONSTINT 150
+ 2445 PUSHCONSTINT 301
+ 2447 MULINT
+ 2448 PUSHACC1
+ 2449 PUSHCONST0
+ 2450 PUSH
+ 2451 CLOSURE 0, 2425
+ 2454 PUSHGETGLOBALFIELD List, 12
+ 2457 APPLY3
+ 2458 NEQ
+ 2459 BRANCHIFNOT 2466
+ 2461 GETGLOBAL Not_found
+ 2463 MAKEBLOCK1 0
+ 2465 RAISE
+ 2466 POP 2
+ 2468 ATOM0
+ 2469 SETGLOBAL T320-gc-1
+ 2471 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t320-gc-2.ml b/testsuite/tests/tool-ocaml/t320-gc-2.ml
new file mode 100644
index 0000000000..f607f65125
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t320-gc-2.ml
@@ -0,0 +1,1589 @@
+open Lib;;
+let rec f n =
+ if n <= 0 then []
+ else n :: f (n-1)
+in
+let l = f 300 in
+Gc.major ();
+if List.fold_left (+) 0 l <> 301 * 150 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 746
+ 11 RESTART
+ 12 GRAB 1
+ 14 ACC0
+ 15 BRANCHIFNOT 28
+ 17 ACC1
+ 18 PUSHACC1
+ 19 GETFIELD1
+ 20 PUSHOFFSETCLOSURE0
+ 21 APPLY2
+ 22 PUSHACC1
+ 23 GETFIELD0
+ 24 MAKEBLOCK2 0
+ 26 RETURN 2
+ 28 ACC1
+ 29 RETURN 2
+ 31 RESTART
+ 32 GRAB 3
+ 34 CONST0
+ 35 PUSHACC4
+ 36 LEINT
+ 37 BRANCHIFNOT 42
+ 39 CONST0
+ 40 RETURN 4
+ 42 ACC3
+ 43 PUSHACC3
+ 44 PUSHACC3
+ 45 PUSHACC3
+ 46 C_CALL4 caml_input
+ 48 PUSHCONST0
+ 49 PUSHACC1
+ 50 EQ
+ 51 BRANCHIFNOT 58
+ 53 GETGLOBAL End_of_file
+ 55 MAKEBLOCK1 0
+ 57 RAISE
+ 58 ACC0
+ 59 PUSHACC5
+ 60 SUBINT
+ 61 PUSHACC1
+ 62 PUSHACC5
+ 63 ADDINT
+ 64 PUSHACC4
+ 65 PUSHACC4
+ 66 PUSHOFFSETCLOSURE0
+ 67 APPTERM 4, 9
+ 70 ACC0
+ 71 C_CALL1 caml_input_scan_line
+ 73 PUSHCONST0
+ 74 PUSHACC1
+ 75 EQ
+ 76 BRANCHIFNOT 83
+ 78 GETGLOBAL End_of_file
+ 80 MAKEBLOCK1 0
+ 82 RAISE
+ 83 CONST0
+ 84 PUSHACC1
+ 85 GTINT
+ 86 BRANCHIFNOT 107
+ 88 ACC0
+ 89 OFFSETINT -1
+ 91 C_CALL1 create_string
+ 93 PUSHACC1
+ 94 OFFSETINT -1
+ 96 PUSHCONST0
+ 97 PUSHACC2
+ 98 PUSHACC5
+ 99 C_CALL4 caml_input
+ 101 ACC2
+ 102 C_CALL1 caml_input_char
+ 104 ACC0
+ 105 RETURN 3
+ 107 ACC0
+ 108 NEGINT
+ 109 C_CALL1 create_string
+ 111 PUSHACC1
+ 112 NEGINT
+ 113 PUSHCONST0
+ 114 PUSHACC2
+ 115 PUSHACC5
+ 116 C_CALL4 caml_input
+ 118 CONST0
+ 119 PUSHTRAP 130
+ 121 ACC6
+ 122 PUSHOFFSETCLOSURE0
+ 123 APPLY1
+ 124 PUSHACC5
+ 125 PUSHENVACC1
+ 126 APPLY2
+ 127 POPTRAP
+ 128 RETURN 3
+ 130 PUSHGETGLOBAL End_of_file
+ 132 PUSHACC1
+ 133 GETFIELD0
+ 134 EQ
+ 135 BRANCHIFNOT 140
+ 137 ACC1
+ 138 RETURN 4
+ 140 ACC0
+ 141 RAISE
+ 142 ACC0
+ 143 C_CALL1 caml_flush
+ 145 RETURN 1
+ 147 RESTART
+ 148 GRAB 1
+ 150 ACC1
+ 151 PUSHACC1
+ 152 C_CALL2 caml_output_char
+ 154 RETURN 2
+ 156 RESTART
+ 157 GRAB 1
+ 159 ACC1
+ 160 PUSHACC1
+ 161 C_CALL2 caml_output_char
+ 163 RETURN 2
+ 165 RESTART
+ 166 GRAB 1
+ 168 ACC1
+ 169 PUSHACC1
+ 170 C_CALL2 caml_output_int
+ 172 RETURN 2
+ 174 RESTART
+ 175 GRAB 1
+ 177 ACC1
+ 178 PUSHACC1
+ 179 C_CALL2 caml_seek_out
+ 181 RETURN 2
+ 183 ACC0
+ 184 C_CALL1 caml_pos_out
+ 186 RETURN 1
+ 188 ACC0
+ 189 C_CALL1 caml_channel_size
+ 191 RETURN 1
+ 193 RESTART
+ 194 GRAB 1
+ 196 ACC1
+ 197 PUSHACC1
+ 198 C_CALL2 caml_set_binary_mode
+ 200 RETURN 2
+ 202 ACC0
+ 203 C_CALL1 caml_input_char
+ 205 RETURN 1
+ 207 ACC0
+ 208 C_CALL1 caml_input_char
+ 210 RETURN 1
+ 212 ACC0
+ 213 C_CALL1 caml_input_int
+ 215 RETURN 1
+ 217 ACC0
+ 218 C_CALL1 input_value
+ 220 RETURN 1
+ 222 RESTART
+ 223 GRAB 1
+ 225 ACC1
+ 226 PUSHACC1
+ 227 C_CALL2 caml_seek_in
+ 229 RETURN 2
+ 231 ACC0
+ 232 C_CALL1 caml_pos_in
+ 234 RETURN 1
+ 236 ACC0
+ 237 C_CALL1 caml_channel_size
+ 239 RETURN 1
+ 241 ACC0
+ 242 C_CALL1 caml_close_channel
+ 244 RETURN 1
+ 246 RESTART
+ 247 GRAB 1
+ 249 ACC1
+ 250 PUSHACC1
+ 251 C_CALL2 caml_set_binary_mode
+ 253 RETURN 2
+ 255 CONST0
+ 256 PUSHENVACC1
+ 257 APPLY1
+ 258 ACC0
+ 259 C_CALL1 sys_exit
+ 261 RETURN 1
+ 263 CONST0
+ 264 PUSHENVACC1
+ 265 GETFIELD0
+ 266 APPTERM1 2
+ 268 CONST0
+ 269 PUSHENVACC1
+ 270 APPLY1
+ 271 CONST0
+ 272 PUSHENVACC2
+ 273 APPTERM1 2
+ 275 ENVACC1
+ 276 GETFIELD0
+ 277 PUSHACC0
+ 278 PUSHACC2
+ 279 CLOSURE 2, 268
+ 282 PUSHENVACC1
+ 283 SETFIELD0
+ 284 RETURN 2
+ 286 ENVACC1
+ 287 C_CALL1 caml_flush
+ 289 ENVACC2
+ 290 C_CALL1 caml_flush
+ 292 RETURN 1
+ 294 CONST0
+ 295 PUSHENVACC1
+ 296 APPLY1
+ 297 C_CALL1 float_of_string
+ 299 RETURN 1
+ 301 CONST0
+ 302 PUSHENVACC1
+ 303 APPLY1
+ 304 C_CALL1 int_of_string
+ 306 RETURN 1
+ 308 ENVACC2
+ 309 C_CALL1 caml_flush
+ 311 ENVACC1
+ 312 PUSHENVACC3
+ 313 APPTERM1 2
+ 315 CONSTINT 13
+ 317 PUSHENVACC1
+ 318 C_CALL2 caml_output_char
+ 320 ENVACC1
+ 321 C_CALL1 caml_flush
+ 323 RETURN 1
+ 325 ACC0
+ 326 PUSHENVACC1
+ 327 PUSHENVACC2
+ 328 APPLY2
+ 329 CONSTINT 13
+ 331 PUSHENVACC1
+ 332 C_CALL2 caml_output_char
+ 334 ENVACC1
+ 335 C_CALL1 caml_flush
+ 337 RETURN 1
+ 339 ACC0
+ 340 PUSHENVACC1
+ 341 APPLY1
+ 342 PUSHENVACC2
+ 343 PUSHENVACC3
+ 344 APPTERM2 3
+ 346 ACC0
+ 347 PUSHENVACC1
+ 348 APPLY1
+ 349 PUSHENVACC2
+ 350 PUSHENVACC3
+ 351 APPTERM2 3
+ 353 ACC0
+ 354 PUSHENVACC1
+ 355 PUSHENVACC2
+ 356 APPTERM2 3
+ 358 ACC0
+ 359 PUSHENVACC1
+ 360 C_CALL2 caml_output_char
+ 362 RETURN 1
+ 364 CONSTINT 13
+ 366 PUSHENVACC1
+ 367 C_CALL2 caml_output_char
+ 369 ENVACC1
+ 370 C_CALL1 caml_flush
+ 372 RETURN 1
+ 374 ACC0
+ 375 PUSHENVACC1
+ 376 PUSHENVACC2
+ 377 APPLY2
+ 378 CONSTINT 13
+ 380 PUSHENVACC1
+ 381 C_CALL2 caml_output_char
+ 383 RETURN 1
+ 385 ACC0
+ 386 PUSHENVACC1
+ 387 APPLY1
+ 388 PUSHENVACC2
+ 389 PUSHENVACC3
+ 390 APPTERM2 3
+ 392 ACC0
+ 393 PUSHENVACC1
+ 394 APPLY1
+ 395 PUSHENVACC2
+ 396 PUSHENVACC3
+ 397 APPTERM2 3
+ 399 ACC0
+ 400 PUSHENVACC1
+ 401 PUSHENVACC2
+ 402 APPTERM2 3
+ 404 ACC0
+ 405 PUSHENVACC1
+ 406 C_CALL2 caml_output_char
+ 408 RETURN 1
+ 410 RESTART
+ 411 GRAB 3
+ 413 CONST0
+ 414 PUSHACC3
+ 415 LTINT
+ 416 BRANCHIF 427
+ 418 ACC1
+ 419 C_CALL1 ml_string_length
+ 421 PUSHACC4
+ 422 PUSHACC4
+ 423 ADDINT
+ 424 GTINT
+ 425 BRANCHIFNOT 432
+ 427 GETGLOBAL "really_input"
+ 429 PUSHENVACC1
+ 430 APPTERM1 5
+ 432 ACC3
+ 433 PUSHACC3
+ 434 PUSHACC3
+ 435 PUSHACC3
+ 436 PUSHENVACC2
+ 437 APPTERM 4, 8
+ 440 RESTART
+ 441 GRAB 3
+ 443 CONST0
+ 444 PUSHACC3
+ 445 LTINT
+ 446 BRANCHIF 457
+ 448 ACC1
+ 449 C_CALL1 ml_string_length
+ 451 PUSHACC4
+ 452 PUSHACC4
+ 453 ADDINT
+ 454 GTINT
+ 455 BRANCHIFNOT 462
+ 457 GETGLOBAL "input"
+ 459 PUSHENVACC1
+ 460 APPTERM1 5
+ 462 ACC3
+ 463 PUSHACC3
+ 464 PUSHACC3
+ 465 PUSHACC3
+ 466 C_CALL4 caml_input
+ 468 RETURN 4
+ 470 ACC0
+ 471 PUSHCONST0
+ 472 PUSHGETGLOBAL <0>(0, <0>(6, 0))
+ 474 PUSHENVACC1
+ 475 APPTERM3 4
+ 477 ACC0
+ 478 PUSHCONST0
+ 479 PUSHGETGLOBAL <0>(0, <0>(7, 0))
+ 481 PUSHENVACC1
+ 482 APPTERM3 4
+ 484 RESTART
+ 485 GRAB 2
+ 487 ACC1
+ 488 PUSHACC1
+ 489 PUSHACC4
+ 490 C_CALL3 sys_open
+ 492 C_CALL1 caml_open_descriptor
+ 494 RETURN 3
+ 496 ACC0
+ 497 C_CALL1 caml_flush
+ 499 ACC0
+ 500 C_CALL1 caml_close_channel
+ 502 RETURN 1
+ 504 RESTART
+ 505 GRAB 1
+ 507 CONST0
+ 508 PUSHACC2
+ 509 PUSHACC2
+ 510 C_CALL3 output_value
+ 512 RETURN 2
+ 514 RESTART
+ 515 GRAB 3
+ 517 CONST0
+ 518 PUSHACC3
+ 519 LTINT
+ 520 BRANCHIF 531
+ 522 ACC1
+ 523 C_CALL1 ml_string_length
+ 525 PUSHACC4
+ 526 PUSHACC4
+ 527 ADDINT
+ 528 GTINT
+ 529 BRANCHIFNOT 536
+ 531 GETGLOBAL "output"
+ 533 PUSHENVACC1
+ 534 APPTERM1 5
+ 536 ACC3
+ 537 PUSHACC3
+ 538 PUSHACC3
+ 539 PUSHACC3
+ 540 C_CALL4 caml_output
+ 542 RETURN 4
+ 544 RESTART
+ 545 GRAB 1
+ 547 ACC1
+ 548 C_CALL1 ml_string_length
+ 550 PUSHCONST0
+ 551 PUSHACC3
+ 552 PUSHACC3
+ 553 C_CALL4 caml_output
+ 555 RETURN 2
+ 557 ACC0
+ 558 PUSHCONSTINT 438
+ 560 PUSHGETGLOBAL <0>(1, <0>(3, <0>(4, <0>(6, 0))))
+ 562 PUSHENVACC1
+ 563 APPTERM3 4
+ 565 ACC0
+ 566 PUSHCONSTINT 438
+ 568 PUSHGETGLOBAL <0>(1, <0>(3, <0>(4, <0>(7, 0))))
+ 570 PUSHENVACC1
+ 571 APPTERM3 4
+ 573 RESTART
+ 574 GRAB 2
+ 576 ACC1
+ 577 PUSHACC1
+ 578 PUSHACC4
+ 579 C_CALL3 sys_open
+ 581 C_CALL1 caml_open_descriptor
+ 583 RETURN 3
+ 585 ACC0
+ 586 PUSHGETGLOBAL "%.12g"
+ 588 C_CALL2 format_float
+ 590 RETURN 1
+ 592 ACC0
+ 593 PUSHGETGLOBAL "%d"
+ 595 C_CALL2 format_int
+ 597 RETURN 1
+ 599 GETGLOBAL "false"
+ 601 PUSHACC1
+ 602 C_CALL2 string_equal
+ 604 BRANCHIFNOT 609
+ 606 CONST0
+ 607 RETURN 1
+ 609 GETGLOBAL "true"
+ 611 PUSHACC1
+ 612 C_CALL2 string_equal
+ 614 BRANCHIFNOT 619
+ 616 CONST1
+ 617 RETURN 1
+ 619 GETGLOBAL "bool_of_string"
+ 621 PUSHENVACC1
+ 622 APPTERM1 2
+ 624 ACC0
+ 625 BRANCHIFNOT 631
+ 627 GETGLOBAL "true"
+ 629 RETURN 1
+ 631 GETGLOBAL "false"
+ 633 RETURN 1
+ 635 CONST0
+ 636 PUSHACC1
+ 637 LTINT
+ 638 BRANCHIF 646
+ 640 CONSTINT 255
+ 642 PUSHACC1
+ 643 GTINT
+ 644 BRANCHIFNOT 651
+ 646 GETGLOBAL "char_of_int"
+ 648 PUSHENVACC1
+ 649 APPTERM1 2
+ 651 ACC0
+ 652 RETURN 1
+ 654 RESTART
+ 655 GRAB 1
+ 657 ACC0
+ 658 C_CALL1 ml_string_length
+ 660 PUSHACC2
+ 661 C_CALL1 ml_string_length
+ 663 PUSHACC0
+ 664 PUSHACC2
+ 665 ADDINT
+ 666 C_CALL1 create_string
+ 668 PUSHACC2
+ 669 PUSHCONST0
+ 670 PUSHACC2
+ 671 PUSHCONST0
+ 672 PUSHACC7
+ 673 C_CALL5 blit_string
+ 675 ACC1
+ 676 PUSHACC3
+ 677 PUSHACC2
+ 678 PUSHCONST0
+ 679 PUSHACC 8
+ 681 C_CALL5 blit_string
+ 683 ACC0
+ 684 RETURN 5
+ 686 CONSTINT -1
+ 688 PUSHACC1
+ 689 XORINT
+ 690 RETURN 1
+ 692 CONST0
+ 693 PUSHACC1
+ 694 GEINT
+ 695 BRANCHIFNOT 700
+ 697 ACC0
+ 698 RETURN 1
+ 700 ACC0
+ 701 NEGINT
+ 702 RETURN 1
+ 704 RESTART
+ 705 GRAB 1
+ 707 ACC1
+ 708 PUSHACC1
+ 709 C_CALL2 greaterequal
+ 711 BRANCHIFNOT 716
+ 713 ACC0
+ 714 RETURN 2
+ 716 ACC1
+ 717 RETURN 2
+ 719 RESTART
+ 720 GRAB 1
+ 722 ACC1
+ 723 PUSHACC1
+ 724 C_CALL2 lessequal
+ 726 BRANCHIFNOT 731
+ 728 ACC0
+ 729 RETURN 2
+ 731 ACC1
+ 732 RETURN 2
+ 734 ACC0
+ 735 PUSHGETGLOBAL Invalid_argument
+ 737 MAKEBLOCK2 0
+ 739 RAISE
+ 740 ACC0
+ 741 PUSHGETGLOBAL Failure
+ 743 MAKEBLOCK2 0
+ 745 RAISE
+ 746 CLOSURE 0, 740
+ 749 PUSH
+ 750 CLOSURE 0, 734
+ 753 PUSHGETGLOBAL "Pervasives.Exit"
+ 755 MAKEBLOCK1 0
+ 757 PUSHGETGLOBAL "Pervasives.Assert_failure"
+ 759 MAKEBLOCK1 0
+ 761 PUSH
+ 762 CLOSURE 0, 720
+ 765 PUSH
+ 766 CLOSURE 0, 705
+ 769 PUSH
+ 770 CLOSURE 0, 692
+ 773 PUSH
+ 774 CLOSURE 0, 686
+ 777 PUSHCONST0
+ 778 PUSHCONSTINT 31
+ 780 PUSHCONST1
+ 781 LSLINT
+ 782 EQ
+ 783 BRANCHIFNOT 789
+ 785 CONSTINT 30
+ 787 BRANCH 791
+ 789 CONSTINT 62
+ 791 PUSHCONST1
+ 792 LSLINT
+ 793 PUSHACC0
+ 794 OFFSETINT -1
+ 796 PUSH
+ 797 CLOSURE 0, 655
+ 800 PUSHACC 9
+ 802 CLOSURE 1, 635
+ 805 PUSH
+ 806 CLOSURE 0, 624
+ 809 PUSHACC 11
+ 811 CLOSURE 1, 599
+ 814 PUSH
+ 815 CLOSURE 0, 592
+ 818 PUSH
+ 819 CLOSURE 0, 585
+ 822 PUSH
+ 823 CLOSUREREC 0, 12
+ 827 CONST0
+ 828 C_CALL1 caml_open_descriptor
+ 830 PUSHCONST1
+ 831 C_CALL1 caml_open_descriptor
+ 833 PUSHCONST2
+ 834 C_CALL1 caml_open_descriptor
+ 836 PUSH
+ 837 CLOSURE 0, 574
+ 840 PUSHACC0
+ 841 CLOSURE 1, 565
+ 844 PUSHACC1
+ 845 CLOSURE 1, 557
+ 848 PUSH
+ 849 CLOSURE 0, 545
+ 852 PUSHACC 22
+ 854 CLOSURE 1, 515
+ 857 PUSH
+ 858 CLOSURE 0, 505
+ 861 PUSH
+ 862 CLOSURE 0, 496
+ 865 PUSH
+ 866 CLOSURE 0, 485
+ 869 PUSHACC0
+ 870 CLOSURE 1, 477
+ 873 PUSHACC1
+ 874 CLOSURE 1, 470
+ 877 PUSHACC 28
+ 879 CLOSURE 1, 441
+ 882 PUSH
+ 883 CLOSUREREC 0, 32
+ 887 ACC0
+ 888 PUSHACC 31
+ 890 CLOSURE 2, 411
+ 893 PUSHACC 22
+ 895 CLOSUREREC 1, 70
+ 899 ACC 15
+ 901 CLOSURE 1, 404
+ 904 PUSHACC 11
+ 906 PUSHACC 17
+ 908 CLOSURE 2, 399
+ 911 PUSHACC 12
+ 913 PUSHACC 18
+ 915 PUSHACC 23
+ 917 CLOSURE 3, 392
+ 920 PUSHACC 13
+ 922 PUSHACC 19
+ 924 PUSHACC 23
+ 926 CLOSURE 3, 385
+ 929 PUSHACC 14
+ 931 PUSHACC 20
+ 933 CLOSURE 2, 374
+ 936 PUSHACC 20
+ 938 CLOSURE 1, 364
+ 941 PUSHACC 20
+ 943 CLOSURE 1, 358
+ 946 PUSHACC 17
+ 948 PUSHACC 22
+ 950 CLOSURE 2, 353
+ 953 PUSHACC 18
+ 955 PUSHACC 23
+ 957 PUSHACC 29
+ 959 CLOSURE 3, 346
+ 962 PUSHACC 19
+ 964 PUSHACC 24
+ 966 PUSHACC 29
+ 968 CLOSURE 3, 339
+ 971 PUSHACC 20
+ 973 PUSHACC 25
+ 975 CLOSURE 2, 325
+ 978 PUSHACC 25
+ 980 CLOSURE 1, 315
+ 983 PUSHACC 12
+ 985 PUSHACC 28
+ 987 PUSHACC 30
+ 989 CLOSURE 3, 308
+ 992 PUSHACC0
+ 993 CLOSURE 1, 301
+ 996 PUSHACC1
+ 997 CLOSURE 1, 294
+ 1000 PUSHACC 29
+ 1002 PUSHACC 31
+ 1004 CLOSURE 2, 286
+ 1007 MAKEBLOCK1 0
+ 1009 PUSHACC0
+ 1010 CLOSURE 1, 275
+ 1013 PUSHACC1
+ 1014 CLOSURE 1, 263
+ 1017 PUSHACC0
+ 1018 CLOSURE 1, 255
+ 1021 PUSHACC1
+ 1022 PUSHACC 22
+ 1024 PUSHACC4
+ 1025 PUSHACC3
+ 1026 PUSH
+ 1027 CLOSURE 0, 247
+ 1030 PUSH
+ 1031 CLOSURE 0, 241
+ 1034 PUSH
+ 1035 CLOSURE 0, 236
+ 1038 PUSH
+ 1039 CLOSURE 0, 231
+ 1042 PUSH
+ 1043 CLOSURE 0, 223
+ 1046 PUSH
+ 1047 CLOSURE 0, 217
+ 1050 PUSH
+ 1051 CLOSURE 0, 212
+ 1054 PUSH
+ 1055 CLOSURE 0, 207
+ 1058 PUSHACC 32
+ 1060 PUSHACC 35
+ 1062 PUSHACC 33
+ 1064 PUSH
+ 1065 CLOSURE 0, 202
+ 1068 PUSHACC 41
+ 1070 PUSHACC 40
+ 1072 PUSHACC 42
+ 1074 PUSH
+ 1075 CLOSURE 0, 194
+ 1078 PUSHACC 46
+ 1080 PUSH
+ 1081 CLOSURE 0, 188
+ 1084 PUSH
+ 1085 CLOSURE 0, 183
+ 1088 PUSH
+ 1089 CLOSURE 0, 175
+ 1092 PUSHACC 51
+ 1094 PUSH
+ 1095 CLOSURE 0, 166
+ 1098 PUSH
+ 1099 CLOSURE 0, 157
+ 1102 PUSHACC 55
+ 1104 PUSHACC 57
+ 1106 PUSH
+ 1107 CLOSURE 0, 148
+ 1110 PUSH
+ 1111 CLOSURE 0, 142
+ 1114 PUSHACC 63
+ 1116 PUSHACC 62
+ 1118 PUSHACC 64
+ 1120 PUSHACC 38
+ 1122 PUSHACC 40
+ 1124 PUSHACC 42
+ 1126 PUSHACC 44
+ 1128 PUSHACC 46
+ 1130 PUSHACC 48
+ 1132 PUSHACC 50
+ 1134 PUSHACC 52
+ 1136 PUSHACC 54
+ 1138 PUSHACC 56
+ 1140 PUSHACC 58
+ 1142 PUSHACC 60
+ 1144 PUSHACC 62
+ 1146 PUSHACC 64
+ 1148 PUSHACC 66
+ 1150 PUSHACC 82
+ 1152 PUSHACC 84
+ 1154 PUSHACC 86
+ 1156 PUSHACC 88
+ 1158 PUSHACC 90
+ 1160 PUSHACC 92
+ 1162 PUSHACC 94
+ 1164 PUSHACC 96
+ 1166 PUSHACC 98
+ 1168 PUSHACC 100
+ 1170 PUSHACC 104
+ 1172 PUSHACC 104
+ 1174 PUSHACC 104
+ 1176 PUSHACC 108
+ 1178 PUSHACC 110
+ 1180 PUSHACC 112
+ 1182 PUSHACC 117
+ 1184 PUSHACC 117
+ 1186 PUSHACC 117
+ 1188 PUSHACC 117
+ 1190 MAKEBLOCK 69, 0
+ 1193 POP 53
+ 1195 SETGLOBAL Pervasives
+ 1197 BRANCH 2177
+ 1199 RESTART
+ 1200 GRAB 1
+ 1202 ACC1
+ 1203 BRANCHIFNOT 1213
+ 1205 ACC1
+ 1206 GETFIELD1
+ 1207 PUSHACC1
+ 1208 OFFSETINT 1
+ 1210 PUSHOFFSETCLOSURE0
+ 1211 APPTERM2 4
+ 1213 ACC0
+ 1214 RETURN 2
+ 1216 RESTART
+ 1217 GRAB 1
+ 1219 ACC0
+ 1220 BRANCHIFNOT 1251
+ 1222 CONST0
+ 1223 PUSHACC2
+ 1224 EQ
+ 1225 BRANCHIFNOT 1231
+ 1227 ACC0
+ 1228 GETFIELD0
+ 1229 RETURN 2
+ 1231 CONST0
+ 1232 PUSHACC2
+ 1233 GTINT
+ 1234 BRANCHIFNOT 1244
+ 1236 ACC1
+ 1237 OFFSETINT -1
+ 1239 PUSHACC1
+ 1240 GETFIELD1
+ 1241 PUSHOFFSETCLOSURE0
+ 1242 APPTERM2 4
+ 1244 GETGLOBAL "List.nth"
+ 1246 PUSHGETGLOBALFIELD Pervasives, 2
+ 1249 APPTERM1 3
+ 1251 GETGLOBAL "nth"
+ 1253 PUSHGETGLOBALFIELD Pervasives, 3
+ 1256 APPTERM1 3
+ 1258 RESTART
+ 1259 GRAB 1
+ 1261 ACC0
+ 1262 BRANCHIFNOT 1274
+ 1264 ACC1
+ 1265 PUSHACC1
+ 1266 GETFIELD0
+ 1267 MAKEBLOCK2 0
+ 1269 PUSHACC1
+ 1270 GETFIELD1
+ 1271 PUSHOFFSETCLOSURE0
+ 1272 APPTERM2 4
+ 1274 ACC1
+ 1275 RETURN 2
+ 1277 ACC0
+ 1278 BRANCHIFNOT 1291
+ 1280 ACC0
+ 1281 GETFIELD1
+ 1282 PUSHOFFSETCLOSURE0
+ 1283 APPLY1
+ 1284 PUSHACC1
+ 1285 GETFIELD0
+ 1286 PUSHGETGLOBALFIELD Pervasives, 16
+ 1289 APPTERM2 3
+ 1291 RETURN 1
+ 1293 RESTART
+ 1294 GRAB 1
+ 1296 ACC1
+ 1297 BRANCHIFNOT 1313
+ 1299 ACC1
+ 1300 GETFIELD0
+ 1301 PUSHACC1
+ 1302 APPLY1
+ 1303 PUSHACC2
+ 1304 GETFIELD1
+ 1305 PUSHACC2
+ 1306 PUSHOFFSETCLOSURE0
+ 1307 APPLY2
+ 1308 PUSHACC1
+ 1309 MAKEBLOCK2 0
+ 1311 POP 1
+ 1313 RETURN 2
+ 1315 RESTART
+ 1316 GRAB 1
+ 1318 ACC1
+ 1319 BRANCHIFNOT 1331
+ 1321 ACC1
+ 1322 GETFIELD0
+ 1323 PUSHACC1
+ 1324 APPLY1
+ 1325 ACC1
+ 1326 GETFIELD1
+ 1327 PUSHACC1
+ 1328 PUSHOFFSETCLOSURE0
+ 1329 APPTERM2 4
+ 1331 RETURN 2
+ 1333 RESTART
+ 1334 GRAB 2
+ 1336 ACC2
+ 1337 BRANCHIFNOT 1350
+ 1339 ACC2
+ 1340 GETFIELD1
+ 1341 PUSHACC3
+ 1342 GETFIELD0
+ 1343 PUSHACC3
+ 1344 PUSHACC3
+ 1345 APPLY2
+ 1346 PUSHACC2
+ 1347 PUSHOFFSETCLOSURE0
+ 1348 APPTERM3 6
+ 1350 ACC1
+ 1351 RETURN 3
+ 1353 RESTART
+ 1354 GRAB 2
+ 1356 ACC1
+ 1357 BRANCHIFNOT 1370
+ 1359 ACC2
+ 1360 PUSHACC2
+ 1361 GETFIELD1
+ 1362 PUSHACC2
+ 1363 PUSHOFFSETCLOSURE0
+ 1364 APPLY3
+ 1365 PUSHACC2
+ 1366 GETFIELD0
+ 1367 PUSHACC2
+ 1368 APPTERM2 5
+ 1370 ACC2
+ 1371 RETURN 3
+ 1373 RESTART
+ 1374 GRAB 2
+ 1376 ACC1
+ 1377 BRANCHIFNOT 1400
+ 1379 ACC2
+ 1380 BRANCHIFNOT 1407
+ 1382 ACC2
+ 1383 GETFIELD0
+ 1384 PUSHACC2
+ 1385 GETFIELD0
+ 1386 PUSHACC2
+ 1387 APPLY2
+ 1388 PUSHACC3
+ 1389 GETFIELD1
+ 1390 PUSHACC3
+ 1391 GETFIELD1
+ 1392 PUSHACC3
+ 1393 PUSHOFFSETCLOSURE0
+ 1394 APPLY3
+ 1395 PUSHACC1
+ 1396 MAKEBLOCK2 0
+ 1398 RETURN 4
+ 1400 ACC2
+ 1401 BRANCHIFNOT 1405
+ 1403 BRANCH 1407
+ 1405 RETURN 3
+ 1407 GETGLOBAL "List.map2"
+ 1409 PUSHGETGLOBALFIELD Pervasives, 2
+ 1412 APPTERM1 4
+ 1414 RESTART
+ 1415 GRAB 2
+ 1417 ACC1
+ 1418 BRANCHIFNOT 1437
+ 1420 ACC2
+ 1421 BRANCHIFNOT 1444
+ 1423 ACC2
+ 1424 GETFIELD0
+ 1425 PUSHACC2
+ 1426 GETFIELD0
+ 1427 PUSHACC2
+ 1428 APPLY2
+ 1429 ACC2
+ 1430 GETFIELD1
+ 1431 PUSHACC2
+ 1432 GETFIELD1
+ 1433 PUSHACC2
+ 1434 PUSHOFFSETCLOSURE0
+ 1435 APPTERM3 6
+ 1437 ACC2
+ 1438 BRANCHIFNOT 1442
+ 1440 BRANCH 1444
+ 1442 RETURN 3
+ 1444 GETGLOBAL "List.iter2"
+ 1446 PUSHGETGLOBALFIELD Pervasives, 2
+ 1449 APPTERM1 4
+ 1451 RESTART
+ 1452 GRAB 3
+ 1454 ACC2
+ 1455 BRANCHIFNOT 1476
+ 1457 ACC3
+ 1458 BRANCHIFNOT 1482
+ 1460 ACC3
+ 1461 GETFIELD1
+ 1462 PUSHACC3
+ 1463 GETFIELD1
+ 1464 PUSHACC5
+ 1465 GETFIELD0
+ 1466 PUSHACC5
+ 1467 GETFIELD0
+ 1468 PUSHACC5
+ 1469 PUSHACC5
+ 1470 APPLY3
+ 1471 PUSHACC3
+ 1472 PUSHOFFSETCLOSURE0
+ 1473 APPTERM 4, 8
+ 1476 ACC3
+ 1477 BRANCHIF 1482
+ 1479 ACC1
+ 1480 RETURN 4
+ 1482 GETGLOBAL "List.fold_left2"
+ 1484 PUSHGETGLOBALFIELD Pervasives, 2
+ 1487 APPTERM1 5
+ 1489 RESTART
+ 1490 GRAB 3
+ 1492 ACC1
+ 1493 BRANCHIFNOT 1516
+ 1495 ACC2
+ 1496 BRANCHIFNOT 1522
+ 1498 PUSH_RETADDR 1509
+ 1500 ACC6
+ 1501 PUSHACC6
+ 1502 GETFIELD1
+ 1503 PUSHACC6
+ 1504 GETFIELD1
+ 1505 PUSHACC6
+ 1506 PUSHOFFSETCLOSURE0
+ 1507 APPLY 4
+ 1509 PUSHACC3
+ 1510 GETFIELD0
+ 1511 PUSHACC3
+ 1512 GETFIELD0
+ 1513 PUSHACC3
+ 1514 APPTERM3 7
+ 1516 ACC2
+ 1517 BRANCHIF 1522
+ 1519 ACC3
+ 1520 RETURN 4
+ 1522 GETGLOBAL "List.fold_right2"
+ 1524 PUSHGETGLOBALFIELD Pervasives, 2
+ 1527 APPTERM1 5
+ 1529 RESTART
+ 1530 GRAB 1
+ 1532 ACC1
+ 1533 BRANCHIFNOT 1549
+ 1535 ACC1
+ 1536 GETFIELD0
+ 1537 PUSHACC1
+ 1538 APPLY1
+ 1539 BRANCHIFNOT 1547
+ 1541 ACC1
+ 1542 GETFIELD1
+ 1543 PUSHACC1
+ 1544 PUSHOFFSETCLOSURE0
+ 1545 APPTERM2 4
+ 1547 RETURN 2
+ 1549 CONST1
+ 1550 RETURN 2
+ 1552 RESTART
+ 1553 GRAB 1
+ 1555 ACC1
+ 1556 BRANCHIFNOT 1570
+ 1558 ACC1
+ 1559 GETFIELD0
+ 1560 PUSHACC1
+ 1561 APPLY1
+ 1562 BRANCHIF 1570
+ 1564 ACC1
+ 1565 GETFIELD1
+ 1566 PUSHACC1
+ 1567 PUSHOFFSETCLOSURE0
+ 1568 APPTERM2 4
+ 1570 RETURN 2
+ 1572 RESTART
+ 1573 GRAB 2
+ 1575 ACC1
+ 1576 BRANCHIFNOT 1599
+ 1578 ACC2
+ 1579 BRANCHIFNOT 1605
+ 1581 ACC2
+ 1582 GETFIELD0
+ 1583 PUSHACC2
+ 1584 GETFIELD0
+ 1585 PUSHACC2
+ 1586 APPLY2
+ 1587 BRANCHIFNOT 1597
+ 1589 ACC2
+ 1590 GETFIELD1
+ 1591 PUSHACC2
+ 1592 GETFIELD1
+ 1593 PUSHACC2
+ 1594 PUSHOFFSETCLOSURE0
+ 1595 APPTERM3 6
+ 1597 RETURN 3
+ 1599 ACC2
+ 1600 BRANCHIF 1605
+ 1602 CONST1
+ 1603 RETURN 3
+ 1605 GETGLOBAL "List.for_all2"
+ 1607 PUSHGETGLOBALFIELD Pervasives, 2
+ 1610 APPTERM1 4
+ 1612 RESTART
+ 1613 GRAB 2
+ 1615 ACC1
+ 1616 BRANCHIFNOT 1639
+ 1618 ACC2
+ 1619 BRANCHIFNOT 1646
+ 1621 ACC2
+ 1622 GETFIELD0
+ 1623 PUSHACC2
+ 1624 GETFIELD0
+ 1625 PUSHACC2
+ 1626 APPLY2
+ 1627 BRANCHIF 1637
+ 1629 ACC2
+ 1630 GETFIELD1
+ 1631 PUSHACC2
+ 1632 GETFIELD1
+ 1633 PUSHACC2
+ 1634 PUSHOFFSETCLOSURE0
+ 1635 APPTERM3 6
+ 1637 RETURN 3
+ 1639 ACC2
+ 1640 BRANCHIFNOT 1644
+ 1642 BRANCH 1646
+ 1644 RETURN 3
+ 1646 GETGLOBAL "List.exists2"
+ 1648 PUSHGETGLOBALFIELD Pervasives, 2
+ 1651 APPTERM1 4
+ 1653 RESTART
+ 1654 GRAB 1
+ 1656 ACC1
+ 1657 BRANCHIFNOT 1672
+ 1659 ACC0
+ 1660 PUSHACC2
+ 1661 GETFIELD0
+ 1662 C_CALL2 equal
+ 1664 BRANCHIF 1672
+ 1666 ACC1
+ 1667 GETFIELD1
+ 1668 PUSHACC1
+ 1669 PUSHOFFSETCLOSURE0
+ 1670 APPTERM2 4
+ 1672 RETURN 2
+ 1674 RESTART
+ 1675 GRAB 1
+ 1677 ACC1
+ 1678 BRANCHIFNOT 1692
+ 1680 ACC0
+ 1681 PUSHACC2
+ 1682 GETFIELD0
+ 1683 EQ
+ 1684 BRANCHIF 1692
+ 1686 ACC1
+ 1687 GETFIELD1
+ 1688 PUSHACC1
+ 1689 PUSHOFFSETCLOSURE0
+ 1690 APPTERM2 4
+ 1692 RETURN 2
+ 1694 RESTART
+ 1695 GRAB 1
+ 1697 ACC1
+ 1698 BRANCHIFNOT 1719
+ 1700 ACC1
+ 1701 GETFIELD0
+ 1702 PUSHACC1
+ 1703 PUSHACC1
+ 1704 GETFIELD0
+ 1705 C_CALL2 equal
+ 1707 BRANCHIFNOT 1713
+ 1709 ACC0
+ 1710 GETFIELD1
+ 1711 RETURN 3
+ 1713 ACC2
+ 1714 GETFIELD1
+ 1715 PUSHACC2
+ 1716 PUSHOFFSETCLOSURE0
+ 1717 APPTERM2 5
+ 1719 GETGLOBAL Not_found
+ 1721 MAKEBLOCK1 0
+ 1723 RAISE
+ 1724 RESTART
+ 1725 GRAB 1
+ 1727 ACC1
+ 1728 BRANCHIFNOT 1748
+ 1730 ACC1
+ 1731 GETFIELD0
+ 1732 PUSHACC1
+ 1733 PUSHACC1
+ 1734 GETFIELD0
+ 1735 EQ
+ 1736 BRANCHIFNOT 1742
+ 1738 ACC0
+ 1739 GETFIELD1
+ 1740 RETURN 3
+ 1742 ACC2
+ 1743 GETFIELD1
+ 1744 PUSHACC2
+ 1745 PUSHOFFSETCLOSURE0
+ 1746 APPTERM2 5
+ 1748 GETGLOBAL Not_found
+ 1750 MAKEBLOCK1 0
+ 1752 RAISE
+ 1753 RESTART
+ 1754 GRAB 1
+ 1756 ACC1
+ 1757 BRANCHIFNOT 1773
+ 1759 ACC0
+ 1760 PUSHACC2
+ 1761 GETFIELD0
+ 1762 GETFIELD0
+ 1763 C_CALL2 equal
+ 1765 BRANCHIF 1773
+ 1767 ACC1
+ 1768 GETFIELD1
+ 1769 PUSHACC1
+ 1770 PUSHOFFSETCLOSURE0
+ 1771 APPTERM2 4
+ 1773 RETURN 2
+ 1775 RESTART
+ 1776 GRAB 1
+ 1778 ACC1
+ 1779 BRANCHIFNOT 1794
+ 1781 ACC0
+ 1782 PUSHACC2
+ 1783 GETFIELD0
+ 1784 GETFIELD0
+ 1785 EQ
+ 1786 BRANCHIF 1794
+ 1788 ACC1
+ 1789 GETFIELD1
+ 1790 PUSHACC1
+ 1791 PUSHOFFSETCLOSURE0
+ 1792 APPTERM2 4
+ 1794 RETURN 2
+ 1796 RESTART
+ 1797 GRAB 1
+ 1799 ACC1
+ 1800 BRANCHIFNOT 1825
+ 1802 ACC1
+ 1803 GETFIELD0
+ 1804 PUSHACC2
+ 1805 GETFIELD1
+ 1806 PUSHACC2
+ 1807 PUSHACC2
+ 1808 GETFIELD0
+ 1809 C_CALL2 equal
+ 1811 BRANCHIFNOT 1816
+ 1813 ACC0
+ 1814 RETURN 4
+ 1816 ACC0
+ 1817 PUSHACC3
+ 1818 PUSHOFFSETCLOSURE0
+ 1819 APPLY2
+ 1820 PUSHACC2
+ 1821 MAKEBLOCK2 0
+ 1823 POP 2
+ 1825 RETURN 2
+ 1827 RESTART
+ 1828 GRAB 1
+ 1830 ACC1
+ 1831 BRANCHIFNOT 1855
+ 1833 ACC1
+ 1834 GETFIELD0
+ 1835 PUSHACC2
+ 1836 GETFIELD1
+ 1837 PUSHACC2
+ 1838 PUSHACC2
+ 1839 GETFIELD0
+ 1840 EQ
+ 1841 BRANCHIFNOT 1846
+ 1843 ACC0
+ 1844 RETURN 4
+ 1846 ACC0
+ 1847 PUSHACC3
+ 1848 PUSHOFFSETCLOSURE0
+ 1849 APPLY2
+ 1850 PUSHACC2
+ 1851 MAKEBLOCK2 0
+ 1853 POP 2
+ 1855 RETURN 2
+ 1857 RESTART
+ 1858 GRAB 1
+ 1860 ACC1
+ 1861 BRANCHIFNOT 1879
+ 1863 ACC1
+ 1864 GETFIELD0
+ 1865 PUSHACC0
+ 1866 PUSHACC2
+ 1867 APPLY1
+ 1868 BRANCHIFNOT 1873
+ 1870 ACC0
+ 1871 RETURN 3
+ 1873 ACC2
+ 1874 GETFIELD1
+ 1875 PUSHACC2
+ 1876 PUSHOFFSETCLOSURE0
+ 1877 APPTERM2 5
+ 1879 GETGLOBAL Not_found
+ 1881 MAKEBLOCK1 0
+ 1883 RAISE
+ 1884 RESTART
+ 1885 GRAB 2
+ 1887 ACC2
+ 1888 BRANCHIFNOT 1917
+ 1890 ACC2
+ 1891 GETFIELD0
+ 1892 PUSHACC3
+ 1893 GETFIELD1
+ 1894 PUSHACC1
+ 1895 PUSHENVACC2
+ 1896 APPLY1
+ 1897 BRANCHIFNOT 1908
+ 1899 ACC0
+ 1900 PUSHACC4
+ 1901 PUSHACC4
+ 1902 PUSHACC4
+ 1903 MAKEBLOCK2 0
+ 1905 PUSHOFFSETCLOSURE0
+ 1906 APPTERM3 8
+ 1908 ACC0
+ 1909 PUSHACC4
+ 1910 PUSHACC3
+ 1911 MAKEBLOCK2 0
+ 1913 PUSHACC4
+ 1914 PUSHOFFSETCLOSURE0
+ 1915 APPTERM3 8
+ 1917 ACC1
+ 1918 PUSHENVACC1
+ 1919 APPLY1
+ 1920 PUSHACC1
+ 1921 PUSHENVACC1
+ 1922 APPLY1
+ 1923 MAKEBLOCK2 0
+ 1925 RETURN 3
+ 1927 RESTART
+ 1928 GRAB 1
+ 1930 ACC0
+ 1931 PUSHENVACC1
+ 1932 CLOSUREREC 2, 1885
+ 1936 ACC2
+ 1937 PUSHCONST0
+ 1938 PUSHCONST0
+ 1939 PUSHACC3
+ 1940 APPTERM3 6
+ 1942 ACC0
+ 1943 BRANCHIFNOT 1967
+ 1945 ACC0
+ 1946 GETFIELD0
+ 1947 PUSHACC1
+ 1948 GETFIELD1
+ 1949 PUSHOFFSETCLOSURE0
+ 1950 APPLY1
+ 1951 PUSHACC0
+ 1952 GETFIELD1
+ 1953 PUSHACC2
+ 1954 GETFIELD1
+ 1955 MAKEBLOCK2 0
+ 1957 PUSHACC1
+ 1958 GETFIELD0
+ 1959 PUSHACC3
+ 1960 GETFIELD0
+ 1961 MAKEBLOCK2 0
+ 1963 MAKEBLOCK2 0
+ 1965 RETURN 3
+ 1967 GETGLOBAL <0>(0, 0)
+ 1969 RETURN 1
+ 1971 RESTART
+ 1972 GRAB 1
+ 1974 ACC0
+ 1975 BRANCHIFNOT 1996
+ 1977 ACC1
+ 1978 BRANCHIFNOT 2003
+ 1980 ACC1
+ 1981 GETFIELD1
+ 1982 PUSHACC1
+ 1983 GETFIELD1
+ 1984 PUSHOFFSETCLOSURE0
+ 1985 APPLY2
+ 1986 PUSHACC2
+ 1987 GETFIELD0
+ 1988 PUSHACC2
+ 1989 GETFIELD0
+ 1990 MAKEBLOCK2 0
+ 1992 MAKEBLOCK2 0
+ 1994 RETURN 2
+ 1996 ACC1
+ 1997 BRANCHIFNOT 2001
+ 1999 BRANCH 2003
+ 2001 RETURN 2
+ 2003 GETGLOBAL "List.combine"
+ 2005 PUSHGETGLOBALFIELD Pervasives, 2
+ 2008 APPTERM1 3
+ 2010 RESTART
+ 2011 GRAB 1
+ 2013 ACC1
+ 2014 BRANCHIFNOT 2038
+ 2016 ACC1
+ 2017 GETFIELD0
+ 2018 PUSHACC2
+ 2019 GETFIELD1
+ 2020 PUSHACC1
+ 2021 PUSHENVACC2
+ 2022 APPLY1
+ 2023 BRANCHIFNOT 2033
+ 2025 ACC0
+ 2026 PUSHACC3
+ 2027 PUSHACC3
+ 2028 MAKEBLOCK2 0
+ 2030 PUSHOFFSETCLOSURE0
+ 2031 APPTERM2 6
+ 2033 ACC0
+ 2034 PUSHACC3
+ 2035 PUSHOFFSETCLOSURE0
+ 2036 APPTERM2 6
+ 2038 ACC0
+ 2039 PUSHENVACC1
+ 2040 APPTERM1 3
+ 2042 ACC0
+ 2043 PUSHENVACC1
+ 2044 CLOSUREREC 2, 2011
+ 2048 CONST0
+ 2049 PUSHACC1
+ 2050 APPTERM1 3
+ 2052 RESTART
+ 2053 GRAB 2
+ 2055 ACC1
+ 2056 BRANCHIFNOT 2077
+ 2058 ACC2
+ 2059 BRANCHIFNOT 2084
+ 2061 ACC2
+ 2062 GETFIELD1
+ 2063 PUSHACC2
+ 2064 GETFIELD1
+ 2065 PUSHACC2
+ 2066 PUSHACC5
+ 2067 GETFIELD0
+ 2068 PUSHACC5
+ 2069 GETFIELD0
+ 2070 PUSHENVACC1
+ 2071 APPLY2
+ 2072 MAKEBLOCK2 0
+ 2074 PUSHOFFSETCLOSURE0
+ 2075 APPTERM3 6
+ 2077 ACC2
+ 2078 BRANCHIFNOT 2082
+ 2080 BRANCH 2084
+ 2082 RETURN 3
+ 2084 GETGLOBAL "List.rev_map2"
+ 2086 PUSHGETGLOBALFIELD Pervasives, 2
+ 2089 APPTERM1 4
+ 2091 RESTART
+ 2092 GRAB 2
+ 2094 ACC0
+ 2095 CLOSUREREC 1, 2053
+ 2099 ACC3
+ 2100 PUSHACC3
+ 2101 PUSHCONST0
+ 2102 PUSHACC3
+ 2103 APPTERM3 7
+ 2105 RESTART
+ 2106 GRAB 1
+ 2108 ACC1
+ 2109 BRANCHIFNOT 2123
+ 2111 ACC1
+ 2112 GETFIELD1
+ 2113 PUSHACC1
+ 2114 PUSHACC3
+ 2115 GETFIELD0
+ 2116 PUSHENVACC1
+ 2117 APPLY1
+ 2118 MAKEBLOCK2 0
+ 2120 PUSHOFFSETCLOSURE0
+ 2121 APPTERM2 4
+ 2123 ACC0
+ 2124 RETURN 2
+ 2126 RESTART
+ 2127 GRAB 1
+ 2129 ACC0
+ 2130 CLOSUREREC 1, 2106
+ 2134 ACC2
+ 2135 PUSHCONST0
+ 2136 PUSHACC2
+ 2137 APPTERM2 5
+ 2139 CONST0
+ 2140 PUSHACC1
+ 2141 PUSHENVACC1
+ 2142 APPTERM2 3
+ 2144 ACC0
+ 2145 BRANCHIFNOT 2151
+ 2147 ACC0
+ 2148 GETFIELD1
+ 2149 RETURN 1
+ 2151 GETGLOBAL "tl"
+ 2153 PUSHGETGLOBALFIELD Pervasives, 3
+ 2156 APPTERM1 2
+ 2158 ACC0
+ 2159 BRANCHIFNOT 2165
+ 2161 ACC0
+ 2162 GETFIELD0
+ 2163 RETURN 1
+ 2165 GETGLOBAL "hd"
+ 2167 PUSHGETGLOBALFIELD Pervasives, 3
+ 2170 APPTERM1 2
+ 2172 ACC0
+ 2173 PUSHCONST0
+ 2174 PUSHENVACC1
+ 2175 APPTERM2 3
+ 2177 CLOSUREREC 0, 1200
+ 2181 ACC0
+ 2182 CLOSURE 1, 2172
+ 2185 PUSH
+ 2186 CLOSURE 0, 2158
+ 2189 PUSH
+ 2190 CLOSURE 0, 2144
+ 2193 PUSH
+ 2194 CLOSUREREC 0, 1217
+ 2198 GETGLOBALFIELD Pervasives, 16
+ 2201 PUSH
+ 2202 CLOSUREREC 0, 1259
+ 2206 ACC0
+ 2207 CLOSURE 1, 2139
+ 2210 PUSH
+ 2211 CLOSUREREC 0, 1277
+ 2215 CLOSUREREC 0, 1294
+ 2219 CLOSURE 0, 2127
+ 2222 PUSH
+ 2223 CLOSUREREC 0, 1316
+ 2227 CLOSUREREC 0, 1334
+ 2231 CLOSUREREC 0, 1354
+ 2235 CLOSUREREC 0, 1374
+ 2239 CLOSURE 0, 2092
+ 2242 PUSH
+ 2243 CLOSUREREC 0, 1415
+ 2247 CLOSUREREC 0, 1452
+ 2251 CLOSUREREC 0, 1490
+ 2255 CLOSUREREC 0, 1530
+ 2259 CLOSUREREC 0, 1553
+ 2263 CLOSUREREC 0, 1573
+ 2267 CLOSUREREC 0, 1613
+ 2271 CLOSUREREC 0, 1654
+ 2275 CLOSUREREC 0, 1675
+ 2279 CLOSUREREC 0, 1695
+ 2283 CLOSUREREC 0, 1725
+ 2287 CLOSUREREC 0, 1754
+ 2291 CLOSUREREC 0, 1776
+ 2295 CLOSUREREC 0, 1797
+ 2299 CLOSUREREC 0, 1828
+ 2303 CLOSUREREC 0, 1858
+ 2307 ACC 24
+ 2309 CLOSURE 1, 2042
+ 2312 PUSHACC 25
+ 2314 CLOSUREREC 1, 1928
+ 2318 CLOSUREREC 0, 1942
+ 2322 CLOSUREREC 0, 1972
+ 2326 ACC0
+ 2327 PUSHACC2
+ 2328 PUSHACC7
+ 2329 PUSHACC 9
+ 2331 PUSHACC 11
+ 2333 PUSHACC 13
+ 2335 PUSHACC 15
+ 2337 PUSHACC 17
+ 2339 PUSHACC 10
+ 2341 PUSHACC 12
+ 2343 PUSHACC 13
+ 2345 PUSHACC 15
+ 2347 PUSHACC 23
+ 2349 PUSHACC 25
+ 2351 PUSHACC 27
+ 2353 PUSHACC 29
+ 2355 PUSHACC 31
+ 2357 PUSHACC 33
+ 2359 PUSHACC 35
+ 2361 PUSHACC 37
+ 2363 PUSHACC 40
+ 2365 PUSHACC 42
+ 2367 PUSHACC 41
+ 2369 PUSHACC 45
+ 2371 PUSHACC 47
+ 2373 PUSHACC 50
+ 2375 PUSHACC 52
+ 2377 PUSHACC 51
+ 2379 PUSHACC 55
+ 2381 PUSHACC 56
+ 2383 PUSHACC 59
+ 2385 PUSHACC 61
+ 2387 PUSHACC 60
+ 2389 PUSHACC 64
+ 2391 PUSHACC 66
+ 2393 PUSHACC 68
+ 2395 PUSHACC 70
+ 2397 MAKEBLOCK 37, 0
+ 2400 POP 36
+ 2402 SETGLOBAL List
+ 2404 BRANCH 2432
+ 2406 CONST0
+ 2407 PUSHACC1
+ 2408 LEINT
+ 2409 BRANCHIFNOT 2414
+ 2411 CONST0
+ 2412 RETURN 1
+ 2414 ACC0
+ 2415 OFFSETINT -1
+ 2417 PUSHOFFSETCLOSURE0
+ 2418 APPLY1
+ 2419 PUSHACC1
+ 2420 MAKEBLOCK2 0
+ 2422 RETURN 1
+ 2424 RESTART
+ 2425 GRAB 1
+ 2427 ACC1
+ 2428 PUSHACC1
+ 2429 ADDINT
+ 2430 RETURN 2
+ 2432 CLOSUREREC 0, 2406
+ 2436 CONSTINT 300
+ 2438 PUSHACC1
+ 2439 APPLY1
+ 2440 PUSHCONST0
+ 2441 C_CALL1 gc_major
+ 2443 CONSTINT 150
+ 2445 PUSHCONSTINT 301
+ 2447 MULINT
+ 2448 PUSHACC1
+ 2449 PUSHCONST0
+ 2450 PUSH
+ 2451 CLOSURE 0, 2425
+ 2454 PUSHGETGLOBALFIELD List, 12
+ 2457 APPLY3
+ 2458 NEQ
+ 2459 BRANCHIFNOT 2466
+ 2461 GETGLOBAL Not_found
+ 2463 MAKEBLOCK1 0
+ 2465 RAISE
+ 2466 POP 2
+ 2468 ATOM0
+ 2469 SETGLOBAL T320-gc-2
+ 2471 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t320-gc-3.ml b/testsuite/tests/tool-ocaml/t320-gc-3.ml
new file mode 100644
index 0000000000..7c33d2fd16
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t320-gc-3.ml
@@ -0,0 +1,1589 @@
+open Lib;;
+let rec f n =
+ if n <= 0 then []
+ else n :: f (n-1)
+in
+let l = f 300 in
+Gc.full_major ();
+if List.fold_left (+) 0 l <> 301 * 150 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 746
+ 11 RESTART
+ 12 GRAB 1
+ 14 ACC0
+ 15 BRANCHIFNOT 28
+ 17 ACC1
+ 18 PUSHACC1
+ 19 GETFIELD1
+ 20 PUSHOFFSETCLOSURE0
+ 21 APPLY2
+ 22 PUSHACC1
+ 23 GETFIELD0
+ 24 MAKEBLOCK2 0
+ 26 RETURN 2
+ 28 ACC1
+ 29 RETURN 2
+ 31 RESTART
+ 32 GRAB 3
+ 34 CONST0
+ 35 PUSHACC4
+ 36 LEINT
+ 37 BRANCHIFNOT 42
+ 39 CONST0
+ 40 RETURN 4
+ 42 ACC3
+ 43 PUSHACC3
+ 44 PUSHACC3
+ 45 PUSHACC3
+ 46 C_CALL4 caml_input
+ 48 PUSHCONST0
+ 49 PUSHACC1
+ 50 EQ
+ 51 BRANCHIFNOT 58
+ 53 GETGLOBAL End_of_file
+ 55 MAKEBLOCK1 0
+ 57 RAISE
+ 58 ACC0
+ 59 PUSHACC5
+ 60 SUBINT
+ 61 PUSHACC1
+ 62 PUSHACC5
+ 63 ADDINT
+ 64 PUSHACC4
+ 65 PUSHACC4
+ 66 PUSHOFFSETCLOSURE0
+ 67 APPTERM 4, 9
+ 70 ACC0
+ 71 C_CALL1 caml_input_scan_line
+ 73 PUSHCONST0
+ 74 PUSHACC1
+ 75 EQ
+ 76 BRANCHIFNOT 83
+ 78 GETGLOBAL End_of_file
+ 80 MAKEBLOCK1 0
+ 82 RAISE
+ 83 CONST0
+ 84 PUSHACC1
+ 85 GTINT
+ 86 BRANCHIFNOT 107
+ 88 ACC0
+ 89 OFFSETINT -1
+ 91 C_CALL1 create_string
+ 93 PUSHACC1
+ 94 OFFSETINT -1
+ 96 PUSHCONST0
+ 97 PUSHACC2
+ 98 PUSHACC5
+ 99 C_CALL4 caml_input
+ 101 ACC2
+ 102 C_CALL1 caml_input_char
+ 104 ACC0
+ 105 RETURN 3
+ 107 ACC0
+ 108 NEGINT
+ 109 C_CALL1 create_string
+ 111 PUSHACC1
+ 112 NEGINT
+ 113 PUSHCONST0
+ 114 PUSHACC2
+ 115 PUSHACC5
+ 116 C_CALL4 caml_input
+ 118 CONST0
+ 119 PUSHTRAP 130
+ 121 ACC6
+ 122 PUSHOFFSETCLOSURE0
+ 123 APPLY1
+ 124 PUSHACC5
+ 125 PUSHENVACC1
+ 126 APPLY2
+ 127 POPTRAP
+ 128 RETURN 3
+ 130 PUSHGETGLOBAL End_of_file
+ 132 PUSHACC1
+ 133 GETFIELD0
+ 134 EQ
+ 135 BRANCHIFNOT 140
+ 137 ACC1
+ 138 RETURN 4
+ 140 ACC0
+ 141 RAISE
+ 142 ACC0
+ 143 C_CALL1 caml_flush
+ 145 RETURN 1
+ 147 RESTART
+ 148 GRAB 1
+ 150 ACC1
+ 151 PUSHACC1
+ 152 C_CALL2 caml_output_char
+ 154 RETURN 2
+ 156 RESTART
+ 157 GRAB 1
+ 159 ACC1
+ 160 PUSHACC1
+ 161 C_CALL2 caml_output_char
+ 163 RETURN 2
+ 165 RESTART
+ 166 GRAB 1
+ 168 ACC1
+ 169 PUSHACC1
+ 170 C_CALL2 caml_output_int
+ 172 RETURN 2
+ 174 RESTART
+ 175 GRAB 1
+ 177 ACC1
+ 178 PUSHACC1
+ 179 C_CALL2 caml_seek_out
+ 181 RETURN 2
+ 183 ACC0
+ 184 C_CALL1 caml_pos_out
+ 186 RETURN 1
+ 188 ACC0
+ 189 C_CALL1 caml_channel_size
+ 191 RETURN 1
+ 193 RESTART
+ 194 GRAB 1
+ 196 ACC1
+ 197 PUSHACC1
+ 198 C_CALL2 caml_set_binary_mode
+ 200 RETURN 2
+ 202 ACC0
+ 203 C_CALL1 caml_input_char
+ 205 RETURN 1
+ 207 ACC0
+ 208 C_CALL1 caml_input_char
+ 210 RETURN 1
+ 212 ACC0
+ 213 C_CALL1 caml_input_int
+ 215 RETURN 1
+ 217 ACC0
+ 218 C_CALL1 input_value
+ 220 RETURN 1
+ 222 RESTART
+ 223 GRAB 1
+ 225 ACC1
+ 226 PUSHACC1
+ 227 C_CALL2 caml_seek_in
+ 229 RETURN 2
+ 231 ACC0
+ 232 C_CALL1 caml_pos_in
+ 234 RETURN 1
+ 236 ACC0
+ 237 C_CALL1 caml_channel_size
+ 239 RETURN 1
+ 241 ACC0
+ 242 C_CALL1 caml_close_channel
+ 244 RETURN 1
+ 246 RESTART
+ 247 GRAB 1
+ 249 ACC1
+ 250 PUSHACC1
+ 251 C_CALL2 caml_set_binary_mode
+ 253 RETURN 2
+ 255 CONST0
+ 256 PUSHENVACC1
+ 257 APPLY1
+ 258 ACC0
+ 259 C_CALL1 sys_exit
+ 261 RETURN 1
+ 263 CONST0
+ 264 PUSHENVACC1
+ 265 GETFIELD0
+ 266 APPTERM1 2
+ 268 CONST0
+ 269 PUSHENVACC1
+ 270 APPLY1
+ 271 CONST0
+ 272 PUSHENVACC2
+ 273 APPTERM1 2
+ 275 ENVACC1
+ 276 GETFIELD0
+ 277 PUSHACC0
+ 278 PUSHACC2
+ 279 CLOSURE 2, 268
+ 282 PUSHENVACC1
+ 283 SETFIELD0
+ 284 RETURN 2
+ 286 ENVACC1
+ 287 C_CALL1 caml_flush
+ 289 ENVACC2
+ 290 C_CALL1 caml_flush
+ 292 RETURN 1
+ 294 CONST0
+ 295 PUSHENVACC1
+ 296 APPLY1
+ 297 C_CALL1 float_of_string
+ 299 RETURN 1
+ 301 CONST0
+ 302 PUSHENVACC1
+ 303 APPLY1
+ 304 C_CALL1 int_of_string
+ 306 RETURN 1
+ 308 ENVACC2
+ 309 C_CALL1 caml_flush
+ 311 ENVACC1
+ 312 PUSHENVACC3
+ 313 APPTERM1 2
+ 315 CONSTINT 13
+ 317 PUSHENVACC1
+ 318 C_CALL2 caml_output_char
+ 320 ENVACC1
+ 321 C_CALL1 caml_flush
+ 323 RETURN 1
+ 325 ACC0
+ 326 PUSHENVACC1
+ 327 PUSHENVACC2
+ 328 APPLY2
+ 329 CONSTINT 13
+ 331 PUSHENVACC1
+ 332 C_CALL2 caml_output_char
+ 334 ENVACC1
+ 335 C_CALL1 caml_flush
+ 337 RETURN 1
+ 339 ACC0
+ 340 PUSHENVACC1
+ 341 APPLY1
+ 342 PUSHENVACC2
+ 343 PUSHENVACC3
+ 344 APPTERM2 3
+ 346 ACC0
+ 347 PUSHENVACC1
+ 348 APPLY1
+ 349 PUSHENVACC2
+ 350 PUSHENVACC3
+ 351 APPTERM2 3
+ 353 ACC0
+ 354 PUSHENVACC1
+ 355 PUSHENVACC2
+ 356 APPTERM2 3
+ 358 ACC0
+ 359 PUSHENVACC1
+ 360 C_CALL2 caml_output_char
+ 362 RETURN 1
+ 364 CONSTINT 13
+ 366 PUSHENVACC1
+ 367 C_CALL2 caml_output_char
+ 369 ENVACC1
+ 370 C_CALL1 caml_flush
+ 372 RETURN 1
+ 374 ACC0
+ 375 PUSHENVACC1
+ 376 PUSHENVACC2
+ 377 APPLY2
+ 378 CONSTINT 13
+ 380 PUSHENVACC1
+ 381 C_CALL2 caml_output_char
+ 383 RETURN 1
+ 385 ACC0
+ 386 PUSHENVACC1
+ 387 APPLY1
+ 388 PUSHENVACC2
+ 389 PUSHENVACC3
+ 390 APPTERM2 3
+ 392 ACC0
+ 393 PUSHENVACC1
+ 394 APPLY1
+ 395 PUSHENVACC2
+ 396 PUSHENVACC3
+ 397 APPTERM2 3
+ 399 ACC0
+ 400 PUSHENVACC1
+ 401 PUSHENVACC2
+ 402 APPTERM2 3
+ 404 ACC0
+ 405 PUSHENVACC1
+ 406 C_CALL2 caml_output_char
+ 408 RETURN 1
+ 410 RESTART
+ 411 GRAB 3
+ 413 CONST0
+ 414 PUSHACC3
+ 415 LTINT
+ 416 BRANCHIF 427
+ 418 ACC1
+ 419 C_CALL1 ml_string_length
+ 421 PUSHACC4
+ 422 PUSHACC4
+ 423 ADDINT
+ 424 GTINT
+ 425 BRANCHIFNOT 432
+ 427 GETGLOBAL "really_input"
+ 429 PUSHENVACC1
+ 430 APPTERM1 5
+ 432 ACC3
+ 433 PUSHACC3
+ 434 PUSHACC3
+ 435 PUSHACC3
+ 436 PUSHENVACC2
+ 437 APPTERM 4, 8
+ 440 RESTART
+ 441 GRAB 3
+ 443 CONST0
+ 444 PUSHACC3
+ 445 LTINT
+ 446 BRANCHIF 457
+ 448 ACC1
+ 449 C_CALL1 ml_string_length
+ 451 PUSHACC4
+ 452 PUSHACC4
+ 453 ADDINT
+ 454 GTINT
+ 455 BRANCHIFNOT 462
+ 457 GETGLOBAL "input"
+ 459 PUSHENVACC1
+ 460 APPTERM1 5
+ 462 ACC3
+ 463 PUSHACC3
+ 464 PUSHACC3
+ 465 PUSHACC3
+ 466 C_CALL4 caml_input
+ 468 RETURN 4
+ 470 ACC0
+ 471 PUSHCONST0
+ 472 PUSHGETGLOBAL <0>(0, <0>(6, 0))
+ 474 PUSHENVACC1
+ 475 APPTERM3 4
+ 477 ACC0
+ 478 PUSHCONST0
+ 479 PUSHGETGLOBAL <0>(0, <0>(7, 0))
+ 481 PUSHENVACC1
+ 482 APPTERM3 4
+ 484 RESTART
+ 485 GRAB 2
+ 487 ACC1
+ 488 PUSHACC1
+ 489 PUSHACC4
+ 490 C_CALL3 sys_open
+ 492 C_CALL1 caml_open_descriptor
+ 494 RETURN 3
+ 496 ACC0
+ 497 C_CALL1 caml_flush
+ 499 ACC0
+ 500 C_CALL1 caml_close_channel
+ 502 RETURN 1
+ 504 RESTART
+ 505 GRAB 1
+ 507 CONST0
+ 508 PUSHACC2
+ 509 PUSHACC2
+ 510 C_CALL3 output_value
+ 512 RETURN 2
+ 514 RESTART
+ 515 GRAB 3
+ 517 CONST0
+ 518 PUSHACC3
+ 519 LTINT
+ 520 BRANCHIF 531
+ 522 ACC1
+ 523 C_CALL1 ml_string_length
+ 525 PUSHACC4
+ 526 PUSHACC4
+ 527 ADDINT
+ 528 GTINT
+ 529 BRANCHIFNOT 536
+ 531 GETGLOBAL "output"
+ 533 PUSHENVACC1
+ 534 APPTERM1 5
+ 536 ACC3
+ 537 PUSHACC3
+ 538 PUSHACC3
+ 539 PUSHACC3
+ 540 C_CALL4 caml_output
+ 542 RETURN 4
+ 544 RESTART
+ 545 GRAB 1
+ 547 ACC1
+ 548 C_CALL1 ml_string_length
+ 550 PUSHCONST0
+ 551 PUSHACC3
+ 552 PUSHACC3
+ 553 C_CALL4 caml_output
+ 555 RETURN 2
+ 557 ACC0
+ 558 PUSHCONSTINT 438
+ 560 PUSHGETGLOBAL <0>(1, <0>(3, <0>(4, <0>(6, 0))))
+ 562 PUSHENVACC1
+ 563 APPTERM3 4
+ 565 ACC0
+ 566 PUSHCONSTINT 438
+ 568 PUSHGETGLOBAL <0>(1, <0>(3, <0>(4, <0>(7, 0))))
+ 570 PUSHENVACC1
+ 571 APPTERM3 4
+ 573 RESTART
+ 574 GRAB 2
+ 576 ACC1
+ 577 PUSHACC1
+ 578 PUSHACC4
+ 579 C_CALL3 sys_open
+ 581 C_CALL1 caml_open_descriptor
+ 583 RETURN 3
+ 585 ACC0
+ 586 PUSHGETGLOBAL "%.12g"
+ 588 C_CALL2 format_float
+ 590 RETURN 1
+ 592 ACC0
+ 593 PUSHGETGLOBAL "%d"
+ 595 C_CALL2 format_int
+ 597 RETURN 1
+ 599 GETGLOBAL "false"
+ 601 PUSHACC1
+ 602 C_CALL2 string_equal
+ 604 BRANCHIFNOT 609
+ 606 CONST0
+ 607 RETURN 1
+ 609 GETGLOBAL "true"
+ 611 PUSHACC1
+ 612 C_CALL2 string_equal
+ 614 BRANCHIFNOT 619
+ 616 CONST1
+ 617 RETURN 1
+ 619 GETGLOBAL "bool_of_string"
+ 621 PUSHENVACC1
+ 622 APPTERM1 2
+ 624 ACC0
+ 625 BRANCHIFNOT 631
+ 627 GETGLOBAL "true"
+ 629 RETURN 1
+ 631 GETGLOBAL "false"
+ 633 RETURN 1
+ 635 CONST0
+ 636 PUSHACC1
+ 637 LTINT
+ 638 BRANCHIF 646
+ 640 CONSTINT 255
+ 642 PUSHACC1
+ 643 GTINT
+ 644 BRANCHIFNOT 651
+ 646 GETGLOBAL "char_of_int"
+ 648 PUSHENVACC1
+ 649 APPTERM1 2
+ 651 ACC0
+ 652 RETURN 1
+ 654 RESTART
+ 655 GRAB 1
+ 657 ACC0
+ 658 C_CALL1 ml_string_length
+ 660 PUSHACC2
+ 661 C_CALL1 ml_string_length
+ 663 PUSHACC0
+ 664 PUSHACC2
+ 665 ADDINT
+ 666 C_CALL1 create_string
+ 668 PUSHACC2
+ 669 PUSHCONST0
+ 670 PUSHACC2
+ 671 PUSHCONST0
+ 672 PUSHACC7
+ 673 C_CALL5 blit_string
+ 675 ACC1
+ 676 PUSHACC3
+ 677 PUSHACC2
+ 678 PUSHCONST0
+ 679 PUSHACC 8
+ 681 C_CALL5 blit_string
+ 683 ACC0
+ 684 RETURN 5
+ 686 CONSTINT -1
+ 688 PUSHACC1
+ 689 XORINT
+ 690 RETURN 1
+ 692 CONST0
+ 693 PUSHACC1
+ 694 GEINT
+ 695 BRANCHIFNOT 700
+ 697 ACC0
+ 698 RETURN 1
+ 700 ACC0
+ 701 NEGINT
+ 702 RETURN 1
+ 704 RESTART
+ 705 GRAB 1
+ 707 ACC1
+ 708 PUSHACC1
+ 709 C_CALL2 greaterequal
+ 711 BRANCHIFNOT 716
+ 713 ACC0
+ 714 RETURN 2
+ 716 ACC1
+ 717 RETURN 2
+ 719 RESTART
+ 720 GRAB 1
+ 722 ACC1
+ 723 PUSHACC1
+ 724 C_CALL2 lessequal
+ 726 BRANCHIFNOT 731
+ 728 ACC0
+ 729 RETURN 2
+ 731 ACC1
+ 732 RETURN 2
+ 734 ACC0
+ 735 PUSHGETGLOBAL Invalid_argument
+ 737 MAKEBLOCK2 0
+ 739 RAISE
+ 740 ACC0
+ 741 PUSHGETGLOBAL Failure
+ 743 MAKEBLOCK2 0
+ 745 RAISE
+ 746 CLOSURE 0, 740
+ 749 PUSH
+ 750 CLOSURE 0, 734
+ 753 PUSHGETGLOBAL "Pervasives.Exit"
+ 755 MAKEBLOCK1 0
+ 757 PUSHGETGLOBAL "Pervasives.Assert_failure"
+ 759 MAKEBLOCK1 0
+ 761 PUSH
+ 762 CLOSURE 0, 720
+ 765 PUSH
+ 766 CLOSURE 0, 705
+ 769 PUSH
+ 770 CLOSURE 0, 692
+ 773 PUSH
+ 774 CLOSURE 0, 686
+ 777 PUSHCONST0
+ 778 PUSHCONSTINT 31
+ 780 PUSHCONST1
+ 781 LSLINT
+ 782 EQ
+ 783 BRANCHIFNOT 789
+ 785 CONSTINT 30
+ 787 BRANCH 791
+ 789 CONSTINT 62
+ 791 PUSHCONST1
+ 792 LSLINT
+ 793 PUSHACC0
+ 794 OFFSETINT -1
+ 796 PUSH
+ 797 CLOSURE 0, 655
+ 800 PUSHACC 9
+ 802 CLOSURE 1, 635
+ 805 PUSH
+ 806 CLOSURE 0, 624
+ 809 PUSHACC 11
+ 811 CLOSURE 1, 599
+ 814 PUSH
+ 815 CLOSURE 0, 592
+ 818 PUSH
+ 819 CLOSURE 0, 585
+ 822 PUSH
+ 823 CLOSUREREC 0, 12
+ 827 CONST0
+ 828 C_CALL1 caml_open_descriptor
+ 830 PUSHCONST1
+ 831 C_CALL1 caml_open_descriptor
+ 833 PUSHCONST2
+ 834 C_CALL1 caml_open_descriptor
+ 836 PUSH
+ 837 CLOSURE 0, 574
+ 840 PUSHACC0
+ 841 CLOSURE 1, 565
+ 844 PUSHACC1
+ 845 CLOSURE 1, 557
+ 848 PUSH
+ 849 CLOSURE 0, 545
+ 852 PUSHACC 22
+ 854 CLOSURE 1, 515
+ 857 PUSH
+ 858 CLOSURE 0, 505
+ 861 PUSH
+ 862 CLOSURE 0, 496
+ 865 PUSH
+ 866 CLOSURE 0, 485
+ 869 PUSHACC0
+ 870 CLOSURE 1, 477
+ 873 PUSHACC1
+ 874 CLOSURE 1, 470
+ 877 PUSHACC 28
+ 879 CLOSURE 1, 441
+ 882 PUSH
+ 883 CLOSUREREC 0, 32
+ 887 ACC0
+ 888 PUSHACC 31
+ 890 CLOSURE 2, 411
+ 893 PUSHACC 22
+ 895 CLOSUREREC 1, 70
+ 899 ACC 15
+ 901 CLOSURE 1, 404
+ 904 PUSHACC 11
+ 906 PUSHACC 17
+ 908 CLOSURE 2, 399
+ 911 PUSHACC 12
+ 913 PUSHACC 18
+ 915 PUSHACC 23
+ 917 CLOSURE 3, 392
+ 920 PUSHACC 13
+ 922 PUSHACC 19
+ 924 PUSHACC 23
+ 926 CLOSURE 3, 385
+ 929 PUSHACC 14
+ 931 PUSHACC 20
+ 933 CLOSURE 2, 374
+ 936 PUSHACC 20
+ 938 CLOSURE 1, 364
+ 941 PUSHACC 20
+ 943 CLOSURE 1, 358
+ 946 PUSHACC 17
+ 948 PUSHACC 22
+ 950 CLOSURE 2, 353
+ 953 PUSHACC 18
+ 955 PUSHACC 23
+ 957 PUSHACC 29
+ 959 CLOSURE 3, 346
+ 962 PUSHACC 19
+ 964 PUSHACC 24
+ 966 PUSHACC 29
+ 968 CLOSURE 3, 339
+ 971 PUSHACC 20
+ 973 PUSHACC 25
+ 975 CLOSURE 2, 325
+ 978 PUSHACC 25
+ 980 CLOSURE 1, 315
+ 983 PUSHACC 12
+ 985 PUSHACC 28
+ 987 PUSHACC 30
+ 989 CLOSURE 3, 308
+ 992 PUSHACC0
+ 993 CLOSURE 1, 301
+ 996 PUSHACC1
+ 997 CLOSURE 1, 294
+ 1000 PUSHACC 29
+ 1002 PUSHACC 31
+ 1004 CLOSURE 2, 286
+ 1007 MAKEBLOCK1 0
+ 1009 PUSHACC0
+ 1010 CLOSURE 1, 275
+ 1013 PUSHACC1
+ 1014 CLOSURE 1, 263
+ 1017 PUSHACC0
+ 1018 CLOSURE 1, 255
+ 1021 PUSHACC1
+ 1022 PUSHACC 22
+ 1024 PUSHACC4
+ 1025 PUSHACC3
+ 1026 PUSH
+ 1027 CLOSURE 0, 247
+ 1030 PUSH
+ 1031 CLOSURE 0, 241
+ 1034 PUSH
+ 1035 CLOSURE 0, 236
+ 1038 PUSH
+ 1039 CLOSURE 0, 231
+ 1042 PUSH
+ 1043 CLOSURE 0, 223
+ 1046 PUSH
+ 1047 CLOSURE 0, 217
+ 1050 PUSH
+ 1051 CLOSURE 0, 212
+ 1054 PUSH
+ 1055 CLOSURE 0, 207
+ 1058 PUSHACC 32
+ 1060 PUSHACC 35
+ 1062 PUSHACC 33
+ 1064 PUSH
+ 1065 CLOSURE 0, 202
+ 1068 PUSHACC 41
+ 1070 PUSHACC 40
+ 1072 PUSHACC 42
+ 1074 PUSH
+ 1075 CLOSURE 0, 194
+ 1078 PUSHACC 46
+ 1080 PUSH
+ 1081 CLOSURE 0, 188
+ 1084 PUSH
+ 1085 CLOSURE 0, 183
+ 1088 PUSH
+ 1089 CLOSURE 0, 175
+ 1092 PUSHACC 51
+ 1094 PUSH
+ 1095 CLOSURE 0, 166
+ 1098 PUSH
+ 1099 CLOSURE 0, 157
+ 1102 PUSHACC 55
+ 1104 PUSHACC 57
+ 1106 PUSH
+ 1107 CLOSURE 0, 148
+ 1110 PUSH
+ 1111 CLOSURE 0, 142
+ 1114 PUSHACC 63
+ 1116 PUSHACC 62
+ 1118 PUSHACC 64
+ 1120 PUSHACC 38
+ 1122 PUSHACC 40
+ 1124 PUSHACC 42
+ 1126 PUSHACC 44
+ 1128 PUSHACC 46
+ 1130 PUSHACC 48
+ 1132 PUSHACC 50
+ 1134 PUSHACC 52
+ 1136 PUSHACC 54
+ 1138 PUSHACC 56
+ 1140 PUSHACC 58
+ 1142 PUSHACC 60
+ 1144 PUSHACC 62
+ 1146 PUSHACC 64
+ 1148 PUSHACC 66
+ 1150 PUSHACC 82
+ 1152 PUSHACC 84
+ 1154 PUSHACC 86
+ 1156 PUSHACC 88
+ 1158 PUSHACC 90
+ 1160 PUSHACC 92
+ 1162 PUSHACC 94
+ 1164 PUSHACC 96
+ 1166 PUSHACC 98
+ 1168 PUSHACC 100
+ 1170 PUSHACC 104
+ 1172 PUSHACC 104
+ 1174 PUSHACC 104
+ 1176 PUSHACC 108
+ 1178 PUSHACC 110
+ 1180 PUSHACC 112
+ 1182 PUSHACC 117
+ 1184 PUSHACC 117
+ 1186 PUSHACC 117
+ 1188 PUSHACC 117
+ 1190 MAKEBLOCK 69, 0
+ 1193 POP 53
+ 1195 SETGLOBAL Pervasives
+ 1197 BRANCH 2177
+ 1199 RESTART
+ 1200 GRAB 1
+ 1202 ACC1
+ 1203 BRANCHIFNOT 1213
+ 1205 ACC1
+ 1206 GETFIELD1
+ 1207 PUSHACC1
+ 1208 OFFSETINT 1
+ 1210 PUSHOFFSETCLOSURE0
+ 1211 APPTERM2 4
+ 1213 ACC0
+ 1214 RETURN 2
+ 1216 RESTART
+ 1217 GRAB 1
+ 1219 ACC0
+ 1220 BRANCHIFNOT 1251
+ 1222 CONST0
+ 1223 PUSHACC2
+ 1224 EQ
+ 1225 BRANCHIFNOT 1231
+ 1227 ACC0
+ 1228 GETFIELD0
+ 1229 RETURN 2
+ 1231 CONST0
+ 1232 PUSHACC2
+ 1233 GTINT
+ 1234 BRANCHIFNOT 1244
+ 1236 ACC1
+ 1237 OFFSETINT -1
+ 1239 PUSHACC1
+ 1240 GETFIELD1
+ 1241 PUSHOFFSETCLOSURE0
+ 1242 APPTERM2 4
+ 1244 GETGLOBAL "List.nth"
+ 1246 PUSHGETGLOBALFIELD Pervasives, 2
+ 1249 APPTERM1 3
+ 1251 GETGLOBAL "nth"
+ 1253 PUSHGETGLOBALFIELD Pervasives, 3
+ 1256 APPTERM1 3
+ 1258 RESTART
+ 1259 GRAB 1
+ 1261 ACC0
+ 1262 BRANCHIFNOT 1274
+ 1264 ACC1
+ 1265 PUSHACC1
+ 1266 GETFIELD0
+ 1267 MAKEBLOCK2 0
+ 1269 PUSHACC1
+ 1270 GETFIELD1
+ 1271 PUSHOFFSETCLOSURE0
+ 1272 APPTERM2 4
+ 1274 ACC1
+ 1275 RETURN 2
+ 1277 ACC0
+ 1278 BRANCHIFNOT 1291
+ 1280 ACC0
+ 1281 GETFIELD1
+ 1282 PUSHOFFSETCLOSURE0
+ 1283 APPLY1
+ 1284 PUSHACC1
+ 1285 GETFIELD0
+ 1286 PUSHGETGLOBALFIELD Pervasives, 16
+ 1289 APPTERM2 3
+ 1291 RETURN 1
+ 1293 RESTART
+ 1294 GRAB 1
+ 1296 ACC1
+ 1297 BRANCHIFNOT 1313
+ 1299 ACC1
+ 1300 GETFIELD0
+ 1301 PUSHACC1
+ 1302 APPLY1
+ 1303 PUSHACC2
+ 1304 GETFIELD1
+ 1305 PUSHACC2
+ 1306 PUSHOFFSETCLOSURE0
+ 1307 APPLY2
+ 1308 PUSHACC1
+ 1309 MAKEBLOCK2 0
+ 1311 POP 1
+ 1313 RETURN 2
+ 1315 RESTART
+ 1316 GRAB 1
+ 1318 ACC1
+ 1319 BRANCHIFNOT 1331
+ 1321 ACC1
+ 1322 GETFIELD0
+ 1323 PUSHACC1
+ 1324 APPLY1
+ 1325 ACC1
+ 1326 GETFIELD1
+ 1327 PUSHACC1
+ 1328 PUSHOFFSETCLOSURE0
+ 1329 APPTERM2 4
+ 1331 RETURN 2
+ 1333 RESTART
+ 1334 GRAB 2
+ 1336 ACC2
+ 1337 BRANCHIFNOT 1350
+ 1339 ACC2
+ 1340 GETFIELD1
+ 1341 PUSHACC3
+ 1342 GETFIELD0
+ 1343 PUSHACC3
+ 1344 PUSHACC3
+ 1345 APPLY2
+ 1346 PUSHACC2
+ 1347 PUSHOFFSETCLOSURE0
+ 1348 APPTERM3 6
+ 1350 ACC1
+ 1351 RETURN 3
+ 1353 RESTART
+ 1354 GRAB 2
+ 1356 ACC1
+ 1357 BRANCHIFNOT 1370
+ 1359 ACC2
+ 1360 PUSHACC2
+ 1361 GETFIELD1
+ 1362 PUSHACC2
+ 1363 PUSHOFFSETCLOSURE0
+ 1364 APPLY3
+ 1365 PUSHACC2
+ 1366 GETFIELD0
+ 1367 PUSHACC2
+ 1368 APPTERM2 5
+ 1370 ACC2
+ 1371 RETURN 3
+ 1373 RESTART
+ 1374 GRAB 2
+ 1376 ACC1
+ 1377 BRANCHIFNOT 1400
+ 1379 ACC2
+ 1380 BRANCHIFNOT 1407
+ 1382 ACC2
+ 1383 GETFIELD0
+ 1384 PUSHACC2
+ 1385 GETFIELD0
+ 1386 PUSHACC2
+ 1387 APPLY2
+ 1388 PUSHACC3
+ 1389 GETFIELD1
+ 1390 PUSHACC3
+ 1391 GETFIELD1
+ 1392 PUSHACC3
+ 1393 PUSHOFFSETCLOSURE0
+ 1394 APPLY3
+ 1395 PUSHACC1
+ 1396 MAKEBLOCK2 0
+ 1398 RETURN 4
+ 1400 ACC2
+ 1401 BRANCHIFNOT 1405
+ 1403 BRANCH 1407
+ 1405 RETURN 3
+ 1407 GETGLOBAL "List.map2"
+ 1409 PUSHGETGLOBALFIELD Pervasives, 2
+ 1412 APPTERM1 4
+ 1414 RESTART
+ 1415 GRAB 2
+ 1417 ACC1
+ 1418 BRANCHIFNOT 1437
+ 1420 ACC2
+ 1421 BRANCHIFNOT 1444
+ 1423 ACC2
+ 1424 GETFIELD0
+ 1425 PUSHACC2
+ 1426 GETFIELD0
+ 1427 PUSHACC2
+ 1428 APPLY2
+ 1429 ACC2
+ 1430 GETFIELD1
+ 1431 PUSHACC2
+ 1432 GETFIELD1
+ 1433 PUSHACC2
+ 1434 PUSHOFFSETCLOSURE0
+ 1435 APPTERM3 6
+ 1437 ACC2
+ 1438 BRANCHIFNOT 1442
+ 1440 BRANCH 1444
+ 1442 RETURN 3
+ 1444 GETGLOBAL "List.iter2"
+ 1446 PUSHGETGLOBALFIELD Pervasives, 2
+ 1449 APPTERM1 4
+ 1451 RESTART
+ 1452 GRAB 3
+ 1454 ACC2
+ 1455 BRANCHIFNOT 1476
+ 1457 ACC3
+ 1458 BRANCHIFNOT 1482
+ 1460 ACC3
+ 1461 GETFIELD1
+ 1462 PUSHACC3
+ 1463 GETFIELD1
+ 1464 PUSHACC5
+ 1465 GETFIELD0
+ 1466 PUSHACC5
+ 1467 GETFIELD0
+ 1468 PUSHACC5
+ 1469 PUSHACC5
+ 1470 APPLY3
+ 1471 PUSHACC3
+ 1472 PUSHOFFSETCLOSURE0
+ 1473 APPTERM 4, 8
+ 1476 ACC3
+ 1477 BRANCHIF 1482
+ 1479 ACC1
+ 1480 RETURN 4
+ 1482 GETGLOBAL "List.fold_left2"
+ 1484 PUSHGETGLOBALFIELD Pervasives, 2
+ 1487 APPTERM1 5
+ 1489 RESTART
+ 1490 GRAB 3
+ 1492 ACC1
+ 1493 BRANCHIFNOT 1516
+ 1495 ACC2
+ 1496 BRANCHIFNOT 1522
+ 1498 PUSH_RETADDR 1509
+ 1500 ACC6
+ 1501 PUSHACC6
+ 1502 GETFIELD1
+ 1503 PUSHACC6
+ 1504 GETFIELD1
+ 1505 PUSHACC6
+ 1506 PUSHOFFSETCLOSURE0
+ 1507 APPLY 4
+ 1509 PUSHACC3
+ 1510 GETFIELD0
+ 1511 PUSHACC3
+ 1512 GETFIELD0
+ 1513 PUSHACC3
+ 1514 APPTERM3 7
+ 1516 ACC2
+ 1517 BRANCHIF 1522
+ 1519 ACC3
+ 1520 RETURN 4
+ 1522 GETGLOBAL "List.fold_right2"
+ 1524 PUSHGETGLOBALFIELD Pervasives, 2
+ 1527 APPTERM1 5
+ 1529 RESTART
+ 1530 GRAB 1
+ 1532 ACC1
+ 1533 BRANCHIFNOT 1549
+ 1535 ACC1
+ 1536 GETFIELD0
+ 1537 PUSHACC1
+ 1538 APPLY1
+ 1539 BRANCHIFNOT 1547
+ 1541 ACC1
+ 1542 GETFIELD1
+ 1543 PUSHACC1
+ 1544 PUSHOFFSETCLOSURE0
+ 1545 APPTERM2 4
+ 1547 RETURN 2
+ 1549 CONST1
+ 1550 RETURN 2
+ 1552 RESTART
+ 1553 GRAB 1
+ 1555 ACC1
+ 1556 BRANCHIFNOT 1570
+ 1558 ACC1
+ 1559 GETFIELD0
+ 1560 PUSHACC1
+ 1561 APPLY1
+ 1562 BRANCHIF 1570
+ 1564 ACC1
+ 1565 GETFIELD1
+ 1566 PUSHACC1
+ 1567 PUSHOFFSETCLOSURE0
+ 1568 APPTERM2 4
+ 1570 RETURN 2
+ 1572 RESTART
+ 1573 GRAB 2
+ 1575 ACC1
+ 1576 BRANCHIFNOT 1599
+ 1578 ACC2
+ 1579 BRANCHIFNOT 1605
+ 1581 ACC2
+ 1582 GETFIELD0
+ 1583 PUSHACC2
+ 1584 GETFIELD0
+ 1585 PUSHACC2
+ 1586 APPLY2
+ 1587 BRANCHIFNOT 1597
+ 1589 ACC2
+ 1590 GETFIELD1
+ 1591 PUSHACC2
+ 1592 GETFIELD1
+ 1593 PUSHACC2
+ 1594 PUSHOFFSETCLOSURE0
+ 1595 APPTERM3 6
+ 1597 RETURN 3
+ 1599 ACC2
+ 1600 BRANCHIF 1605
+ 1602 CONST1
+ 1603 RETURN 3
+ 1605 GETGLOBAL "List.for_all2"
+ 1607 PUSHGETGLOBALFIELD Pervasives, 2
+ 1610 APPTERM1 4
+ 1612 RESTART
+ 1613 GRAB 2
+ 1615 ACC1
+ 1616 BRANCHIFNOT 1639
+ 1618 ACC2
+ 1619 BRANCHIFNOT 1646
+ 1621 ACC2
+ 1622 GETFIELD0
+ 1623 PUSHACC2
+ 1624 GETFIELD0
+ 1625 PUSHACC2
+ 1626 APPLY2
+ 1627 BRANCHIF 1637
+ 1629 ACC2
+ 1630 GETFIELD1
+ 1631 PUSHACC2
+ 1632 GETFIELD1
+ 1633 PUSHACC2
+ 1634 PUSHOFFSETCLOSURE0
+ 1635 APPTERM3 6
+ 1637 RETURN 3
+ 1639 ACC2
+ 1640 BRANCHIFNOT 1644
+ 1642 BRANCH 1646
+ 1644 RETURN 3
+ 1646 GETGLOBAL "List.exists2"
+ 1648 PUSHGETGLOBALFIELD Pervasives, 2
+ 1651 APPTERM1 4
+ 1653 RESTART
+ 1654 GRAB 1
+ 1656 ACC1
+ 1657 BRANCHIFNOT 1672
+ 1659 ACC0
+ 1660 PUSHACC2
+ 1661 GETFIELD0
+ 1662 C_CALL2 equal
+ 1664 BRANCHIF 1672
+ 1666 ACC1
+ 1667 GETFIELD1
+ 1668 PUSHACC1
+ 1669 PUSHOFFSETCLOSURE0
+ 1670 APPTERM2 4
+ 1672 RETURN 2
+ 1674 RESTART
+ 1675 GRAB 1
+ 1677 ACC1
+ 1678 BRANCHIFNOT 1692
+ 1680 ACC0
+ 1681 PUSHACC2
+ 1682 GETFIELD0
+ 1683 EQ
+ 1684 BRANCHIF 1692
+ 1686 ACC1
+ 1687 GETFIELD1
+ 1688 PUSHACC1
+ 1689 PUSHOFFSETCLOSURE0
+ 1690 APPTERM2 4
+ 1692 RETURN 2
+ 1694 RESTART
+ 1695 GRAB 1
+ 1697 ACC1
+ 1698 BRANCHIFNOT 1719
+ 1700 ACC1
+ 1701 GETFIELD0
+ 1702 PUSHACC1
+ 1703 PUSHACC1
+ 1704 GETFIELD0
+ 1705 C_CALL2 equal
+ 1707 BRANCHIFNOT 1713
+ 1709 ACC0
+ 1710 GETFIELD1
+ 1711 RETURN 3
+ 1713 ACC2
+ 1714 GETFIELD1
+ 1715 PUSHACC2
+ 1716 PUSHOFFSETCLOSURE0
+ 1717 APPTERM2 5
+ 1719 GETGLOBAL Not_found
+ 1721 MAKEBLOCK1 0
+ 1723 RAISE
+ 1724 RESTART
+ 1725 GRAB 1
+ 1727 ACC1
+ 1728 BRANCHIFNOT 1748
+ 1730 ACC1
+ 1731 GETFIELD0
+ 1732 PUSHACC1
+ 1733 PUSHACC1
+ 1734 GETFIELD0
+ 1735 EQ
+ 1736 BRANCHIFNOT 1742
+ 1738 ACC0
+ 1739 GETFIELD1
+ 1740 RETURN 3
+ 1742 ACC2
+ 1743 GETFIELD1
+ 1744 PUSHACC2
+ 1745 PUSHOFFSETCLOSURE0
+ 1746 APPTERM2 5
+ 1748 GETGLOBAL Not_found
+ 1750 MAKEBLOCK1 0
+ 1752 RAISE
+ 1753 RESTART
+ 1754 GRAB 1
+ 1756 ACC1
+ 1757 BRANCHIFNOT 1773
+ 1759 ACC0
+ 1760 PUSHACC2
+ 1761 GETFIELD0
+ 1762 GETFIELD0
+ 1763 C_CALL2 equal
+ 1765 BRANCHIF 1773
+ 1767 ACC1
+ 1768 GETFIELD1
+ 1769 PUSHACC1
+ 1770 PUSHOFFSETCLOSURE0
+ 1771 APPTERM2 4
+ 1773 RETURN 2
+ 1775 RESTART
+ 1776 GRAB 1
+ 1778 ACC1
+ 1779 BRANCHIFNOT 1794
+ 1781 ACC0
+ 1782 PUSHACC2
+ 1783 GETFIELD0
+ 1784 GETFIELD0
+ 1785 EQ
+ 1786 BRANCHIF 1794
+ 1788 ACC1
+ 1789 GETFIELD1
+ 1790 PUSHACC1
+ 1791 PUSHOFFSETCLOSURE0
+ 1792 APPTERM2 4
+ 1794 RETURN 2
+ 1796 RESTART
+ 1797 GRAB 1
+ 1799 ACC1
+ 1800 BRANCHIFNOT 1825
+ 1802 ACC1
+ 1803 GETFIELD0
+ 1804 PUSHACC2
+ 1805 GETFIELD1
+ 1806 PUSHACC2
+ 1807 PUSHACC2
+ 1808 GETFIELD0
+ 1809 C_CALL2 equal
+ 1811 BRANCHIFNOT 1816
+ 1813 ACC0
+ 1814 RETURN 4
+ 1816 ACC0
+ 1817 PUSHACC3
+ 1818 PUSHOFFSETCLOSURE0
+ 1819 APPLY2
+ 1820 PUSHACC2
+ 1821 MAKEBLOCK2 0
+ 1823 POP 2
+ 1825 RETURN 2
+ 1827 RESTART
+ 1828 GRAB 1
+ 1830 ACC1
+ 1831 BRANCHIFNOT 1855
+ 1833 ACC1
+ 1834 GETFIELD0
+ 1835 PUSHACC2
+ 1836 GETFIELD1
+ 1837 PUSHACC2
+ 1838 PUSHACC2
+ 1839 GETFIELD0
+ 1840 EQ
+ 1841 BRANCHIFNOT 1846
+ 1843 ACC0
+ 1844 RETURN 4
+ 1846 ACC0
+ 1847 PUSHACC3
+ 1848 PUSHOFFSETCLOSURE0
+ 1849 APPLY2
+ 1850 PUSHACC2
+ 1851 MAKEBLOCK2 0
+ 1853 POP 2
+ 1855 RETURN 2
+ 1857 RESTART
+ 1858 GRAB 1
+ 1860 ACC1
+ 1861 BRANCHIFNOT 1879
+ 1863 ACC1
+ 1864 GETFIELD0
+ 1865 PUSHACC0
+ 1866 PUSHACC2
+ 1867 APPLY1
+ 1868 BRANCHIFNOT 1873
+ 1870 ACC0
+ 1871 RETURN 3
+ 1873 ACC2
+ 1874 GETFIELD1
+ 1875 PUSHACC2
+ 1876 PUSHOFFSETCLOSURE0
+ 1877 APPTERM2 5
+ 1879 GETGLOBAL Not_found
+ 1881 MAKEBLOCK1 0
+ 1883 RAISE
+ 1884 RESTART
+ 1885 GRAB 2
+ 1887 ACC2
+ 1888 BRANCHIFNOT 1917
+ 1890 ACC2
+ 1891 GETFIELD0
+ 1892 PUSHACC3
+ 1893 GETFIELD1
+ 1894 PUSHACC1
+ 1895 PUSHENVACC2
+ 1896 APPLY1
+ 1897 BRANCHIFNOT 1908
+ 1899 ACC0
+ 1900 PUSHACC4
+ 1901 PUSHACC4
+ 1902 PUSHACC4
+ 1903 MAKEBLOCK2 0
+ 1905 PUSHOFFSETCLOSURE0
+ 1906 APPTERM3 8
+ 1908 ACC0
+ 1909 PUSHACC4
+ 1910 PUSHACC3
+ 1911 MAKEBLOCK2 0
+ 1913 PUSHACC4
+ 1914 PUSHOFFSETCLOSURE0
+ 1915 APPTERM3 8
+ 1917 ACC1
+ 1918 PUSHENVACC1
+ 1919 APPLY1
+ 1920 PUSHACC1
+ 1921 PUSHENVACC1
+ 1922 APPLY1
+ 1923 MAKEBLOCK2 0
+ 1925 RETURN 3
+ 1927 RESTART
+ 1928 GRAB 1
+ 1930 ACC0
+ 1931 PUSHENVACC1
+ 1932 CLOSUREREC 2, 1885
+ 1936 ACC2
+ 1937 PUSHCONST0
+ 1938 PUSHCONST0
+ 1939 PUSHACC3
+ 1940 APPTERM3 6
+ 1942 ACC0
+ 1943 BRANCHIFNOT 1967
+ 1945 ACC0
+ 1946 GETFIELD0
+ 1947 PUSHACC1
+ 1948 GETFIELD1
+ 1949 PUSHOFFSETCLOSURE0
+ 1950 APPLY1
+ 1951 PUSHACC0
+ 1952 GETFIELD1
+ 1953 PUSHACC2
+ 1954 GETFIELD1
+ 1955 MAKEBLOCK2 0
+ 1957 PUSHACC1
+ 1958 GETFIELD0
+ 1959 PUSHACC3
+ 1960 GETFIELD0
+ 1961 MAKEBLOCK2 0
+ 1963 MAKEBLOCK2 0
+ 1965 RETURN 3
+ 1967 GETGLOBAL <0>(0, 0)
+ 1969 RETURN 1
+ 1971 RESTART
+ 1972 GRAB 1
+ 1974 ACC0
+ 1975 BRANCHIFNOT 1996
+ 1977 ACC1
+ 1978 BRANCHIFNOT 2003
+ 1980 ACC1
+ 1981 GETFIELD1
+ 1982 PUSHACC1
+ 1983 GETFIELD1
+ 1984 PUSHOFFSETCLOSURE0
+ 1985 APPLY2
+ 1986 PUSHACC2
+ 1987 GETFIELD0
+ 1988 PUSHACC2
+ 1989 GETFIELD0
+ 1990 MAKEBLOCK2 0
+ 1992 MAKEBLOCK2 0
+ 1994 RETURN 2
+ 1996 ACC1
+ 1997 BRANCHIFNOT 2001
+ 1999 BRANCH 2003
+ 2001 RETURN 2
+ 2003 GETGLOBAL "List.combine"
+ 2005 PUSHGETGLOBALFIELD Pervasives, 2
+ 2008 APPTERM1 3
+ 2010 RESTART
+ 2011 GRAB 1
+ 2013 ACC1
+ 2014 BRANCHIFNOT 2038
+ 2016 ACC1
+ 2017 GETFIELD0
+ 2018 PUSHACC2
+ 2019 GETFIELD1
+ 2020 PUSHACC1
+ 2021 PUSHENVACC2
+ 2022 APPLY1
+ 2023 BRANCHIFNOT 2033
+ 2025 ACC0
+ 2026 PUSHACC3
+ 2027 PUSHACC3
+ 2028 MAKEBLOCK2 0
+ 2030 PUSHOFFSETCLOSURE0
+ 2031 APPTERM2 6
+ 2033 ACC0
+ 2034 PUSHACC3
+ 2035 PUSHOFFSETCLOSURE0
+ 2036 APPTERM2 6
+ 2038 ACC0
+ 2039 PUSHENVACC1
+ 2040 APPTERM1 3
+ 2042 ACC0
+ 2043 PUSHENVACC1
+ 2044 CLOSUREREC 2, 2011
+ 2048 CONST0
+ 2049 PUSHACC1
+ 2050 APPTERM1 3
+ 2052 RESTART
+ 2053 GRAB 2
+ 2055 ACC1
+ 2056 BRANCHIFNOT 2077
+ 2058 ACC2
+ 2059 BRANCHIFNOT 2084
+ 2061 ACC2
+ 2062 GETFIELD1
+ 2063 PUSHACC2
+ 2064 GETFIELD1
+ 2065 PUSHACC2
+ 2066 PUSHACC5
+ 2067 GETFIELD0
+ 2068 PUSHACC5
+ 2069 GETFIELD0
+ 2070 PUSHENVACC1
+ 2071 APPLY2
+ 2072 MAKEBLOCK2 0
+ 2074 PUSHOFFSETCLOSURE0
+ 2075 APPTERM3 6
+ 2077 ACC2
+ 2078 BRANCHIFNOT 2082
+ 2080 BRANCH 2084
+ 2082 RETURN 3
+ 2084 GETGLOBAL "List.rev_map2"
+ 2086 PUSHGETGLOBALFIELD Pervasives, 2
+ 2089 APPTERM1 4
+ 2091 RESTART
+ 2092 GRAB 2
+ 2094 ACC0
+ 2095 CLOSUREREC 1, 2053
+ 2099 ACC3
+ 2100 PUSHACC3
+ 2101 PUSHCONST0
+ 2102 PUSHACC3
+ 2103 APPTERM3 7
+ 2105 RESTART
+ 2106 GRAB 1
+ 2108 ACC1
+ 2109 BRANCHIFNOT 2123
+ 2111 ACC1
+ 2112 GETFIELD1
+ 2113 PUSHACC1
+ 2114 PUSHACC3
+ 2115 GETFIELD0
+ 2116 PUSHENVACC1
+ 2117 APPLY1
+ 2118 MAKEBLOCK2 0
+ 2120 PUSHOFFSETCLOSURE0
+ 2121 APPTERM2 4
+ 2123 ACC0
+ 2124 RETURN 2
+ 2126 RESTART
+ 2127 GRAB 1
+ 2129 ACC0
+ 2130 CLOSUREREC 1, 2106
+ 2134 ACC2
+ 2135 PUSHCONST0
+ 2136 PUSHACC2
+ 2137 APPTERM2 5
+ 2139 CONST0
+ 2140 PUSHACC1
+ 2141 PUSHENVACC1
+ 2142 APPTERM2 3
+ 2144 ACC0
+ 2145 BRANCHIFNOT 2151
+ 2147 ACC0
+ 2148 GETFIELD1
+ 2149 RETURN 1
+ 2151 GETGLOBAL "tl"
+ 2153 PUSHGETGLOBALFIELD Pervasives, 3
+ 2156 APPTERM1 2
+ 2158 ACC0
+ 2159 BRANCHIFNOT 2165
+ 2161 ACC0
+ 2162 GETFIELD0
+ 2163 RETURN 1
+ 2165 GETGLOBAL "hd"
+ 2167 PUSHGETGLOBALFIELD Pervasives, 3
+ 2170 APPTERM1 2
+ 2172 ACC0
+ 2173 PUSHCONST0
+ 2174 PUSHENVACC1
+ 2175 APPTERM2 3
+ 2177 CLOSUREREC 0, 1200
+ 2181 ACC0
+ 2182 CLOSURE 1, 2172
+ 2185 PUSH
+ 2186 CLOSURE 0, 2158
+ 2189 PUSH
+ 2190 CLOSURE 0, 2144
+ 2193 PUSH
+ 2194 CLOSUREREC 0, 1217
+ 2198 GETGLOBALFIELD Pervasives, 16
+ 2201 PUSH
+ 2202 CLOSUREREC 0, 1259
+ 2206 ACC0
+ 2207 CLOSURE 1, 2139
+ 2210 PUSH
+ 2211 CLOSUREREC 0, 1277
+ 2215 CLOSUREREC 0, 1294
+ 2219 CLOSURE 0, 2127
+ 2222 PUSH
+ 2223 CLOSUREREC 0, 1316
+ 2227 CLOSUREREC 0, 1334
+ 2231 CLOSUREREC 0, 1354
+ 2235 CLOSUREREC 0, 1374
+ 2239 CLOSURE 0, 2092
+ 2242 PUSH
+ 2243 CLOSUREREC 0, 1415
+ 2247 CLOSUREREC 0, 1452
+ 2251 CLOSUREREC 0, 1490
+ 2255 CLOSUREREC 0, 1530
+ 2259 CLOSUREREC 0, 1553
+ 2263 CLOSUREREC 0, 1573
+ 2267 CLOSUREREC 0, 1613
+ 2271 CLOSUREREC 0, 1654
+ 2275 CLOSUREREC 0, 1675
+ 2279 CLOSUREREC 0, 1695
+ 2283 CLOSUREREC 0, 1725
+ 2287 CLOSUREREC 0, 1754
+ 2291 CLOSUREREC 0, 1776
+ 2295 CLOSUREREC 0, 1797
+ 2299 CLOSUREREC 0, 1828
+ 2303 CLOSUREREC 0, 1858
+ 2307 ACC 24
+ 2309 CLOSURE 1, 2042
+ 2312 PUSHACC 25
+ 2314 CLOSUREREC 1, 1928
+ 2318 CLOSUREREC 0, 1942
+ 2322 CLOSUREREC 0, 1972
+ 2326 ACC0
+ 2327 PUSHACC2
+ 2328 PUSHACC7
+ 2329 PUSHACC 9
+ 2331 PUSHACC 11
+ 2333 PUSHACC 13
+ 2335 PUSHACC 15
+ 2337 PUSHACC 17
+ 2339 PUSHACC 10
+ 2341 PUSHACC 12
+ 2343 PUSHACC 13
+ 2345 PUSHACC 15
+ 2347 PUSHACC 23
+ 2349 PUSHACC 25
+ 2351 PUSHACC 27
+ 2353 PUSHACC 29
+ 2355 PUSHACC 31
+ 2357 PUSHACC 33
+ 2359 PUSHACC 35
+ 2361 PUSHACC 37
+ 2363 PUSHACC 40
+ 2365 PUSHACC 42
+ 2367 PUSHACC 41
+ 2369 PUSHACC 45
+ 2371 PUSHACC 47
+ 2373 PUSHACC 50
+ 2375 PUSHACC 52
+ 2377 PUSHACC 51
+ 2379 PUSHACC 55
+ 2381 PUSHACC 56
+ 2383 PUSHACC 59
+ 2385 PUSHACC 61
+ 2387 PUSHACC 60
+ 2389 PUSHACC 64
+ 2391 PUSHACC 66
+ 2393 PUSHACC 68
+ 2395 PUSHACC 70
+ 2397 MAKEBLOCK 37, 0
+ 2400 POP 36
+ 2402 SETGLOBAL List
+ 2404 BRANCH 2432
+ 2406 CONST0
+ 2407 PUSHACC1
+ 2408 LEINT
+ 2409 BRANCHIFNOT 2414
+ 2411 CONST0
+ 2412 RETURN 1
+ 2414 ACC0
+ 2415 OFFSETINT -1
+ 2417 PUSHOFFSETCLOSURE0
+ 2418 APPLY1
+ 2419 PUSHACC1
+ 2420 MAKEBLOCK2 0
+ 2422 RETURN 1
+ 2424 RESTART
+ 2425 GRAB 1
+ 2427 ACC1
+ 2428 PUSHACC1
+ 2429 ADDINT
+ 2430 RETURN 2
+ 2432 CLOSUREREC 0, 2406
+ 2436 CONSTINT 300
+ 2438 PUSHACC1
+ 2439 APPLY1
+ 2440 PUSHCONST0
+ 2441 C_CALL1 gc_full_major
+ 2443 CONSTINT 150
+ 2445 PUSHCONSTINT 301
+ 2447 MULINT
+ 2448 PUSHACC1
+ 2449 PUSHCONST0
+ 2450 PUSH
+ 2451 CLOSURE 0, 2425
+ 2454 PUSHGETGLOBALFIELD List, 12
+ 2457 APPLY3
+ 2458 NEQ
+ 2459 BRANCHIFNOT 2466
+ 2461 GETGLOBAL Not_found
+ 2463 MAKEBLOCK1 0
+ 2465 RAISE
+ 2466 POP 2
+ 2468 ATOM0
+ 2469 SETGLOBAL T320-gc-3
+ 2471 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t330-compact-1.ml b/testsuite/tests/tool-ocaml/t330-compact-1.ml
new file mode 100644
index 0000000000..efa958fd29
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t330-compact-1.ml
@@ -0,0 +1,15 @@
+open Lib;;
+Gc.compact ();;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 CONST0
+ 10 C_CALL1 gc_compaction
+ 12 ATOM0
+ 13 SETGLOBAL T330-compact-1
+ 15 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t330-compact-2.ml b/testsuite/tests/tool-ocaml/t330-compact-2.ml
new file mode 100644
index 0000000000..62ab0141d5
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t330-compact-2.ml
@@ -0,0 +1,755 @@
+open Lib;;
+Gc.compact ();;
+let _ = Pervasives.do_at_exit();;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 746
+ 11 RESTART
+ 12 GRAB 1
+ 14 ACC0
+ 15 BRANCHIFNOT 28
+ 17 ACC1
+ 18 PUSHACC1
+ 19 GETFIELD1
+ 20 PUSHOFFSETCLOSURE0
+ 21 APPLY2
+ 22 PUSHACC1
+ 23 GETFIELD0
+ 24 MAKEBLOCK2 0
+ 26 RETURN 2
+ 28 ACC1
+ 29 RETURN 2
+ 31 RESTART
+ 32 GRAB 3
+ 34 CONST0
+ 35 PUSHACC4
+ 36 LEINT
+ 37 BRANCHIFNOT 42
+ 39 CONST0
+ 40 RETURN 4
+ 42 ACC3
+ 43 PUSHACC3
+ 44 PUSHACC3
+ 45 PUSHACC3
+ 46 C_CALL4 caml_input
+ 48 PUSHCONST0
+ 49 PUSHACC1
+ 50 EQ
+ 51 BRANCHIFNOT 58
+ 53 GETGLOBAL End_of_file
+ 55 MAKEBLOCK1 0
+ 57 RAISE
+ 58 ACC0
+ 59 PUSHACC5
+ 60 SUBINT
+ 61 PUSHACC1
+ 62 PUSHACC5
+ 63 ADDINT
+ 64 PUSHACC4
+ 65 PUSHACC4
+ 66 PUSHOFFSETCLOSURE0
+ 67 APPTERM 4, 9
+ 70 ACC0
+ 71 C_CALL1 caml_input_scan_line
+ 73 PUSHCONST0
+ 74 PUSHACC1
+ 75 EQ
+ 76 BRANCHIFNOT 83
+ 78 GETGLOBAL End_of_file
+ 80 MAKEBLOCK1 0
+ 82 RAISE
+ 83 CONST0
+ 84 PUSHACC1
+ 85 GTINT
+ 86 BRANCHIFNOT 107
+ 88 ACC0
+ 89 OFFSETINT -1
+ 91 C_CALL1 create_string
+ 93 PUSHACC1
+ 94 OFFSETINT -1
+ 96 PUSHCONST0
+ 97 PUSHACC2
+ 98 PUSHACC5
+ 99 C_CALL4 caml_input
+ 101 ACC2
+ 102 C_CALL1 caml_input_char
+ 104 ACC0
+ 105 RETURN 3
+ 107 ACC0
+ 108 NEGINT
+ 109 C_CALL1 create_string
+ 111 PUSHACC1
+ 112 NEGINT
+ 113 PUSHCONST0
+ 114 PUSHACC2
+ 115 PUSHACC5
+ 116 C_CALL4 caml_input
+ 118 CONST0
+ 119 PUSHTRAP 130
+ 121 ACC6
+ 122 PUSHOFFSETCLOSURE0
+ 123 APPLY1
+ 124 PUSHACC5
+ 125 PUSHENVACC1
+ 126 APPLY2
+ 127 POPTRAP
+ 128 RETURN 3
+ 130 PUSHGETGLOBAL End_of_file
+ 132 PUSHACC1
+ 133 GETFIELD0
+ 134 EQ
+ 135 BRANCHIFNOT 140
+ 137 ACC1
+ 138 RETURN 4
+ 140 ACC0
+ 141 RAISE
+ 142 ACC0
+ 143 C_CALL1 caml_flush
+ 145 RETURN 1
+ 147 RESTART
+ 148 GRAB 1
+ 150 ACC1
+ 151 PUSHACC1
+ 152 C_CALL2 caml_output_char
+ 154 RETURN 2
+ 156 RESTART
+ 157 GRAB 1
+ 159 ACC1
+ 160 PUSHACC1
+ 161 C_CALL2 caml_output_char
+ 163 RETURN 2
+ 165 RESTART
+ 166 GRAB 1
+ 168 ACC1
+ 169 PUSHACC1
+ 170 C_CALL2 caml_output_int
+ 172 RETURN 2
+ 174 RESTART
+ 175 GRAB 1
+ 177 ACC1
+ 178 PUSHACC1
+ 179 C_CALL2 caml_seek_out
+ 181 RETURN 2
+ 183 ACC0
+ 184 C_CALL1 caml_pos_out
+ 186 RETURN 1
+ 188 ACC0
+ 189 C_CALL1 caml_channel_size
+ 191 RETURN 1
+ 193 RESTART
+ 194 GRAB 1
+ 196 ACC1
+ 197 PUSHACC1
+ 198 C_CALL2 caml_set_binary_mode
+ 200 RETURN 2
+ 202 ACC0
+ 203 C_CALL1 caml_input_char
+ 205 RETURN 1
+ 207 ACC0
+ 208 C_CALL1 caml_input_char
+ 210 RETURN 1
+ 212 ACC0
+ 213 C_CALL1 caml_input_int
+ 215 RETURN 1
+ 217 ACC0
+ 218 C_CALL1 input_value
+ 220 RETURN 1
+ 222 RESTART
+ 223 GRAB 1
+ 225 ACC1
+ 226 PUSHACC1
+ 227 C_CALL2 caml_seek_in
+ 229 RETURN 2
+ 231 ACC0
+ 232 C_CALL1 caml_pos_in
+ 234 RETURN 1
+ 236 ACC0
+ 237 C_CALL1 caml_channel_size
+ 239 RETURN 1
+ 241 ACC0
+ 242 C_CALL1 caml_close_channel
+ 244 RETURN 1
+ 246 RESTART
+ 247 GRAB 1
+ 249 ACC1
+ 250 PUSHACC1
+ 251 C_CALL2 caml_set_binary_mode
+ 253 RETURN 2
+ 255 CONST0
+ 256 PUSHENVACC1
+ 257 APPLY1
+ 258 ACC0
+ 259 C_CALL1 sys_exit
+ 261 RETURN 1
+ 263 CONST0
+ 264 PUSHENVACC1
+ 265 GETFIELD0
+ 266 APPTERM1 2
+ 268 CONST0
+ 269 PUSHENVACC1
+ 270 APPLY1
+ 271 CONST0
+ 272 PUSHENVACC2
+ 273 APPTERM1 2
+ 275 ENVACC1
+ 276 GETFIELD0
+ 277 PUSHACC0
+ 278 PUSHACC2
+ 279 CLOSURE 2, 268
+ 282 PUSHENVACC1
+ 283 SETFIELD0
+ 284 RETURN 2
+ 286 ENVACC1
+ 287 C_CALL1 caml_flush
+ 289 ENVACC2
+ 290 C_CALL1 caml_flush
+ 292 RETURN 1
+ 294 CONST0
+ 295 PUSHENVACC1
+ 296 APPLY1
+ 297 C_CALL1 float_of_string
+ 299 RETURN 1
+ 301 CONST0
+ 302 PUSHENVACC1
+ 303 APPLY1
+ 304 C_CALL1 int_of_string
+ 306 RETURN 1
+ 308 ENVACC2
+ 309 C_CALL1 caml_flush
+ 311 ENVACC1
+ 312 PUSHENVACC3
+ 313 APPTERM1 2
+ 315 CONSTINT 13
+ 317 PUSHENVACC1
+ 318 C_CALL2 caml_output_char
+ 320 ENVACC1
+ 321 C_CALL1 caml_flush
+ 323 RETURN 1
+ 325 ACC0
+ 326 PUSHENVACC1
+ 327 PUSHENVACC2
+ 328 APPLY2
+ 329 CONSTINT 13
+ 331 PUSHENVACC1
+ 332 C_CALL2 caml_output_char
+ 334 ENVACC1
+ 335 C_CALL1 caml_flush
+ 337 RETURN 1
+ 339 ACC0
+ 340 PUSHENVACC1
+ 341 APPLY1
+ 342 PUSHENVACC2
+ 343 PUSHENVACC3
+ 344 APPTERM2 3
+ 346 ACC0
+ 347 PUSHENVACC1
+ 348 APPLY1
+ 349 PUSHENVACC2
+ 350 PUSHENVACC3
+ 351 APPTERM2 3
+ 353 ACC0
+ 354 PUSHENVACC1
+ 355 PUSHENVACC2
+ 356 APPTERM2 3
+ 358 ACC0
+ 359 PUSHENVACC1
+ 360 C_CALL2 caml_output_char
+ 362 RETURN 1
+ 364 CONSTINT 13
+ 366 PUSHENVACC1
+ 367 C_CALL2 caml_output_char
+ 369 ENVACC1
+ 370 C_CALL1 caml_flush
+ 372 RETURN 1
+ 374 ACC0
+ 375 PUSHENVACC1
+ 376 PUSHENVACC2
+ 377 APPLY2
+ 378 CONSTINT 13
+ 380 PUSHENVACC1
+ 381 C_CALL2 caml_output_char
+ 383 RETURN 1
+ 385 ACC0
+ 386 PUSHENVACC1
+ 387 APPLY1
+ 388 PUSHENVACC2
+ 389 PUSHENVACC3
+ 390 APPTERM2 3
+ 392 ACC0
+ 393 PUSHENVACC1
+ 394 APPLY1
+ 395 PUSHENVACC2
+ 396 PUSHENVACC3
+ 397 APPTERM2 3
+ 399 ACC0
+ 400 PUSHENVACC1
+ 401 PUSHENVACC2
+ 402 APPTERM2 3
+ 404 ACC0
+ 405 PUSHENVACC1
+ 406 C_CALL2 caml_output_char
+ 408 RETURN 1
+ 410 RESTART
+ 411 GRAB 3
+ 413 CONST0
+ 414 PUSHACC3
+ 415 LTINT
+ 416 BRANCHIF 427
+ 418 ACC1
+ 419 C_CALL1 ml_string_length
+ 421 PUSHACC4
+ 422 PUSHACC4
+ 423 ADDINT
+ 424 GTINT
+ 425 BRANCHIFNOT 432
+ 427 GETGLOBAL "really_input"
+ 429 PUSHENVACC1
+ 430 APPTERM1 5
+ 432 ACC3
+ 433 PUSHACC3
+ 434 PUSHACC3
+ 435 PUSHACC3
+ 436 PUSHENVACC2
+ 437 APPTERM 4, 8
+ 440 RESTART
+ 441 GRAB 3
+ 443 CONST0
+ 444 PUSHACC3
+ 445 LTINT
+ 446 BRANCHIF 457
+ 448 ACC1
+ 449 C_CALL1 ml_string_length
+ 451 PUSHACC4
+ 452 PUSHACC4
+ 453 ADDINT
+ 454 GTINT
+ 455 BRANCHIFNOT 462
+ 457 GETGLOBAL "input"
+ 459 PUSHENVACC1
+ 460 APPTERM1 5
+ 462 ACC3
+ 463 PUSHACC3
+ 464 PUSHACC3
+ 465 PUSHACC3
+ 466 C_CALL4 caml_input
+ 468 RETURN 4
+ 470 ACC0
+ 471 PUSHCONST0
+ 472 PUSHGETGLOBAL <0>(0, <0>(6, 0))
+ 474 PUSHENVACC1
+ 475 APPTERM3 4
+ 477 ACC0
+ 478 PUSHCONST0
+ 479 PUSHGETGLOBAL <0>(0, <0>(7, 0))
+ 481 PUSHENVACC1
+ 482 APPTERM3 4
+ 484 RESTART
+ 485 GRAB 2
+ 487 ACC1
+ 488 PUSHACC1
+ 489 PUSHACC4
+ 490 C_CALL3 sys_open
+ 492 C_CALL1 caml_open_descriptor
+ 494 RETURN 3
+ 496 ACC0
+ 497 C_CALL1 caml_flush
+ 499 ACC0
+ 500 C_CALL1 caml_close_channel
+ 502 RETURN 1
+ 504 RESTART
+ 505 GRAB 1
+ 507 CONST0
+ 508 PUSHACC2
+ 509 PUSHACC2
+ 510 C_CALL3 output_value
+ 512 RETURN 2
+ 514 RESTART
+ 515 GRAB 3
+ 517 CONST0
+ 518 PUSHACC3
+ 519 LTINT
+ 520 BRANCHIF 531
+ 522 ACC1
+ 523 C_CALL1 ml_string_length
+ 525 PUSHACC4
+ 526 PUSHACC4
+ 527 ADDINT
+ 528 GTINT
+ 529 BRANCHIFNOT 536
+ 531 GETGLOBAL "output"
+ 533 PUSHENVACC1
+ 534 APPTERM1 5
+ 536 ACC3
+ 537 PUSHACC3
+ 538 PUSHACC3
+ 539 PUSHACC3
+ 540 C_CALL4 caml_output
+ 542 RETURN 4
+ 544 RESTART
+ 545 GRAB 1
+ 547 ACC1
+ 548 C_CALL1 ml_string_length
+ 550 PUSHCONST0
+ 551 PUSHACC3
+ 552 PUSHACC3
+ 553 C_CALL4 caml_output
+ 555 RETURN 2
+ 557 ACC0
+ 558 PUSHCONSTINT 438
+ 560 PUSHGETGLOBAL <0>(1, <0>(3, <0>(4, <0>(6, 0))))
+ 562 PUSHENVACC1
+ 563 APPTERM3 4
+ 565 ACC0
+ 566 PUSHCONSTINT 438
+ 568 PUSHGETGLOBAL <0>(1, <0>(3, <0>(4, <0>(7, 0))))
+ 570 PUSHENVACC1
+ 571 APPTERM3 4
+ 573 RESTART
+ 574 GRAB 2
+ 576 ACC1
+ 577 PUSHACC1
+ 578 PUSHACC4
+ 579 C_CALL3 sys_open
+ 581 C_CALL1 caml_open_descriptor
+ 583 RETURN 3
+ 585 ACC0
+ 586 PUSHGETGLOBAL "%.12g"
+ 588 C_CALL2 format_float
+ 590 RETURN 1
+ 592 ACC0
+ 593 PUSHGETGLOBAL "%d"
+ 595 C_CALL2 format_int
+ 597 RETURN 1
+ 599 GETGLOBAL "false"
+ 601 PUSHACC1
+ 602 C_CALL2 string_equal
+ 604 BRANCHIFNOT 609
+ 606 CONST0
+ 607 RETURN 1
+ 609 GETGLOBAL "true"
+ 611 PUSHACC1
+ 612 C_CALL2 string_equal
+ 614 BRANCHIFNOT 619
+ 616 CONST1
+ 617 RETURN 1
+ 619 GETGLOBAL "bool_of_string"
+ 621 PUSHENVACC1
+ 622 APPTERM1 2
+ 624 ACC0
+ 625 BRANCHIFNOT 631
+ 627 GETGLOBAL "true"
+ 629 RETURN 1
+ 631 GETGLOBAL "false"
+ 633 RETURN 1
+ 635 CONST0
+ 636 PUSHACC1
+ 637 LTINT
+ 638 BRANCHIF 646
+ 640 CONSTINT 255
+ 642 PUSHACC1
+ 643 GTINT
+ 644 BRANCHIFNOT 651
+ 646 GETGLOBAL "char_of_int"
+ 648 PUSHENVACC1
+ 649 APPTERM1 2
+ 651 ACC0
+ 652 RETURN 1
+ 654 RESTART
+ 655 GRAB 1
+ 657 ACC0
+ 658 C_CALL1 ml_string_length
+ 660 PUSHACC2
+ 661 C_CALL1 ml_string_length
+ 663 PUSHACC0
+ 664 PUSHACC2
+ 665 ADDINT
+ 666 C_CALL1 create_string
+ 668 PUSHACC2
+ 669 PUSHCONST0
+ 670 PUSHACC2
+ 671 PUSHCONST0
+ 672 PUSHACC7
+ 673 C_CALL5 blit_string
+ 675 ACC1
+ 676 PUSHACC3
+ 677 PUSHACC2
+ 678 PUSHCONST0
+ 679 PUSHACC 8
+ 681 C_CALL5 blit_string
+ 683 ACC0
+ 684 RETURN 5
+ 686 CONSTINT -1
+ 688 PUSHACC1
+ 689 XORINT
+ 690 RETURN 1
+ 692 CONST0
+ 693 PUSHACC1
+ 694 GEINT
+ 695 BRANCHIFNOT 700
+ 697 ACC0
+ 698 RETURN 1
+ 700 ACC0
+ 701 NEGINT
+ 702 RETURN 1
+ 704 RESTART
+ 705 GRAB 1
+ 707 ACC1
+ 708 PUSHACC1
+ 709 C_CALL2 greaterequal
+ 711 BRANCHIFNOT 716
+ 713 ACC0
+ 714 RETURN 2
+ 716 ACC1
+ 717 RETURN 2
+ 719 RESTART
+ 720 GRAB 1
+ 722 ACC1
+ 723 PUSHACC1
+ 724 C_CALL2 lessequal
+ 726 BRANCHIFNOT 731
+ 728 ACC0
+ 729 RETURN 2
+ 731 ACC1
+ 732 RETURN 2
+ 734 ACC0
+ 735 PUSHGETGLOBAL Invalid_argument
+ 737 MAKEBLOCK2 0
+ 739 RAISE
+ 740 ACC0
+ 741 PUSHGETGLOBAL Failure
+ 743 MAKEBLOCK2 0
+ 745 RAISE
+ 746 CLOSURE 0, 740
+ 749 PUSH
+ 750 CLOSURE 0, 734
+ 753 PUSHGETGLOBAL "Pervasives.Exit"
+ 755 MAKEBLOCK1 0
+ 757 PUSHGETGLOBAL "Pervasives.Assert_failure"
+ 759 MAKEBLOCK1 0
+ 761 PUSH
+ 762 CLOSURE 0, 720
+ 765 PUSH
+ 766 CLOSURE 0, 705
+ 769 PUSH
+ 770 CLOSURE 0, 692
+ 773 PUSH
+ 774 CLOSURE 0, 686
+ 777 PUSHCONST0
+ 778 PUSHCONSTINT 31
+ 780 PUSHCONST1
+ 781 LSLINT
+ 782 EQ
+ 783 BRANCHIFNOT 789
+ 785 CONSTINT 30
+ 787 BRANCH 791
+ 789 CONSTINT 62
+ 791 PUSHCONST1
+ 792 LSLINT
+ 793 PUSHACC0
+ 794 OFFSETINT -1
+ 796 PUSH
+ 797 CLOSURE 0, 655
+ 800 PUSHACC 9
+ 802 CLOSURE 1, 635
+ 805 PUSH
+ 806 CLOSURE 0, 624
+ 809 PUSHACC 11
+ 811 CLOSURE 1, 599
+ 814 PUSH
+ 815 CLOSURE 0, 592
+ 818 PUSH
+ 819 CLOSURE 0, 585
+ 822 PUSH
+ 823 CLOSUREREC 0, 12
+ 827 CONST0
+ 828 C_CALL1 caml_open_descriptor
+ 830 PUSHCONST1
+ 831 C_CALL1 caml_open_descriptor
+ 833 PUSHCONST2
+ 834 C_CALL1 caml_open_descriptor
+ 836 PUSH
+ 837 CLOSURE 0, 574
+ 840 PUSHACC0
+ 841 CLOSURE 1, 565
+ 844 PUSHACC1
+ 845 CLOSURE 1, 557
+ 848 PUSH
+ 849 CLOSURE 0, 545
+ 852 PUSHACC 22
+ 854 CLOSURE 1, 515
+ 857 PUSH
+ 858 CLOSURE 0, 505
+ 861 PUSH
+ 862 CLOSURE 0, 496
+ 865 PUSH
+ 866 CLOSURE 0, 485
+ 869 PUSHACC0
+ 870 CLOSURE 1, 477
+ 873 PUSHACC1
+ 874 CLOSURE 1, 470
+ 877 PUSHACC 28
+ 879 CLOSURE 1, 441
+ 882 PUSH
+ 883 CLOSUREREC 0, 32
+ 887 ACC0
+ 888 PUSHACC 31
+ 890 CLOSURE 2, 411
+ 893 PUSHACC 22
+ 895 CLOSUREREC 1, 70
+ 899 ACC 15
+ 901 CLOSURE 1, 404
+ 904 PUSHACC 11
+ 906 PUSHACC 17
+ 908 CLOSURE 2, 399
+ 911 PUSHACC 12
+ 913 PUSHACC 18
+ 915 PUSHACC 23
+ 917 CLOSURE 3, 392
+ 920 PUSHACC 13
+ 922 PUSHACC 19
+ 924 PUSHACC 23
+ 926 CLOSURE 3, 385
+ 929 PUSHACC 14
+ 931 PUSHACC 20
+ 933 CLOSURE 2, 374
+ 936 PUSHACC 20
+ 938 CLOSURE 1, 364
+ 941 PUSHACC 20
+ 943 CLOSURE 1, 358
+ 946 PUSHACC 17
+ 948 PUSHACC 22
+ 950 CLOSURE 2, 353
+ 953 PUSHACC 18
+ 955 PUSHACC 23
+ 957 PUSHACC 29
+ 959 CLOSURE 3, 346
+ 962 PUSHACC 19
+ 964 PUSHACC 24
+ 966 PUSHACC 29
+ 968 CLOSURE 3, 339
+ 971 PUSHACC 20
+ 973 PUSHACC 25
+ 975 CLOSURE 2, 325
+ 978 PUSHACC 25
+ 980 CLOSURE 1, 315
+ 983 PUSHACC 12
+ 985 PUSHACC 28
+ 987 PUSHACC 30
+ 989 CLOSURE 3, 308
+ 992 PUSHACC0
+ 993 CLOSURE 1, 301
+ 996 PUSHACC1
+ 997 CLOSURE 1, 294
+ 1000 PUSHACC 29
+ 1002 PUSHACC 31
+ 1004 CLOSURE 2, 286
+ 1007 MAKEBLOCK1 0
+ 1009 PUSHACC0
+ 1010 CLOSURE 1, 275
+ 1013 PUSHACC1
+ 1014 CLOSURE 1, 263
+ 1017 PUSHACC0
+ 1018 CLOSURE 1, 255
+ 1021 PUSHACC1
+ 1022 PUSHACC 22
+ 1024 PUSHACC4
+ 1025 PUSHACC3
+ 1026 PUSH
+ 1027 CLOSURE 0, 247
+ 1030 PUSH
+ 1031 CLOSURE 0, 241
+ 1034 PUSH
+ 1035 CLOSURE 0, 236
+ 1038 PUSH
+ 1039 CLOSURE 0, 231
+ 1042 PUSH
+ 1043 CLOSURE 0, 223
+ 1046 PUSH
+ 1047 CLOSURE 0, 217
+ 1050 PUSH
+ 1051 CLOSURE 0, 212
+ 1054 PUSH
+ 1055 CLOSURE 0, 207
+ 1058 PUSHACC 32
+ 1060 PUSHACC 35
+ 1062 PUSHACC 33
+ 1064 PUSH
+ 1065 CLOSURE 0, 202
+ 1068 PUSHACC 41
+ 1070 PUSHACC 40
+ 1072 PUSHACC 42
+ 1074 PUSH
+ 1075 CLOSURE 0, 194
+ 1078 PUSHACC 46
+ 1080 PUSH
+ 1081 CLOSURE 0, 188
+ 1084 PUSH
+ 1085 CLOSURE 0, 183
+ 1088 PUSH
+ 1089 CLOSURE 0, 175
+ 1092 PUSHACC 51
+ 1094 PUSH
+ 1095 CLOSURE 0, 166
+ 1098 PUSH
+ 1099 CLOSURE 0, 157
+ 1102 PUSHACC 55
+ 1104 PUSHACC 57
+ 1106 PUSH
+ 1107 CLOSURE 0, 148
+ 1110 PUSH
+ 1111 CLOSURE 0, 142
+ 1114 PUSHACC 63
+ 1116 PUSHACC 62
+ 1118 PUSHACC 64
+ 1120 PUSHACC 38
+ 1122 PUSHACC 40
+ 1124 PUSHACC 42
+ 1126 PUSHACC 44
+ 1128 PUSHACC 46
+ 1130 PUSHACC 48
+ 1132 PUSHACC 50
+ 1134 PUSHACC 52
+ 1136 PUSHACC 54
+ 1138 PUSHACC 56
+ 1140 PUSHACC 58
+ 1142 PUSHACC 60
+ 1144 PUSHACC 62
+ 1146 PUSHACC 64
+ 1148 PUSHACC 66
+ 1150 PUSHACC 82
+ 1152 PUSHACC 84
+ 1154 PUSHACC 86
+ 1156 PUSHACC 88
+ 1158 PUSHACC 90
+ 1160 PUSHACC 92
+ 1162 PUSHACC 94
+ 1164 PUSHACC 96
+ 1166 PUSHACC 98
+ 1168 PUSHACC 100
+ 1170 PUSHACC 104
+ 1172 PUSHACC 104
+ 1174 PUSHACC 104
+ 1176 PUSHACC 108
+ 1178 PUSHACC 110
+ 1180 PUSHACC 112
+ 1182 PUSHACC 117
+ 1184 PUSHACC 117
+ 1186 PUSHACC 117
+ 1188 PUSHACC 117
+ 1190 MAKEBLOCK 69, 0
+ 1193 POP 53
+ 1195 SETGLOBAL Pervasives
+ 1197 CONST0
+ 1198 C_CALL1 gc_compaction
+ 1200 CONST0
+ 1201 PUSHGETGLOBALFIELD Pervasives, 68
+ 1204 APPLY1
+ 1205 ATOM0
+ 1206 SETGLOBAL T330-compact-2
+ 1208 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t330-compact-3.ml b/testsuite/tests/tool-ocaml/t330-compact-3.ml
new file mode 100644
index 0000000000..f25c64ef0a
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t330-compact-3.ml
@@ -0,0 +1,1589 @@
+open Lib;;
+let rec f n =
+ if n <= 0 then []
+ else n :: f (n-1)
+in
+let l = f 300 in
+Gc.compact ();
+if List.fold_left (+) 0 l <> 301 * 150 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 746
+ 11 RESTART
+ 12 GRAB 1
+ 14 ACC0
+ 15 BRANCHIFNOT 28
+ 17 ACC1
+ 18 PUSHACC1
+ 19 GETFIELD1
+ 20 PUSHOFFSETCLOSURE0
+ 21 APPLY2
+ 22 PUSHACC1
+ 23 GETFIELD0
+ 24 MAKEBLOCK2 0
+ 26 RETURN 2
+ 28 ACC1
+ 29 RETURN 2
+ 31 RESTART
+ 32 GRAB 3
+ 34 CONST0
+ 35 PUSHACC4
+ 36 LEINT
+ 37 BRANCHIFNOT 42
+ 39 CONST0
+ 40 RETURN 4
+ 42 ACC3
+ 43 PUSHACC3
+ 44 PUSHACC3
+ 45 PUSHACC3
+ 46 C_CALL4 caml_input
+ 48 PUSHCONST0
+ 49 PUSHACC1
+ 50 EQ
+ 51 BRANCHIFNOT 58
+ 53 GETGLOBAL End_of_file
+ 55 MAKEBLOCK1 0
+ 57 RAISE
+ 58 ACC0
+ 59 PUSHACC5
+ 60 SUBINT
+ 61 PUSHACC1
+ 62 PUSHACC5
+ 63 ADDINT
+ 64 PUSHACC4
+ 65 PUSHACC4
+ 66 PUSHOFFSETCLOSURE0
+ 67 APPTERM 4, 9
+ 70 ACC0
+ 71 C_CALL1 caml_input_scan_line
+ 73 PUSHCONST0
+ 74 PUSHACC1
+ 75 EQ
+ 76 BRANCHIFNOT 83
+ 78 GETGLOBAL End_of_file
+ 80 MAKEBLOCK1 0
+ 82 RAISE
+ 83 CONST0
+ 84 PUSHACC1
+ 85 GTINT
+ 86 BRANCHIFNOT 107
+ 88 ACC0
+ 89 OFFSETINT -1
+ 91 C_CALL1 create_string
+ 93 PUSHACC1
+ 94 OFFSETINT -1
+ 96 PUSHCONST0
+ 97 PUSHACC2
+ 98 PUSHACC5
+ 99 C_CALL4 caml_input
+ 101 ACC2
+ 102 C_CALL1 caml_input_char
+ 104 ACC0
+ 105 RETURN 3
+ 107 ACC0
+ 108 NEGINT
+ 109 C_CALL1 create_string
+ 111 PUSHACC1
+ 112 NEGINT
+ 113 PUSHCONST0
+ 114 PUSHACC2
+ 115 PUSHACC5
+ 116 C_CALL4 caml_input
+ 118 CONST0
+ 119 PUSHTRAP 130
+ 121 ACC6
+ 122 PUSHOFFSETCLOSURE0
+ 123 APPLY1
+ 124 PUSHACC5
+ 125 PUSHENVACC1
+ 126 APPLY2
+ 127 POPTRAP
+ 128 RETURN 3
+ 130 PUSHGETGLOBAL End_of_file
+ 132 PUSHACC1
+ 133 GETFIELD0
+ 134 EQ
+ 135 BRANCHIFNOT 140
+ 137 ACC1
+ 138 RETURN 4
+ 140 ACC0
+ 141 RAISE
+ 142 ACC0
+ 143 C_CALL1 caml_flush
+ 145 RETURN 1
+ 147 RESTART
+ 148 GRAB 1
+ 150 ACC1
+ 151 PUSHACC1
+ 152 C_CALL2 caml_output_char
+ 154 RETURN 2
+ 156 RESTART
+ 157 GRAB 1
+ 159 ACC1
+ 160 PUSHACC1
+ 161 C_CALL2 caml_output_char
+ 163 RETURN 2
+ 165 RESTART
+ 166 GRAB 1
+ 168 ACC1
+ 169 PUSHACC1
+ 170 C_CALL2 caml_output_int
+ 172 RETURN 2
+ 174 RESTART
+ 175 GRAB 1
+ 177 ACC1
+ 178 PUSHACC1
+ 179 C_CALL2 caml_seek_out
+ 181 RETURN 2
+ 183 ACC0
+ 184 C_CALL1 caml_pos_out
+ 186 RETURN 1
+ 188 ACC0
+ 189 C_CALL1 caml_channel_size
+ 191 RETURN 1
+ 193 RESTART
+ 194 GRAB 1
+ 196 ACC1
+ 197 PUSHACC1
+ 198 C_CALL2 caml_set_binary_mode
+ 200 RETURN 2
+ 202 ACC0
+ 203 C_CALL1 caml_input_char
+ 205 RETURN 1
+ 207 ACC0
+ 208 C_CALL1 caml_input_char
+ 210 RETURN 1
+ 212 ACC0
+ 213 C_CALL1 caml_input_int
+ 215 RETURN 1
+ 217 ACC0
+ 218 C_CALL1 input_value
+ 220 RETURN 1
+ 222 RESTART
+ 223 GRAB 1
+ 225 ACC1
+ 226 PUSHACC1
+ 227 C_CALL2 caml_seek_in
+ 229 RETURN 2
+ 231 ACC0
+ 232 C_CALL1 caml_pos_in
+ 234 RETURN 1
+ 236 ACC0
+ 237 C_CALL1 caml_channel_size
+ 239 RETURN 1
+ 241 ACC0
+ 242 C_CALL1 caml_close_channel
+ 244 RETURN 1
+ 246 RESTART
+ 247 GRAB 1
+ 249 ACC1
+ 250 PUSHACC1
+ 251 C_CALL2 caml_set_binary_mode
+ 253 RETURN 2
+ 255 CONST0
+ 256 PUSHENVACC1
+ 257 APPLY1
+ 258 ACC0
+ 259 C_CALL1 sys_exit
+ 261 RETURN 1
+ 263 CONST0
+ 264 PUSHENVACC1
+ 265 GETFIELD0
+ 266 APPTERM1 2
+ 268 CONST0
+ 269 PUSHENVACC1
+ 270 APPLY1
+ 271 CONST0
+ 272 PUSHENVACC2
+ 273 APPTERM1 2
+ 275 ENVACC1
+ 276 GETFIELD0
+ 277 PUSHACC0
+ 278 PUSHACC2
+ 279 CLOSURE 2, 268
+ 282 PUSHENVACC1
+ 283 SETFIELD0
+ 284 RETURN 2
+ 286 ENVACC1
+ 287 C_CALL1 caml_flush
+ 289 ENVACC2
+ 290 C_CALL1 caml_flush
+ 292 RETURN 1
+ 294 CONST0
+ 295 PUSHENVACC1
+ 296 APPLY1
+ 297 C_CALL1 float_of_string
+ 299 RETURN 1
+ 301 CONST0
+ 302 PUSHENVACC1
+ 303 APPLY1
+ 304 C_CALL1 int_of_string
+ 306 RETURN 1
+ 308 ENVACC2
+ 309 C_CALL1 caml_flush
+ 311 ENVACC1
+ 312 PUSHENVACC3
+ 313 APPTERM1 2
+ 315 CONSTINT 13
+ 317 PUSHENVACC1
+ 318 C_CALL2 caml_output_char
+ 320 ENVACC1
+ 321 C_CALL1 caml_flush
+ 323 RETURN 1
+ 325 ACC0
+ 326 PUSHENVACC1
+ 327 PUSHENVACC2
+ 328 APPLY2
+ 329 CONSTINT 13
+ 331 PUSHENVACC1
+ 332 C_CALL2 caml_output_char
+ 334 ENVACC1
+ 335 C_CALL1 caml_flush
+ 337 RETURN 1
+ 339 ACC0
+ 340 PUSHENVACC1
+ 341 APPLY1
+ 342 PUSHENVACC2
+ 343 PUSHENVACC3
+ 344 APPTERM2 3
+ 346 ACC0
+ 347 PUSHENVACC1
+ 348 APPLY1
+ 349 PUSHENVACC2
+ 350 PUSHENVACC3
+ 351 APPTERM2 3
+ 353 ACC0
+ 354 PUSHENVACC1
+ 355 PUSHENVACC2
+ 356 APPTERM2 3
+ 358 ACC0
+ 359 PUSHENVACC1
+ 360 C_CALL2 caml_output_char
+ 362 RETURN 1
+ 364 CONSTINT 13
+ 366 PUSHENVACC1
+ 367 C_CALL2 caml_output_char
+ 369 ENVACC1
+ 370 C_CALL1 caml_flush
+ 372 RETURN 1
+ 374 ACC0
+ 375 PUSHENVACC1
+ 376 PUSHENVACC2
+ 377 APPLY2
+ 378 CONSTINT 13
+ 380 PUSHENVACC1
+ 381 C_CALL2 caml_output_char
+ 383 RETURN 1
+ 385 ACC0
+ 386 PUSHENVACC1
+ 387 APPLY1
+ 388 PUSHENVACC2
+ 389 PUSHENVACC3
+ 390 APPTERM2 3
+ 392 ACC0
+ 393 PUSHENVACC1
+ 394 APPLY1
+ 395 PUSHENVACC2
+ 396 PUSHENVACC3
+ 397 APPTERM2 3
+ 399 ACC0
+ 400 PUSHENVACC1
+ 401 PUSHENVACC2
+ 402 APPTERM2 3
+ 404 ACC0
+ 405 PUSHENVACC1
+ 406 C_CALL2 caml_output_char
+ 408 RETURN 1
+ 410 RESTART
+ 411 GRAB 3
+ 413 CONST0
+ 414 PUSHACC3
+ 415 LTINT
+ 416 BRANCHIF 427
+ 418 ACC1
+ 419 C_CALL1 ml_string_length
+ 421 PUSHACC4
+ 422 PUSHACC4
+ 423 ADDINT
+ 424 GTINT
+ 425 BRANCHIFNOT 432
+ 427 GETGLOBAL "really_input"
+ 429 PUSHENVACC1
+ 430 APPTERM1 5
+ 432 ACC3
+ 433 PUSHACC3
+ 434 PUSHACC3
+ 435 PUSHACC3
+ 436 PUSHENVACC2
+ 437 APPTERM 4, 8
+ 440 RESTART
+ 441 GRAB 3
+ 443 CONST0
+ 444 PUSHACC3
+ 445 LTINT
+ 446 BRANCHIF 457
+ 448 ACC1
+ 449 C_CALL1 ml_string_length
+ 451 PUSHACC4
+ 452 PUSHACC4
+ 453 ADDINT
+ 454 GTINT
+ 455 BRANCHIFNOT 462
+ 457 GETGLOBAL "input"
+ 459 PUSHENVACC1
+ 460 APPTERM1 5
+ 462 ACC3
+ 463 PUSHACC3
+ 464 PUSHACC3
+ 465 PUSHACC3
+ 466 C_CALL4 caml_input
+ 468 RETURN 4
+ 470 ACC0
+ 471 PUSHCONST0
+ 472 PUSHGETGLOBAL <0>(0, <0>(6, 0))
+ 474 PUSHENVACC1
+ 475 APPTERM3 4
+ 477 ACC0
+ 478 PUSHCONST0
+ 479 PUSHGETGLOBAL <0>(0, <0>(7, 0))
+ 481 PUSHENVACC1
+ 482 APPTERM3 4
+ 484 RESTART
+ 485 GRAB 2
+ 487 ACC1
+ 488 PUSHACC1
+ 489 PUSHACC4
+ 490 C_CALL3 sys_open
+ 492 C_CALL1 caml_open_descriptor
+ 494 RETURN 3
+ 496 ACC0
+ 497 C_CALL1 caml_flush
+ 499 ACC0
+ 500 C_CALL1 caml_close_channel
+ 502 RETURN 1
+ 504 RESTART
+ 505 GRAB 1
+ 507 CONST0
+ 508 PUSHACC2
+ 509 PUSHACC2
+ 510 C_CALL3 output_value
+ 512 RETURN 2
+ 514 RESTART
+ 515 GRAB 3
+ 517 CONST0
+ 518 PUSHACC3
+ 519 LTINT
+ 520 BRANCHIF 531
+ 522 ACC1
+ 523 C_CALL1 ml_string_length
+ 525 PUSHACC4
+ 526 PUSHACC4
+ 527 ADDINT
+ 528 GTINT
+ 529 BRANCHIFNOT 536
+ 531 GETGLOBAL "output"
+ 533 PUSHENVACC1
+ 534 APPTERM1 5
+ 536 ACC3
+ 537 PUSHACC3
+ 538 PUSHACC3
+ 539 PUSHACC3
+ 540 C_CALL4 caml_output
+ 542 RETURN 4
+ 544 RESTART
+ 545 GRAB 1
+ 547 ACC1
+ 548 C_CALL1 ml_string_length
+ 550 PUSHCONST0
+ 551 PUSHACC3
+ 552 PUSHACC3
+ 553 C_CALL4 caml_output
+ 555 RETURN 2
+ 557 ACC0
+ 558 PUSHCONSTINT 438
+ 560 PUSHGETGLOBAL <0>(1, <0>(3, <0>(4, <0>(6, 0))))
+ 562 PUSHENVACC1
+ 563 APPTERM3 4
+ 565 ACC0
+ 566 PUSHCONSTINT 438
+ 568 PUSHGETGLOBAL <0>(1, <0>(3, <0>(4, <0>(7, 0))))
+ 570 PUSHENVACC1
+ 571 APPTERM3 4
+ 573 RESTART
+ 574 GRAB 2
+ 576 ACC1
+ 577 PUSHACC1
+ 578 PUSHACC4
+ 579 C_CALL3 sys_open
+ 581 C_CALL1 caml_open_descriptor
+ 583 RETURN 3
+ 585 ACC0
+ 586 PUSHGETGLOBAL "%.12g"
+ 588 C_CALL2 format_float
+ 590 RETURN 1
+ 592 ACC0
+ 593 PUSHGETGLOBAL "%d"
+ 595 C_CALL2 format_int
+ 597 RETURN 1
+ 599 GETGLOBAL "false"
+ 601 PUSHACC1
+ 602 C_CALL2 string_equal
+ 604 BRANCHIFNOT 609
+ 606 CONST0
+ 607 RETURN 1
+ 609 GETGLOBAL "true"
+ 611 PUSHACC1
+ 612 C_CALL2 string_equal
+ 614 BRANCHIFNOT 619
+ 616 CONST1
+ 617 RETURN 1
+ 619 GETGLOBAL "bool_of_string"
+ 621 PUSHENVACC1
+ 622 APPTERM1 2
+ 624 ACC0
+ 625 BRANCHIFNOT 631
+ 627 GETGLOBAL "true"
+ 629 RETURN 1
+ 631 GETGLOBAL "false"
+ 633 RETURN 1
+ 635 CONST0
+ 636 PUSHACC1
+ 637 LTINT
+ 638 BRANCHIF 646
+ 640 CONSTINT 255
+ 642 PUSHACC1
+ 643 GTINT
+ 644 BRANCHIFNOT 651
+ 646 GETGLOBAL "char_of_int"
+ 648 PUSHENVACC1
+ 649 APPTERM1 2
+ 651 ACC0
+ 652 RETURN 1
+ 654 RESTART
+ 655 GRAB 1
+ 657 ACC0
+ 658 C_CALL1 ml_string_length
+ 660 PUSHACC2
+ 661 C_CALL1 ml_string_length
+ 663 PUSHACC0
+ 664 PUSHACC2
+ 665 ADDINT
+ 666 C_CALL1 create_string
+ 668 PUSHACC2
+ 669 PUSHCONST0
+ 670 PUSHACC2
+ 671 PUSHCONST0
+ 672 PUSHACC7
+ 673 C_CALL5 blit_string
+ 675 ACC1
+ 676 PUSHACC3
+ 677 PUSHACC2
+ 678 PUSHCONST0
+ 679 PUSHACC 8
+ 681 C_CALL5 blit_string
+ 683 ACC0
+ 684 RETURN 5
+ 686 CONSTINT -1
+ 688 PUSHACC1
+ 689 XORINT
+ 690 RETURN 1
+ 692 CONST0
+ 693 PUSHACC1
+ 694 GEINT
+ 695 BRANCHIFNOT 700
+ 697 ACC0
+ 698 RETURN 1
+ 700 ACC0
+ 701 NEGINT
+ 702 RETURN 1
+ 704 RESTART
+ 705 GRAB 1
+ 707 ACC1
+ 708 PUSHACC1
+ 709 C_CALL2 greaterequal
+ 711 BRANCHIFNOT 716
+ 713 ACC0
+ 714 RETURN 2
+ 716 ACC1
+ 717 RETURN 2
+ 719 RESTART
+ 720 GRAB 1
+ 722 ACC1
+ 723 PUSHACC1
+ 724 C_CALL2 lessequal
+ 726 BRANCHIFNOT 731
+ 728 ACC0
+ 729 RETURN 2
+ 731 ACC1
+ 732 RETURN 2
+ 734 ACC0
+ 735 PUSHGETGLOBAL Invalid_argument
+ 737 MAKEBLOCK2 0
+ 739 RAISE
+ 740 ACC0
+ 741 PUSHGETGLOBAL Failure
+ 743 MAKEBLOCK2 0
+ 745 RAISE
+ 746 CLOSURE 0, 740
+ 749 PUSH
+ 750 CLOSURE 0, 734
+ 753 PUSHGETGLOBAL "Pervasives.Exit"
+ 755 MAKEBLOCK1 0
+ 757 PUSHGETGLOBAL "Pervasives.Assert_failure"
+ 759 MAKEBLOCK1 0
+ 761 PUSH
+ 762 CLOSURE 0, 720
+ 765 PUSH
+ 766 CLOSURE 0, 705
+ 769 PUSH
+ 770 CLOSURE 0, 692
+ 773 PUSH
+ 774 CLOSURE 0, 686
+ 777 PUSHCONST0
+ 778 PUSHCONSTINT 31
+ 780 PUSHCONST1
+ 781 LSLINT
+ 782 EQ
+ 783 BRANCHIFNOT 789
+ 785 CONSTINT 30
+ 787 BRANCH 791
+ 789 CONSTINT 62
+ 791 PUSHCONST1
+ 792 LSLINT
+ 793 PUSHACC0
+ 794 OFFSETINT -1
+ 796 PUSH
+ 797 CLOSURE 0, 655
+ 800 PUSHACC 9
+ 802 CLOSURE 1, 635
+ 805 PUSH
+ 806 CLOSURE 0, 624
+ 809 PUSHACC 11
+ 811 CLOSURE 1, 599
+ 814 PUSH
+ 815 CLOSURE 0, 592
+ 818 PUSH
+ 819 CLOSURE 0, 585
+ 822 PUSH
+ 823 CLOSUREREC 0, 12
+ 827 CONST0
+ 828 C_CALL1 caml_open_descriptor
+ 830 PUSHCONST1
+ 831 C_CALL1 caml_open_descriptor
+ 833 PUSHCONST2
+ 834 C_CALL1 caml_open_descriptor
+ 836 PUSH
+ 837 CLOSURE 0, 574
+ 840 PUSHACC0
+ 841 CLOSURE 1, 565
+ 844 PUSHACC1
+ 845 CLOSURE 1, 557
+ 848 PUSH
+ 849 CLOSURE 0, 545
+ 852 PUSHACC 22
+ 854 CLOSURE 1, 515
+ 857 PUSH
+ 858 CLOSURE 0, 505
+ 861 PUSH
+ 862 CLOSURE 0, 496
+ 865 PUSH
+ 866 CLOSURE 0, 485
+ 869 PUSHACC0
+ 870 CLOSURE 1, 477
+ 873 PUSHACC1
+ 874 CLOSURE 1, 470
+ 877 PUSHACC 28
+ 879 CLOSURE 1, 441
+ 882 PUSH
+ 883 CLOSUREREC 0, 32
+ 887 ACC0
+ 888 PUSHACC 31
+ 890 CLOSURE 2, 411
+ 893 PUSHACC 22
+ 895 CLOSUREREC 1, 70
+ 899 ACC 15
+ 901 CLOSURE 1, 404
+ 904 PUSHACC 11
+ 906 PUSHACC 17
+ 908 CLOSURE 2, 399
+ 911 PUSHACC 12
+ 913 PUSHACC 18
+ 915 PUSHACC 23
+ 917 CLOSURE 3, 392
+ 920 PUSHACC 13
+ 922 PUSHACC 19
+ 924 PUSHACC 23
+ 926 CLOSURE 3, 385
+ 929 PUSHACC 14
+ 931 PUSHACC 20
+ 933 CLOSURE 2, 374
+ 936 PUSHACC 20
+ 938 CLOSURE 1, 364
+ 941 PUSHACC 20
+ 943 CLOSURE 1, 358
+ 946 PUSHACC 17
+ 948 PUSHACC 22
+ 950 CLOSURE 2, 353
+ 953 PUSHACC 18
+ 955 PUSHACC 23
+ 957 PUSHACC 29
+ 959 CLOSURE 3, 346
+ 962 PUSHACC 19
+ 964 PUSHACC 24
+ 966 PUSHACC 29
+ 968 CLOSURE 3, 339
+ 971 PUSHACC 20
+ 973 PUSHACC 25
+ 975 CLOSURE 2, 325
+ 978 PUSHACC 25
+ 980 CLOSURE 1, 315
+ 983 PUSHACC 12
+ 985 PUSHACC 28
+ 987 PUSHACC 30
+ 989 CLOSURE 3, 308
+ 992 PUSHACC0
+ 993 CLOSURE 1, 301
+ 996 PUSHACC1
+ 997 CLOSURE 1, 294
+ 1000 PUSHACC 29
+ 1002 PUSHACC 31
+ 1004 CLOSURE 2, 286
+ 1007 MAKEBLOCK1 0
+ 1009 PUSHACC0
+ 1010 CLOSURE 1, 275
+ 1013 PUSHACC1
+ 1014 CLOSURE 1, 263
+ 1017 PUSHACC0
+ 1018 CLOSURE 1, 255
+ 1021 PUSHACC1
+ 1022 PUSHACC 22
+ 1024 PUSHACC4
+ 1025 PUSHACC3
+ 1026 PUSH
+ 1027 CLOSURE 0, 247
+ 1030 PUSH
+ 1031 CLOSURE 0, 241
+ 1034 PUSH
+ 1035 CLOSURE 0, 236
+ 1038 PUSH
+ 1039 CLOSURE 0, 231
+ 1042 PUSH
+ 1043 CLOSURE 0, 223
+ 1046 PUSH
+ 1047 CLOSURE 0, 217
+ 1050 PUSH
+ 1051 CLOSURE 0, 212
+ 1054 PUSH
+ 1055 CLOSURE 0, 207
+ 1058 PUSHACC 32
+ 1060 PUSHACC 35
+ 1062 PUSHACC 33
+ 1064 PUSH
+ 1065 CLOSURE 0, 202
+ 1068 PUSHACC 41
+ 1070 PUSHACC 40
+ 1072 PUSHACC 42
+ 1074 PUSH
+ 1075 CLOSURE 0, 194
+ 1078 PUSHACC 46
+ 1080 PUSH
+ 1081 CLOSURE 0, 188
+ 1084 PUSH
+ 1085 CLOSURE 0, 183
+ 1088 PUSH
+ 1089 CLOSURE 0, 175
+ 1092 PUSHACC 51
+ 1094 PUSH
+ 1095 CLOSURE 0, 166
+ 1098 PUSH
+ 1099 CLOSURE 0, 157
+ 1102 PUSHACC 55
+ 1104 PUSHACC 57
+ 1106 PUSH
+ 1107 CLOSURE 0, 148
+ 1110 PUSH
+ 1111 CLOSURE 0, 142
+ 1114 PUSHACC 63
+ 1116 PUSHACC 62
+ 1118 PUSHACC 64
+ 1120 PUSHACC 38
+ 1122 PUSHACC 40
+ 1124 PUSHACC 42
+ 1126 PUSHACC 44
+ 1128 PUSHACC 46
+ 1130 PUSHACC 48
+ 1132 PUSHACC 50
+ 1134 PUSHACC 52
+ 1136 PUSHACC 54
+ 1138 PUSHACC 56
+ 1140 PUSHACC 58
+ 1142 PUSHACC 60
+ 1144 PUSHACC 62
+ 1146 PUSHACC 64
+ 1148 PUSHACC 66
+ 1150 PUSHACC 82
+ 1152 PUSHACC 84
+ 1154 PUSHACC 86
+ 1156 PUSHACC 88
+ 1158 PUSHACC 90
+ 1160 PUSHACC 92
+ 1162 PUSHACC 94
+ 1164 PUSHACC 96
+ 1166 PUSHACC 98
+ 1168 PUSHACC 100
+ 1170 PUSHACC 104
+ 1172 PUSHACC 104
+ 1174 PUSHACC 104
+ 1176 PUSHACC 108
+ 1178 PUSHACC 110
+ 1180 PUSHACC 112
+ 1182 PUSHACC 117
+ 1184 PUSHACC 117
+ 1186 PUSHACC 117
+ 1188 PUSHACC 117
+ 1190 MAKEBLOCK 69, 0
+ 1193 POP 53
+ 1195 SETGLOBAL Pervasives
+ 1197 BRANCH 2177
+ 1199 RESTART
+ 1200 GRAB 1
+ 1202 ACC1
+ 1203 BRANCHIFNOT 1213
+ 1205 ACC1
+ 1206 GETFIELD1
+ 1207 PUSHACC1
+ 1208 OFFSETINT 1
+ 1210 PUSHOFFSETCLOSURE0
+ 1211 APPTERM2 4
+ 1213 ACC0
+ 1214 RETURN 2
+ 1216 RESTART
+ 1217 GRAB 1
+ 1219 ACC0
+ 1220 BRANCHIFNOT 1251
+ 1222 CONST0
+ 1223 PUSHACC2
+ 1224 EQ
+ 1225 BRANCHIFNOT 1231
+ 1227 ACC0
+ 1228 GETFIELD0
+ 1229 RETURN 2
+ 1231 CONST0
+ 1232 PUSHACC2
+ 1233 GTINT
+ 1234 BRANCHIFNOT 1244
+ 1236 ACC1
+ 1237 OFFSETINT -1
+ 1239 PUSHACC1
+ 1240 GETFIELD1
+ 1241 PUSHOFFSETCLOSURE0
+ 1242 APPTERM2 4
+ 1244 GETGLOBAL "List.nth"
+ 1246 PUSHGETGLOBALFIELD Pervasives, 2
+ 1249 APPTERM1 3
+ 1251 GETGLOBAL "nth"
+ 1253 PUSHGETGLOBALFIELD Pervasives, 3
+ 1256 APPTERM1 3
+ 1258 RESTART
+ 1259 GRAB 1
+ 1261 ACC0
+ 1262 BRANCHIFNOT 1274
+ 1264 ACC1
+ 1265 PUSHACC1
+ 1266 GETFIELD0
+ 1267 MAKEBLOCK2 0
+ 1269 PUSHACC1
+ 1270 GETFIELD1
+ 1271 PUSHOFFSETCLOSURE0
+ 1272 APPTERM2 4
+ 1274 ACC1
+ 1275 RETURN 2
+ 1277 ACC0
+ 1278 BRANCHIFNOT 1291
+ 1280 ACC0
+ 1281 GETFIELD1
+ 1282 PUSHOFFSETCLOSURE0
+ 1283 APPLY1
+ 1284 PUSHACC1
+ 1285 GETFIELD0
+ 1286 PUSHGETGLOBALFIELD Pervasives, 16
+ 1289 APPTERM2 3
+ 1291 RETURN 1
+ 1293 RESTART
+ 1294 GRAB 1
+ 1296 ACC1
+ 1297 BRANCHIFNOT 1313
+ 1299 ACC1
+ 1300 GETFIELD0
+ 1301 PUSHACC1
+ 1302 APPLY1
+ 1303 PUSHACC2
+ 1304 GETFIELD1
+ 1305 PUSHACC2
+ 1306 PUSHOFFSETCLOSURE0
+ 1307 APPLY2
+ 1308 PUSHACC1
+ 1309 MAKEBLOCK2 0
+ 1311 POP 1
+ 1313 RETURN 2
+ 1315 RESTART
+ 1316 GRAB 1
+ 1318 ACC1
+ 1319 BRANCHIFNOT 1331
+ 1321 ACC1
+ 1322 GETFIELD0
+ 1323 PUSHACC1
+ 1324 APPLY1
+ 1325 ACC1
+ 1326 GETFIELD1
+ 1327 PUSHACC1
+ 1328 PUSHOFFSETCLOSURE0
+ 1329 APPTERM2 4
+ 1331 RETURN 2
+ 1333 RESTART
+ 1334 GRAB 2
+ 1336 ACC2
+ 1337 BRANCHIFNOT 1350
+ 1339 ACC2
+ 1340 GETFIELD1
+ 1341 PUSHACC3
+ 1342 GETFIELD0
+ 1343 PUSHACC3
+ 1344 PUSHACC3
+ 1345 APPLY2
+ 1346 PUSHACC2
+ 1347 PUSHOFFSETCLOSURE0
+ 1348 APPTERM3 6
+ 1350 ACC1
+ 1351 RETURN 3
+ 1353 RESTART
+ 1354 GRAB 2
+ 1356 ACC1
+ 1357 BRANCHIFNOT 1370
+ 1359 ACC2
+ 1360 PUSHACC2
+ 1361 GETFIELD1
+ 1362 PUSHACC2
+ 1363 PUSHOFFSETCLOSURE0
+ 1364 APPLY3
+ 1365 PUSHACC2
+ 1366 GETFIELD0
+ 1367 PUSHACC2
+ 1368 APPTERM2 5
+ 1370 ACC2
+ 1371 RETURN 3
+ 1373 RESTART
+ 1374 GRAB 2
+ 1376 ACC1
+ 1377 BRANCHIFNOT 1400
+ 1379 ACC2
+ 1380 BRANCHIFNOT 1407
+ 1382 ACC2
+ 1383 GETFIELD0
+ 1384 PUSHACC2
+ 1385 GETFIELD0
+ 1386 PUSHACC2
+ 1387 APPLY2
+ 1388 PUSHACC3
+ 1389 GETFIELD1
+ 1390 PUSHACC3
+ 1391 GETFIELD1
+ 1392 PUSHACC3
+ 1393 PUSHOFFSETCLOSURE0
+ 1394 APPLY3
+ 1395 PUSHACC1
+ 1396 MAKEBLOCK2 0
+ 1398 RETURN 4
+ 1400 ACC2
+ 1401 BRANCHIFNOT 1405
+ 1403 BRANCH 1407
+ 1405 RETURN 3
+ 1407 GETGLOBAL "List.map2"
+ 1409 PUSHGETGLOBALFIELD Pervasives, 2
+ 1412 APPTERM1 4
+ 1414 RESTART
+ 1415 GRAB 2
+ 1417 ACC1
+ 1418 BRANCHIFNOT 1437
+ 1420 ACC2
+ 1421 BRANCHIFNOT 1444
+ 1423 ACC2
+ 1424 GETFIELD0
+ 1425 PUSHACC2
+ 1426 GETFIELD0
+ 1427 PUSHACC2
+ 1428 APPLY2
+ 1429 ACC2
+ 1430 GETFIELD1
+ 1431 PUSHACC2
+ 1432 GETFIELD1
+ 1433 PUSHACC2
+ 1434 PUSHOFFSETCLOSURE0
+ 1435 APPTERM3 6
+ 1437 ACC2
+ 1438 BRANCHIFNOT 1442
+ 1440 BRANCH 1444
+ 1442 RETURN 3
+ 1444 GETGLOBAL "List.iter2"
+ 1446 PUSHGETGLOBALFIELD Pervasives, 2
+ 1449 APPTERM1 4
+ 1451 RESTART
+ 1452 GRAB 3
+ 1454 ACC2
+ 1455 BRANCHIFNOT 1476
+ 1457 ACC3
+ 1458 BRANCHIFNOT 1482
+ 1460 ACC3
+ 1461 GETFIELD1
+ 1462 PUSHACC3
+ 1463 GETFIELD1
+ 1464 PUSHACC5
+ 1465 GETFIELD0
+ 1466 PUSHACC5
+ 1467 GETFIELD0
+ 1468 PUSHACC5
+ 1469 PUSHACC5
+ 1470 APPLY3
+ 1471 PUSHACC3
+ 1472 PUSHOFFSETCLOSURE0
+ 1473 APPTERM 4, 8
+ 1476 ACC3
+ 1477 BRANCHIF 1482
+ 1479 ACC1
+ 1480 RETURN 4
+ 1482 GETGLOBAL "List.fold_left2"
+ 1484 PUSHGETGLOBALFIELD Pervasives, 2
+ 1487 APPTERM1 5
+ 1489 RESTART
+ 1490 GRAB 3
+ 1492 ACC1
+ 1493 BRANCHIFNOT 1516
+ 1495 ACC2
+ 1496 BRANCHIFNOT 1522
+ 1498 PUSH_RETADDR 1509
+ 1500 ACC6
+ 1501 PUSHACC6
+ 1502 GETFIELD1
+ 1503 PUSHACC6
+ 1504 GETFIELD1
+ 1505 PUSHACC6
+ 1506 PUSHOFFSETCLOSURE0
+ 1507 APPLY 4
+ 1509 PUSHACC3
+ 1510 GETFIELD0
+ 1511 PUSHACC3
+ 1512 GETFIELD0
+ 1513 PUSHACC3
+ 1514 APPTERM3 7
+ 1516 ACC2
+ 1517 BRANCHIF 1522
+ 1519 ACC3
+ 1520 RETURN 4
+ 1522 GETGLOBAL "List.fold_right2"
+ 1524 PUSHGETGLOBALFIELD Pervasives, 2
+ 1527 APPTERM1 5
+ 1529 RESTART
+ 1530 GRAB 1
+ 1532 ACC1
+ 1533 BRANCHIFNOT 1549
+ 1535 ACC1
+ 1536 GETFIELD0
+ 1537 PUSHACC1
+ 1538 APPLY1
+ 1539 BRANCHIFNOT 1547
+ 1541 ACC1
+ 1542 GETFIELD1
+ 1543 PUSHACC1
+ 1544 PUSHOFFSETCLOSURE0
+ 1545 APPTERM2 4
+ 1547 RETURN 2
+ 1549 CONST1
+ 1550 RETURN 2
+ 1552 RESTART
+ 1553 GRAB 1
+ 1555 ACC1
+ 1556 BRANCHIFNOT 1570
+ 1558 ACC1
+ 1559 GETFIELD0
+ 1560 PUSHACC1
+ 1561 APPLY1
+ 1562 BRANCHIF 1570
+ 1564 ACC1
+ 1565 GETFIELD1
+ 1566 PUSHACC1
+ 1567 PUSHOFFSETCLOSURE0
+ 1568 APPTERM2 4
+ 1570 RETURN 2
+ 1572 RESTART
+ 1573 GRAB 2
+ 1575 ACC1
+ 1576 BRANCHIFNOT 1599
+ 1578 ACC2
+ 1579 BRANCHIFNOT 1605
+ 1581 ACC2
+ 1582 GETFIELD0
+ 1583 PUSHACC2
+ 1584 GETFIELD0
+ 1585 PUSHACC2
+ 1586 APPLY2
+ 1587 BRANCHIFNOT 1597
+ 1589 ACC2
+ 1590 GETFIELD1
+ 1591 PUSHACC2
+ 1592 GETFIELD1
+ 1593 PUSHACC2
+ 1594 PUSHOFFSETCLOSURE0
+ 1595 APPTERM3 6
+ 1597 RETURN 3
+ 1599 ACC2
+ 1600 BRANCHIF 1605
+ 1602 CONST1
+ 1603 RETURN 3
+ 1605 GETGLOBAL "List.for_all2"
+ 1607 PUSHGETGLOBALFIELD Pervasives, 2
+ 1610 APPTERM1 4
+ 1612 RESTART
+ 1613 GRAB 2
+ 1615 ACC1
+ 1616 BRANCHIFNOT 1639
+ 1618 ACC2
+ 1619 BRANCHIFNOT 1646
+ 1621 ACC2
+ 1622 GETFIELD0
+ 1623 PUSHACC2
+ 1624 GETFIELD0
+ 1625 PUSHACC2
+ 1626 APPLY2
+ 1627 BRANCHIF 1637
+ 1629 ACC2
+ 1630 GETFIELD1
+ 1631 PUSHACC2
+ 1632 GETFIELD1
+ 1633 PUSHACC2
+ 1634 PUSHOFFSETCLOSURE0
+ 1635 APPTERM3 6
+ 1637 RETURN 3
+ 1639 ACC2
+ 1640 BRANCHIFNOT 1644
+ 1642 BRANCH 1646
+ 1644 RETURN 3
+ 1646 GETGLOBAL "List.exists2"
+ 1648 PUSHGETGLOBALFIELD Pervasives, 2
+ 1651 APPTERM1 4
+ 1653 RESTART
+ 1654 GRAB 1
+ 1656 ACC1
+ 1657 BRANCHIFNOT 1672
+ 1659 ACC0
+ 1660 PUSHACC2
+ 1661 GETFIELD0
+ 1662 C_CALL2 equal
+ 1664 BRANCHIF 1672
+ 1666 ACC1
+ 1667 GETFIELD1
+ 1668 PUSHACC1
+ 1669 PUSHOFFSETCLOSURE0
+ 1670 APPTERM2 4
+ 1672 RETURN 2
+ 1674 RESTART
+ 1675 GRAB 1
+ 1677 ACC1
+ 1678 BRANCHIFNOT 1692
+ 1680 ACC0
+ 1681 PUSHACC2
+ 1682 GETFIELD0
+ 1683 EQ
+ 1684 BRANCHIF 1692
+ 1686 ACC1
+ 1687 GETFIELD1
+ 1688 PUSHACC1
+ 1689 PUSHOFFSETCLOSURE0
+ 1690 APPTERM2 4
+ 1692 RETURN 2
+ 1694 RESTART
+ 1695 GRAB 1
+ 1697 ACC1
+ 1698 BRANCHIFNOT 1719
+ 1700 ACC1
+ 1701 GETFIELD0
+ 1702 PUSHACC1
+ 1703 PUSHACC1
+ 1704 GETFIELD0
+ 1705 C_CALL2 equal
+ 1707 BRANCHIFNOT 1713
+ 1709 ACC0
+ 1710 GETFIELD1
+ 1711 RETURN 3
+ 1713 ACC2
+ 1714 GETFIELD1
+ 1715 PUSHACC2
+ 1716 PUSHOFFSETCLOSURE0
+ 1717 APPTERM2 5
+ 1719 GETGLOBAL Not_found
+ 1721 MAKEBLOCK1 0
+ 1723 RAISE
+ 1724 RESTART
+ 1725 GRAB 1
+ 1727 ACC1
+ 1728 BRANCHIFNOT 1748
+ 1730 ACC1
+ 1731 GETFIELD0
+ 1732 PUSHACC1
+ 1733 PUSHACC1
+ 1734 GETFIELD0
+ 1735 EQ
+ 1736 BRANCHIFNOT 1742
+ 1738 ACC0
+ 1739 GETFIELD1
+ 1740 RETURN 3
+ 1742 ACC2
+ 1743 GETFIELD1
+ 1744 PUSHACC2
+ 1745 PUSHOFFSETCLOSURE0
+ 1746 APPTERM2 5
+ 1748 GETGLOBAL Not_found
+ 1750 MAKEBLOCK1 0
+ 1752 RAISE
+ 1753 RESTART
+ 1754 GRAB 1
+ 1756 ACC1
+ 1757 BRANCHIFNOT 1773
+ 1759 ACC0
+ 1760 PUSHACC2
+ 1761 GETFIELD0
+ 1762 GETFIELD0
+ 1763 C_CALL2 equal
+ 1765 BRANCHIF 1773
+ 1767 ACC1
+ 1768 GETFIELD1
+ 1769 PUSHACC1
+ 1770 PUSHOFFSETCLOSURE0
+ 1771 APPTERM2 4
+ 1773 RETURN 2
+ 1775 RESTART
+ 1776 GRAB 1
+ 1778 ACC1
+ 1779 BRANCHIFNOT 1794
+ 1781 ACC0
+ 1782 PUSHACC2
+ 1783 GETFIELD0
+ 1784 GETFIELD0
+ 1785 EQ
+ 1786 BRANCHIF 1794
+ 1788 ACC1
+ 1789 GETFIELD1
+ 1790 PUSHACC1
+ 1791 PUSHOFFSETCLOSURE0
+ 1792 APPTERM2 4
+ 1794 RETURN 2
+ 1796 RESTART
+ 1797 GRAB 1
+ 1799 ACC1
+ 1800 BRANCHIFNOT 1825
+ 1802 ACC1
+ 1803 GETFIELD0
+ 1804 PUSHACC2
+ 1805 GETFIELD1
+ 1806 PUSHACC2
+ 1807 PUSHACC2
+ 1808 GETFIELD0
+ 1809 C_CALL2 equal
+ 1811 BRANCHIFNOT 1816
+ 1813 ACC0
+ 1814 RETURN 4
+ 1816 ACC0
+ 1817 PUSHACC3
+ 1818 PUSHOFFSETCLOSURE0
+ 1819 APPLY2
+ 1820 PUSHACC2
+ 1821 MAKEBLOCK2 0
+ 1823 POP 2
+ 1825 RETURN 2
+ 1827 RESTART
+ 1828 GRAB 1
+ 1830 ACC1
+ 1831 BRANCHIFNOT 1855
+ 1833 ACC1
+ 1834 GETFIELD0
+ 1835 PUSHACC2
+ 1836 GETFIELD1
+ 1837 PUSHACC2
+ 1838 PUSHACC2
+ 1839 GETFIELD0
+ 1840 EQ
+ 1841 BRANCHIFNOT 1846
+ 1843 ACC0
+ 1844 RETURN 4
+ 1846 ACC0
+ 1847 PUSHACC3
+ 1848 PUSHOFFSETCLOSURE0
+ 1849 APPLY2
+ 1850 PUSHACC2
+ 1851 MAKEBLOCK2 0
+ 1853 POP 2
+ 1855 RETURN 2
+ 1857 RESTART
+ 1858 GRAB 1
+ 1860 ACC1
+ 1861 BRANCHIFNOT 1879
+ 1863 ACC1
+ 1864 GETFIELD0
+ 1865 PUSHACC0
+ 1866 PUSHACC2
+ 1867 APPLY1
+ 1868 BRANCHIFNOT 1873
+ 1870 ACC0
+ 1871 RETURN 3
+ 1873 ACC2
+ 1874 GETFIELD1
+ 1875 PUSHACC2
+ 1876 PUSHOFFSETCLOSURE0
+ 1877 APPTERM2 5
+ 1879 GETGLOBAL Not_found
+ 1881 MAKEBLOCK1 0
+ 1883 RAISE
+ 1884 RESTART
+ 1885 GRAB 2
+ 1887 ACC2
+ 1888 BRANCHIFNOT 1917
+ 1890 ACC2
+ 1891 GETFIELD0
+ 1892 PUSHACC3
+ 1893 GETFIELD1
+ 1894 PUSHACC1
+ 1895 PUSHENVACC2
+ 1896 APPLY1
+ 1897 BRANCHIFNOT 1908
+ 1899 ACC0
+ 1900 PUSHACC4
+ 1901 PUSHACC4
+ 1902 PUSHACC4
+ 1903 MAKEBLOCK2 0
+ 1905 PUSHOFFSETCLOSURE0
+ 1906 APPTERM3 8
+ 1908 ACC0
+ 1909 PUSHACC4
+ 1910 PUSHACC3
+ 1911 MAKEBLOCK2 0
+ 1913 PUSHACC4
+ 1914 PUSHOFFSETCLOSURE0
+ 1915 APPTERM3 8
+ 1917 ACC1
+ 1918 PUSHENVACC1
+ 1919 APPLY1
+ 1920 PUSHACC1
+ 1921 PUSHENVACC1
+ 1922 APPLY1
+ 1923 MAKEBLOCK2 0
+ 1925 RETURN 3
+ 1927 RESTART
+ 1928 GRAB 1
+ 1930 ACC0
+ 1931 PUSHENVACC1
+ 1932 CLOSUREREC 2, 1885
+ 1936 ACC2
+ 1937 PUSHCONST0
+ 1938 PUSHCONST0
+ 1939 PUSHACC3
+ 1940 APPTERM3 6
+ 1942 ACC0
+ 1943 BRANCHIFNOT 1967
+ 1945 ACC0
+ 1946 GETFIELD0
+ 1947 PUSHACC1
+ 1948 GETFIELD1
+ 1949 PUSHOFFSETCLOSURE0
+ 1950 APPLY1
+ 1951 PUSHACC0
+ 1952 GETFIELD1
+ 1953 PUSHACC2
+ 1954 GETFIELD1
+ 1955 MAKEBLOCK2 0
+ 1957 PUSHACC1
+ 1958 GETFIELD0
+ 1959 PUSHACC3
+ 1960 GETFIELD0
+ 1961 MAKEBLOCK2 0
+ 1963 MAKEBLOCK2 0
+ 1965 RETURN 3
+ 1967 GETGLOBAL <0>(0, 0)
+ 1969 RETURN 1
+ 1971 RESTART
+ 1972 GRAB 1
+ 1974 ACC0
+ 1975 BRANCHIFNOT 1996
+ 1977 ACC1
+ 1978 BRANCHIFNOT 2003
+ 1980 ACC1
+ 1981 GETFIELD1
+ 1982 PUSHACC1
+ 1983 GETFIELD1
+ 1984 PUSHOFFSETCLOSURE0
+ 1985 APPLY2
+ 1986 PUSHACC2
+ 1987 GETFIELD0
+ 1988 PUSHACC2
+ 1989 GETFIELD0
+ 1990 MAKEBLOCK2 0
+ 1992 MAKEBLOCK2 0
+ 1994 RETURN 2
+ 1996 ACC1
+ 1997 BRANCHIFNOT 2001
+ 1999 BRANCH 2003
+ 2001 RETURN 2
+ 2003 GETGLOBAL "List.combine"
+ 2005 PUSHGETGLOBALFIELD Pervasives, 2
+ 2008 APPTERM1 3
+ 2010 RESTART
+ 2011 GRAB 1
+ 2013 ACC1
+ 2014 BRANCHIFNOT 2038
+ 2016 ACC1
+ 2017 GETFIELD0
+ 2018 PUSHACC2
+ 2019 GETFIELD1
+ 2020 PUSHACC1
+ 2021 PUSHENVACC2
+ 2022 APPLY1
+ 2023 BRANCHIFNOT 2033
+ 2025 ACC0
+ 2026 PUSHACC3
+ 2027 PUSHACC3
+ 2028 MAKEBLOCK2 0
+ 2030 PUSHOFFSETCLOSURE0
+ 2031 APPTERM2 6
+ 2033 ACC0
+ 2034 PUSHACC3
+ 2035 PUSHOFFSETCLOSURE0
+ 2036 APPTERM2 6
+ 2038 ACC0
+ 2039 PUSHENVACC1
+ 2040 APPTERM1 3
+ 2042 ACC0
+ 2043 PUSHENVACC1
+ 2044 CLOSUREREC 2, 2011
+ 2048 CONST0
+ 2049 PUSHACC1
+ 2050 APPTERM1 3
+ 2052 RESTART
+ 2053 GRAB 2
+ 2055 ACC1
+ 2056 BRANCHIFNOT 2077
+ 2058 ACC2
+ 2059 BRANCHIFNOT 2084
+ 2061 ACC2
+ 2062 GETFIELD1
+ 2063 PUSHACC2
+ 2064 GETFIELD1
+ 2065 PUSHACC2
+ 2066 PUSHACC5
+ 2067 GETFIELD0
+ 2068 PUSHACC5
+ 2069 GETFIELD0
+ 2070 PUSHENVACC1
+ 2071 APPLY2
+ 2072 MAKEBLOCK2 0
+ 2074 PUSHOFFSETCLOSURE0
+ 2075 APPTERM3 6
+ 2077 ACC2
+ 2078 BRANCHIFNOT 2082
+ 2080 BRANCH 2084
+ 2082 RETURN 3
+ 2084 GETGLOBAL "List.rev_map2"
+ 2086 PUSHGETGLOBALFIELD Pervasives, 2
+ 2089 APPTERM1 4
+ 2091 RESTART
+ 2092 GRAB 2
+ 2094 ACC0
+ 2095 CLOSUREREC 1, 2053
+ 2099 ACC3
+ 2100 PUSHACC3
+ 2101 PUSHCONST0
+ 2102 PUSHACC3
+ 2103 APPTERM3 7
+ 2105 RESTART
+ 2106 GRAB 1
+ 2108 ACC1
+ 2109 BRANCHIFNOT 2123
+ 2111 ACC1
+ 2112 GETFIELD1
+ 2113 PUSHACC1
+ 2114 PUSHACC3
+ 2115 GETFIELD0
+ 2116 PUSHENVACC1
+ 2117 APPLY1
+ 2118 MAKEBLOCK2 0
+ 2120 PUSHOFFSETCLOSURE0
+ 2121 APPTERM2 4
+ 2123 ACC0
+ 2124 RETURN 2
+ 2126 RESTART
+ 2127 GRAB 1
+ 2129 ACC0
+ 2130 CLOSUREREC 1, 2106
+ 2134 ACC2
+ 2135 PUSHCONST0
+ 2136 PUSHACC2
+ 2137 APPTERM2 5
+ 2139 CONST0
+ 2140 PUSHACC1
+ 2141 PUSHENVACC1
+ 2142 APPTERM2 3
+ 2144 ACC0
+ 2145 BRANCHIFNOT 2151
+ 2147 ACC0
+ 2148 GETFIELD1
+ 2149 RETURN 1
+ 2151 GETGLOBAL "tl"
+ 2153 PUSHGETGLOBALFIELD Pervasives, 3
+ 2156 APPTERM1 2
+ 2158 ACC0
+ 2159 BRANCHIFNOT 2165
+ 2161 ACC0
+ 2162 GETFIELD0
+ 2163 RETURN 1
+ 2165 GETGLOBAL "hd"
+ 2167 PUSHGETGLOBALFIELD Pervasives, 3
+ 2170 APPTERM1 2
+ 2172 ACC0
+ 2173 PUSHCONST0
+ 2174 PUSHENVACC1
+ 2175 APPTERM2 3
+ 2177 CLOSUREREC 0, 1200
+ 2181 ACC0
+ 2182 CLOSURE 1, 2172
+ 2185 PUSH
+ 2186 CLOSURE 0, 2158
+ 2189 PUSH
+ 2190 CLOSURE 0, 2144
+ 2193 PUSH
+ 2194 CLOSUREREC 0, 1217
+ 2198 GETGLOBALFIELD Pervasives, 16
+ 2201 PUSH
+ 2202 CLOSUREREC 0, 1259
+ 2206 ACC0
+ 2207 CLOSURE 1, 2139
+ 2210 PUSH
+ 2211 CLOSUREREC 0, 1277
+ 2215 CLOSUREREC 0, 1294
+ 2219 CLOSURE 0, 2127
+ 2222 PUSH
+ 2223 CLOSUREREC 0, 1316
+ 2227 CLOSUREREC 0, 1334
+ 2231 CLOSUREREC 0, 1354
+ 2235 CLOSUREREC 0, 1374
+ 2239 CLOSURE 0, 2092
+ 2242 PUSH
+ 2243 CLOSUREREC 0, 1415
+ 2247 CLOSUREREC 0, 1452
+ 2251 CLOSUREREC 0, 1490
+ 2255 CLOSUREREC 0, 1530
+ 2259 CLOSUREREC 0, 1553
+ 2263 CLOSUREREC 0, 1573
+ 2267 CLOSUREREC 0, 1613
+ 2271 CLOSUREREC 0, 1654
+ 2275 CLOSUREREC 0, 1675
+ 2279 CLOSUREREC 0, 1695
+ 2283 CLOSUREREC 0, 1725
+ 2287 CLOSUREREC 0, 1754
+ 2291 CLOSUREREC 0, 1776
+ 2295 CLOSUREREC 0, 1797
+ 2299 CLOSUREREC 0, 1828
+ 2303 CLOSUREREC 0, 1858
+ 2307 ACC 24
+ 2309 CLOSURE 1, 2042
+ 2312 PUSHACC 25
+ 2314 CLOSUREREC 1, 1928
+ 2318 CLOSUREREC 0, 1942
+ 2322 CLOSUREREC 0, 1972
+ 2326 ACC0
+ 2327 PUSHACC2
+ 2328 PUSHACC7
+ 2329 PUSHACC 9
+ 2331 PUSHACC 11
+ 2333 PUSHACC 13
+ 2335 PUSHACC 15
+ 2337 PUSHACC 17
+ 2339 PUSHACC 10
+ 2341 PUSHACC 12
+ 2343 PUSHACC 13
+ 2345 PUSHACC 15
+ 2347 PUSHACC 23
+ 2349 PUSHACC 25
+ 2351 PUSHACC 27
+ 2353 PUSHACC 29
+ 2355 PUSHACC 31
+ 2357 PUSHACC 33
+ 2359 PUSHACC 35
+ 2361 PUSHACC 37
+ 2363 PUSHACC 40
+ 2365 PUSHACC 42
+ 2367 PUSHACC 41
+ 2369 PUSHACC 45
+ 2371 PUSHACC 47
+ 2373 PUSHACC 50
+ 2375 PUSHACC 52
+ 2377 PUSHACC 51
+ 2379 PUSHACC 55
+ 2381 PUSHACC 56
+ 2383 PUSHACC 59
+ 2385 PUSHACC 61
+ 2387 PUSHACC 60
+ 2389 PUSHACC 64
+ 2391 PUSHACC 66
+ 2393 PUSHACC 68
+ 2395 PUSHACC 70
+ 2397 MAKEBLOCK 37, 0
+ 2400 POP 36
+ 2402 SETGLOBAL List
+ 2404 BRANCH 2432
+ 2406 CONST0
+ 2407 PUSHACC1
+ 2408 LEINT
+ 2409 BRANCHIFNOT 2414
+ 2411 CONST0
+ 2412 RETURN 1
+ 2414 ACC0
+ 2415 OFFSETINT -1
+ 2417 PUSHOFFSETCLOSURE0
+ 2418 APPLY1
+ 2419 PUSHACC1
+ 2420 MAKEBLOCK2 0
+ 2422 RETURN 1
+ 2424 RESTART
+ 2425 GRAB 1
+ 2427 ACC1
+ 2428 PUSHACC1
+ 2429 ADDINT
+ 2430 RETURN 2
+ 2432 CLOSUREREC 0, 2406
+ 2436 CONSTINT 300
+ 2438 PUSHACC1
+ 2439 APPLY1
+ 2440 PUSHCONST0
+ 2441 C_CALL1 gc_compaction
+ 2443 CONSTINT 150
+ 2445 PUSHCONSTINT 301
+ 2447 MULINT
+ 2448 PUSHACC1
+ 2449 PUSHCONST0
+ 2450 PUSH
+ 2451 CLOSURE 0, 2425
+ 2454 PUSHGETGLOBALFIELD List, 12
+ 2457 APPLY3
+ 2458 NEQ
+ 2459 BRANCHIFNOT 2466
+ 2461 GETGLOBAL Not_found
+ 2463 MAKEBLOCK1 0
+ 2465 RAISE
+ 2466 POP 2
+ 2468 ATOM0
+ 2469 SETGLOBAL T330-compact-3
+ 2471 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t330-compact-4.ml b/testsuite/tests/tool-ocaml/t330-compact-4.ml
new file mode 100644
index 0000000000..1c190f7505
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t330-compact-4.ml
@@ -0,0 +1,1589 @@
+open Lib;;
+let rec f n =
+ if n <= 0 then []
+ else n :: f (n-1)
+in
+Gc.compact ();
+let l = f 300 in
+if List.fold_left (+) 0 l <> 301 * 150 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 746
+ 11 RESTART
+ 12 GRAB 1
+ 14 ACC0
+ 15 BRANCHIFNOT 28
+ 17 ACC1
+ 18 PUSHACC1
+ 19 GETFIELD1
+ 20 PUSHOFFSETCLOSURE0
+ 21 APPLY2
+ 22 PUSHACC1
+ 23 GETFIELD0
+ 24 MAKEBLOCK2 0
+ 26 RETURN 2
+ 28 ACC1
+ 29 RETURN 2
+ 31 RESTART
+ 32 GRAB 3
+ 34 CONST0
+ 35 PUSHACC4
+ 36 LEINT
+ 37 BRANCHIFNOT 42
+ 39 CONST0
+ 40 RETURN 4
+ 42 ACC3
+ 43 PUSHACC3
+ 44 PUSHACC3
+ 45 PUSHACC3
+ 46 C_CALL4 caml_input
+ 48 PUSHCONST0
+ 49 PUSHACC1
+ 50 EQ
+ 51 BRANCHIFNOT 58
+ 53 GETGLOBAL End_of_file
+ 55 MAKEBLOCK1 0
+ 57 RAISE
+ 58 ACC0
+ 59 PUSHACC5
+ 60 SUBINT
+ 61 PUSHACC1
+ 62 PUSHACC5
+ 63 ADDINT
+ 64 PUSHACC4
+ 65 PUSHACC4
+ 66 PUSHOFFSETCLOSURE0
+ 67 APPTERM 4, 9
+ 70 ACC0
+ 71 C_CALL1 caml_input_scan_line
+ 73 PUSHCONST0
+ 74 PUSHACC1
+ 75 EQ
+ 76 BRANCHIFNOT 83
+ 78 GETGLOBAL End_of_file
+ 80 MAKEBLOCK1 0
+ 82 RAISE
+ 83 CONST0
+ 84 PUSHACC1
+ 85 GTINT
+ 86 BRANCHIFNOT 107
+ 88 ACC0
+ 89 OFFSETINT -1
+ 91 C_CALL1 create_string
+ 93 PUSHACC1
+ 94 OFFSETINT -1
+ 96 PUSHCONST0
+ 97 PUSHACC2
+ 98 PUSHACC5
+ 99 C_CALL4 caml_input
+ 101 ACC2
+ 102 C_CALL1 caml_input_char
+ 104 ACC0
+ 105 RETURN 3
+ 107 ACC0
+ 108 NEGINT
+ 109 C_CALL1 create_string
+ 111 PUSHACC1
+ 112 NEGINT
+ 113 PUSHCONST0
+ 114 PUSHACC2
+ 115 PUSHACC5
+ 116 C_CALL4 caml_input
+ 118 CONST0
+ 119 PUSHTRAP 130
+ 121 ACC6
+ 122 PUSHOFFSETCLOSURE0
+ 123 APPLY1
+ 124 PUSHACC5
+ 125 PUSHENVACC1
+ 126 APPLY2
+ 127 POPTRAP
+ 128 RETURN 3
+ 130 PUSHGETGLOBAL End_of_file
+ 132 PUSHACC1
+ 133 GETFIELD0
+ 134 EQ
+ 135 BRANCHIFNOT 140
+ 137 ACC1
+ 138 RETURN 4
+ 140 ACC0
+ 141 RAISE
+ 142 ACC0
+ 143 C_CALL1 caml_flush
+ 145 RETURN 1
+ 147 RESTART
+ 148 GRAB 1
+ 150 ACC1
+ 151 PUSHACC1
+ 152 C_CALL2 caml_output_char
+ 154 RETURN 2
+ 156 RESTART
+ 157 GRAB 1
+ 159 ACC1
+ 160 PUSHACC1
+ 161 C_CALL2 caml_output_char
+ 163 RETURN 2
+ 165 RESTART
+ 166 GRAB 1
+ 168 ACC1
+ 169 PUSHACC1
+ 170 C_CALL2 caml_output_int
+ 172 RETURN 2
+ 174 RESTART
+ 175 GRAB 1
+ 177 ACC1
+ 178 PUSHACC1
+ 179 C_CALL2 caml_seek_out
+ 181 RETURN 2
+ 183 ACC0
+ 184 C_CALL1 caml_pos_out
+ 186 RETURN 1
+ 188 ACC0
+ 189 C_CALL1 caml_channel_size
+ 191 RETURN 1
+ 193 RESTART
+ 194 GRAB 1
+ 196 ACC1
+ 197 PUSHACC1
+ 198 C_CALL2 caml_set_binary_mode
+ 200 RETURN 2
+ 202 ACC0
+ 203 C_CALL1 caml_input_char
+ 205 RETURN 1
+ 207 ACC0
+ 208 C_CALL1 caml_input_char
+ 210 RETURN 1
+ 212 ACC0
+ 213 C_CALL1 caml_input_int
+ 215 RETURN 1
+ 217 ACC0
+ 218 C_CALL1 input_value
+ 220 RETURN 1
+ 222 RESTART
+ 223 GRAB 1
+ 225 ACC1
+ 226 PUSHACC1
+ 227 C_CALL2 caml_seek_in
+ 229 RETURN 2
+ 231 ACC0
+ 232 C_CALL1 caml_pos_in
+ 234 RETURN 1
+ 236 ACC0
+ 237 C_CALL1 caml_channel_size
+ 239 RETURN 1
+ 241 ACC0
+ 242 C_CALL1 caml_close_channel
+ 244 RETURN 1
+ 246 RESTART
+ 247 GRAB 1
+ 249 ACC1
+ 250 PUSHACC1
+ 251 C_CALL2 caml_set_binary_mode
+ 253 RETURN 2
+ 255 CONST0
+ 256 PUSHENVACC1
+ 257 APPLY1
+ 258 ACC0
+ 259 C_CALL1 sys_exit
+ 261 RETURN 1
+ 263 CONST0
+ 264 PUSHENVACC1
+ 265 GETFIELD0
+ 266 APPTERM1 2
+ 268 CONST0
+ 269 PUSHENVACC1
+ 270 APPLY1
+ 271 CONST0
+ 272 PUSHENVACC2
+ 273 APPTERM1 2
+ 275 ENVACC1
+ 276 GETFIELD0
+ 277 PUSHACC0
+ 278 PUSHACC2
+ 279 CLOSURE 2, 268
+ 282 PUSHENVACC1
+ 283 SETFIELD0
+ 284 RETURN 2
+ 286 ENVACC1
+ 287 C_CALL1 caml_flush
+ 289 ENVACC2
+ 290 C_CALL1 caml_flush
+ 292 RETURN 1
+ 294 CONST0
+ 295 PUSHENVACC1
+ 296 APPLY1
+ 297 C_CALL1 float_of_string
+ 299 RETURN 1
+ 301 CONST0
+ 302 PUSHENVACC1
+ 303 APPLY1
+ 304 C_CALL1 int_of_string
+ 306 RETURN 1
+ 308 ENVACC2
+ 309 C_CALL1 caml_flush
+ 311 ENVACC1
+ 312 PUSHENVACC3
+ 313 APPTERM1 2
+ 315 CONSTINT 13
+ 317 PUSHENVACC1
+ 318 C_CALL2 caml_output_char
+ 320 ENVACC1
+ 321 C_CALL1 caml_flush
+ 323 RETURN 1
+ 325 ACC0
+ 326 PUSHENVACC1
+ 327 PUSHENVACC2
+ 328 APPLY2
+ 329 CONSTINT 13
+ 331 PUSHENVACC1
+ 332 C_CALL2 caml_output_char
+ 334 ENVACC1
+ 335 C_CALL1 caml_flush
+ 337 RETURN 1
+ 339 ACC0
+ 340 PUSHENVACC1
+ 341 APPLY1
+ 342 PUSHENVACC2
+ 343 PUSHENVACC3
+ 344 APPTERM2 3
+ 346 ACC0
+ 347 PUSHENVACC1
+ 348 APPLY1
+ 349 PUSHENVACC2
+ 350 PUSHENVACC3
+ 351 APPTERM2 3
+ 353 ACC0
+ 354 PUSHENVACC1
+ 355 PUSHENVACC2
+ 356 APPTERM2 3
+ 358 ACC0
+ 359 PUSHENVACC1
+ 360 C_CALL2 caml_output_char
+ 362 RETURN 1
+ 364 CONSTINT 13
+ 366 PUSHENVACC1
+ 367 C_CALL2 caml_output_char
+ 369 ENVACC1
+ 370 C_CALL1 caml_flush
+ 372 RETURN 1
+ 374 ACC0
+ 375 PUSHENVACC1
+ 376 PUSHENVACC2
+ 377 APPLY2
+ 378 CONSTINT 13
+ 380 PUSHENVACC1
+ 381 C_CALL2 caml_output_char
+ 383 RETURN 1
+ 385 ACC0
+ 386 PUSHENVACC1
+ 387 APPLY1
+ 388 PUSHENVACC2
+ 389 PUSHENVACC3
+ 390 APPTERM2 3
+ 392 ACC0
+ 393 PUSHENVACC1
+ 394 APPLY1
+ 395 PUSHENVACC2
+ 396 PUSHENVACC3
+ 397 APPTERM2 3
+ 399 ACC0
+ 400 PUSHENVACC1
+ 401 PUSHENVACC2
+ 402 APPTERM2 3
+ 404 ACC0
+ 405 PUSHENVACC1
+ 406 C_CALL2 caml_output_char
+ 408 RETURN 1
+ 410 RESTART
+ 411 GRAB 3
+ 413 CONST0
+ 414 PUSHACC3
+ 415 LTINT
+ 416 BRANCHIF 427
+ 418 ACC1
+ 419 C_CALL1 ml_string_length
+ 421 PUSHACC4
+ 422 PUSHACC4
+ 423 ADDINT
+ 424 GTINT
+ 425 BRANCHIFNOT 432
+ 427 GETGLOBAL "really_input"
+ 429 PUSHENVACC1
+ 430 APPTERM1 5
+ 432 ACC3
+ 433 PUSHACC3
+ 434 PUSHACC3
+ 435 PUSHACC3
+ 436 PUSHENVACC2
+ 437 APPTERM 4, 8
+ 440 RESTART
+ 441 GRAB 3
+ 443 CONST0
+ 444 PUSHACC3
+ 445 LTINT
+ 446 BRANCHIF 457
+ 448 ACC1
+ 449 C_CALL1 ml_string_length
+ 451 PUSHACC4
+ 452 PUSHACC4
+ 453 ADDINT
+ 454 GTINT
+ 455 BRANCHIFNOT 462
+ 457 GETGLOBAL "input"
+ 459 PUSHENVACC1
+ 460 APPTERM1 5
+ 462 ACC3
+ 463 PUSHACC3
+ 464 PUSHACC3
+ 465 PUSHACC3
+ 466 C_CALL4 caml_input
+ 468 RETURN 4
+ 470 ACC0
+ 471 PUSHCONST0
+ 472 PUSHGETGLOBAL <0>(0, <0>(6, 0))
+ 474 PUSHENVACC1
+ 475 APPTERM3 4
+ 477 ACC0
+ 478 PUSHCONST0
+ 479 PUSHGETGLOBAL <0>(0, <0>(7, 0))
+ 481 PUSHENVACC1
+ 482 APPTERM3 4
+ 484 RESTART
+ 485 GRAB 2
+ 487 ACC1
+ 488 PUSHACC1
+ 489 PUSHACC4
+ 490 C_CALL3 sys_open
+ 492 C_CALL1 caml_open_descriptor
+ 494 RETURN 3
+ 496 ACC0
+ 497 C_CALL1 caml_flush
+ 499 ACC0
+ 500 C_CALL1 caml_close_channel
+ 502 RETURN 1
+ 504 RESTART
+ 505 GRAB 1
+ 507 CONST0
+ 508 PUSHACC2
+ 509 PUSHACC2
+ 510 C_CALL3 output_value
+ 512 RETURN 2
+ 514 RESTART
+ 515 GRAB 3
+ 517 CONST0
+ 518 PUSHACC3
+ 519 LTINT
+ 520 BRANCHIF 531
+ 522 ACC1
+ 523 C_CALL1 ml_string_length
+ 525 PUSHACC4
+ 526 PUSHACC4
+ 527 ADDINT
+ 528 GTINT
+ 529 BRANCHIFNOT 536
+ 531 GETGLOBAL "output"
+ 533 PUSHENVACC1
+ 534 APPTERM1 5
+ 536 ACC3
+ 537 PUSHACC3
+ 538 PUSHACC3
+ 539 PUSHACC3
+ 540 C_CALL4 caml_output
+ 542 RETURN 4
+ 544 RESTART
+ 545 GRAB 1
+ 547 ACC1
+ 548 C_CALL1 ml_string_length
+ 550 PUSHCONST0
+ 551 PUSHACC3
+ 552 PUSHACC3
+ 553 C_CALL4 caml_output
+ 555 RETURN 2
+ 557 ACC0
+ 558 PUSHCONSTINT 438
+ 560 PUSHGETGLOBAL <0>(1, <0>(3, <0>(4, <0>(6, 0))))
+ 562 PUSHENVACC1
+ 563 APPTERM3 4
+ 565 ACC0
+ 566 PUSHCONSTINT 438
+ 568 PUSHGETGLOBAL <0>(1, <0>(3, <0>(4, <0>(7, 0))))
+ 570 PUSHENVACC1
+ 571 APPTERM3 4
+ 573 RESTART
+ 574 GRAB 2
+ 576 ACC1
+ 577 PUSHACC1
+ 578 PUSHACC4
+ 579 C_CALL3 sys_open
+ 581 C_CALL1 caml_open_descriptor
+ 583 RETURN 3
+ 585 ACC0
+ 586 PUSHGETGLOBAL "%.12g"
+ 588 C_CALL2 format_float
+ 590 RETURN 1
+ 592 ACC0
+ 593 PUSHGETGLOBAL "%d"
+ 595 C_CALL2 format_int
+ 597 RETURN 1
+ 599 GETGLOBAL "false"
+ 601 PUSHACC1
+ 602 C_CALL2 string_equal
+ 604 BRANCHIFNOT 609
+ 606 CONST0
+ 607 RETURN 1
+ 609 GETGLOBAL "true"
+ 611 PUSHACC1
+ 612 C_CALL2 string_equal
+ 614 BRANCHIFNOT 619
+ 616 CONST1
+ 617 RETURN 1
+ 619 GETGLOBAL "bool_of_string"
+ 621 PUSHENVACC1
+ 622 APPTERM1 2
+ 624 ACC0
+ 625 BRANCHIFNOT 631
+ 627 GETGLOBAL "true"
+ 629 RETURN 1
+ 631 GETGLOBAL "false"
+ 633 RETURN 1
+ 635 CONST0
+ 636 PUSHACC1
+ 637 LTINT
+ 638 BRANCHIF 646
+ 640 CONSTINT 255
+ 642 PUSHACC1
+ 643 GTINT
+ 644 BRANCHIFNOT 651
+ 646 GETGLOBAL "char_of_int"
+ 648 PUSHENVACC1
+ 649 APPTERM1 2
+ 651 ACC0
+ 652 RETURN 1
+ 654 RESTART
+ 655 GRAB 1
+ 657 ACC0
+ 658 C_CALL1 ml_string_length
+ 660 PUSHACC2
+ 661 C_CALL1 ml_string_length
+ 663 PUSHACC0
+ 664 PUSHACC2
+ 665 ADDINT
+ 666 C_CALL1 create_string
+ 668 PUSHACC2
+ 669 PUSHCONST0
+ 670 PUSHACC2
+ 671 PUSHCONST0
+ 672 PUSHACC7
+ 673 C_CALL5 blit_string
+ 675 ACC1
+ 676 PUSHACC3
+ 677 PUSHACC2
+ 678 PUSHCONST0
+ 679 PUSHACC 8
+ 681 C_CALL5 blit_string
+ 683 ACC0
+ 684 RETURN 5
+ 686 CONSTINT -1
+ 688 PUSHACC1
+ 689 XORINT
+ 690 RETURN 1
+ 692 CONST0
+ 693 PUSHACC1
+ 694 GEINT
+ 695 BRANCHIFNOT 700
+ 697 ACC0
+ 698 RETURN 1
+ 700 ACC0
+ 701 NEGINT
+ 702 RETURN 1
+ 704 RESTART
+ 705 GRAB 1
+ 707 ACC1
+ 708 PUSHACC1
+ 709 C_CALL2 greaterequal
+ 711 BRANCHIFNOT 716
+ 713 ACC0
+ 714 RETURN 2
+ 716 ACC1
+ 717 RETURN 2
+ 719 RESTART
+ 720 GRAB 1
+ 722 ACC1
+ 723 PUSHACC1
+ 724 C_CALL2 lessequal
+ 726 BRANCHIFNOT 731
+ 728 ACC0
+ 729 RETURN 2
+ 731 ACC1
+ 732 RETURN 2
+ 734 ACC0
+ 735 PUSHGETGLOBAL Invalid_argument
+ 737 MAKEBLOCK2 0
+ 739 RAISE
+ 740 ACC0
+ 741 PUSHGETGLOBAL Failure
+ 743 MAKEBLOCK2 0
+ 745 RAISE
+ 746 CLOSURE 0, 740
+ 749 PUSH
+ 750 CLOSURE 0, 734
+ 753 PUSHGETGLOBAL "Pervasives.Exit"
+ 755 MAKEBLOCK1 0
+ 757 PUSHGETGLOBAL "Pervasives.Assert_failure"
+ 759 MAKEBLOCK1 0
+ 761 PUSH
+ 762 CLOSURE 0, 720
+ 765 PUSH
+ 766 CLOSURE 0, 705
+ 769 PUSH
+ 770 CLOSURE 0, 692
+ 773 PUSH
+ 774 CLOSURE 0, 686
+ 777 PUSHCONST0
+ 778 PUSHCONSTINT 31
+ 780 PUSHCONST1
+ 781 LSLINT
+ 782 EQ
+ 783 BRANCHIFNOT 789
+ 785 CONSTINT 30
+ 787 BRANCH 791
+ 789 CONSTINT 62
+ 791 PUSHCONST1
+ 792 LSLINT
+ 793 PUSHACC0
+ 794 OFFSETINT -1
+ 796 PUSH
+ 797 CLOSURE 0, 655
+ 800 PUSHACC 9
+ 802 CLOSURE 1, 635
+ 805 PUSH
+ 806 CLOSURE 0, 624
+ 809 PUSHACC 11
+ 811 CLOSURE 1, 599
+ 814 PUSH
+ 815 CLOSURE 0, 592
+ 818 PUSH
+ 819 CLOSURE 0, 585
+ 822 PUSH
+ 823 CLOSUREREC 0, 12
+ 827 CONST0
+ 828 C_CALL1 caml_open_descriptor
+ 830 PUSHCONST1
+ 831 C_CALL1 caml_open_descriptor
+ 833 PUSHCONST2
+ 834 C_CALL1 caml_open_descriptor
+ 836 PUSH
+ 837 CLOSURE 0, 574
+ 840 PUSHACC0
+ 841 CLOSURE 1, 565
+ 844 PUSHACC1
+ 845 CLOSURE 1, 557
+ 848 PUSH
+ 849 CLOSURE 0, 545
+ 852 PUSHACC 22
+ 854 CLOSURE 1, 515
+ 857 PUSH
+ 858 CLOSURE 0, 505
+ 861 PUSH
+ 862 CLOSURE 0, 496
+ 865 PUSH
+ 866 CLOSURE 0, 485
+ 869 PUSHACC0
+ 870 CLOSURE 1, 477
+ 873 PUSHACC1
+ 874 CLOSURE 1, 470
+ 877 PUSHACC 28
+ 879 CLOSURE 1, 441
+ 882 PUSH
+ 883 CLOSUREREC 0, 32
+ 887 ACC0
+ 888 PUSHACC 31
+ 890 CLOSURE 2, 411
+ 893 PUSHACC 22
+ 895 CLOSUREREC 1, 70
+ 899 ACC 15
+ 901 CLOSURE 1, 404
+ 904 PUSHACC 11
+ 906 PUSHACC 17
+ 908 CLOSURE 2, 399
+ 911 PUSHACC 12
+ 913 PUSHACC 18
+ 915 PUSHACC 23
+ 917 CLOSURE 3, 392
+ 920 PUSHACC 13
+ 922 PUSHACC 19
+ 924 PUSHACC 23
+ 926 CLOSURE 3, 385
+ 929 PUSHACC 14
+ 931 PUSHACC 20
+ 933 CLOSURE 2, 374
+ 936 PUSHACC 20
+ 938 CLOSURE 1, 364
+ 941 PUSHACC 20
+ 943 CLOSURE 1, 358
+ 946 PUSHACC 17
+ 948 PUSHACC 22
+ 950 CLOSURE 2, 353
+ 953 PUSHACC 18
+ 955 PUSHACC 23
+ 957 PUSHACC 29
+ 959 CLOSURE 3, 346
+ 962 PUSHACC 19
+ 964 PUSHACC 24
+ 966 PUSHACC 29
+ 968 CLOSURE 3, 339
+ 971 PUSHACC 20
+ 973 PUSHACC 25
+ 975 CLOSURE 2, 325
+ 978 PUSHACC 25
+ 980 CLOSURE 1, 315
+ 983 PUSHACC 12
+ 985 PUSHACC 28
+ 987 PUSHACC 30
+ 989 CLOSURE 3, 308
+ 992 PUSHACC0
+ 993 CLOSURE 1, 301
+ 996 PUSHACC1
+ 997 CLOSURE 1, 294
+ 1000 PUSHACC 29
+ 1002 PUSHACC 31
+ 1004 CLOSURE 2, 286
+ 1007 MAKEBLOCK1 0
+ 1009 PUSHACC0
+ 1010 CLOSURE 1, 275
+ 1013 PUSHACC1
+ 1014 CLOSURE 1, 263
+ 1017 PUSHACC0
+ 1018 CLOSURE 1, 255
+ 1021 PUSHACC1
+ 1022 PUSHACC 22
+ 1024 PUSHACC4
+ 1025 PUSHACC3
+ 1026 PUSH
+ 1027 CLOSURE 0, 247
+ 1030 PUSH
+ 1031 CLOSURE 0, 241
+ 1034 PUSH
+ 1035 CLOSURE 0, 236
+ 1038 PUSH
+ 1039 CLOSURE 0, 231
+ 1042 PUSH
+ 1043 CLOSURE 0, 223
+ 1046 PUSH
+ 1047 CLOSURE 0, 217
+ 1050 PUSH
+ 1051 CLOSURE 0, 212
+ 1054 PUSH
+ 1055 CLOSURE 0, 207
+ 1058 PUSHACC 32
+ 1060 PUSHACC 35
+ 1062 PUSHACC 33
+ 1064 PUSH
+ 1065 CLOSURE 0, 202
+ 1068 PUSHACC 41
+ 1070 PUSHACC 40
+ 1072 PUSHACC 42
+ 1074 PUSH
+ 1075 CLOSURE 0, 194
+ 1078 PUSHACC 46
+ 1080 PUSH
+ 1081 CLOSURE 0, 188
+ 1084 PUSH
+ 1085 CLOSURE 0, 183
+ 1088 PUSH
+ 1089 CLOSURE 0, 175
+ 1092 PUSHACC 51
+ 1094 PUSH
+ 1095 CLOSURE 0, 166
+ 1098 PUSH
+ 1099 CLOSURE 0, 157
+ 1102 PUSHACC 55
+ 1104 PUSHACC 57
+ 1106 PUSH
+ 1107 CLOSURE 0, 148
+ 1110 PUSH
+ 1111 CLOSURE 0, 142
+ 1114 PUSHACC 63
+ 1116 PUSHACC 62
+ 1118 PUSHACC 64
+ 1120 PUSHACC 38
+ 1122 PUSHACC 40
+ 1124 PUSHACC 42
+ 1126 PUSHACC 44
+ 1128 PUSHACC 46
+ 1130 PUSHACC 48
+ 1132 PUSHACC 50
+ 1134 PUSHACC 52
+ 1136 PUSHACC 54
+ 1138 PUSHACC 56
+ 1140 PUSHACC 58
+ 1142 PUSHACC 60
+ 1144 PUSHACC 62
+ 1146 PUSHACC 64
+ 1148 PUSHACC 66
+ 1150 PUSHACC 82
+ 1152 PUSHACC 84
+ 1154 PUSHACC 86
+ 1156 PUSHACC 88
+ 1158 PUSHACC 90
+ 1160 PUSHACC 92
+ 1162 PUSHACC 94
+ 1164 PUSHACC 96
+ 1166 PUSHACC 98
+ 1168 PUSHACC 100
+ 1170 PUSHACC 104
+ 1172 PUSHACC 104
+ 1174 PUSHACC 104
+ 1176 PUSHACC 108
+ 1178 PUSHACC 110
+ 1180 PUSHACC 112
+ 1182 PUSHACC 117
+ 1184 PUSHACC 117
+ 1186 PUSHACC 117
+ 1188 PUSHACC 117
+ 1190 MAKEBLOCK 69, 0
+ 1193 POP 53
+ 1195 SETGLOBAL Pervasives
+ 1197 BRANCH 2177
+ 1199 RESTART
+ 1200 GRAB 1
+ 1202 ACC1
+ 1203 BRANCHIFNOT 1213
+ 1205 ACC1
+ 1206 GETFIELD1
+ 1207 PUSHACC1
+ 1208 OFFSETINT 1
+ 1210 PUSHOFFSETCLOSURE0
+ 1211 APPTERM2 4
+ 1213 ACC0
+ 1214 RETURN 2
+ 1216 RESTART
+ 1217 GRAB 1
+ 1219 ACC0
+ 1220 BRANCHIFNOT 1251
+ 1222 CONST0
+ 1223 PUSHACC2
+ 1224 EQ
+ 1225 BRANCHIFNOT 1231
+ 1227 ACC0
+ 1228 GETFIELD0
+ 1229 RETURN 2
+ 1231 CONST0
+ 1232 PUSHACC2
+ 1233 GTINT
+ 1234 BRANCHIFNOT 1244
+ 1236 ACC1
+ 1237 OFFSETINT -1
+ 1239 PUSHACC1
+ 1240 GETFIELD1
+ 1241 PUSHOFFSETCLOSURE0
+ 1242 APPTERM2 4
+ 1244 GETGLOBAL "List.nth"
+ 1246 PUSHGETGLOBALFIELD Pervasives, 2
+ 1249 APPTERM1 3
+ 1251 GETGLOBAL "nth"
+ 1253 PUSHGETGLOBALFIELD Pervasives, 3
+ 1256 APPTERM1 3
+ 1258 RESTART
+ 1259 GRAB 1
+ 1261 ACC0
+ 1262 BRANCHIFNOT 1274
+ 1264 ACC1
+ 1265 PUSHACC1
+ 1266 GETFIELD0
+ 1267 MAKEBLOCK2 0
+ 1269 PUSHACC1
+ 1270 GETFIELD1
+ 1271 PUSHOFFSETCLOSURE0
+ 1272 APPTERM2 4
+ 1274 ACC1
+ 1275 RETURN 2
+ 1277 ACC0
+ 1278 BRANCHIFNOT 1291
+ 1280 ACC0
+ 1281 GETFIELD1
+ 1282 PUSHOFFSETCLOSURE0
+ 1283 APPLY1
+ 1284 PUSHACC1
+ 1285 GETFIELD0
+ 1286 PUSHGETGLOBALFIELD Pervasives, 16
+ 1289 APPTERM2 3
+ 1291 RETURN 1
+ 1293 RESTART
+ 1294 GRAB 1
+ 1296 ACC1
+ 1297 BRANCHIFNOT 1313
+ 1299 ACC1
+ 1300 GETFIELD0
+ 1301 PUSHACC1
+ 1302 APPLY1
+ 1303 PUSHACC2
+ 1304 GETFIELD1
+ 1305 PUSHACC2
+ 1306 PUSHOFFSETCLOSURE0
+ 1307 APPLY2
+ 1308 PUSHACC1
+ 1309 MAKEBLOCK2 0
+ 1311 POP 1
+ 1313 RETURN 2
+ 1315 RESTART
+ 1316 GRAB 1
+ 1318 ACC1
+ 1319 BRANCHIFNOT 1331
+ 1321 ACC1
+ 1322 GETFIELD0
+ 1323 PUSHACC1
+ 1324 APPLY1
+ 1325 ACC1
+ 1326 GETFIELD1
+ 1327 PUSHACC1
+ 1328 PUSHOFFSETCLOSURE0
+ 1329 APPTERM2 4
+ 1331 RETURN 2
+ 1333 RESTART
+ 1334 GRAB 2
+ 1336 ACC2
+ 1337 BRANCHIFNOT 1350
+ 1339 ACC2
+ 1340 GETFIELD1
+ 1341 PUSHACC3
+ 1342 GETFIELD0
+ 1343 PUSHACC3
+ 1344 PUSHACC3
+ 1345 APPLY2
+ 1346 PUSHACC2
+ 1347 PUSHOFFSETCLOSURE0
+ 1348 APPTERM3 6
+ 1350 ACC1
+ 1351 RETURN 3
+ 1353 RESTART
+ 1354 GRAB 2
+ 1356 ACC1
+ 1357 BRANCHIFNOT 1370
+ 1359 ACC2
+ 1360 PUSHACC2
+ 1361 GETFIELD1
+ 1362 PUSHACC2
+ 1363 PUSHOFFSETCLOSURE0
+ 1364 APPLY3
+ 1365 PUSHACC2
+ 1366 GETFIELD0
+ 1367 PUSHACC2
+ 1368 APPTERM2 5
+ 1370 ACC2
+ 1371 RETURN 3
+ 1373 RESTART
+ 1374 GRAB 2
+ 1376 ACC1
+ 1377 BRANCHIFNOT 1400
+ 1379 ACC2
+ 1380 BRANCHIFNOT 1407
+ 1382 ACC2
+ 1383 GETFIELD0
+ 1384 PUSHACC2
+ 1385 GETFIELD0
+ 1386 PUSHACC2
+ 1387 APPLY2
+ 1388 PUSHACC3
+ 1389 GETFIELD1
+ 1390 PUSHACC3
+ 1391 GETFIELD1
+ 1392 PUSHACC3
+ 1393 PUSHOFFSETCLOSURE0
+ 1394 APPLY3
+ 1395 PUSHACC1
+ 1396 MAKEBLOCK2 0
+ 1398 RETURN 4
+ 1400 ACC2
+ 1401 BRANCHIFNOT 1405
+ 1403 BRANCH 1407
+ 1405 RETURN 3
+ 1407 GETGLOBAL "List.map2"
+ 1409 PUSHGETGLOBALFIELD Pervasives, 2
+ 1412 APPTERM1 4
+ 1414 RESTART
+ 1415 GRAB 2
+ 1417 ACC1
+ 1418 BRANCHIFNOT 1437
+ 1420 ACC2
+ 1421 BRANCHIFNOT 1444
+ 1423 ACC2
+ 1424 GETFIELD0
+ 1425 PUSHACC2
+ 1426 GETFIELD0
+ 1427 PUSHACC2
+ 1428 APPLY2
+ 1429 ACC2
+ 1430 GETFIELD1
+ 1431 PUSHACC2
+ 1432 GETFIELD1
+ 1433 PUSHACC2
+ 1434 PUSHOFFSETCLOSURE0
+ 1435 APPTERM3 6
+ 1437 ACC2
+ 1438 BRANCHIFNOT 1442
+ 1440 BRANCH 1444
+ 1442 RETURN 3
+ 1444 GETGLOBAL "List.iter2"
+ 1446 PUSHGETGLOBALFIELD Pervasives, 2
+ 1449 APPTERM1 4
+ 1451 RESTART
+ 1452 GRAB 3
+ 1454 ACC2
+ 1455 BRANCHIFNOT 1476
+ 1457 ACC3
+ 1458 BRANCHIFNOT 1482
+ 1460 ACC3
+ 1461 GETFIELD1
+ 1462 PUSHACC3
+ 1463 GETFIELD1
+ 1464 PUSHACC5
+ 1465 GETFIELD0
+ 1466 PUSHACC5
+ 1467 GETFIELD0
+ 1468 PUSHACC5
+ 1469 PUSHACC5
+ 1470 APPLY3
+ 1471 PUSHACC3
+ 1472 PUSHOFFSETCLOSURE0
+ 1473 APPTERM 4, 8
+ 1476 ACC3
+ 1477 BRANCHIF 1482
+ 1479 ACC1
+ 1480 RETURN 4
+ 1482 GETGLOBAL "List.fold_left2"
+ 1484 PUSHGETGLOBALFIELD Pervasives, 2
+ 1487 APPTERM1 5
+ 1489 RESTART
+ 1490 GRAB 3
+ 1492 ACC1
+ 1493 BRANCHIFNOT 1516
+ 1495 ACC2
+ 1496 BRANCHIFNOT 1522
+ 1498 PUSH_RETADDR 1509
+ 1500 ACC6
+ 1501 PUSHACC6
+ 1502 GETFIELD1
+ 1503 PUSHACC6
+ 1504 GETFIELD1
+ 1505 PUSHACC6
+ 1506 PUSHOFFSETCLOSURE0
+ 1507 APPLY 4
+ 1509 PUSHACC3
+ 1510 GETFIELD0
+ 1511 PUSHACC3
+ 1512 GETFIELD0
+ 1513 PUSHACC3
+ 1514 APPTERM3 7
+ 1516 ACC2
+ 1517 BRANCHIF 1522
+ 1519 ACC3
+ 1520 RETURN 4
+ 1522 GETGLOBAL "List.fold_right2"
+ 1524 PUSHGETGLOBALFIELD Pervasives, 2
+ 1527 APPTERM1 5
+ 1529 RESTART
+ 1530 GRAB 1
+ 1532 ACC1
+ 1533 BRANCHIFNOT 1549
+ 1535 ACC1
+ 1536 GETFIELD0
+ 1537 PUSHACC1
+ 1538 APPLY1
+ 1539 BRANCHIFNOT 1547
+ 1541 ACC1
+ 1542 GETFIELD1
+ 1543 PUSHACC1
+ 1544 PUSHOFFSETCLOSURE0
+ 1545 APPTERM2 4
+ 1547 RETURN 2
+ 1549 CONST1
+ 1550 RETURN 2
+ 1552 RESTART
+ 1553 GRAB 1
+ 1555 ACC1
+ 1556 BRANCHIFNOT 1570
+ 1558 ACC1
+ 1559 GETFIELD0
+ 1560 PUSHACC1
+ 1561 APPLY1
+ 1562 BRANCHIF 1570
+ 1564 ACC1
+ 1565 GETFIELD1
+ 1566 PUSHACC1
+ 1567 PUSHOFFSETCLOSURE0
+ 1568 APPTERM2 4
+ 1570 RETURN 2
+ 1572 RESTART
+ 1573 GRAB 2
+ 1575 ACC1
+ 1576 BRANCHIFNOT 1599
+ 1578 ACC2
+ 1579 BRANCHIFNOT 1605
+ 1581 ACC2
+ 1582 GETFIELD0
+ 1583 PUSHACC2
+ 1584 GETFIELD0
+ 1585 PUSHACC2
+ 1586 APPLY2
+ 1587 BRANCHIFNOT 1597
+ 1589 ACC2
+ 1590 GETFIELD1
+ 1591 PUSHACC2
+ 1592 GETFIELD1
+ 1593 PUSHACC2
+ 1594 PUSHOFFSETCLOSURE0
+ 1595 APPTERM3 6
+ 1597 RETURN 3
+ 1599 ACC2
+ 1600 BRANCHIF 1605
+ 1602 CONST1
+ 1603 RETURN 3
+ 1605 GETGLOBAL "List.for_all2"
+ 1607 PUSHGETGLOBALFIELD Pervasives, 2
+ 1610 APPTERM1 4
+ 1612 RESTART
+ 1613 GRAB 2
+ 1615 ACC1
+ 1616 BRANCHIFNOT 1639
+ 1618 ACC2
+ 1619 BRANCHIFNOT 1646
+ 1621 ACC2
+ 1622 GETFIELD0
+ 1623 PUSHACC2
+ 1624 GETFIELD0
+ 1625 PUSHACC2
+ 1626 APPLY2
+ 1627 BRANCHIF 1637
+ 1629 ACC2
+ 1630 GETFIELD1
+ 1631 PUSHACC2
+ 1632 GETFIELD1
+ 1633 PUSHACC2
+ 1634 PUSHOFFSETCLOSURE0
+ 1635 APPTERM3 6
+ 1637 RETURN 3
+ 1639 ACC2
+ 1640 BRANCHIFNOT 1644
+ 1642 BRANCH 1646
+ 1644 RETURN 3
+ 1646 GETGLOBAL "List.exists2"
+ 1648 PUSHGETGLOBALFIELD Pervasives, 2
+ 1651 APPTERM1 4
+ 1653 RESTART
+ 1654 GRAB 1
+ 1656 ACC1
+ 1657 BRANCHIFNOT 1672
+ 1659 ACC0
+ 1660 PUSHACC2
+ 1661 GETFIELD0
+ 1662 C_CALL2 equal
+ 1664 BRANCHIF 1672
+ 1666 ACC1
+ 1667 GETFIELD1
+ 1668 PUSHACC1
+ 1669 PUSHOFFSETCLOSURE0
+ 1670 APPTERM2 4
+ 1672 RETURN 2
+ 1674 RESTART
+ 1675 GRAB 1
+ 1677 ACC1
+ 1678 BRANCHIFNOT 1692
+ 1680 ACC0
+ 1681 PUSHACC2
+ 1682 GETFIELD0
+ 1683 EQ
+ 1684 BRANCHIF 1692
+ 1686 ACC1
+ 1687 GETFIELD1
+ 1688 PUSHACC1
+ 1689 PUSHOFFSETCLOSURE0
+ 1690 APPTERM2 4
+ 1692 RETURN 2
+ 1694 RESTART
+ 1695 GRAB 1
+ 1697 ACC1
+ 1698 BRANCHIFNOT 1719
+ 1700 ACC1
+ 1701 GETFIELD0
+ 1702 PUSHACC1
+ 1703 PUSHACC1
+ 1704 GETFIELD0
+ 1705 C_CALL2 equal
+ 1707 BRANCHIFNOT 1713
+ 1709 ACC0
+ 1710 GETFIELD1
+ 1711 RETURN 3
+ 1713 ACC2
+ 1714 GETFIELD1
+ 1715 PUSHACC2
+ 1716 PUSHOFFSETCLOSURE0
+ 1717 APPTERM2 5
+ 1719 GETGLOBAL Not_found
+ 1721 MAKEBLOCK1 0
+ 1723 RAISE
+ 1724 RESTART
+ 1725 GRAB 1
+ 1727 ACC1
+ 1728 BRANCHIFNOT 1748
+ 1730 ACC1
+ 1731 GETFIELD0
+ 1732 PUSHACC1
+ 1733 PUSHACC1
+ 1734 GETFIELD0
+ 1735 EQ
+ 1736 BRANCHIFNOT 1742
+ 1738 ACC0
+ 1739 GETFIELD1
+ 1740 RETURN 3
+ 1742 ACC2
+ 1743 GETFIELD1
+ 1744 PUSHACC2
+ 1745 PUSHOFFSETCLOSURE0
+ 1746 APPTERM2 5
+ 1748 GETGLOBAL Not_found
+ 1750 MAKEBLOCK1 0
+ 1752 RAISE
+ 1753 RESTART
+ 1754 GRAB 1
+ 1756 ACC1
+ 1757 BRANCHIFNOT 1773
+ 1759 ACC0
+ 1760 PUSHACC2
+ 1761 GETFIELD0
+ 1762 GETFIELD0
+ 1763 C_CALL2 equal
+ 1765 BRANCHIF 1773
+ 1767 ACC1
+ 1768 GETFIELD1
+ 1769 PUSHACC1
+ 1770 PUSHOFFSETCLOSURE0
+ 1771 APPTERM2 4
+ 1773 RETURN 2
+ 1775 RESTART
+ 1776 GRAB 1
+ 1778 ACC1
+ 1779 BRANCHIFNOT 1794
+ 1781 ACC0
+ 1782 PUSHACC2
+ 1783 GETFIELD0
+ 1784 GETFIELD0
+ 1785 EQ
+ 1786 BRANCHIF 1794
+ 1788 ACC1
+ 1789 GETFIELD1
+ 1790 PUSHACC1
+ 1791 PUSHOFFSETCLOSURE0
+ 1792 APPTERM2 4
+ 1794 RETURN 2
+ 1796 RESTART
+ 1797 GRAB 1
+ 1799 ACC1
+ 1800 BRANCHIFNOT 1825
+ 1802 ACC1
+ 1803 GETFIELD0
+ 1804 PUSHACC2
+ 1805 GETFIELD1
+ 1806 PUSHACC2
+ 1807 PUSHACC2
+ 1808 GETFIELD0
+ 1809 C_CALL2 equal
+ 1811 BRANCHIFNOT 1816
+ 1813 ACC0
+ 1814 RETURN 4
+ 1816 ACC0
+ 1817 PUSHACC3
+ 1818 PUSHOFFSETCLOSURE0
+ 1819 APPLY2
+ 1820 PUSHACC2
+ 1821 MAKEBLOCK2 0
+ 1823 POP 2
+ 1825 RETURN 2
+ 1827 RESTART
+ 1828 GRAB 1
+ 1830 ACC1
+ 1831 BRANCHIFNOT 1855
+ 1833 ACC1
+ 1834 GETFIELD0
+ 1835 PUSHACC2
+ 1836 GETFIELD1
+ 1837 PUSHACC2
+ 1838 PUSHACC2
+ 1839 GETFIELD0
+ 1840 EQ
+ 1841 BRANCHIFNOT 1846
+ 1843 ACC0
+ 1844 RETURN 4
+ 1846 ACC0
+ 1847 PUSHACC3
+ 1848 PUSHOFFSETCLOSURE0
+ 1849 APPLY2
+ 1850 PUSHACC2
+ 1851 MAKEBLOCK2 0
+ 1853 POP 2
+ 1855 RETURN 2
+ 1857 RESTART
+ 1858 GRAB 1
+ 1860 ACC1
+ 1861 BRANCHIFNOT 1879
+ 1863 ACC1
+ 1864 GETFIELD0
+ 1865 PUSHACC0
+ 1866 PUSHACC2
+ 1867 APPLY1
+ 1868 BRANCHIFNOT 1873
+ 1870 ACC0
+ 1871 RETURN 3
+ 1873 ACC2
+ 1874 GETFIELD1
+ 1875 PUSHACC2
+ 1876 PUSHOFFSETCLOSURE0
+ 1877 APPTERM2 5
+ 1879 GETGLOBAL Not_found
+ 1881 MAKEBLOCK1 0
+ 1883 RAISE
+ 1884 RESTART
+ 1885 GRAB 2
+ 1887 ACC2
+ 1888 BRANCHIFNOT 1917
+ 1890 ACC2
+ 1891 GETFIELD0
+ 1892 PUSHACC3
+ 1893 GETFIELD1
+ 1894 PUSHACC1
+ 1895 PUSHENVACC2
+ 1896 APPLY1
+ 1897 BRANCHIFNOT 1908
+ 1899 ACC0
+ 1900 PUSHACC4
+ 1901 PUSHACC4
+ 1902 PUSHACC4
+ 1903 MAKEBLOCK2 0
+ 1905 PUSHOFFSETCLOSURE0
+ 1906 APPTERM3 8
+ 1908 ACC0
+ 1909 PUSHACC4
+ 1910 PUSHACC3
+ 1911 MAKEBLOCK2 0
+ 1913 PUSHACC4
+ 1914 PUSHOFFSETCLOSURE0
+ 1915 APPTERM3 8
+ 1917 ACC1
+ 1918 PUSHENVACC1
+ 1919 APPLY1
+ 1920 PUSHACC1
+ 1921 PUSHENVACC1
+ 1922 APPLY1
+ 1923 MAKEBLOCK2 0
+ 1925 RETURN 3
+ 1927 RESTART
+ 1928 GRAB 1
+ 1930 ACC0
+ 1931 PUSHENVACC1
+ 1932 CLOSUREREC 2, 1885
+ 1936 ACC2
+ 1937 PUSHCONST0
+ 1938 PUSHCONST0
+ 1939 PUSHACC3
+ 1940 APPTERM3 6
+ 1942 ACC0
+ 1943 BRANCHIFNOT 1967
+ 1945 ACC0
+ 1946 GETFIELD0
+ 1947 PUSHACC1
+ 1948 GETFIELD1
+ 1949 PUSHOFFSETCLOSURE0
+ 1950 APPLY1
+ 1951 PUSHACC0
+ 1952 GETFIELD1
+ 1953 PUSHACC2
+ 1954 GETFIELD1
+ 1955 MAKEBLOCK2 0
+ 1957 PUSHACC1
+ 1958 GETFIELD0
+ 1959 PUSHACC3
+ 1960 GETFIELD0
+ 1961 MAKEBLOCK2 0
+ 1963 MAKEBLOCK2 0
+ 1965 RETURN 3
+ 1967 GETGLOBAL <0>(0, 0)
+ 1969 RETURN 1
+ 1971 RESTART
+ 1972 GRAB 1
+ 1974 ACC0
+ 1975 BRANCHIFNOT 1996
+ 1977 ACC1
+ 1978 BRANCHIFNOT 2003
+ 1980 ACC1
+ 1981 GETFIELD1
+ 1982 PUSHACC1
+ 1983 GETFIELD1
+ 1984 PUSHOFFSETCLOSURE0
+ 1985 APPLY2
+ 1986 PUSHACC2
+ 1987 GETFIELD0
+ 1988 PUSHACC2
+ 1989 GETFIELD0
+ 1990 MAKEBLOCK2 0
+ 1992 MAKEBLOCK2 0
+ 1994 RETURN 2
+ 1996 ACC1
+ 1997 BRANCHIFNOT 2001
+ 1999 BRANCH 2003
+ 2001 RETURN 2
+ 2003 GETGLOBAL "List.combine"
+ 2005 PUSHGETGLOBALFIELD Pervasives, 2
+ 2008 APPTERM1 3
+ 2010 RESTART
+ 2011 GRAB 1
+ 2013 ACC1
+ 2014 BRANCHIFNOT 2038
+ 2016 ACC1
+ 2017 GETFIELD0
+ 2018 PUSHACC2
+ 2019 GETFIELD1
+ 2020 PUSHACC1
+ 2021 PUSHENVACC2
+ 2022 APPLY1
+ 2023 BRANCHIFNOT 2033
+ 2025 ACC0
+ 2026 PUSHACC3
+ 2027 PUSHACC3
+ 2028 MAKEBLOCK2 0
+ 2030 PUSHOFFSETCLOSURE0
+ 2031 APPTERM2 6
+ 2033 ACC0
+ 2034 PUSHACC3
+ 2035 PUSHOFFSETCLOSURE0
+ 2036 APPTERM2 6
+ 2038 ACC0
+ 2039 PUSHENVACC1
+ 2040 APPTERM1 3
+ 2042 ACC0
+ 2043 PUSHENVACC1
+ 2044 CLOSUREREC 2, 2011
+ 2048 CONST0
+ 2049 PUSHACC1
+ 2050 APPTERM1 3
+ 2052 RESTART
+ 2053 GRAB 2
+ 2055 ACC1
+ 2056 BRANCHIFNOT 2077
+ 2058 ACC2
+ 2059 BRANCHIFNOT 2084
+ 2061 ACC2
+ 2062 GETFIELD1
+ 2063 PUSHACC2
+ 2064 GETFIELD1
+ 2065 PUSHACC2
+ 2066 PUSHACC5
+ 2067 GETFIELD0
+ 2068 PUSHACC5
+ 2069 GETFIELD0
+ 2070 PUSHENVACC1
+ 2071 APPLY2
+ 2072 MAKEBLOCK2 0
+ 2074 PUSHOFFSETCLOSURE0
+ 2075 APPTERM3 6
+ 2077 ACC2
+ 2078 BRANCHIFNOT 2082
+ 2080 BRANCH 2084
+ 2082 RETURN 3
+ 2084 GETGLOBAL "List.rev_map2"
+ 2086 PUSHGETGLOBALFIELD Pervasives, 2
+ 2089 APPTERM1 4
+ 2091 RESTART
+ 2092 GRAB 2
+ 2094 ACC0
+ 2095 CLOSUREREC 1, 2053
+ 2099 ACC3
+ 2100 PUSHACC3
+ 2101 PUSHCONST0
+ 2102 PUSHACC3
+ 2103 APPTERM3 7
+ 2105 RESTART
+ 2106 GRAB 1
+ 2108 ACC1
+ 2109 BRANCHIFNOT 2123
+ 2111 ACC1
+ 2112 GETFIELD1
+ 2113 PUSHACC1
+ 2114 PUSHACC3
+ 2115 GETFIELD0
+ 2116 PUSHENVACC1
+ 2117 APPLY1
+ 2118 MAKEBLOCK2 0
+ 2120 PUSHOFFSETCLOSURE0
+ 2121 APPTERM2 4
+ 2123 ACC0
+ 2124 RETURN 2
+ 2126 RESTART
+ 2127 GRAB 1
+ 2129 ACC0
+ 2130 CLOSUREREC 1, 2106
+ 2134 ACC2
+ 2135 PUSHCONST0
+ 2136 PUSHACC2
+ 2137 APPTERM2 5
+ 2139 CONST0
+ 2140 PUSHACC1
+ 2141 PUSHENVACC1
+ 2142 APPTERM2 3
+ 2144 ACC0
+ 2145 BRANCHIFNOT 2151
+ 2147 ACC0
+ 2148 GETFIELD1
+ 2149 RETURN 1
+ 2151 GETGLOBAL "tl"
+ 2153 PUSHGETGLOBALFIELD Pervasives, 3
+ 2156 APPTERM1 2
+ 2158 ACC0
+ 2159 BRANCHIFNOT 2165
+ 2161 ACC0
+ 2162 GETFIELD0
+ 2163 RETURN 1
+ 2165 GETGLOBAL "hd"
+ 2167 PUSHGETGLOBALFIELD Pervasives, 3
+ 2170 APPTERM1 2
+ 2172 ACC0
+ 2173 PUSHCONST0
+ 2174 PUSHENVACC1
+ 2175 APPTERM2 3
+ 2177 CLOSUREREC 0, 1200
+ 2181 ACC0
+ 2182 CLOSURE 1, 2172
+ 2185 PUSH
+ 2186 CLOSURE 0, 2158
+ 2189 PUSH
+ 2190 CLOSURE 0, 2144
+ 2193 PUSH
+ 2194 CLOSUREREC 0, 1217
+ 2198 GETGLOBALFIELD Pervasives, 16
+ 2201 PUSH
+ 2202 CLOSUREREC 0, 1259
+ 2206 ACC0
+ 2207 CLOSURE 1, 2139
+ 2210 PUSH
+ 2211 CLOSUREREC 0, 1277
+ 2215 CLOSUREREC 0, 1294
+ 2219 CLOSURE 0, 2127
+ 2222 PUSH
+ 2223 CLOSUREREC 0, 1316
+ 2227 CLOSUREREC 0, 1334
+ 2231 CLOSUREREC 0, 1354
+ 2235 CLOSUREREC 0, 1374
+ 2239 CLOSURE 0, 2092
+ 2242 PUSH
+ 2243 CLOSUREREC 0, 1415
+ 2247 CLOSUREREC 0, 1452
+ 2251 CLOSUREREC 0, 1490
+ 2255 CLOSUREREC 0, 1530
+ 2259 CLOSUREREC 0, 1553
+ 2263 CLOSUREREC 0, 1573
+ 2267 CLOSUREREC 0, 1613
+ 2271 CLOSUREREC 0, 1654
+ 2275 CLOSUREREC 0, 1675
+ 2279 CLOSUREREC 0, 1695
+ 2283 CLOSUREREC 0, 1725
+ 2287 CLOSUREREC 0, 1754
+ 2291 CLOSUREREC 0, 1776
+ 2295 CLOSUREREC 0, 1797
+ 2299 CLOSUREREC 0, 1828
+ 2303 CLOSUREREC 0, 1858
+ 2307 ACC 24
+ 2309 CLOSURE 1, 2042
+ 2312 PUSHACC 25
+ 2314 CLOSUREREC 1, 1928
+ 2318 CLOSUREREC 0, 1942
+ 2322 CLOSUREREC 0, 1972
+ 2326 ACC0
+ 2327 PUSHACC2
+ 2328 PUSHACC7
+ 2329 PUSHACC 9
+ 2331 PUSHACC 11
+ 2333 PUSHACC 13
+ 2335 PUSHACC 15
+ 2337 PUSHACC 17
+ 2339 PUSHACC 10
+ 2341 PUSHACC 12
+ 2343 PUSHACC 13
+ 2345 PUSHACC 15
+ 2347 PUSHACC 23
+ 2349 PUSHACC 25
+ 2351 PUSHACC 27
+ 2353 PUSHACC 29
+ 2355 PUSHACC 31
+ 2357 PUSHACC 33
+ 2359 PUSHACC 35
+ 2361 PUSHACC 37
+ 2363 PUSHACC 40
+ 2365 PUSHACC 42
+ 2367 PUSHACC 41
+ 2369 PUSHACC 45
+ 2371 PUSHACC 47
+ 2373 PUSHACC 50
+ 2375 PUSHACC 52
+ 2377 PUSHACC 51
+ 2379 PUSHACC 55
+ 2381 PUSHACC 56
+ 2383 PUSHACC 59
+ 2385 PUSHACC 61
+ 2387 PUSHACC 60
+ 2389 PUSHACC 64
+ 2391 PUSHACC 66
+ 2393 PUSHACC 68
+ 2395 PUSHACC 70
+ 2397 MAKEBLOCK 37, 0
+ 2400 POP 36
+ 2402 SETGLOBAL List
+ 2404 BRANCH 2432
+ 2406 CONST0
+ 2407 PUSHACC1
+ 2408 LEINT
+ 2409 BRANCHIFNOT 2414
+ 2411 CONST0
+ 2412 RETURN 1
+ 2414 ACC0
+ 2415 OFFSETINT -1
+ 2417 PUSHOFFSETCLOSURE0
+ 2418 APPLY1
+ 2419 PUSHACC1
+ 2420 MAKEBLOCK2 0
+ 2422 RETURN 1
+ 2424 RESTART
+ 2425 GRAB 1
+ 2427 ACC1
+ 2428 PUSHACC1
+ 2429 ADDINT
+ 2430 RETURN 2
+ 2432 CLOSUREREC 0, 2406
+ 2436 CONST0
+ 2437 C_CALL1 gc_compaction
+ 2439 CONSTINT 300
+ 2441 PUSHACC1
+ 2442 APPLY1
+ 2443 PUSHCONSTINT 150
+ 2445 PUSHCONSTINT 301
+ 2447 MULINT
+ 2448 PUSHACC1
+ 2449 PUSHCONST0
+ 2450 PUSH
+ 2451 CLOSURE 0, 2425
+ 2454 PUSHGETGLOBALFIELD List, 12
+ 2457 APPLY3
+ 2458 NEQ
+ 2459 BRANCHIFNOT 2466
+ 2461 GETGLOBAL Not_found
+ 2463 MAKEBLOCK1 0
+ 2465 RAISE
+ 2466 POP 2
+ 2468 ATOM0
+ 2469 SETGLOBAL T330-compact-4
+ 2471 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t340-weak.ml b/testsuite/tests/tool-ocaml/t340-weak.ml
new file mode 100644
index 0000000000..e36dbab503
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t340-weak.ml
@@ -0,0 +1,2551 @@
+open Lib;;
+let x = Array.make 20 "" in
+let w = weak_create 20 in
+for i = 0 to 19 do
+ x.(i) <- String.make 20 's';
+ weak_set w i (Some x.(i));
+done;
+Gc.full_major ();
+for i = 0 to 19 do
+ match weak_get w i with
+ | None -> raise Not_found
+ | _ -> ()
+done;
+for i = 0 to 19 do
+ if i mod 2 = 0 then x.(i) <- ""
+done;
+Gc.full_major ();
+for i = 0 to 19 do
+ match weak_get w i with
+ | None when i mod 2 = 0 -> ()
+ | Some s when i mod 2 = 1 -> if s.[5] <> 's' then raise Not_found
+ | _ -> raise Not_found
+done
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 746
+ 11 RESTART
+ 12 GRAB 1
+ 14 ACC0
+ 15 BRANCHIFNOT 28
+ 17 ACC1
+ 18 PUSHACC1
+ 19 GETFIELD1
+ 20 PUSHOFFSETCLOSURE0
+ 21 APPLY2
+ 22 PUSHACC1
+ 23 GETFIELD0
+ 24 MAKEBLOCK2 0
+ 26 RETURN 2
+ 28 ACC1
+ 29 RETURN 2
+ 31 RESTART
+ 32 GRAB 3
+ 34 CONST0
+ 35 PUSHACC4
+ 36 LEINT
+ 37 BRANCHIFNOT 42
+ 39 CONST0
+ 40 RETURN 4
+ 42 ACC3
+ 43 PUSHACC3
+ 44 PUSHACC3
+ 45 PUSHACC3
+ 46 C_CALL4 caml_input
+ 48 PUSHCONST0
+ 49 PUSHACC1
+ 50 EQ
+ 51 BRANCHIFNOT 58
+ 53 GETGLOBAL End_of_file
+ 55 MAKEBLOCK1 0
+ 57 RAISE
+ 58 ACC0
+ 59 PUSHACC5
+ 60 SUBINT
+ 61 PUSHACC1
+ 62 PUSHACC5
+ 63 ADDINT
+ 64 PUSHACC4
+ 65 PUSHACC4
+ 66 PUSHOFFSETCLOSURE0
+ 67 APPTERM 4, 9
+ 70 ACC0
+ 71 C_CALL1 caml_input_scan_line
+ 73 PUSHCONST0
+ 74 PUSHACC1
+ 75 EQ
+ 76 BRANCHIFNOT 83
+ 78 GETGLOBAL End_of_file
+ 80 MAKEBLOCK1 0
+ 82 RAISE
+ 83 CONST0
+ 84 PUSHACC1
+ 85 GTINT
+ 86 BRANCHIFNOT 107
+ 88 ACC0
+ 89 OFFSETINT -1
+ 91 C_CALL1 create_string
+ 93 PUSHACC1
+ 94 OFFSETINT -1
+ 96 PUSHCONST0
+ 97 PUSHACC2
+ 98 PUSHACC5
+ 99 C_CALL4 caml_input
+ 101 ACC2
+ 102 C_CALL1 caml_input_char
+ 104 ACC0
+ 105 RETURN 3
+ 107 ACC0
+ 108 NEGINT
+ 109 C_CALL1 create_string
+ 111 PUSHACC1
+ 112 NEGINT
+ 113 PUSHCONST0
+ 114 PUSHACC2
+ 115 PUSHACC5
+ 116 C_CALL4 caml_input
+ 118 CONST0
+ 119 PUSHTRAP 130
+ 121 ACC6
+ 122 PUSHOFFSETCLOSURE0
+ 123 APPLY1
+ 124 PUSHACC5
+ 125 PUSHENVACC1
+ 126 APPLY2
+ 127 POPTRAP
+ 128 RETURN 3
+ 130 PUSHGETGLOBAL End_of_file
+ 132 PUSHACC1
+ 133 GETFIELD0
+ 134 EQ
+ 135 BRANCHIFNOT 140
+ 137 ACC1
+ 138 RETURN 4
+ 140 ACC0
+ 141 RAISE
+ 142 ACC0
+ 143 C_CALL1 caml_flush
+ 145 RETURN 1
+ 147 RESTART
+ 148 GRAB 1
+ 150 ACC1
+ 151 PUSHACC1
+ 152 C_CALL2 caml_output_char
+ 154 RETURN 2
+ 156 RESTART
+ 157 GRAB 1
+ 159 ACC1
+ 160 PUSHACC1
+ 161 C_CALL2 caml_output_char
+ 163 RETURN 2
+ 165 RESTART
+ 166 GRAB 1
+ 168 ACC1
+ 169 PUSHACC1
+ 170 C_CALL2 caml_output_int
+ 172 RETURN 2
+ 174 RESTART
+ 175 GRAB 1
+ 177 ACC1
+ 178 PUSHACC1
+ 179 C_CALL2 caml_seek_out
+ 181 RETURN 2
+ 183 ACC0
+ 184 C_CALL1 caml_pos_out
+ 186 RETURN 1
+ 188 ACC0
+ 189 C_CALL1 caml_channel_size
+ 191 RETURN 1
+ 193 RESTART
+ 194 GRAB 1
+ 196 ACC1
+ 197 PUSHACC1
+ 198 C_CALL2 caml_set_binary_mode
+ 200 RETURN 2
+ 202 ACC0
+ 203 C_CALL1 caml_input_char
+ 205 RETURN 1
+ 207 ACC0
+ 208 C_CALL1 caml_input_char
+ 210 RETURN 1
+ 212 ACC0
+ 213 C_CALL1 caml_input_int
+ 215 RETURN 1
+ 217 ACC0
+ 218 C_CALL1 input_value
+ 220 RETURN 1
+ 222 RESTART
+ 223 GRAB 1
+ 225 ACC1
+ 226 PUSHACC1
+ 227 C_CALL2 caml_seek_in
+ 229 RETURN 2
+ 231 ACC0
+ 232 C_CALL1 caml_pos_in
+ 234 RETURN 1
+ 236 ACC0
+ 237 C_CALL1 caml_channel_size
+ 239 RETURN 1
+ 241 ACC0
+ 242 C_CALL1 caml_close_channel
+ 244 RETURN 1
+ 246 RESTART
+ 247 GRAB 1
+ 249 ACC1
+ 250 PUSHACC1
+ 251 C_CALL2 caml_set_binary_mode
+ 253 RETURN 2
+ 255 CONST0
+ 256 PUSHENVACC1
+ 257 APPLY1
+ 258 ACC0
+ 259 C_CALL1 sys_exit
+ 261 RETURN 1
+ 263 CONST0
+ 264 PUSHENVACC1
+ 265 GETFIELD0
+ 266 APPTERM1 2
+ 268 CONST0
+ 269 PUSHENVACC1
+ 270 APPLY1
+ 271 CONST0
+ 272 PUSHENVACC2
+ 273 APPTERM1 2
+ 275 ENVACC1
+ 276 GETFIELD0
+ 277 PUSHACC0
+ 278 PUSHACC2
+ 279 CLOSURE 2, 268
+ 282 PUSHENVACC1
+ 283 SETFIELD0
+ 284 RETURN 2
+ 286 ENVACC1
+ 287 C_CALL1 caml_flush
+ 289 ENVACC2
+ 290 C_CALL1 caml_flush
+ 292 RETURN 1
+ 294 CONST0
+ 295 PUSHENVACC1
+ 296 APPLY1
+ 297 C_CALL1 float_of_string
+ 299 RETURN 1
+ 301 CONST0
+ 302 PUSHENVACC1
+ 303 APPLY1
+ 304 C_CALL1 int_of_string
+ 306 RETURN 1
+ 308 ENVACC2
+ 309 C_CALL1 caml_flush
+ 311 ENVACC1
+ 312 PUSHENVACC3
+ 313 APPTERM1 2
+ 315 CONSTINT 13
+ 317 PUSHENVACC1
+ 318 C_CALL2 caml_output_char
+ 320 ENVACC1
+ 321 C_CALL1 caml_flush
+ 323 RETURN 1
+ 325 ACC0
+ 326 PUSHENVACC1
+ 327 PUSHENVACC2
+ 328 APPLY2
+ 329 CONSTINT 13
+ 331 PUSHENVACC1
+ 332 C_CALL2 caml_output_char
+ 334 ENVACC1
+ 335 C_CALL1 caml_flush
+ 337 RETURN 1
+ 339 ACC0
+ 340 PUSHENVACC1
+ 341 APPLY1
+ 342 PUSHENVACC2
+ 343 PUSHENVACC3
+ 344 APPTERM2 3
+ 346 ACC0
+ 347 PUSHENVACC1
+ 348 APPLY1
+ 349 PUSHENVACC2
+ 350 PUSHENVACC3
+ 351 APPTERM2 3
+ 353 ACC0
+ 354 PUSHENVACC1
+ 355 PUSHENVACC2
+ 356 APPTERM2 3
+ 358 ACC0
+ 359 PUSHENVACC1
+ 360 C_CALL2 caml_output_char
+ 362 RETURN 1
+ 364 CONSTINT 13
+ 366 PUSHENVACC1
+ 367 C_CALL2 caml_output_char
+ 369 ENVACC1
+ 370 C_CALL1 caml_flush
+ 372 RETURN 1
+ 374 ACC0
+ 375 PUSHENVACC1
+ 376 PUSHENVACC2
+ 377 APPLY2
+ 378 CONSTINT 13
+ 380 PUSHENVACC1
+ 381 C_CALL2 caml_output_char
+ 383 RETURN 1
+ 385 ACC0
+ 386 PUSHENVACC1
+ 387 APPLY1
+ 388 PUSHENVACC2
+ 389 PUSHENVACC3
+ 390 APPTERM2 3
+ 392 ACC0
+ 393 PUSHENVACC1
+ 394 APPLY1
+ 395 PUSHENVACC2
+ 396 PUSHENVACC3
+ 397 APPTERM2 3
+ 399 ACC0
+ 400 PUSHENVACC1
+ 401 PUSHENVACC2
+ 402 APPTERM2 3
+ 404 ACC0
+ 405 PUSHENVACC1
+ 406 C_CALL2 caml_output_char
+ 408 RETURN 1
+ 410 RESTART
+ 411 GRAB 3
+ 413 CONST0
+ 414 PUSHACC3
+ 415 LTINT
+ 416 BRANCHIF 427
+ 418 ACC1
+ 419 C_CALL1 ml_string_length
+ 421 PUSHACC4
+ 422 PUSHACC4
+ 423 ADDINT
+ 424 GTINT
+ 425 BRANCHIFNOT 432
+ 427 GETGLOBAL "really_input"
+ 429 PUSHENVACC1
+ 430 APPTERM1 5
+ 432 ACC3
+ 433 PUSHACC3
+ 434 PUSHACC3
+ 435 PUSHACC3
+ 436 PUSHENVACC2
+ 437 APPTERM 4, 8
+ 440 RESTART
+ 441 GRAB 3
+ 443 CONST0
+ 444 PUSHACC3
+ 445 LTINT
+ 446 BRANCHIF 457
+ 448 ACC1
+ 449 C_CALL1 ml_string_length
+ 451 PUSHACC4
+ 452 PUSHACC4
+ 453 ADDINT
+ 454 GTINT
+ 455 BRANCHIFNOT 462
+ 457 GETGLOBAL "input"
+ 459 PUSHENVACC1
+ 460 APPTERM1 5
+ 462 ACC3
+ 463 PUSHACC3
+ 464 PUSHACC3
+ 465 PUSHACC3
+ 466 C_CALL4 caml_input
+ 468 RETURN 4
+ 470 ACC0
+ 471 PUSHCONST0
+ 472 PUSHGETGLOBAL <0>(0, <0>(6, 0))
+ 474 PUSHENVACC1
+ 475 APPTERM3 4
+ 477 ACC0
+ 478 PUSHCONST0
+ 479 PUSHGETGLOBAL <0>(0, <0>(7, 0))
+ 481 PUSHENVACC1
+ 482 APPTERM3 4
+ 484 RESTART
+ 485 GRAB 2
+ 487 ACC1
+ 488 PUSHACC1
+ 489 PUSHACC4
+ 490 C_CALL3 sys_open
+ 492 C_CALL1 caml_open_descriptor
+ 494 RETURN 3
+ 496 ACC0
+ 497 C_CALL1 caml_flush
+ 499 ACC0
+ 500 C_CALL1 caml_close_channel
+ 502 RETURN 1
+ 504 RESTART
+ 505 GRAB 1
+ 507 CONST0
+ 508 PUSHACC2
+ 509 PUSHACC2
+ 510 C_CALL3 output_value
+ 512 RETURN 2
+ 514 RESTART
+ 515 GRAB 3
+ 517 CONST0
+ 518 PUSHACC3
+ 519 LTINT
+ 520 BRANCHIF 531
+ 522 ACC1
+ 523 C_CALL1 ml_string_length
+ 525 PUSHACC4
+ 526 PUSHACC4
+ 527 ADDINT
+ 528 GTINT
+ 529 BRANCHIFNOT 536
+ 531 GETGLOBAL "output"
+ 533 PUSHENVACC1
+ 534 APPTERM1 5
+ 536 ACC3
+ 537 PUSHACC3
+ 538 PUSHACC3
+ 539 PUSHACC3
+ 540 C_CALL4 caml_output
+ 542 RETURN 4
+ 544 RESTART
+ 545 GRAB 1
+ 547 ACC1
+ 548 C_CALL1 ml_string_length
+ 550 PUSHCONST0
+ 551 PUSHACC3
+ 552 PUSHACC3
+ 553 C_CALL4 caml_output
+ 555 RETURN 2
+ 557 ACC0
+ 558 PUSHCONSTINT 438
+ 560 PUSHGETGLOBAL <0>(1, <0>(3, <0>(4, <0>(6, 0))))
+ 562 PUSHENVACC1
+ 563 APPTERM3 4
+ 565 ACC0
+ 566 PUSHCONSTINT 438
+ 568 PUSHGETGLOBAL <0>(1, <0>(3, <0>(4, <0>(7, 0))))
+ 570 PUSHENVACC1
+ 571 APPTERM3 4
+ 573 RESTART
+ 574 GRAB 2
+ 576 ACC1
+ 577 PUSHACC1
+ 578 PUSHACC4
+ 579 C_CALL3 sys_open
+ 581 C_CALL1 caml_open_descriptor
+ 583 RETURN 3
+ 585 ACC0
+ 586 PUSHGETGLOBAL "%.12g"
+ 588 C_CALL2 format_float
+ 590 RETURN 1
+ 592 ACC0
+ 593 PUSHGETGLOBAL "%d"
+ 595 C_CALL2 format_int
+ 597 RETURN 1
+ 599 GETGLOBAL "false"
+ 601 PUSHACC1
+ 602 C_CALL2 string_equal
+ 604 BRANCHIFNOT 609
+ 606 CONST0
+ 607 RETURN 1
+ 609 GETGLOBAL "true"
+ 611 PUSHACC1
+ 612 C_CALL2 string_equal
+ 614 BRANCHIFNOT 619
+ 616 CONST1
+ 617 RETURN 1
+ 619 GETGLOBAL "bool_of_string"
+ 621 PUSHENVACC1
+ 622 APPTERM1 2
+ 624 ACC0
+ 625 BRANCHIFNOT 631
+ 627 GETGLOBAL "true"
+ 629 RETURN 1
+ 631 GETGLOBAL "false"
+ 633 RETURN 1
+ 635 CONST0
+ 636 PUSHACC1
+ 637 LTINT
+ 638 BRANCHIF 646
+ 640 CONSTINT 255
+ 642 PUSHACC1
+ 643 GTINT
+ 644 BRANCHIFNOT 651
+ 646 GETGLOBAL "char_of_int"
+ 648 PUSHENVACC1
+ 649 APPTERM1 2
+ 651 ACC0
+ 652 RETURN 1
+ 654 RESTART
+ 655 GRAB 1
+ 657 ACC0
+ 658 C_CALL1 ml_string_length
+ 660 PUSHACC2
+ 661 C_CALL1 ml_string_length
+ 663 PUSHACC0
+ 664 PUSHACC2
+ 665 ADDINT
+ 666 C_CALL1 create_string
+ 668 PUSHACC2
+ 669 PUSHCONST0
+ 670 PUSHACC2
+ 671 PUSHCONST0
+ 672 PUSHACC7
+ 673 C_CALL5 blit_string
+ 675 ACC1
+ 676 PUSHACC3
+ 677 PUSHACC2
+ 678 PUSHCONST0
+ 679 PUSHACC 8
+ 681 C_CALL5 blit_string
+ 683 ACC0
+ 684 RETURN 5
+ 686 CONSTINT -1
+ 688 PUSHACC1
+ 689 XORINT
+ 690 RETURN 1
+ 692 CONST0
+ 693 PUSHACC1
+ 694 GEINT
+ 695 BRANCHIFNOT 700
+ 697 ACC0
+ 698 RETURN 1
+ 700 ACC0
+ 701 NEGINT
+ 702 RETURN 1
+ 704 RESTART
+ 705 GRAB 1
+ 707 ACC1
+ 708 PUSHACC1
+ 709 C_CALL2 greaterequal
+ 711 BRANCHIFNOT 716
+ 713 ACC0
+ 714 RETURN 2
+ 716 ACC1
+ 717 RETURN 2
+ 719 RESTART
+ 720 GRAB 1
+ 722 ACC1
+ 723 PUSHACC1
+ 724 C_CALL2 lessequal
+ 726 BRANCHIFNOT 731
+ 728 ACC0
+ 729 RETURN 2
+ 731 ACC1
+ 732 RETURN 2
+ 734 ACC0
+ 735 PUSHGETGLOBAL Invalid_argument
+ 737 MAKEBLOCK2 0
+ 739 RAISE
+ 740 ACC0
+ 741 PUSHGETGLOBAL Failure
+ 743 MAKEBLOCK2 0
+ 745 RAISE
+ 746 CLOSURE 0, 740
+ 749 PUSH
+ 750 CLOSURE 0, 734
+ 753 PUSHGETGLOBAL "Pervasives.Exit"
+ 755 MAKEBLOCK1 0
+ 757 PUSHGETGLOBAL "Pervasives.Assert_failure"
+ 759 MAKEBLOCK1 0
+ 761 PUSH
+ 762 CLOSURE 0, 720
+ 765 PUSH
+ 766 CLOSURE 0, 705
+ 769 PUSH
+ 770 CLOSURE 0, 692
+ 773 PUSH
+ 774 CLOSURE 0, 686
+ 777 PUSHCONST0
+ 778 PUSHCONSTINT 31
+ 780 PUSHCONST1
+ 781 LSLINT
+ 782 EQ
+ 783 BRANCHIFNOT 789
+ 785 CONSTINT 30
+ 787 BRANCH 791
+ 789 CONSTINT 62
+ 791 PUSHCONST1
+ 792 LSLINT
+ 793 PUSHACC0
+ 794 OFFSETINT -1
+ 796 PUSH
+ 797 CLOSURE 0, 655
+ 800 PUSHACC 9
+ 802 CLOSURE 1, 635
+ 805 PUSH
+ 806 CLOSURE 0, 624
+ 809 PUSHACC 11
+ 811 CLOSURE 1, 599
+ 814 PUSH
+ 815 CLOSURE 0, 592
+ 818 PUSH
+ 819 CLOSURE 0, 585
+ 822 PUSH
+ 823 CLOSUREREC 0, 12
+ 827 CONST0
+ 828 C_CALL1 caml_open_descriptor
+ 830 PUSHCONST1
+ 831 C_CALL1 caml_open_descriptor
+ 833 PUSHCONST2
+ 834 C_CALL1 caml_open_descriptor
+ 836 PUSH
+ 837 CLOSURE 0, 574
+ 840 PUSHACC0
+ 841 CLOSURE 1, 565
+ 844 PUSHACC1
+ 845 CLOSURE 1, 557
+ 848 PUSH
+ 849 CLOSURE 0, 545
+ 852 PUSHACC 22
+ 854 CLOSURE 1, 515
+ 857 PUSH
+ 858 CLOSURE 0, 505
+ 861 PUSH
+ 862 CLOSURE 0, 496
+ 865 PUSH
+ 866 CLOSURE 0, 485
+ 869 PUSHACC0
+ 870 CLOSURE 1, 477
+ 873 PUSHACC1
+ 874 CLOSURE 1, 470
+ 877 PUSHACC 28
+ 879 CLOSURE 1, 441
+ 882 PUSH
+ 883 CLOSUREREC 0, 32
+ 887 ACC0
+ 888 PUSHACC 31
+ 890 CLOSURE 2, 411
+ 893 PUSHACC 22
+ 895 CLOSUREREC 1, 70
+ 899 ACC 15
+ 901 CLOSURE 1, 404
+ 904 PUSHACC 11
+ 906 PUSHACC 17
+ 908 CLOSURE 2, 399
+ 911 PUSHACC 12
+ 913 PUSHACC 18
+ 915 PUSHACC 23
+ 917 CLOSURE 3, 392
+ 920 PUSHACC 13
+ 922 PUSHACC 19
+ 924 PUSHACC 23
+ 926 CLOSURE 3, 385
+ 929 PUSHACC 14
+ 931 PUSHACC 20
+ 933 CLOSURE 2, 374
+ 936 PUSHACC 20
+ 938 CLOSURE 1, 364
+ 941 PUSHACC 20
+ 943 CLOSURE 1, 358
+ 946 PUSHACC 17
+ 948 PUSHACC 22
+ 950 CLOSURE 2, 353
+ 953 PUSHACC 18
+ 955 PUSHACC 23
+ 957 PUSHACC 29
+ 959 CLOSURE 3, 346
+ 962 PUSHACC 19
+ 964 PUSHACC 24
+ 966 PUSHACC 29
+ 968 CLOSURE 3, 339
+ 971 PUSHACC 20
+ 973 PUSHACC 25
+ 975 CLOSURE 2, 325
+ 978 PUSHACC 25
+ 980 CLOSURE 1, 315
+ 983 PUSHACC 12
+ 985 PUSHACC 28
+ 987 PUSHACC 30
+ 989 CLOSURE 3, 308
+ 992 PUSHACC0
+ 993 CLOSURE 1, 301
+ 996 PUSHACC1
+ 997 CLOSURE 1, 294
+ 1000 PUSHACC 29
+ 1002 PUSHACC 31
+ 1004 CLOSURE 2, 286
+ 1007 MAKEBLOCK1 0
+ 1009 PUSHACC0
+ 1010 CLOSURE 1, 275
+ 1013 PUSHACC1
+ 1014 CLOSURE 1, 263
+ 1017 PUSHACC0
+ 1018 CLOSURE 1, 255
+ 1021 PUSHACC1
+ 1022 PUSHACC 22
+ 1024 PUSHACC4
+ 1025 PUSHACC3
+ 1026 PUSH
+ 1027 CLOSURE 0, 247
+ 1030 PUSH
+ 1031 CLOSURE 0, 241
+ 1034 PUSH
+ 1035 CLOSURE 0, 236
+ 1038 PUSH
+ 1039 CLOSURE 0, 231
+ 1042 PUSH
+ 1043 CLOSURE 0, 223
+ 1046 PUSH
+ 1047 CLOSURE 0, 217
+ 1050 PUSH
+ 1051 CLOSURE 0, 212
+ 1054 PUSH
+ 1055 CLOSURE 0, 207
+ 1058 PUSHACC 32
+ 1060 PUSHACC 35
+ 1062 PUSHACC 33
+ 1064 PUSH
+ 1065 CLOSURE 0, 202
+ 1068 PUSHACC 41
+ 1070 PUSHACC 40
+ 1072 PUSHACC 42
+ 1074 PUSH
+ 1075 CLOSURE 0, 194
+ 1078 PUSHACC 46
+ 1080 PUSH
+ 1081 CLOSURE 0, 188
+ 1084 PUSH
+ 1085 CLOSURE 0, 183
+ 1088 PUSH
+ 1089 CLOSURE 0, 175
+ 1092 PUSHACC 51
+ 1094 PUSH
+ 1095 CLOSURE 0, 166
+ 1098 PUSH
+ 1099 CLOSURE 0, 157
+ 1102 PUSHACC 55
+ 1104 PUSHACC 57
+ 1106 PUSH
+ 1107 CLOSURE 0, 148
+ 1110 PUSH
+ 1111 CLOSURE 0, 142
+ 1114 PUSHACC 63
+ 1116 PUSHACC 62
+ 1118 PUSHACC 64
+ 1120 PUSHACC 38
+ 1122 PUSHACC 40
+ 1124 PUSHACC 42
+ 1126 PUSHACC 44
+ 1128 PUSHACC 46
+ 1130 PUSHACC 48
+ 1132 PUSHACC 50
+ 1134 PUSHACC 52
+ 1136 PUSHACC 54
+ 1138 PUSHACC 56
+ 1140 PUSHACC 58
+ 1142 PUSHACC 60
+ 1144 PUSHACC 62
+ 1146 PUSHACC 64
+ 1148 PUSHACC 66
+ 1150 PUSHACC 82
+ 1152 PUSHACC 84
+ 1154 PUSHACC 86
+ 1156 PUSHACC 88
+ 1158 PUSHACC 90
+ 1160 PUSHACC 92
+ 1162 PUSHACC 94
+ 1164 PUSHACC 96
+ 1166 PUSHACC 98
+ 1168 PUSHACC 100
+ 1170 PUSHACC 104
+ 1172 PUSHACC 104
+ 1174 PUSHACC 104
+ 1176 PUSHACC 108
+ 1178 PUSHACC 110
+ 1180 PUSHACC 112
+ 1182 PUSHACC 117
+ 1184 PUSHACC 117
+ 1186 PUSHACC 117
+ 1188 PUSHACC 117
+ 1190 MAKEBLOCK 69, 0
+ 1193 POP 53
+ 1195 SETGLOBAL Pervasives
+ 1197 BRANCH 2177
+ 1199 RESTART
+ 1200 GRAB 1
+ 1202 ACC1
+ 1203 BRANCHIFNOT 1213
+ 1205 ACC1
+ 1206 GETFIELD1
+ 1207 PUSHACC1
+ 1208 OFFSETINT 1
+ 1210 PUSHOFFSETCLOSURE0
+ 1211 APPTERM2 4
+ 1213 ACC0
+ 1214 RETURN 2
+ 1216 RESTART
+ 1217 GRAB 1
+ 1219 ACC0
+ 1220 BRANCHIFNOT 1251
+ 1222 CONST0
+ 1223 PUSHACC2
+ 1224 EQ
+ 1225 BRANCHIFNOT 1231
+ 1227 ACC0
+ 1228 GETFIELD0
+ 1229 RETURN 2
+ 1231 CONST0
+ 1232 PUSHACC2
+ 1233 GTINT
+ 1234 BRANCHIFNOT 1244
+ 1236 ACC1
+ 1237 OFFSETINT -1
+ 1239 PUSHACC1
+ 1240 GETFIELD1
+ 1241 PUSHOFFSETCLOSURE0
+ 1242 APPTERM2 4
+ 1244 GETGLOBAL "List.nth"
+ 1246 PUSHGETGLOBALFIELD Pervasives, 2
+ 1249 APPTERM1 3
+ 1251 GETGLOBAL "nth"
+ 1253 PUSHGETGLOBALFIELD Pervasives, 3
+ 1256 APPTERM1 3
+ 1258 RESTART
+ 1259 GRAB 1
+ 1261 ACC0
+ 1262 BRANCHIFNOT 1274
+ 1264 ACC1
+ 1265 PUSHACC1
+ 1266 GETFIELD0
+ 1267 MAKEBLOCK2 0
+ 1269 PUSHACC1
+ 1270 GETFIELD1
+ 1271 PUSHOFFSETCLOSURE0
+ 1272 APPTERM2 4
+ 1274 ACC1
+ 1275 RETURN 2
+ 1277 ACC0
+ 1278 BRANCHIFNOT 1291
+ 1280 ACC0
+ 1281 GETFIELD1
+ 1282 PUSHOFFSETCLOSURE0
+ 1283 APPLY1
+ 1284 PUSHACC1
+ 1285 GETFIELD0
+ 1286 PUSHGETGLOBALFIELD Pervasives, 16
+ 1289 APPTERM2 3
+ 1291 RETURN 1
+ 1293 RESTART
+ 1294 GRAB 1
+ 1296 ACC1
+ 1297 BRANCHIFNOT 1313
+ 1299 ACC1
+ 1300 GETFIELD0
+ 1301 PUSHACC1
+ 1302 APPLY1
+ 1303 PUSHACC2
+ 1304 GETFIELD1
+ 1305 PUSHACC2
+ 1306 PUSHOFFSETCLOSURE0
+ 1307 APPLY2
+ 1308 PUSHACC1
+ 1309 MAKEBLOCK2 0
+ 1311 POP 1
+ 1313 RETURN 2
+ 1315 RESTART
+ 1316 GRAB 1
+ 1318 ACC1
+ 1319 BRANCHIFNOT 1331
+ 1321 ACC1
+ 1322 GETFIELD0
+ 1323 PUSHACC1
+ 1324 APPLY1
+ 1325 ACC1
+ 1326 GETFIELD1
+ 1327 PUSHACC1
+ 1328 PUSHOFFSETCLOSURE0
+ 1329 APPTERM2 4
+ 1331 RETURN 2
+ 1333 RESTART
+ 1334 GRAB 2
+ 1336 ACC2
+ 1337 BRANCHIFNOT 1350
+ 1339 ACC2
+ 1340 GETFIELD1
+ 1341 PUSHACC3
+ 1342 GETFIELD0
+ 1343 PUSHACC3
+ 1344 PUSHACC3
+ 1345 APPLY2
+ 1346 PUSHACC2
+ 1347 PUSHOFFSETCLOSURE0
+ 1348 APPTERM3 6
+ 1350 ACC1
+ 1351 RETURN 3
+ 1353 RESTART
+ 1354 GRAB 2
+ 1356 ACC1
+ 1357 BRANCHIFNOT 1370
+ 1359 ACC2
+ 1360 PUSHACC2
+ 1361 GETFIELD1
+ 1362 PUSHACC2
+ 1363 PUSHOFFSETCLOSURE0
+ 1364 APPLY3
+ 1365 PUSHACC2
+ 1366 GETFIELD0
+ 1367 PUSHACC2
+ 1368 APPTERM2 5
+ 1370 ACC2
+ 1371 RETURN 3
+ 1373 RESTART
+ 1374 GRAB 2
+ 1376 ACC1
+ 1377 BRANCHIFNOT 1400
+ 1379 ACC2
+ 1380 BRANCHIFNOT 1407
+ 1382 ACC2
+ 1383 GETFIELD0
+ 1384 PUSHACC2
+ 1385 GETFIELD0
+ 1386 PUSHACC2
+ 1387 APPLY2
+ 1388 PUSHACC3
+ 1389 GETFIELD1
+ 1390 PUSHACC3
+ 1391 GETFIELD1
+ 1392 PUSHACC3
+ 1393 PUSHOFFSETCLOSURE0
+ 1394 APPLY3
+ 1395 PUSHACC1
+ 1396 MAKEBLOCK2 0
+ 1398 RETURN 4
+ 1400 ACC2
+ 1401 BRANCHIFNOT 1405
+ 1403 BRANCH 1407
+ 1405 RETURN 3
+ 1407 GETGLOBAL "List.map2"
+ 1409 PUSHGETGLOBALFIELD Pervasives, 2
+ 1412 APPTERM1 4
+ 1414 RESTART
+ 1415 GRAB 2
+ 1417 ACC1
+ 1418 BRANCHIFNOT 1437
+ 1420 ACC2
+ 1421 BRANCHIFNOT 1444
+ 1423 ACC2
+ 1424 GETFIELD0
+ 1425 PUSHACC2
+ 1426 GETFIELD0
+ 1427 PUSHACC2
+ 1428 APPLY2
+ 1429 ACC2
+ 1430 GETFIELD1
+ 1431 PUSHACC2
+ 1432 GETFIELD1
+ 1433 PUSHACC2
+ 1434 PUSHOFFSETCLOSURE0
+ 1435 APPTERM3 6
+ 1437 ACC2
+ 1438 BRANCHIFNOT 1442
+ 1440 BRANCH 1444
+ 1442 RETURN 3
+ 1444 GETGLOBAL "List.iter2"
+ 1446 PUSHGETGLOBALFIELD Pervasives, 2
+ 1449 APPTERM1 4
+ 1451 RESTART
+ 1452 GRAB 3
+ 1454 ACC2
+ 1455 BRANCHIFNOT 1476
+ 1457 ACC3
+ 1458 BRANCHIFNOT 1482
+ 1460 ACC3
+ 1461 GETFIELD1
+ 1462 PUSHACC3
+ 1463 GETFIELD1
+ 1464 PUSHACC5
+ 1465 GETFIELD0
+ 1466 PUSHACC5
+ 1467 GETFIELD0
+ 1468 PUSHACC5
+ 1469 PUSHACC5
+ 1470 APPLY3
+ 1471 PUSHACC3
+ 1472 PUSHOFFSETCLOSURE0
+ 1473 APPTERM 4, 8
+ 1476 ACC3
+ 1477 BRANCHIF 1482
+ 1479 ACC1
+ 1480 RETURN 4
+ 1482 GETGLOBAL "List.fold_left2"
+ 1484 PUSHGETGLOBALFIELD Pervasives, 2
+ 1487 APPTERM1 5
+ 1489 RESTART
+ 1490 GRAB 3
+ 1492 ACC1
+ 1493 BRANCHIFNOT 1516
+ 1495 ACC2
+ 1496 BRANCHIFNOT 1522
+ 1498 PUSH_RETADDR 1509
+ 1500 ACC6
+ 1501 PUSHACC6
+ 1502 GETFIELD1
+ 1503 PUSHACC6
+ 1504 GETFIELD1
+ 1505 PUSHACC6
+ 1506 PUSHOFFSETCLOSURE0
+ 1507 APPLY 4
+ 1509 PUSHACC3
+ 1510 GETFIELD0
+ 1511 PUSHACC3
+ 1512 GETFIELD0
+ 1513 PUSHACC3
+ 1514 APPTERM3 7
+ 1516 ACC2
+ 1517 BRANCHIF 1522
+ 1519 ACC3
+ 1520 RETURN 4
+ 1522 GETGLOBAL "List.fold_right2"
+ 1524 PUSHGETGLOBALFIELD Pervasives, 2
+ 1527 APPTERM1 5
+ 1529 RESTART
+ 1530 GRAB 1
+ 1532 ACC1
+ 1533 BRANCHIFNOT 1549
+ 1535 ACC1
+ 1536 GETFIELD0
+ 1537 PUSHACC1
+ 1538 APPLY1
+ 1539 BRANCHIFNOT 1547
+ 1541 ACC1
+ 1542 GETFIELD1
+ 1543 PUSHACC1
+ 1544 PUSHOFFSETCLOSURE0
+ 1545 APPTERM2 4
+ 1547 RETURN 2
+ 1549 CONST1
+ 1550 RETURN 2
+ 1552 RESTART
+ 1553 GRAB 1
+ 1555 ACC1
+ 1556 BRANCHIFNOT 1570
+ 1558 ACC1
+ 1559 GETFIELD0
+ 1560 PUSHACC1
+ 1561 APPLY1
+ 1562 BRANCHIF 1570
+ 1564 ACC1
+ 1565 GETFIELD1
+ 1566 PUSHACC1
+ 1567 PUSHOFFSETCLOSURE0
+ 1568 APPTERM2 4
+ 1570 RETURN 2
+ 1572 RESTART
+ 1573 GRAB 2
+ 1575 ACC1
+ 1576 BRANCHIFNOT 1599
+ 1578 ACC2
+ 1579 BRANCHIFNOT 1605
+ 1581 ACC2
+ 1582 GETFIELD0
+ 1583 PUSHACC2
+ 1584 GETFIELD0
+ 1585 PUSHACC2
+ 1586 APPLY2
+ 1587 BRANCHIFNOT 1597
+ 1589 ACC2
+ 1590 GETFIELD1
+ 1591 PUSHACC2
+ 1592 GETFIELD1
+ 1593 PUSHACC2
+ 1594 PUSHOFFSETCLOSURE0
+ 1595 APPTERM3 6
+ 1597 RETURN 3
+ 1599 ACC2
+ 1600 BRANCHIF 1605
+ 1602 CONST1
+ 1603 RETURN 3
+ 1605 GETGLOBAL "List.for_all2"
+ 1607 PUSHGETGLOBALFIELD Pervasives, 2
+ 1610 APPTERM1 4
+ 1612 RESTART
+ 1613 GRAB 2
+ 1615 ACC1
+ 1616 BRANCHIFNOT 1639
+ 1618 ACC2
+ 1619 BRANCHIFNOT 1646
+ 1621 ACC2
+ 1622 GETFIELD0
+ 1623 PUSHACC2
+ 1624 GETFIELD0
+ 1625 PUSHACC2
+ 1626 APPLY2
+ 1627 BRANCHIF 1637
+ 1629 ACC2
+ 1630 GETFIELD1
+ 1631 PUSHACC2
+ 1632 GETFIELD1
+ 1633 PUSHACC2
+ 1634 PUSHOFFSETCLOSURE0
+ 1635 APPTERM3 6
+ 1637 RETURN 3
+ 1639 ACC2
+ 1640 BRANCHIFNOT 1644
+ 1642 BRANCH 1646
+ 1644 RETURN 3
+ 1646 GETGLOBAL "List.exists2"
+ 1648 PUSHGETGLOBALFIELD Pervasives, 2
+ 1651 APPTERM1 4
+ 1653 RESTART
+ 1654 GRAB 1
+ 1656 ACC1
+ 1657 BRANCHIFNOT 1672
+ 1659 ACC0
+ 1660 PUSHACC2
+ 1661 GETFIELD0
+ 1662 C_CALL2 equal
+ 1664 BRANCHIF 1672
+ 1666 ACC1
+ 1667 GETFIELD1
+ 1668 PUSHACC1
+ 1669 PUSHOFFSETCLOSURE0
+ 1670 APPTERM2 4
+ 1672 RETURN 2
+ 1674 RESTART
+ 1675 GRAB 1
+ 1677 ACC1
+ 1678 BRANCHIFNOT 1692
+ 1680 ACC0
+ 1681 PUSHACC2
+ 1682 GETFIELD0
+ 1683 EQ
+ 1684 BRANCHIF 1692
+ 1686 ACC1
+ 1687 GETFIELD1
+ 1688 PUSHACC1
+ 1689 PUSHOFFSETCLOSURE0
+ 1690 APPTERM2 4
+ 1692 RETURN 2
+ 1694 RESTART
+ 1695 GRAB 1
+ 1697 ACC1
+ 1698 BRANCHIFNOT 1719
+ 1700 ACC1
+ 1701 GETFIELD0
+ 1702 PUSHACC1
+ 1703 PUSHACC1
+ 1704 GETFIELD0
+ 1705 C_CALL2 equal
+ 1707 BRANCHIFNOT 1713
+ 1709 ACC0
+ 1710 GETFIELD1
+ 1711 RETURN 3
+ 1713 ACC2
+ 1714 GETFIELD1
+ 1715 PUSHACC2
+ 1716 PUSHOFFSETCLOSURE0
+ 1717 APPTERM2 5
+ 1719 GETGLOBAL Not_found
+ 1721 MAKEBLOCK1 0
+ 1723 RAISE
+ 1724 RESTART
+ 1725 GRAB 1
+ 1727 ACC1
+ 1728 BRANCHIFNOT 1748
+ 1730 ACC1
+ 1731 GETFIELD0
+ 1732 PUSHACC1
+ 1733 PUSHACC1
+ 1734 GETFIELD0
+ 1735 EQ
+ 1736 BRANCHIFNOT 1742
+ 1738 ACC0
+ 1739 GETFIELD1
+ 1740 RETURN 3
+ 1742 ACC2
+ 1743 GETFIELD1
+ 1744 PUSHACC2
+ 1745 PUSHOFFSETCLOSURE0
+ 1746 APPTERM2 5
+ 1748 GETGLOBAL Not_found
+ 1750 MAKEBLOCK1 0
+ 1752 RAISE
+ 1753 RESTART
+ 1754 GRAB 1
+ 1756 ACC1
+ 1757 BRANCHIFNOT 1773
+ 1759 ACC0
+ 1760 PUSHACC2
+ 1761 GETFIELD0
+ 1762 GETFIELD0
+ 1763 C_CALL2 equal
+ 1765 BRANCHIF 1773
+ 1767 ACC1
+ 1768 GETFIELD1
+ 1769 PUSHACC1
+ 1770 PUSHOFFSETCLOSURE0
+ 1771 APPTERM2 4
+ 1773 RETURN 2
+ 1775 RESTART
+ 1776 GRAB 1
+ 1778 ACC1
+ 1779 BRANCHIFNOT 1794
+ 1781 ACC0
+ 1782 PUSHACC2
+ 1783 GETFIELD0
+ 1784 GETFIELD0
+ 1785 EQ
+ 1786 BRANCHIF 1794
+ 1788 ACC1
+ 1789 GETFIELD1
+ 1790 PUSHACC1
+ 1791 PUSHOFFSETCLOSURE0
+ 1792 APPTERM2 4
+ 1794 RETURN 2
+ 1796 RESTART
+ 1797 GRAB 1
+ 1799 ACC1
+ 1800 BRANCHIFNOT 1825
+ 1802 ACC1
+ 1803 GETFIELD0
+ 1804 PUSHACC2
+ 1805 GETFIELD1
+ 1806 PUSHACC2
+ 1807 PUSHACC2
+ 1808 GETFIELD0
+ 1809 C_CALL2 equal
+ 1811 BRANCHIFNOT 1816
+ 1813 ACC0
+ 1814 RETURN 4
+ 1816 ACC0
+ 1817 PUSHACC3
+ 1818 PUSHOFFSETCLOSURE0
+ 1819 APPLY2
+ 1820 PUSHACC2
+ 1821 MAKEBLOCK2 0
+ 1823 POP 2
+ 1825 RETURN 2
+ 1827 RESTART
+ 1828 GRAB 1
+ 1830 ACC1
+ 1831 BRANCHIFNOT 1855
+ 1833 ACC1
+ 1834 GETFIELD0
+ 1835 PUSHACC2
+ 1836 GETFIELD1
+ 1837 PUSHACC2
+ 1838 PUSHACC2
+ 1839 GETFIELD0
+ 1840 EQ
+ 1841 BRANCHIFNOT 1846
+ 1843 ACC0
+ 1844 RETURN 4
+ 1846 ACC0
+ 1847 PUSHACC3
+ 1848 PUSHOFFSETCLOSURE0
+ 1849 APPLY2
+ 1850 PUSHACC2
+ 1851 MAKEBLOCK2 0
+ 1853 POP 2
+ 1855 RETURN 2
+ 1857 RESTART
+ 1858 GRAB 1
+ 1860 ACC1
+ 1861 BRANCHIFNOT 1879
+ 1863 ACC1
+ 1864 GETFIELD0
+ 1865 PUSHACC0
+ 1866 PUSHACC2
+ 1867 APPLY1
+ 1868 BRANCHIFNOT 1873
+ 1870 ACC0
+ 1871 RETURN 3
+ 1873 ACC2
+ 1874 GETFIELD1
+ 1875 PUSHACC2
+ 1876 PUSHOFFSETCLOSURE0
+ 1877 APPTERM2 5
+ 1879 GETGLOBAL Not_found
+ 1881 MAKEBLOCK1 0
+ 1883 RAISE
+ 1884 RESTART
+ 1885 GRAB 2
+ 1887 ACC2
+ 1888 BRANCHIFNOT 1917
+ 1890 ACC2
+ 1891 GETFIELD0
+ 1892 PUSHACC3
+ 1893 GETFIELD1
+ 1894 PUSHACC1
+ 1895 PUSHENVACC2
+ 1896 APPLY1
+ 1897 BRANCHIFNOT 1908
+ 1899 ACC0
+ 1900 PUSHACC4
+ 1901 PUSHACC4
+ 1902 PUSHACC4
+ 1903 MAKEBLOCK2 0
+ 1905 PUSHOFFSETCLOSURE0
+ 1906 APPTERM3 8
+ 1908 ACC0
+ 1909 PUSHACC4
+ 1910 PUSHACC3
+ 1911 MAKEBLOCK2 0
+ 1913 PUSHACC4
+ 1914 PUSHOFFSETCLOSURE0
+ 1915 APPTERM3 8
+ 1917 ACC1
+ 1918 PUSHENVACC1
+ 1919 APPLY1
+ 1920 PUSHACC1
+ 1921 PUSHENVACC1
+ 1922 APPLY1
+ 1923 MAKEBLOCK2 0
+ 1925 RETURN 3
+ 1927 RESTART
+ 1928 GRAB 1
+ 1930 ACC0
+ 1931 PUSHENVACC1
+ 1932 CLOSUREREC 2, 1885
+ 1936 ACC2
+ 1937 PUSHCONST0
+ 1938 PUSHCONST0
+ 1939 PUSHACC3
+ 1940 APPTERM3 6
+ 1942 ACC0
+ 1943 BRANCHIFNOT 1967
+ 1945 ACC0
+ 1946 GETFIELD0
+ 1947 PUSHACC1
+ 1948 GETFIELD1
+ 1949 PUSHOFFSETCLOSURE0
+ 1950 APPLY1
+ 1951 PUSHACC0
+ 1952 GETFIELD1
+ 1953 PUSHACC2
+ 1954 GETFIELD1
+ 1955 MAKEBLOCK2 0
+ 1957 PUSHACC1
+ 1958 GETFIELD0
+ 1959 PUSHACC3
+ 1960 GETFIELD0
+ 1961 MAKEBLOCK2 0
+ 1963 MAKEBLOCK2 0
+ 1965 RETURN 3
+ 1967 GETGLOBAL <0>(0, 0)
+ 1969 RETURN 1
+ 1971 RESTART
+ 1972 GRAB 1
+ 1974 ACC0
+ 1975 BRANCHIFNOT 1996
+ 1977 ACC1
+ 1978 BRANCHIFNOT 2003
+ 1980 ACC1
+ 1981 GETFIELD1
+ 1982 PUSHACC1
+ 1983 GETFIELD1
+ 1984 PUSHOFFSETCLOSURE0
+ 1985 APPLY2
+ 1986 PUSHACC2
+ 1987 GETFIELD0
+ 1988 PUSHACC2
+ 1989 GETFIELD0
+ 1990 MAKEBLOCK2 0
+ 1992 MAKEBLOCK2 0
+ 1994 RETURN 2
+ 1996 ACC1
+ 1997 BRANCHIFNOT 2001
+ 1999 BRANCH 2003
+ 2001 RETURN 2
+ 2003 GETGLOBAL "List.combine"
+ 2005 PUSHGETGLOBALFIELD Pervasives, 2
+ 2008 APPTERM1 3
+ 2010 RESTART
+ 2011 GRAB 1
+ 2013 ACC1
+ 2014 BRANCHIFNOT 2038
+ 2016 ACC1
+ 2017 GETFIELD0
+ 2018 PUSHACC2
+ 2019 GETFIELD1
+ 2020 PUSHACC1
+ 2021 PUSHENVACC2
+ 2022 APPLY1
+ 2023 BRANCHIFNOT 2033
+ 2025 ACC0
+ 2026 PUSHACC3
+ 2027 PUSHACC3
+ 2028 MAKEBLOCK2 0
+ 2030 PUSHOFFSETCLOSURE0
+ 2031 APPTERM2 6
+ 2033 ACC0
+ 2034 PUSHACC3
+ 2035 PUSHOFFSETCLOSURE0
+ 2036 APPTERM2 6
+ 2038 ACC0
+ 2039 PUSHENVACC1
+ 2040 APPTERM1 3
+ 2042 ACC0
+ 2043 PUSHENVACC1
+ 2044 CLOSUREREC 2, 2011
+ 2048 CONST0
+ 2049 PUSHACC1
+ 2050 APPTERM1 3
+ 2052 RESTART
+ 2053 GRAB 2
+ 2055 ACC1
+ 2056 BRANCHIFNOT 2077
+ 2058 ACC2
+ 2059 BRANCHIFNOT 2084
+ 2061 ACC2
+ 2062 GETFIELD1
+ 2063 PUSHACC2
+ 2064 GETFIELD1
+ 2065 PUSHACC2
+ 2066 PUSHACC5
+ 2067 GETFIELD0
+ 2068 PUSHACC5
+ 2069 GETFIELD0
+ 2070 PUSHENVACC1
+ 2071 APPLY2
+ 2072 MAKEBLOCK2 0
+ 2074 PUSHOFFSETCLOSURE0
+ 2075 APPTERM3 6
+ 2077 ACC2
+ 2078 BRANCHIFNOT 2082
+ 2080 BRANCH 2084
+ 2082 RETURN 3
+ 2084 GETGLOBAL "List.rev_map2"
+ 2086 PUSHGETGLOBALFIELD Pervasives, 2
+ 2089 APPTERM1 4
+ 2091 RESTART
+ 2092 GRAB 2
+ 2094 ACC0
+ 2095 CLOSUREREC 1, 2053
+ 2099 ACC3
+ 2100 PUSHACC3
+ 2101 PUSHCONST0
+ 2102 PUSHACC3
+ 2103 APPTERM3 7
+ 2105 RESTART
+ 2106 GRAB 1
+ 2108 ACC1
+ 2109 BRANCHIFNOT 2123
+ 2111 ACC1
+ 2112 GETFIELD1
+ 2113 PUSHACC1
+ 2114 PUSHACC3
+ 2115 GETFIELD0
+ 2116 PUSHENVACC1
+ 2117 APPLY1
+ 2118 MAKEBLOCK2 0
+ 2120 PUSHOFFSETCLOSURE0
+ 2121 APPTERM2 4
+ 2123 ACC0
+ 2124 RETURN 2
+ 2126 RESTART
+ 2127 GRAB 1
+ 2129 ACC0
+ 2130 CLOSUREREC 1, 2106
+ 2134 ACC2
+ 2135 PUSHCONST0
+ 2136 PUSHACC2
+ 2137 APPTERM2 5
+ 2139 CONST0
+ 2140 PUSHACC1
+ 2141 PUSHENVACC1
+ 2142 APPTERM2 3
+ 2144 ACC0
+ 2145 BRANCHIFNOT 2151
+ 2147 ACC0
+ 2148 GETFIELD1
+ 2149 RETURN 1
+ 2151 GETGLOBAL "tl"
+ 2153 PUSHGETGLOBALFIELD Pervasives, 3
+ 2156 APPTERM1 2
+ 2158 ACC0
+ 2159 BRANCHIFNOT 2165
+ 2161 ACC0
+ 2162 GETFIELD0
+ 2163 RETURN 1
+ 2165 GETGLOBAL "hd"
+ 2167 PUSHGETGLOBALFIELD Pervasives, 3
+ 2170 APPTERM1 2
+ 2172 ACC0
+ 2173 PUSHCONST0
+ 2174 PUSHENVACC1
+ 2175 APPTERM2 3
+ 2177 CLOSUREREC 0, 1200
+ 2181 ACC0
+ 2182 CLOSURE 1, 2172
+ 2185 PUSH
+ 2186 CLOSURE 0, 2158
+ 2189 PUSH
+ 2190 CLOSURE 0, 2144
+ 2193 PUSH
+ 2194 CLOSUREREC 0, 1217
+ 2198 GETGLOBALFIELD Pervasives, 16
+ 2201 PUSH
+ 2202 CLOSUREREC 0, 1259
+ 2206 ACC0
+ 2207 CLOSURE 1, 2139
+ 2210 PUSH
+ 2211 CLOSUREREC 0, 1277
+ 2215 CLOSUREREC 0, 1294
+ 2219 CLOSURE 0, 2127
+ 2222 PUSH
+ 2223 CLOSUREREC 0, 1316
+ 2227 CLOSUREREC 0, 1334
+ 2231 CLOSUREREC 0, 1354
+ 2235 CLOSUREREC 0, 1374
+ 2239 CLOSURE 0, 2092
+ 2242 PUSH
+ 2243 CLOSUREREC 0, 1415
+ 2247 CLOSUREREC 0, 1452
+ 2251 CLOSUREREC 0, 1490
+ 2255 CLOSUREREC 0, 1530
+ 2259 CLOSUREREC 0, 1553
+ 2263 CLOSUREREC 0, 1573
+ 2267 CLOSUREREC 0, 1613
+ 2271 CLOSUREREC 0, 1654
+ 2275 CLOSUREREC 0, 1675
+ 2279 CLOSUREREC 0, 1695
+ 2283 CLOSUREREC 0, 1725
+ 2287 CLOSUREREC 0, 1754
+ 2291 CLOSUREREC 0, 1776
+ 2295 CLOSUREREC 0, 1797
+ 2299 CLOSUREREC 0, 1828
+ 2303 CLOSUREREC 0, 1858
+ 2307 ACC 24
+ 2309 CLOSURE 1, 2042
+ 2312 PUSHACC 25
+ 2314 CLOSUREREC 1, 1928
+ 2318 CLOSUREREC 0, 1942
+ 2322 CLOSUREREC 0, 1972
+ 2326 ACC0
+ 2327 PUSHACC2
+ 2328 PUSHACC7
+ 2329 PUSHACC 9
+ 2331 PUSHACC 11
+ 2333 PUSHACC 13
+ 2335 PUSHACC 15
+ 2337 PUSHACC 17
+ 2339 PUSHACC 10
+ 2341 PUSHACC 12
+ 2343 PUSHACC 13
+ 2345 PUSHACC 15
+ 2347 PUSHACC 23
+ 2349 PUSHACC 25
+ 2351 PUSHACC 27
+ 2353 PUSHACC 29
+ 2355 PUSHACC 31
+ 2357 PUSHACC 33
+ 2359 PUSHACC 35
+ 2361 PUSHACC 37
+ 2363 PUSHACC 40
+ 2365 PUSHACC 42
+ 2367 PUSHACC 41
+ 2369 PUSHACC 45
+ 2371 PUSHACC 47
+ 2373 PUSHACC 50
+ 2375 PUSHACC 52
+ 2377 PUSHACC 51
+ 2379 PUSHACC 55
+ 2381 PUSHACC 56
+ 2383 PUSHACC 59
+ 2385 PUSHACC 61
+ 2387 PUSHACC 60
+ 2389 PUSHACC 64
+ 2391 PUSHACC 66
+ 2393 PUSHACC 68
+ 2395 PUSHACC 70
+ 2397 MAKEBLOCK 37, 0
+ 2400 POP 36
+ 2402 SETGLOBAL List
+ 2404 BRANCH 2622
+ 2406 CONSTINT 97
+ 2408 PUSHACC1
+ 2409 GEINT
+ 2410 BRANCHIFNOT 2418
+ 2412 CONSTINT 122
+ 2414 PUSHACC1
+ 2415 LEINT
+ 2416 BRANCHIF 2442
+ 2418 CONSTINT 224
+ 2420 PUSHACC1
+ 2421 GEINT
+ 2422 BRANCHIFNOT 2430
+ 2424 CONSTINT 246
+ 2426 PUSHACC1
+ 2427 LEINT
+ 2428 BRANCHIF 2442
+ 2430 CONSTINT 248
+ 2432 PUSHACC1
+ 2433 GEINT
+ 2434 BRANCHIFNOT 2447
+ 2436 CONSTINT 254
+ 2438 PUSHACC1
+ 2439 LEINT
+ 2440 BRANCHIFNOT 2447
+ 2442 ACC0
+ 2443 OFFSETINT -32
+ 2445 RETURN 1
+ 2447 ACC0
+ 2448 RETURN 1
+ 2450 CONSTINT 65
+ 2452 PUSHACC1
+ 2453 GEINT
+ 2454 BRANCHIFNOT 2462
+ 2456 CONSTINT 90
+ 2458 PUSHACC1
+ 2459 LEINT
+ 2460 BRANCHIF 2486
+ 2462 CONSTINT 192
+ 2464 PUSHACC1
+ 2465 GEINT
+ 2466 BRANCHIFNOT 2474
+ 2468 CONSTINT 214
+ 2470 PUSHACC1
+ 2471 LEINT
+ 2472 BRANCHIF 2486
+ 2474 CONSTINT 216
+ 2476 PUSHACC1
+ 2477 GEINT
+ 2478 BRANCHIFNOT 2491
+ 2480 CONSTINT 222
+ 2482 PUSHACC1
+ 2483 LEINT
+ 2484 BRANCHIFNOT 2491
+ 2486 ACC0
+ 2487 OFFSETINT 32
+ 2489 RETURN 1
+ 2491 ACC0
+ 2492 RETURN 1
+ 2494 CONSTINT 39
+ 2496 PUSHACC1
+ 2497 LTINT
+ 2498 BRANCHIFNOT 2520
+ 2500 CONSTINT 9
+ 2502 PUSHACC1
+ 2503 EQ
+ 2504 BRANCHIFNOT 2510
+ 2506 GETGLOBAL "\\t"
+ 2508 RETURN 1
+ 2510 CONSTINT 13
+ 2512 PUSHACC1
+ 2513 EQ
+ 2514 BRANCHIFNOT 2540
+ 2516 GETGLOBAL "\\n"
+ 2518 RETURN 1
+ 2520 CONSTINT 39
+ 2522 PUSHACC1
+ 2523 EQ
+ 2524 BRANCHIFNOT 2530
+ 2526 GETGLOBAL "\\'"
+ 2528 RETURN 1
+ 2530 CONSTINT 92
+ 2532 PUSHACC1
+ 2533 EQ
+ 2534 BRANCHIFNOT 2540
+ 2536 GETGLOBAL "\\\\"
+ 2538 RETURN 1
+ 2540 ACC0
+ 2541 C_CALL1 is_printable
+ 2543 BRANCHIFNOT 2555
+ 2545 CONST1
+ 2546 C_CALL1 create_string
+ 2548 PUSHACC1
+ 2549 PUSHCONST0
+ 2550 PUSHACC2
+ 2551 SETSTRINGCHAR
+ 2552 ACC0
+ 2553 RETURN 2
+ 2555 ACC0
+ 2556 PUSHCONSTINT 4
+ 2558 C_CALL1 create_string
+ 2560 PUSHCONSTINT 92
+ 2562 PUSHCONST0
+ 2563 PUSHACC2
+ 2564 SETSTRINGCHAR
+ 2565 CONSTINT 100
+ 2567 PUSHACC2
+ 2568 DIVINT
+ 2569 PUSHCONSTINT 48
+ 2571 ADDINT
+ 2572 PUSHCONST1
+ 2573 PUSHACC2
+ 2574 SETSTRINGCHAR
+ 2575 CONSTINT 10
+ 2577 PUSHCONSTINT 10
+ 2579 PUSHACC3
+ 2580 DIVINT
+ 2581 MODINT
+ 2582 PUSHCONSTINT 48
+ 2584 ADDINT
+ 2585 PUSHCONST2
+ 2586 PUSHACC2
+ 2587 SETSTRINGCHAR
+ 2588 CONSTINT 10
+ 2590 PUSHACC2
+ 2591 MODINT
+ 2592 PUSHCONSTINT 48
+ 2594 ADDINT
+ 2595 PUSHCONST3
+ 2596 PUSHACC2
+ 2597 SETSTRINGCHAR
+ 2598 ACC0
+ 2599 RETURN 3
+ 2601 CONST0
+ 2602 PUSHACC1
+ 2603 LTINT
+ 2604 BRANCHIF 2612
+ 2606 CONSTINT 255
+ 2608 PUSHACC1
+ 2609 GTINT
+ 2610 BRANCHIFNOT 2619
+ 2612 GETGLOBAL "Char.chr"
+ 2614 PUSHGETGLOBALFIELD Pervasives, 2
+ 2617 APPTERM1 2
+ 2619 ACC0
+ 2620 RETURN 1
+ 2622 CLOSURE 0, 2601
+ 2625 PUSH
+ 2626 CLOSURE 0, 2494
+ 2629 PUSH
+ 2630 CLOSURE 0, 2450
+ 2633 PUSH
+ 2634 CLOSURE 0, 2406
+ 2637 PUSHACC0
+ 2638 PUSHACC2
+ 2639 PUSHACC4
+ 2640 PUSHACC6
+ 2641 MAKEBLOCK 4, 0
+ 2644 POP 4
+ 2646 SETGLOBAL Char
+ 2648 BRANCH 3540
+ 2650 RESTART
+ 2651 GRAB 3
+ 2653 ACC1
+ 2654 PUSHACC3
+ 2655 GEINT
+ 2656 BRANCHIFNOT 2663
+ 2658 GETGLOBAL Not_found
+ 2660 MAKEBLOCK1 0
+ 2662 RAISE
+ 2663 ACC3
+ 2664 PUSHACC3
+ 2665 PUSHACC2
+ 2666 GETSTRINGCHAR
+ 2667 EQ
+ 2668 BRANCHIFNOT 2673
+ 2670 ACC2
+ 2671 RETURN 4
+ 2673 ACC3
+ 2674 PUSHACC3
+ 2675 OFFSETINT 1
+ 2677 PUSHACC3
+ 2678 PUSHACC3
+ 2679 PUSHOFFSETCLOSURE0
+ 2680 APPTERM 4, 8
+ 2683 RESTART
+ 2684 GRAB 2
+ 2686 CONST0
+ 2687 PUSHACC2
+ 2688 LTINT
+ 2689 BRANCHIFNOT 2696
+ 2691 GETGLOBAL Not_found
+ 2693 MAKEBLOCK1 0
+ 2695 RAISE
+ 2696 ACC2
+ 2697 PUSHACC2
+ 2698 PUSHACC2
+ 2699 GETSTRINGCHAR
+ 2700 EQ
+ 2701 BRANCHIFNOT 2706
+ 2703 ACC1
+ 2704 RETURN 3
+ 2706 ACC2
+ 2707 PUSHACC2
+ 2708 OFFSETINT -1
+ 2710 PUSHACC2
+ 2711 PUSHOFFSETCLOSURE0
+ 2712 APPTERM3 6
+ 2714 RESTART
+ 2715 GRAB 1
+ 2717 ACC1
+ 2718 PUSHCONST0
+ 2719 PUSHACC2
+ 2720 PUSHENVACC1
+ 2721 APPTERM3 5
+ 2723 RESTART
+ 2724 GRAB 2
+ 2726 CONST0
+ 2727 PUSHACC2
+ 2728 LTINT
+ 2729 BRANCHIF 2738
+ 2731 ACC0
+ 2732 C_CALL1 ml_string_length
+ 2734 PUSHACC2
+ 2735 GEINT
+ 2736 BRANCHIFNOT 2745
+ 2738 GETGLOBAL "String.rcontains_from"
+ 2740 PUSHGETGLOBALFIELD Pervasives, 2
+ 2743 APPTERM1 4
+ 2745 PUSHTRAP 2756
+ 2747 ACC6
+ 2748 PUSHACC6
+ 2749 PUSHACC6
+ 2750 PUSHENVACC1
+ 2751 APPLY3
+ 2752 CONST1
+ 2753 POPTRAP
+ 2754 RETURN 3
+ 2756 PUSHGETGLOBAL Not_found
+ 2758 PUSHACC1
+ 2759 GETFIELD0
+ 2760 EQ
+ 2761 BRANCHIFNOT 2766
+ 2763 CONST0
+ 2764 RETURN 4
+ 2766 ACC0
+ 2767 RAISE
+ 2768 RESTART
+ 2769 GRAB 2
+ 2771 CONST0
+ 2772 PUSHACC2
+ 2773 LTINT
+ 2774 BRANCHIF 2783
+ 2776 ACC0
+ 2777 C_CALL1 ml_string_length
+ 2779 PUSHACC2
+ 2780 GTINT
+ 2781 BRANCHIFNOT 2790
+ 2783 GETGLOBAL "String.contains_from"
+ 2785 PUSHGETGLOBALFIELD Pervasives, 2
+ 2788 APPTERM1 4
+ 2790 PUSHTRAP 2811
+ 2792 PUSH_RETADDR 2807
+ 2794 ACC 9
+ 2796 PUSHACC 9
+ 2798 PUSHACC 9
+ 2800 C_CALL1 ml_string_length
+ 2802 PUSHACC 10
+ 2804 PUSHENVACC1
+ 2805 APPLY 4
+ 2807 CONST1
+ 2808 POPTRAP
+ 2809 RETURN 3
+ 2811 PUSHGETGLOBAL Not_found
+ 2813 PUSHACC1
+ 2814 GETFIELD0
+ 2815 EQ
+ 2816 BRANCHIFNOT 2821
+ 2818 CONST0
+ 2819 RETURN 4
+ 2821 ACC0
+ 2822 RAISE
+ 2823 RESTART
+ 2824 GRAB 2
+ 2826 CONST0
+ 2827 PUSHACC2
+ 2828 LTINT
+ 2829 BRANCHIF 2838
+ 2831 ACC0
+ 2832 C_CALL1 ml_string_length
+ 2834 PUSHACC2
+ 2835 GEINT
+ 2836 BRANCHIFNOT 2845
+ 2838 GETGLOBAL "String.rindex_from"
+ 2840 PUSHGETGLOBALFIELD Pervasives, 2
+ 2843 APPTERM1 4
+ 2845 ACC2
+ 2846 PUSHACC2
+ 2847 PUSHACC2
+ 2848 PUSHENVACC1
+ 2849 APPTERM3 6
+ 2851 RESTART
+ 2852 GRAB 1
+ 2854 ACC1
+ 2855 PUSHACC1
+ 2856 C_CALL1 ml_string_length
+ 2858 OFFSETINT -1
+ 2860 PUSHACC2
+ 2861 PUSHENVACC1
+ 2862 APPTERM3 5
+ 2864 RESTART
+ 2865 GRAB 2
+ 2867 CONST0
+ 2868 PUSHACC2
+ 2869 LTINT
+ 2870 BRANCHIF 2879
+ 2872 ACC0
+ 2873 C_CALL1 ml_string_length
+ 2875 PUSHACC2
+ 2876 GTINT
+ 2877 BRANCHIFNOT 2886
+ 2879 GETGLOBAL "String.index_from"
+ 2881 PUSHGETGLOBALFIELD Pervasives, 2
+ 2884 APPTERM1 4
+ 2886 ACC2
+ 2887 PUSHACC2
+ 2888 PUSHACC2
+ 2889 C_CALL1 ml_string_length
+ 2891 PUSHACC3
+ 2892 PUSHENVACC1
+ 2893 APPTERM 4, 7
+ 2896 RESTART
+ 2897 GRAB 1
+ 2899 ACC1
+ 2900 PUSHCONST0
+ 2901 PUSHACC2
+ 2902 C_CALL1 ml_string_length
+ 2904 PUSHACC3
+ 2905 PUSHENVACC1
+ 2906 APPTERM 4, 6
+ 2909 ACC0
+ 2910 PUSHGETGLOBALFIELD Char, 2
+ 2913 PUSHENVACC1
+ 2914 APPTERM2 3
+ 2916 ACC0
+ 2917 PUSHGETGLOBALFIELD Char, 3
+ 2920 PUSHENVACC1
+ 2921 APPTERM2 3
+ 2923 RESTART
+ 2924 GRAB 1
+ 2926 CONST0
+ 2927 PUSHACC2
+ 2928 C_CALL1 ml_string_length
+ 2930 EQ
+ 2931 BRANCHIFNOT 2936
+ 2933 ACC1
+ 2934 RETURN 2
+ 2936 ACC1
+ 2937 PUSHENVACC1
+ 2938 APPLY1
+ 2939 PUSHCONST0
+ 2940 PUSHACC3
+ 2941 GETSTRINGCHAR
+ 2942 PUSHACC2
+ 2943 APPLY1
+ 2944 PUSHCONST0
+ 2945 PUSHACC2
+ 2946 SETSTRINGCHAR
+ 2947 ACC0
+ 2948 RETURN 3
+ 2950 ACC0
+ 2951 PUSHGETGLOBALFIELD Char, 2
+ 2954 PUSHENVACC1
+ 2955 APPTERM2 3
+ 2957 ACC0
+ 2958 PUSHGETGLOBALFIELD Char, 3
+ 2961 PUSHENVACC1
+ 2962 APPTERM2 3
+ 2964 RESTART
+ 2965 GRAB 1
+ 2967 ACC1
+ 2968 C_CALL1 ml_string_length
+ 2970 PUSHCONST0
+ 2971 PUSHACC1
+ 2972 EQ
+ 2973 BRANCHIFNOT 2978
+ 2975 ACC2
+ 2976 RETURN 3
+ 2978 ACC0
+ 2979 C_CALL1 create_string
+ 2981 PUSHCONST0
+ 2982 PUSHACC2
+ 2983 OFFSETINT -1
+ 2985 PUSH
+ 2986 BRANCH 3002
+ 2988 CHECK_SIGNALS
+ 2989 ACC1
+ 2990 PUSHACC6
+ 2991 GETSTRINGCHAR
+ 2992 PUSHACC5
+ 2993 APPLY1
+ 2994 PUSHACC2
+ 2995 PUSHACC4
+ 2996 SETSTRINGCHAR
+ 2997 ACC1
+ 2998 OFFSETINT 1
+ 3000 ASSIGN 1
+ 3002 ACC0
+ 3003 PUSHACC2
+ 3004 LEINT
+ 3005 BRANCHIF 2988
+ 3007 CONST0
+ 3008 POP 2
+ 3010 ACC0
+ 3011 RETURN 4
+ 3013 CONST0
+ 3014 PUSHCONST0
+ 3015 PUSHACC2
+ 3016 C_CALL1 ml_string_length
+ 3018 OFFSETINT -1
+ 3020 PUSH
+ 3021 BRANCH 3059
+ 3023 CHECK_SIGNALS
+ 3024 ACC1
+ 3025 PUSHACC4
+ 3026 GETSTRINGCHAR
+ 3027 PUSHACC0
+ 3028 PUSHGETGLOBAL "\000\"\000\000\004\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ 3030 C_CALL2 bitvect_test
+ 3032 BRANCHIFNOT 3038
+ 3034 CONST0
+ 3035 CONST2
+ 3036 BRANCH 3048
+ 3038 ACC0
+ 3039 C_CALL1 is_printable
+ 3041 BRANCHIFNOT 3046
+ 3043 CONST1
+ 3044 BRANCH 3048
+ 3046 CONSTINT 4
+ 3048 POP 1
+ 3050 PUSHACC3
+ 3051 ADDINT
+ 3052 ASSIGN 2
+ 3054 ACC1
+ 3055 OFFSETINT 1
+ 3057 ASSIGN 1
+ 3059 ACC0
+ 3060 PUSHACC2
+ 3061 LEINT
+ 3062 BRANCHIF 3023
+ 3064 CONST0
+ 3065 POP 2
+ 3067 ACC1
+ 3068 C_CALL1 ml_string_length
+ 3070 PUSHACC1
+ 3071 EQ
+ 3072 BRANCHIFNOT 3077
+ 3074 ACC1
+ 3075 RETURN 2
+ 3077 ACC0
+ 3078 C_CALL1 create_string
+ 3080 PUSHCONST0
+ 3081 ASSIGN 1
+ 3083 CONST0
+ 3084 PUSHACC3
+ 3085 C_CALL1 ml_string_length
+ 3087 OFFSETINT -1
+ 3089 PUSH
+ 3090 BRANCH 3245
+ 3092 CHECK_SIGNALS
+ 3093 ACC1
+ 3094 PUSHACC5
+ 3095 GETSTRINGCHAR
+ 3096 PUSHACC0
+ 3097 PUSHGETGLOBAL "\000\000\000\000\004\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ 3099 C_CALL2 bitvect_test
+ 3101 BRANCHIFNOT 3120
+ 3103 CONST0
+ 3104 CONSTINT 92
+ 3106 PUSHACC5
+ 3107 PUSHACC5
+ 3108 SETSTRINGCHAR
+ 3109 ACC4
+ 3110 OFFSETINT 1
+ 3112 ASSIGN 4
+ 3114 ACC0
+ 3115 PUSHACC5
+ 3116 PUSHACC5
+ 3117 SETSTRINGCHAR
+ 3118 BRANCH 3233
+ 3120 CONSTINT 9
+ 3122 PUSHACC1
+ 3123 EQ
+ 3124 BRANCHIFNOT 3143
+ 3126 CONSTINT 92
+ 3128 PUSHACC5
+ 3129 PUSHACC5
+ 3130 SETSTRINGCHAR
+ 3131 ACC4
+ 3132 OFFSETINT 1
+ 3134 ASSIGN 4
+ 3136 CONSTINT 116
+ 3138 PUSHACC5
+ 3139 PUSHACC5
+ 3140 SETSTRINGCHAR
+ 3141 BRANCH 3233
+ 3143 CONSTINT 13
+ 3145 PUSHACC1
+ 3146 EQ
+ 3147 BRANCHIFNOT 3166
+ 3149 CONSTINT 92
+ 3151 PUSHACC5
+ 3152 PUSHACC5
+ 3153 SETSTRINGCHAR
+ 3154 ACC4
+ 3155 OFFSETINT 1
+ 3157 ASSIGN 4
+ 3159 CONSTINT 110
+ 3161 PUSHACC5
+ 3162 PUSHACC5
+ 3163 SETSTRINGCHAR
+ 3164 BRANCH 3233
+ 3166 ACC0
+ 3167 C_CALL1 is_printable
+ 3169 BRANCHIFNOT 3177
+ 3171 ACC0
+ 3172 PUSHACC5
+ 3173 PUSHACC5
+ 3174 SETSTRINGCHAR
+ 3175 BRANCH 3233
+ 3177 ACC0
+ 3178 PUSHCONSTINT 92
+ 3180 PUSHACC6
+ 3181 PUSHACC6
+ 3182 SETSTRINGCHAR
+ 3183 ACC5
+ 3184 OFFSETINT 1
+ 3186 ASSIGN 5
+ 3188 CONSTINT 100
+ 3190 PUSHACC1
+ 3191 DIVINT
+ 3192 PUSHCONSTINT 48
+ 3194 ADDINT
+ 3195 PUSHACC6
+ 3196 PUSHACC6
+ 3197 SETSTRINGCHAR
+ 3198 ACC5
+ 3199 OFFSETINT 1
+ 3201 ASSIGN 5
+ 3203 CONSTINT 10
+ 3205 PUSHCONSTINT 10
+ 3207 PUSHACC2
+ 3208 DIVINT
+ 3209 MODINT
+ 3210 PUSHCONSTINT 48
+ 3212 ADDINT
+ 3213 PUSHACC6
+ 3214 PUSHACC6
+ 3215 SETSTRINGCHAR
+ 3216 ACC5
+ 3217 OFFSETINT 1
+ 3219 ASSIGN 5
+ 3221 CONSTINT 10
+ 3223 PUSHACC1
+ 3224 MODINT
+ 3225 PUSHCONSTINT 48
+ 3227 ADDINT
+ 3228 PUSHACC6
+ 3229 PUSHACC6
+ 3230 SETSTRINGCHAR
+ 3231 POP 1
+ 3233 POP 1
+ 3235 ACC3
+ 3236 OFFSETINT 1
+ 3238 ASSIGN 3
+ 3240 ACC1
+ 3241 OFFSETINT 1
+ 3243 ASSIGN 1
+ 3245 ACC0
+ 3246 PUSHACC2
+ 3247 LEINT
+ 3248 BRANCHIF 3092
+ 3250 CONST0
+ 3251 POP 2
+ 3253 ACC0
+ 3254 RETURN 3
+ 3256 ENVACC1
+ 3257 C_CALL1 ml_string_length
+ 3259 PUSHENVACC3
+ 3260 GETFIELD0
+ 3261 PUSHENVACC2
+ 3262 PUSHCONST0
+ 3263 PUSHENVACC1
+ 3264 C_CALL5 blit_string
+ 3266 ENVACC1
+ 3267 C_CALL1 ml_string_length
+ 3269 PUSHENVACC3
+ 3270 GETFIELD0
+ 3271 ADDINT
+ 3272 PUSHENVACC3
+ 3273 SETFIELD0
+ 3274 ACC0
+ 3275 C_CALL1 ml_string_length
+ 3277 PUSHENVACC3
+ 3278 GETFIELD0
+ 3279 PUSHENVACC2
+ 3280 PUSHCONST0
+ 3281 PUSHACC4
+ 3282 C_CALL5 blit_string
+ 3284 ACC0
+ 3285 C_CALL1 ml_string_length
+ 3287 PUSHENVACC3
+ 3288 GETFIELD0
+ 3289 ADDINT
+ 3290 PUSHENVACC3
+ 3291 SETFIELD0
+ 3292 RETURN 1
+ 3294 ENVACC1
+ 3295 OFFSETREF 1
+ 3297 ACC0
+ 3298 C_CALL1 ml_string_length
+ 3300 PUSHENVACC2
+ 3301 GETFIELD0
+ 3302 ADDINT
+ 3303 PUSHENVACC2
+ 3304 SETFIELD0
+ 3305 RETURN 1
+ 3307 RESTART
+ 3308 GRAB 1
+ 3310 ACC1
+ 3311 BRANCHIFNOT 3374
+ 3313 ACC1
+ 3314 GETFIELD0
+ 3315 PUSHCONST0
+ 3316 MAKEBLOCK1 0
+ 3318 PUSHCONST0
+ 3319 MAKEBLOCK1 0
+ 3321 PUSHACC4
+ 3322 PUSHACC1
+ 3323 PUSHACC3
+ 3324 CLOSURE 2, 3294
+ 3327 PUSHGETGLOBALFIELD List, 9
+ 3330 APPLY2
+ 3331 ACC1
+ 3332 GETFIELD0
+ 3333 OFFSETINT -1
+ 3335 PUSHACC4
+ 3336 C_CALL1 ml_string_length
+ 3338 MULINT
+ 3339 PUSHACC1
+ 3340 GETFIELD0
+ 3341 ADDINT
+ 3342 C_CALL1 create_string
+ 3344 PUSHACC3
+ 3345 C_CALL1 ml_string_length
+ 3347 PUSHCONST0
+ 3348 PUSHACC2
+ 3349 PUSHCONST0
+ 3350 PUSHACC7
+ 3351 C_CALL5 blit_string
+ 3353 ACC3
+ 3354 C_CALL1 ml_string_length
+ 3356 MAKEBLOCK1 0
+ 3358 PUSHACC6
+ 3359 GETFIELD1
+ 3360 PUSHACC1
+ 3361 PUSHACC3
+ 3362 PUSHACC 8
+ 3364 CLOSURE 3, 3256
+ 3367 PUSHGETGLOBALFIELD List, 9
+ 3370 APPLY2
+ 3371 ACC1
+ 3372 RETURN 7
+ 3374 GETGLOBAL ""
+ 3376 RETURN 2
+ 3378 RESTART
+ 3379 GRAB 4
+ 3381 CONST0
+ 3382 PUSHACC5
+ 3383 LTINT
+ 3384 BRANCHIF 3414
+ 3386 CONST0
+ 3387 PUSHACC2
+ 3388 LTINT
+ 3389 BRANCHIF 3414
+ 3391 ACC0
+ 3392 C_CALL1 ml_string_length
+ 3394 PUSHACC5
+ 3395 PUSHACC3
+ 3396 ADDINT
+ 3397 GTINT
+ 3398 BRANCHIF 3414
+ 3400 CONST0
+ 3401 PUSHACC4
+ 3402 LTINT
+ 3403 BRANCHIF 3414
+ 3405 ACC2
+ 3406 C_CALL1 ml_string_length
+ 3408 PUSHACC5
+ 3409 PUSHACC5
+ 3410 ADDINT
+ 3411 GTINT
+ 3412 BRANCHIFNOT 3421
+ 3414 GETGLOBAL "String.blit"
+ 3416 PUSHGETGLOBALFIELD Pervasives, 2
+ 3419 APPTERM1 6
+ 3421 ACC4
+ 3422 PUSHACC4
+ 3423 PUSHACC4
+ 3424 PUSHACC4
+ 3425 PUSHACC4
+ 3426 C_CALL5 blit_string
+ 3428 RETURN 5
+ 3430 RESTART
+ 3431 GRAB 3
+ 3433 CONST0
+ 3434 PUSHACC2
+ 3435 LTINT
+ 3436 BRANCHIF 3452
+ 3438 CONST0
+ 3439 PUSHACC3
+ 3440 LTINT
+ 3441 BRANCHIF 3452
+ 3443 ACC0
+ 3444 C_CALL1 ml_string_length
+ 3446 PUSHACC3
+ 3447 PUSHACC3
+ 3448 ADDINT
+ 3449 GTINT
+ 3450 BRANCHIFNOT 3459
+ 3452 GETGLOBAL "String.fill"
+ 3454 PUSHGETGLOBALFIELD Pervasives, 2
+ 3457 APPTERM1 5
+ 3459 ACC3
+ 3460 PUSHACC3
+ 3461 PUSHACC3
+ 3462 PUSHACC3
+ 3463 C_CALL4 fill_string
+ 3465 RETURN 4
+ 3467 RESTART
+ 3468 GRAB 2
+ 3470 CONST0
+ 3471 PUSHACC2
+ 3472 LTINT
+ 3473 BRANCHIF 3489
+ 3475 CONST0
+ 3476 PUSHACC3
+ 3477 LTINT
+ 3478 BRANCHIF 3489
+ 3480 ACC0
+ 3481 C_CALL1 ml_string_length
+ 3483 PUSHACC3
+ 3484 PUSHACC3
+ 3485 ADDINT
+ 3486 GTINT
+ 3487 BRANCHIFNOT 3496
+ 3489 GETGLOBAL "String.sub"
+ 3491 PUSHGETGLOBALFIELD Pervasives, 2
+ 3494 APPTERM1 4
+ 3496 ACC2
+ 3497 C_CALL1 create_string
+ 3499 PUSHACC3
+ 3500 PUSHCONST0
+ 3501 PUSHACC2
+ 3502 PUSHACC5
+ 3503 PUSHACC5
+ 3504 C_CALL5 blit_string
+ 3506 ACC0
+ 3507 RETURN 4
+ 3509 ACC0
+ 3510 C_CALL1 ml_string_length
+ 3512 PUSHACC0
+ 3513 C_CALL1 create_string
+ 3515 PUSHACC1
+ 3516 PUSHCONST0
+ 3517 PUSHACC2
+ 3518 PUSHCONST0
+ 3519 PUSHACC6
+ 3520 C_CALL5 blit_string
+ 3522 ACC0
+ 3523 RETURN 3
+ 3525 RESTART
+ 3526 GRAB 1
+ 3528 ACC0
+ 3529 C_CALL1 create_string
+ 3531 PUSHACC2
+ 3532 PUSHACC2
+ 3533 PUSHCONST0
+ 3534 PUSHACC3
+ 3535 C_CALL4 fill_string
+ 3537 ACC0
+ 3538 RETURN 3
+ 3540 CLOSURE 0, 3526
+ 3543 PUSH
+ 3544 CLOSURE 0, 3509
+ 3547 PUSH
+ 3548 CLOSURE 0, 3468
+ 3551 PUSH
+ 3552 CLOSURE 0, 3431
+ 3555 PUSH
+ 3556 CLOSURE 0, 3379
+ 3559 PUSH
+ 3560 CLOSURE 0, 3308
+ 3563 PUSH
+ 3564 CLOSURE 0, 3013
+ 3567 PUSH
+ 3568 CLOSURE 0, 2965
+ 3571 PUSHACC0
+ 3572 CLOSURE 1, 2957
+ 3575 PUSHACC1
+ 3576 CLOSURE 1, 2950
+ 3579 PUSHACC 8
+ 3581 CLOSURE 1, 2924
+ 3584 PUSHACC0
+ 3585 CLOSURE 1, 2916
+ 3588 PUSHACC1
+ 3589 CLOSURE 1, 2909
+ 3592 PUSH
+ 3593 CLOSUREREC 0, 2651
+ 3597 ACC0
+ 3598 CLOSURE 1, 2897
+ 3601 PUSHACC1
+ 3602 CLOSURE 1, 2865
+ 3605 PUSH
+ 3606 CLOSUREREC 0, 2684
+ 3610 ACC0
+ 3611 CLOSURE 1, 2852
+ 3614 PUSHACC1
+ 3615 CLOSURE 1, 2824
+ 3618 PUSHACC5
+ 3619 CLOSURE 1, 2769
+ 3622 PUSHACC3
+ 3623 CLOSURE 1, 2724
+ 3626 PUSHACC1
+ 3627 CLOSURE 1, 2715
+ 3630 PUSHACC 9
+ 3632 PUSHACC 11
+ 3634 PUSHACC 14
+ 3636 PUSHACC 16
+ 3638 PUSHACC5
+ 3639 PUSHACC7
+ 3640 PUSHACC6
+ 3641 PUSHACC 10
+ 3643 PUSHACC 14
+ 3645 PUSHACC 13
+ 3647 PUSHACC 17
+ 3649 PUSHACC 26
+ 3651 PUSHACC 28
+ 3653 PUSHACC 30
+ 3655 PUSHACC 32
+ 3657 PUSHACC 34
+ 3659 PUSHACC 36
+ 3661 PUSHACC 38
+ 3663 MAKEBLOCK 18, 0
+ 3666 POP 22
+ 3668 SETGLOBAL String
+ 3670 GETGLOBAL ""
+ 3672 PUSHCONSTINT 20
+ 3674 C_CALL2 make_vect
+ 3676 PUSHCONSTINT 20
+ 3678 C_CALL1 weak_create
+ 3680 PUSHCONST0
+ 3681 PUSHCONSTINT 19
+ 3683 PUSH
+ 3684 BRANCH 3712
+ 3686 CHECK_SIGNALS
+ 3687 CONSTINT 115
+ 3689 PUSHCONSTINT 20
+ 3691 PUSHGETGLOBALFIELD String, 0
+ 3694 APPLY2
+ 3695 PUSHACC2
+ 3696 PUSHACC5
+ 3697 SETVECTITEM
+ 3698 ACC1
+ 3699 PUSHACC4
+ 3700 GETVECTITEM
+ 3701 MAKEBLOCK1 0
+ 3703 PUSHACC2
+ 3704 PUSHACC4
+ 3705 C_CALL3 weak_set
+ 3707 ACC1
+ 3708 OFFSETINT 1
+ 3710 ASSIGN 1
+ 3712 ACC0
+ 3713 PUSHACC2
+ 3714 LEINT
+ 3715 BRANCHIF 3686
+ 3717 CONST0
+ 3718 POP 2
+ 3720 CONST0
+ 3721 C_CALL1 gc_full_major
+ 3723 CONST0
+ 3724 PUSHCONSTINT 19
+ 3726 PUSH
+ 3727 BRANCH 3750
+ 3729 CHECK_SIGNALS
+ 3730 ACC1
+ 3731 PUSHACC3
+ 3732 C_CALL2 weak_get
+ 3734 PUSHACC0
+ 3735 BRANCHIF 3742
+ 3737 GETGLOBAL Not_found
+ 3739 MAKEBLOCK1 0
+ 3741 RAISE
+ 3742 CONST0
+ 3743 POP 1
+ 3745 ACC1
+ 3746 OFFSETINT 1
+ 3748 ASSIGN 1
+ 3750 ACC0
+ 3751 PUSHACC2
+ 3752 LEINT
+ 3753 BRANCHIF 3729
+ 3755 CONST0
+ 3756 POP 2
+ 3758 CONST0
+ 3759 PUSHCONSTINT 19
+ 3761 PUSH
+ 3762 BRANCH 3782
+ 3764 CHECK_SIGNALS
+ 3765 CONST0
+ 3766 PUSHCONST2
+ 3767 PUSHACC3
+ 3768 MODINT
+ 3769 EQ
+ 3770 BRANCHIFNOT 3777
+ 3772 GETGLOBAL ""
+ 3774 PUSHACC2
+ 3775 PUSHACC5
+ 3776 SETVECTITEM
+ 3777 ACC1
+ 3778 OFFSETINT 1
+ 3780 ASSIGN 1
+ 3782 ACC0
+ 3783 PUSHACC2
+ 3784 LEINT
+ 3785 BRANCHIF 3764
+ 3787 CONST0
+ 3788 POP 2
+ 3790 CONST0
+ 3791 C_CALL1 gc_full_major
+ 3793 CONST0
+ 3794 PUSHCONSTINT 19
+ 3796 PUSH
+ 3797 BRANCH 3851
+ 3799 CHECK_SIGNALS
+ 3800 ACC1
+ 3801 PUSHACC3
+ 3802 C_CALL2 weak_get
+ 3804 PUSHACC0
+ 3805 BRANCHIFNOT 3829
+ 3807 CONST1
+ 3808 PUSHCONST2
+ 3809 PUSHACC4
+ 3810 MODINT
+ 3811 EQ
+ 3812 BRANCHIFNOT 3839
+ 3814 CONSTINT 115
+ 3816 PUSHCONSTINT 5
+ 3818 PUSHACC2
+ 3819 GETFIELD0
+ 3820 GETSTRINGCHAR
+ 3821 NEQ
+ 3822 BRANCHIFNOT 3844
+ 3824 GETGLOBAL Not_found
+ 3826 MAKEBLOCK1 0
+ 3828 RAISE
+ 3829 CONST0
+ 3830 PUSHCONST2
+ 3831 PUSHACC4
+ 3832 MODINT
+ 3833 EQ
+ 3834 BRANCHIFNOT 3839
+ 3836 CONST0
+ 3837 BRANCH 3844
+ 3839 GETGLOBAL Not_found
+ 3841 MAKEBLOCK1 0
+ 3843 RAISE
+ 3844 POP 1
+ 3846 ACC1
+ 3847 OFFSETINT 1
+ 3849 ASSIGN 1
+ 3851 ACC0
+ 3852 PUSHACC2
+ 3853 LEINT
+ 3854 BRANCHIF 3799
+ 3856 CONST0
+ 3857 POP 4
+ 3859 ATOM0
+ 3860 SETGLOBAL T340-weak
+ 3862 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t350-heapcheck.ml b/testsuite/tests/tool-ocaml/t350-heapcheck.ml
new file mode 100644
index 0000000000..ef4557cd52
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t350-heapcheck.ml
@@ -0,0 +1,2554 @@
+open Lib;;
+ignore (Gc.stat ());
+let x = Array.make 20 "" in
+let w = weak_create 20 in
+for i = 0 to 19 do
+ x.(i) <- String.make 20 's';
+ weak_set w i (Some x.(i));
+done;
+Gc.full_major ();
+for i = 0 to 19 do
+ match weak_get w i with
+ | None -> raise Not_found
+ | _ -> ()
+done;
+for i = 0 to 19 do
+ if i mod 2 = 0 then x.(i) <- ""
+done;
+Gc.full_major ();
+for i = 0 to 19 do
+ match weak_get w i with
+ | None when i mod 2 = 0 -> ()
+ | Some s when i mod 2 = 1 -> if s.[5] <> 's' then raise Not_found
+ | _ -> raise Not_found
+done
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 746
+ 11 RESTART
+ 12 GRAB 1
+ 14 ACC0
+ 15 BRANCHIFNOT 28
+ 17 ACC1
+ 18 PUSHACC1
+ 19 GETFIELD1
+ 20 PUSHOFFSETCLOSURE0
+ 21 APPLY2
+ 22 PUSHACC1
+ 23 GETFIELD0
+ 24 MAKEBLOCK2 0
+ 26 RETURN 2
+ 28 ACC1
+ 29 RETURN 2
+ 31 RESTART
+ 32 GRAB 3
+ 34 CONST0
+ 35 PUSHACC4
+ 36 LEINT
+ 37 BRANCHIFNOT 42
+ 39 CONST0
+ 40 RETURN 4
+ 42 ACC3
+ 43 PUSHACC3
+ 44 PUSHACC3
+ 45 PUSHACC3
+ 46 C_CALL4 caml_input
+ 48 PUSHCONST0
+ 49 PUSHACC1
+ 50 EQ
+ 51 BRANCHIFNOT 58
+ 53 GETGLOBAL End_of_file
+ 55 MAKEBLOCK1 0
+ 57 RAISE
+ 58 ACC0
+ 59 PUSHACC5
+ 60 SUBINT
+ 61 PUSHACC1
+ 62 PUSHACC5
+ 63 ADDINT
+ 64 PUSHACC4
+ 65 PUSHACC4
+ 66 PUSHOFFSETCLOSURE0
+ 67 APPTERM 4, 9
+ 70 ACC0
+ 71 C_CALL1 caml_input_scan_line
+ 73 PUSHCONST0
+ 74 PUSHACC1
+ 75 EQ
+ 76 BRANCHIFNOT 83
+ 78 GETGLOBAL End_of_file
+ 80 MAKEBLOCK1 0
+ 82 RAISE
+ 83 CONST0
+ 84 PUSHACC1
+ 85 GTINT
+ 86 BRANCHIFNOT 107
+ 88 ACC0
+ 89 OFFSETINT -1
+ 91 C_CALL1 create_string
+ 93 PUSHACC1
+ 94 OFFSETINT -1
+ 96 PUSHCONST0
+ 97 PUSHACC2
+ 98 PUSHACC5
+ 99 C_CALL4 caml_input
+ 101 ACC2
+ 102 C_CALL1 caml_input_char
+ 104 ACC0
+ 105 RETURN 3
+ 107 ACC0
+ 108 NEGINT
+ 109 C_CALL1 create_string
+ 111 PUSHACC1
+ 112 NEGINT
+ 113 PUSHCONST0
+ 114 PUSHACC2
+ 115 PUSHACC5
+ 116 C_CALL4 caml_input
+ 118 CONST0
+ 119 PUSHTRAP 130
+ 121 ACC6
+ 122 PUSHOFFSETCLOSURE0
+ 123 APPLY1
+ 124 PUSHACC5
+ 125 PUSHENVACC1
+ 126 APPLY2
+ 127 POPTRAP
+ 128 RETURN 3
+ 130 PUSHGETGLOBAL End_of_file
+ 132 PUSHACC1
+ 133 GETFIELD0
+ 134 EQ
+ 135 BRANCHIFNOT 140
+ 137 ACC1
+ 138 RETURN 4
+ 140 ACC0
+ 141 RAISE
+ 142 ACC0
+ 143 C_CALL1 caml_flush
+ 145 RETURN 1
+ 147 RESTART
+ 148 GRAB 1
+ 150 ACC1
+ 151 PUSHACC1
+ 152 C_CALL2 caml_output_char
+ 154 RETURN 2
+ 156 RESTART
+ 157 GRAB 1
+ 159 ACC1
+ 160 PUSHACC1
+ 161 C_CALL2 caml_output_char
+ 163 RETURN 2
+ 165 RESTART
+ 166 GRAB 1
+ 168 ACC1
+ 169 PUSHACC1
+ 170 C_CALL2 caml_output_int
+ 172 RETURN 2
+ 174 RESTART
+ 175 GRAB 1
+ 177 ACC1
+ 178 PUSHACC1
+ 179 C_CALL2 caml_seek_out
+ 181 RETURN 2
+ 183 ACC0
+ 184 C_CALL1 caml_pos_out
+ 186 RETURN 1
+ 188 ACC0
+ 189 C_CALL1 caml_channel_size
+ 191 RETURN 1
+ 193 RESTART
+ 194 GRAB 1
+ 196 ACC1
+ 197 PUSHACC1
+ 198 C_CALL2 caml_set_binary_mode
+ 200 RETURN 2
+ 202 ACC0
+ 203 C_CALL1 caml_input_char
+ 205 RETURN 1
+ 207 ACC0
+ 208 C_CALL1 caml_input_char
+ 210 RETURN 1
+ 212 ACC0
+ 213 C_CALL1 caml_input_int
+ 215 RETURN 1
+ 217 ACC0
+ 218 C_CALL1 input_value
+ 220 RETURN 1
+ 222 RESTART
+ 223 GRAB 1
+ 225 ACC1
+ 226 PUSHACC1
+ 227 C_CALL2 caml_seek_in
+ 229 RETURN 2
+ 231 ACC0
+ 232 C_CALL1 caml_pos_in
+ 234 RETURN 1
+ 236 ACC0
+ 237 C_CALL1 caml_channel_size
+ 239 RETURN 1
+ 241 ACC0
+ 242 C_CALL1 caml_close_channel
+ 244 RETURN 1
+ 246 RESTART
+ 247 GRAB 1
+ 249 ACC1
+ 250 PUSHACC1
+ 251 C_CALL2 caml_set_binary_mode
+ 253 RETURN 2
+ 255 CONST0
+ 256 PUSHENVACC1
+ 257 APPLY1
+ 258 ACC0
+ 259 C_CALL1 sys_exit
+ 261 RETURN 1
+ 263 CONST0
+ 264 PUSHENVACC1
+ 265 GETFIELD0
+ 266 APPTERM1 2
+ 268 CONST0
+ 269 PUSHENVACC1
+ 270 APPLY1
+ 271 CONST0
+ 272 PUSHENVACC2
+ 273 APPTERM1 2
+ 275 ENVACC1
+ 276 GETFIELD0
+ 277 PUSHACC0
+ 278 PUSHACC2
+ 279 CLOSURE 2, 268
+ 282 PUSHENVACC1
+ 283 SETFIELD0
+ 284 RETURN 2
+ 286 ENVACC1
+ 287 C_CALL1 caml_flush
+ 289 ENVACC2
+ 290 C_CALL1 caml_flush
+ 292 RETURN 1
+ 294 CONST0
+ 295 PUSHENVACC1
+ 296 APPLY1
+ 297 C_CALL1 float_of_string
+ 299 RETURN 1
+ 301 CONST0
+ 302 PUSHENVACC1
+ 303 APPLY1
+ 304 C_CALL1 int_of_string
+ 306 RETURN 1
+ 308 ENVACC2
+ 309 C_CALL1 caml_flush
+ 311 ENVACC1
+ 312 PUSHENVACC3
+ 313 APPTERM1 2
+ 315 CONSTINT 13
+ 317 PUSHENVACC1
+ 318 C_CALL2 caml_output_char
+ 320 ENVACC1
+ 321 C_CALL1 caml_flush
+ 323 RETURN 1
+ 325 ACC0
+ 326 PUSHENVACC1
+ 327 PUSHENVACC2
+ 328 APPLY2
+ 329 CONSTINT 13
+ 331 PUSHENVACC1
+ 332 C_CALL2 caml_output_char
+ 334 ENVACC1
+ 335 C_CALL1 caml_flush
+ 337 RETURN 1
+ 339 ACC0
+ 340 PUSHENVACC1
+ 341 APPLY1
+ 342 PUSHENVACC2
+ 343 PUSHENVACC3
+ 344 APPTERM2 3
+ 346 ACC0
+ 347 PUSHENVACC1
+ 348 APPLY1
+ 349 PUSHENVACC2
+ 350 PUSHENVACC3
+ 351 APPTERM2 3
+ 353 ACC0
+ 354 PUSHENVACC1
+ 355 PUSHENVACC2
+ 356 APPTERM2 3
+ 358 ACC0
+ 359 PUSHENVACC1
+ 360 C_CALL2 caml_output_char
+ 362 RETURN 1
+ 364 CONSTINT 13
+ 366 PUSHENVACC1
+ 367 C_CALL2 caml_output_char
+ 369 ENVACC1
+ 370 C_CALL1 caml_flush
+ 372 RETURN 1
+ 374 ACC0
+ 375 PUSHENVACC1
+ 376 PUSHENVACC2
+ 377 APPLY2
+ 378 CONSTINT 13
+ 380 PUSHENVACC1
+ 381 C_CALL2 caml_output_char
+ 383 RETURN 1
+ 385 ACC0
+ 386 PUSHENVACC1
+ 387 APPLY1
+ 388 PUSHENVACC2
+ 389 PUSHENVACC3
+ 390 APPTERM2 3
+ 392 ACC0
+ 393 PUSHENVACC1
+ 394 APPLY1
+ 395 PUSHENVACC2
+ 396 PUSHENVACC3
+ 397 APPTERM2 3
+ 399 ACC0
+ 400 PUSHENVACC1
+ 401 PUSHENVACC2
+ 402 APPTERM2 3
+ 404 ACC0
+ 405 PUSHENVACC1
+ 406 C_CALL2 caml_output_char
+ 408 RETURN 1
+ 410 RESTART
+ 411 GRAB 3
+ 413 CONST0
+ 414 PUSHACC3
+ 415 LTINT
+ 416 BRANCHIF 427
+ 418 ACC1
+ 419 C_CALL1 ml_string_length
+ 421 PUSHACC4
+ 422 PUSHACC4
+ 423 ADDINT
+ 424 GTINT
+ 425 BRANCHIFNOT 432
+ 427 GETGLOBAL "really_input"
+ 429 PUSHENVACC1
+ 430 APPTERM1 5
+ 432 ACC3
+ 433 PUSHACC3
+ 434 PUSHACC3
+ 435 PUSHACC3
+ 436 PUSHENVACC2
+ 437 APPTERM 4, 8
+ 440 RESTART
+ 441 GRAB 3
+ 443 CONST0
+ 444 PUSHACC3
+ 445 LTINT
+ 446 BRANCHIF 457
+ 448 ACC1
+ 449 C_CALL1 ml_string_length
+ 451 PUSHACC4
+ 452 PUSHACC4
+ 453 ADDINT
+ 454 GTINT
+ 455 BRANCHIFNOT 462
+ 457 GETGLOBAL "input"
+ 459 PUSHENVACC1
+ 460 APPTERM1 5
+ 462 ACC3
+ 463 PUSHACC3
+ 464 PUSHACC3
+ 465 PUSHACC3
+ 466 C_CALL4 caml_input
+ 468 RETURN 4
+ 470 ACC0
+ 471 PUSHCONST0
+ 472 PUSHGETGLOBAL <0>(0, <0>(6, 0))
+ 474 PUSHENVACC1
+ 475 APPTERM3 4
+ 477 ACC0
+ 478 PUSHCONST0
+ 479 PUSHGETGLOBAL <0>(0, <0>(7, 0))
+ 481 PUSHENVACC1
+ 482 APPTERM3 4
+ 484 RESTART
+ 485 GRAB 2
+ 487 ACC1
+ 488 PUSHACC1
+ 489 PUSHACC4
+ 490 C_CALL3 sys_open
+ 492 C_CALL1 caml_open_descriptor
+ 494 RETURN 3
+ 496 ACC0
+ 497 C_CALL1 caml_flush
+ 499 ACC0
+ 500 C_CALL1 caml_close_channel
+ 502 RETURN 1
+ 504 RESTART
+ 505 GRAB 1
+ 507 CONST0
+ 508 PUSHACC2
+ 509 PUSHACC2
+ 510 C_CALL3 output_value
+ 512 RETURN 2
+ 514 RESTART
+ 515 GRAB 3
+ 517 CONST0
+ 518 PUSHACC3
+ 519 LTINT
+ 520 BRANCHIF 531
+ 522 ACC1
+ 523 C_CALL1 ml_string_length
+ 525 PUSHACC4
+ 526 PUSHACC4
+ 527 ADDINT
+ 528 GTINT
+ 529 BRANCHIFNOT 536
+ 531 GETGLOBAL "output"
+ 533 PUSHENVACC1
+ 534 APPTERM1 5
+ 536 ACC3
+ 537 PUSHACC3
+ 538 PUSHACC3
+ 539 PUSHACC3
+ 540 C_CALL4 caml_output
+ 542 RETURN 4
+ 544 RESTART
+ 545 GRAB 1
+ 547 ACC1
+ 548 C_CALL1 ml_string_length
+ 550 PUSHCONST0
+ 551 PUSHACC3
+ 552 PUSHACC3
+ 553 C_CALL4 caml_output
+ 555 RETURN 2
+ 557 ACC0
+ 558 PUSHCONSTINT 438
+ 560 PUSHGETGLOBAL <0>(1, <0>(3, <0>(4, <0>(6, 0))))
+ 562 PUSHENVACC1
+ 563 APPTERM3 4
+ 565 ACC0
+ 566 PUSHCONSTINT 438
+ 568 PUSHGETGLOBAL <0>(1, <0>(3, <0>(4, <0>(7, 0))))
+ 570 PUSHENVACC1
+ 571 APPTERM3 4
+ 573 RESTART
+ 574 GRAB 2
+ 576 ACC1
+ 577 PUSHACC1
+ 578 PUSHACC4
+ 579 C_CALL3 sys_open
+ 581 C_CALL1 caml_open_descriptor
+ 583 RETURN 3
+ 585 ACC0
+ 586 PUSHGETGLOBAL "%.12g"
+ 588 C_CALL2 format_float
+ 590 RETURN 1
+ 592 ACC0
+ 593 PUSHGETGLOBAL "%d"
+ 595 C_CALL2 format_int
+ 597 RETURN 1
+ 599 GETGLOBAL "false"
+ 601 PUSHACC1
+ 602 C_CALL2 string_equal
+ 604 BRANCHIFNOT 609
+ 606 CONST0
+ 607 RETURN 1
+ 609 GETGLOBAL "true"
+ 611 PUSHACC1
+ 612 C_CALL2 string_equal
+ 614 BRANCHIFNOT 619
+ 616 CONST1
+ 617 RETURN 1
+ 619 GETGLOBAL "bool_of_string"
+ 621 PUSHENVACC1
+ 622 APPTERM1 2
+ 624 ACC0
+ 625 BRANCHIFNOT 631
+ 627 GETGLOBAL "true"
+ 629 RETURN 1
+ 631 GETGLOBAL "false"
+ 633 RETURN 1
+ 635 CONST0
+ 636 PUSHACC1
+ 637 LTINT
+ 638 BRANCHIF 646
+ 640 CONSTINT 255
+ 642 PUSHACC1
+ 643 GTINT
+ 644 BRANCHIFNOT 651
+ 646 GETGLOBAL "char_of_int"
+ 648 PUSHENVACC1
+ 649 APPTERM1 2
+ 651 ACC0
+ 652 RETURN 1
+ 654 RESTART
+ 655 GRAB 1
+ 657 ACC0
+ 658 C_CALL1 ml_string_length
+ 660 PUSHACC2
+ 661 C_CALL1 ml_string_length
+ 663 PUSHACC0
+ 664 PUSHACC2
+ 665 ADDINT
+ 666 C_CALL1 create_string
+ 668 PUSHACC2
+ 669 PUSHCONST0
+ 670 PUSHACC2
+ 671 PUSHCONST0
+ 672 PUSHACC7
+ 673 C_CALL5 blit_string
+ 675 ACC1
+ 676 PUSHACC3
+ 677 PUSHACC2
+ 678 PUSHCONST0
+ 679 PUSHACC 8
+ 681 C_CALL5 blit_string
+ 683 ACC0
+ 684 RETURN 5
+ 686 CONSTINT -1
+ 688 PUSHACC1
+ 689 XORINT
+ 690 RETURN 1
+ 692 CONST0
+ 693 PUSHACC1
+ 694 GEINT
+ 695 BRANCHIFNOT 700
+ 697 ACC0
+ 698 RETURN 1
+ 700 ACC0
+ 701 NEGINT
+ 702 RETURN 1
+ 704 RESTART
+ 705 GRAB 1
+ 707 ACC1
+ 708 PUSHACC1
+ 709 C_CALL2 greaterequal
+ 711 BRANCHIFNOT 716
+ 713 ACC0
+ 714 RETURN 2
+ 716 ACC1
+ 717 RETURN 2
+ 719 RESTART
+ 720 GRAB 1
+ 722 ACC1
+ 723 PUSHACC1
+ 724 C_CALL2 lessequal
+ 726 BRANCHIFNOT 731
+ 728 ACC0
+ 729 RETURN 2
+ 731 ACC1
+ 732 RETURN 2
+ 734 ACC0
+ 735 PUSHGETGLOBAL Invalid_argument
+ 737 MAKEBLOCK2 0
+ 739 RAISE
+ 740 ACC0
+ 741 PUSHGETGLOBAL Failure
+ 743 MAKEBLOCK2 0
+ 745 RAISE
+ 746 CLOSURE 0, 740
+ 749 PUSH
+ 750 CLOSURE 0, 734
+ 753 PUSHGETGLOBAL "Pervasives.Exit"
+ 755 MAKEBLOCK1 0
+ 757 PUSHGETGLOBAL "Pervasives.Assert_failure"
+ 759 MAKEBLOCK1 0
+ 761 PUSH
+ 762 CLOSURE 0, 720
+ 765 PUSH
+ 766 CLOSURE 0, 705
+ 769 PUSH
+ 770 CLOSURE 0, 692
+ 773 PUSH
+ 774 CLOSURE 0, 686
+ 777 PUSHCONST0
+ 778 PUSHCONSTINT 31
+ 780 PUSHCONST1
+ 781 LSLINT
+ 782 EQ
+ 783 BRANCHIFNOT 789
+ 785 CONSTINT 30
+ 787 BRANCH 791
+ 789 CONSTINT 62
+ 791 PUSHCONST1
+ 792 LSLINT
+ 793 PUSHACC0
+ 794 OFFSETINT -1
+ 796 PUSH
+ 797 CLOSURE 0, 655
+ 800 PUSHACC 9
+ 802 CLOSURE 1, 635
+ 805 PUSH
+ 806 CLOSURE 0, 624
+ 809 PUSHACC 11
+ 811 CLOSURE 1, 599
+ 814 PUSH
+ 815 CLOSURE 0, 592
+ 818 PUSH
+ 819 CLOSURE 0, 585
+ 822 PUSH
+ 823 CLOSUREREC 0, 12
+ 827 CONST0
+ 828 C_CALL1 caml_open_descriptor
+ 830 PUSHCONST1
+ 831 C_CALL1 caml_open_descriptor
+ 833 PUSHCONST2
+ 834 C_CALL1 caml_open_descriptor
+ 836 PUSH
+ 837 CLOSURE 0, 574
+ 840 PUSHACC0
+ 841 CLOSURE 1, 565
+ 844 PUSHACC1
+ 845 CLOSURE 1, 557
+ 848 PUSH
+ 849 CLOSURE 0, 545
+ 852 PUSHACC 22
+ 854 CLOSURE 1, 515
+ 857 PUSH
+ 858 CLOSURE 0, 505
+ 861 PUSH
+ 862 CLOSURE 0, 496
+ 865 PUSH
+ 866 CLOSURE 0, 485
+ 869 PUSHACC0
+ 870 CLOSURE 1, 477
+ 873 PUSHACC1
+ 874 CLOSURE 1, 470
+ 877 PUSHACC 28
+ 879 CLOSURE 1, 441
+ 882 PUSH
+ 883 CLOSUREREC 0, 32
+ 887 ACC0
+ 888 PUSHACC 31
+ 890 CLOSURE 2, 411
+ 893 PUSHACC 22
+ 895 CLOSUREREC 1, 70
+ 899 ACC 15
+ 901 CLOSURE 1, 404
+ 904 PUSHACC 11
+ 906 PUSHACC 17
+ 908 CLOSURE 2, 399
+ 911 PUSHACC 12
+ 913 PUSHACC 18
+ 915 PUSHACC 23
+ 917 CLOSURE 3, 392
+ 920 PUSHACC 13
+ 922 PUSHACC 19
+ 924 PUSHACC 23
+ 926 CLOSURE 3, 385
+ 929 PUSHACC 14
+ 931 PUSHACC 20
+ 933 CLOSURE 2, 374
+ 936 PUSHACC 20
+ 938 CLOSURE 1, 364
+ 941 PUSHACC 20
+ 943 CLOSURE 1, 358
+ 946 PUSHACC 17
+ 948 PUSHACC 22
+ 950 CLOSURE 2, 353
+ 953 PUSHACC 18
+ 955 PUSHACC 23
+ 957 PUSHACC 29
+ 959 CLOSURE 3, 346
+ 962 PUSHACC 19
+ 964 PUSHACC 24
+ 966 PUSHACC 29
+ 968 CLOSURE 3, 339
+ 971 PUSHACC 20
+ 973 PUSHACC 25
+ 975 CLOSURE 2, 325
+ 978 PUSHACC 25
+ 980 CLOSURE 1, 315
+ 983 PUSHACC 12
+ 985 PUSHACC 28
+ 987 PUSHACC 30
+ 989 CLOSURE 3, 308
+ 992 PUSHACC0
+ 993 CLOSURE 1, 301
+ 996 PUSHACC1
+ 997 CLOSURE 1, 294
+ 1000 PUSHACC 29
+ 1002 PUSHACC 31
+ 1004 CLOSURE 2, 286
+ 1007 MAKEBLOCK1 0
+ 1009 PUSHACC0
+ 1010 CLOSURE 1, 275
+ 1013 PUSHACC1
+ 1014 CLOSURE 1, 263
+ 1017 PUSHACC0
+ 1018 CLOSURE 1, 255
+ 1021 PUSHACC1
+ 1022 PUSHACC 22
+ 1024 PUSHACC4
+ 1025 PUSHACC3
+ 1026 PUSH
+ 1027 CLOSURE 0, 247
+ 1030 PUSH
+ 1031 CLOSURE 0, 241
+ 1034 PUSH
+ 1035 CLOSURE 0, 236
+ 1038 PUSH
+ 1039 CLOSURE 0, 231
+ 1042 PUSH
+ 1043 CLOSURE 0, 223
+ 1046 PUSH
+ 1047 CLOSURE 0, 217
+ 1050 PUSH
+ 1051 CLOSURE 0, 212
+ 1054 PUSH
+ 1055 CLOSURE 0, 207
+ 1058 PUSHACC 32
+ 1060 PUSHACC 35
+ 1062 PUSHACC 33
+ 1064 PUSH
+ 1065 CLOSURE 0, 202
+ 1068 PUSHACC 41
+ 1070 PUSHACC 40
+ 1072 PUSHACC 42
+ 1074 PUSH
+ 1075 CLOSURE 0, 194
+ 1078 PUSHACC 46
+ 1080 PUSH
+ 1081 CLOSURE 0, 188
+ 1084 PUSH
+ 1085 CLOSURE 0, 183
+ 1088 PUSH
+ 1089 CLOSURE 0, 175
+ 1092 PUSHACC 51
+ 1094 PUSH
+ 1095 CLOSURE 0, 166
+ 1098 PUSH
+ 1099 CLOSURE 0, 157
+ 1102 PUSHACC 55
+ 1104 PUSHACC 57
+ 1106 PUSH
+ 1107 CLOSURE 0, 148
+ 1110 PUSH
+ 1111 CLOSURE 0, 142
+ 1114 PUSHACC 63
+ 1116 PUSHACC 62
+ 1118 PUSHACC 64
+ 1120 PUSHACC 38
+ 1122 PUSHACC 40
+ 1124 PUSHACC 42
+ 1126 PUSHACC 44
+ 1128 PUSHACC 46
+ 1130 PUSHACC 48
+ 1132 PUSHACC 50
+ 1134 PUSHACC 52
+ 1136 PUSHACC 54
+ 1138 PUSHACC 56
+ 1140 PUSHACC 58
+ 1142 PUSHACC 60
+ 1144 PUSHACC 62
+ 1146 PUSHACC 64
+ 1148 PUSHACC 66
+ 1150 PUSHACC 82
+ 1152 PUSHACC 84
+ 1154 PUSHACC 86
+ 1156 PUSHACC 88
+ 1158 PUSHACC 90
+ 1160 PUSHACC 92
+ 1162 PUSHACC 94
+ 1164 PUSHACC 96
+ 1166 PUSHACC 98
+ 1168 PUSHACC 100
+ 1170 PUSHACC 104
+ 1172 PUSHACC 104
+ 1174 PUSHACC 104
+ 1176 PUSHACC 108
+ 1178 PUSHACC 110
+ 1180 PUSHACC 112
+ 1182 PUSHACC 117
+ 1184 PUSHACC 117
+ 1186 PUSHACC 117
+ 1188 PUSHACC 117
+ 1190 MAKEBLOCK 69, 0
+ 1193 POP 53
+ 1195 SETGLOBAL Pervasives
+ 1197 BRANCH 2177
+ 1199 RESTART
+ 1200 GRAB 1
+ 1202 ACC1
+ 1203 BRANCHIFNOT 1213
+ 1205 ACC1
+ 1206 GETFIELD1
+ 1207 PUSHACC1
+ 1208 OFFSETINT 1
+ 1210 PUSHOFFSETCLOSURE0
+ 1211 APPTERM2 4
+ 1213 ACC0
+ 1214 RETURN 2
+ 1216 RESTART
+ 1217 GRAB 1
+ 1219 ACC0
+ 1220 BRANCHIFNOT 1251
+ 1222 CONST0
+ 1223 PUSHACC2
+ 1224 EQ
+ 1225 BRANCHIFNOT 1231
+ 1227 ACC0
+ 1228 GETFIELD0
+ 1229 RETURN 2
+ 1231 CONST0
+ 1232 PUSHACC2
+ 1233 GTINT
+ 1234 BRANCHIFNOT 1244
+ 1236 ACC1
+ 1237 OFFSETINT -1
+ 1239 PUSHACC1
+ 1240 GETFIELD1
+ 1241 PUSHOFFSETCLOSURE0
+ 1242 APPTERM2 4
+ 1244 GETGLOBAL "List.nth"
+ 1246 PUSHGETGLOBALFIELD Pervasives, 2
+ 1249 APPTERM1 3
+ 1251 GETGLOBAL "nth"
+ 1253 PUSHGETGLOBALFIELD Pervasives, 3
+ 1256 APPTERM1 3
+ 1258 RESTART
+ 1259 GRAB 1
+ 1261 ACC0
+ 1262 BRANCHIFNOT 1274
+ 1264 ACC1
+ 1265 PUSHACC1
+ 1266 GETFIELD0
+ 1267 MAKEBLOCK2 0
+ 1269 PUSHACC1
+ 1270 GETFIELD1
+ 1271 PUSHOFFSETCLOSURE0
+ 1272 APPTERM2 4
+ 1274 ACC1
+ 1275 RETURN 2
+ 1277 ACC0
+ 1278 BRANCHIFNOT 1291
+ 1280 ACC0
+ 1281 GETFIELD1
+ 1282 PUSHOFFSETCLOSURE0
+ 1283 APPLY1
+ 1284 PUSHACC1
+ 1285 GETFIELD0
+ 1286 PUSHGETGLOBALFIELD Pervasives, 16
+ 1289 APPTERM2 3
+ 1291 RETURN 1
+ 1293 RESTART
+ 1294 GRAB 1
+ 1296 ACC1
+ 1297 BRANCHIFNOT 1313
+ 1299 ACC1
+ 1300 GETFIELD0
+ 1301 PUSHACC1
+ 1302 APPLY1
+ 1303 PUSHACC2
+ 1304 GETFIELD1
+ 1305 PUSHACC2
+ 1306 PUSHOFFSETCLOSURE0
+ 1307 APPLY2
+ 1308 PUSHACC1
+ 1309 MAKEBLOCK2 0
+ 1311 POP 1
+ 1313 RETURN 2
+ 1315 RESTART
+ 1316 GRAB 1
+ 1318 ACC1
+ 1319 BRANCHIFNOT 1331
+ 1321 ACC1
+ 1322 GETFIELD0
+ 1323 PUSHACC1
+ 1324 APPLY1
+ 1325 ACC1
+ 1326 GETFIELD1
+ 1327 PUSHACC1
+ 1328 PUSHOFFSETCLOSURE0
+ 1329 APPTERM2 4
+ 1331 RETURN 2
+ 1333 RESTART
+ 1334 GRAB 2
+ 1336 ACC2
+ 1337 BRANCHIFNOT 1350
+ 1339 ACC2
+ 1340 GETFIELD1
+ 1341 PUSHACC3
+ 1342 GETFIELD0
+ 1343 PUSHACC3
+ 1344 PUSHACC3
+ 1345 APPLY2
+ 1346 PUSHACC2
+ 1347 PUSHOFFSETCLOSURE0
+ 1348 APPTERM3 6
+ 1350 ACC1
+ 1351 RETURN 3
+ 1353 RESTART
+ 1354 GRAB 2
+ 1356 ACC1
+ 1357 BRANCHIFNOT 1370
+ 1359 ACC2
+ 1360 PUSHACC2
+ 1361 GETFIELD1
+ 1362 PUSHACC2
+ 1363 PUSHOFFSETCLOSURE0
+ 1364 APPLY3
+ 1365 PUSHACC2
+ 1366 GETFIELD0
+ 1367 PUSHACC2
+ 1368 APPTERM2 5
+ 1370 ACC2
+ 1371 RETURN 3
+ 1373 RESTART
+ 1374 GRAB 2
+ 1376 ACC1
+ 1377 BRANCHIFNOT 1400
+ 1379 ACC2
+ 1380 BRANCHIFNOT 1407
+ 1382 ACC2
+ 1383 GETFIELD0
+ 1384 PUSHACC2
+ 1385 GETFIELD0
+ 1386 PUSHACC2
+ 1387 APPLY2
+ 1388 PUSHACC3
+ 1389 GETFIELD1
+ 1390 PUSHACC3
+ 1391 GETFIELD1
+ 1392 PUSHACC3
+ 1393 PUSHOFFSETCLOSURE0
+ 1394 APPLY3
+ 1395 PUSHACC1
+ 1396 MAKEBLOCK2 0
+ 1398 RETURN 4
+ 1400 ACC2
+ 1401 BRANCHIFNOT 1405
+ 1403 BRANCH 1407
+ 1405 RETURN 3
+ 1407 GETGLOBAL "List.map2"
+ 1409 PUSHGETGLOBALFIELD Pervasives, 2
+ 1412 APPTERM1 4
+ 1414 RESTART
+ 1415 GRAB 2
+ 1417 ACC1
+ 1418 BRANCHIFNOT 1437
+ 1420 ACC2
+ 1421 BRANCHIFNOT 1444
+ 1423 ACC2
+ 1424 GETFIELD0
+ 1425 PUSHACC2
+ 1426 GETFIELD0
+ 1427 PUSHACC2
+ 1428 APPLY2
+ 1429 ACC2
+ 1430 GETFIELD1
+ 1431 PUSHACC2
+ 1432 GETFIELD1
+ 1433 PUSHACC2
+ 1434 PUSHOFFSETCLOSURE0
+ 1435 APPTERM3 6
+ 1437 ACC2
+ 1438 BRANCHIFNOT 1442
+ 1440 BRANCH 1444
+ 1442 RETURN 3
+ 1444 GETGLOBAL "List.iter2"
+ 1446 PUSHGETGLOBALFIELD Pervasives, 2
+ 1449 APPTERM1 4
+ 1451 RESTART
+ 1452 GRAB 3
+ 1454 ACC2
+ 1455 BRANCHIFNOT 1476
+ 1457 ACC3
+ 1458 BRANCHIFNOT 1482
+ 1460 ACC3
+ 1461 GETFIELD1
+ 1462 PUSHACC3
+ 1463 GETFIELD1
+ 1464 PUSHACC5
+ 1465 GETFIELD0
+ 1466 PUSHACC5
+ 1467 GETFIELD0
+ 1468 PUSHACC5
+ 1469 PUSHACC5
+ 1470 APPLY3
+ 1471 PUSHACC3
+ 1472 PUSHOFFSETCLOSURE0
+ 1473 APPTERM 4, 8
+ 1476 ACC3
+ 1477 BRANCHIF 1482
+ 1479 ACC1
+ 1480 RETURN 4
+ 1482 GETGLOBAL "List.fold_left2"
+ 1484 PUSHGETGLOBALFIELD Pervasives, 2
+ 1487 APPTERM1 5
+ 1489 RESTART
+ 1490 GRAB 3
+ 1492 ACC1
+ 1493 BRANCHIFNOT 1516
+ 1495 ACC2
+ 1496 BRANCHIFNOT 1522
+ 1498 PUSH_RETADDR 1509
+ 1500 ACC6
+ 1501 PUSHACC6
+ 1502 GETFIELD1
+ 1503 PUSHACC6
+ 1504 GETFIELD1
+ 1505 PUSHACC6
+ 1506 PUSHOFFSETCLOSURE0
+ 1507 APPLY 4
+ 1509 PUSHACC3
+ 1510 GETFIELD0
+ 1511 PUSHACC3
+ 1512 GETFIELD0
+ 1513 PUSHACC3
+ 1514 APPTERM3 7
+ 1516 ACC2
+ 1517 BRANCHIF 1522
+ 1519 ACC3
+ 1520 RETURN 4
+ 1522 GETGLOBAL "List.fold_right2"
+ 1524 PUSHGETGLOBALFIELD Pervasives, 2
+ 1527 APPTERM1 5
+ 1529 RESTART
+ 1530 GRAB 1
+ 1532 ACC1
+ 1533 BRANCHIFNOT 1549
+ 1535 ACC1
+ 1536 GETFIELD0
+ 1537 PUSHACC1
+ 1538 APPLY1
+ 1539 BRANCHIFNOT 1547
+ 1541 ACC1
+ 1542 GETFIELD1
+ 1543 PUSHACC1
+ 1544 PUSHOFFSETCLOSURE0
+ 1545 APPTERM2 4
+ 1547 RETURN 2
+ 1549 CONST1
+ 1550 RETURN 2
+ 1552 RESTART
+ 1553 GRAB 1
+ 1555 ACC1
+ 1556 BRANCHIFNOT 1570
+ 1558 ACC1
+ 1559 GETFIELD0
+ 1560 PUSHACC1
+ 1561 APPLY1
+ 1562 BRANCHIF 1570
+ 1564 ACC1
+ 1565 GETFIELD1
+ 1566 PUSHACC1
+ 1567 PUSHOFFSETCLOSURE0
+ 1568 APPTERM2 4
+ 1570 RETURN 2
+ 1572 RESTART
+ 1573 GRAB 2
+ 1575 ACC1
+ 1576 BRANCHIFNOT 1599
+ 1578 ACC2
+ 1579 BRANCHIFNOT 1605
+ 1581 ACC2
+ 1582 GETFIELD0
+ 1583 PUSHACC2
+ 1584 GETFIELD0
+ 1585 PUSHACC2
+ 1586 APPLY2
+ 1587 BRANCHIFNOT 1597
+ 1589 ACC2
+ 1590 GETFIELD1
+ 1591 PUSHACC2
+ 1592 GETFIELD1
+ 1593 PUSHACC2
+ 1594 PUSHOFFSETCLOSURE0
+ 1595 APPTERM3 6
+ 1597 RETURN 3
+ 1599 ACC2
+ 1600 BRANCHIF 1605
+ 1602 CONST1
+ 1603 RETURN 3
+ 1605 GETGLOBAL "List.for_all2"
+ 1607 PUSHGETGLOBALFIELD Pervasives, 2
+ 1610 APPTERM1 4
+ 1612 RESTART
+ 1613 GRAB 2
+ 1615 ACC1
+ 1616 BRANCHIFNOT 1639
+ 1618 ACC2
+ 1619 BRANCHIFNOT 1646
+ 1621 ACC2
+ 1622 GETFIELD0
+ 1623 PUSHACC2
+ 1624 GETFIELD0
+ 1625 PUSHACC2
+ 1626 APPLY2
+ 1627 BRANCHIF 1637
+ 1629 ACC2
+ 1630 GETFIELD1
+ 1631 PUSHACC2
+ 1632 GETFIELD1
+ 1633 PUSHACC2
+ 1634 PUSHOFFSETCLOSURE0
+ 1635 APPTERM3 6
+ 1637 RETURN 3
+ 1639 ACC2
+ 1640 BRANCHIFNOT 1644
+ 1642 BRANCH 1646
+ 1644 RETURN 3
+ 1646 GETGLOBAL "List.exists2"
+ 1648 PUSHGETGLOBALFIELD Pervasives, 2
+ 1651 APPTERM1 4
+ 1653 RESTART
+ 1654 GRAB 1
+ 1656 ACC1
+ 1657 BRANCHIFNOT 1672
+ 1659 ACC0
+ 1660 PUSHACC2
+ 1661 GETFIELD0
+ 1662 C_CALL2 equal
+ 1664 BRANCHIF 1672
+ 1666 ACC1
+ 1667 GETFIELD1
+ 1668 PUSHACC1
+ 1669 PUSHOFFSETCLOSURE0
+ 1670 APPTERM2 4
+ 1672 RETURN 2
+ 1674 RESTART
+ 1675 GRAB 1
+ 1677 ACC1
+ 1678 BRANCHIFNOT 1692
+ 1680 ACC0
+ 1681 PUSHACC2
+ 1682 GETFIELD0
+ 1683 EQ
+ 1684 BRANCHIF 1692
+ 1686 ACC1
+ 1687 GETFIELD1
+ 1688 PUSHACC1
+ 1689 PUSHOFFSETCLOSURE0
+ 1690 APPTERM2 4
+ 1692 RETURN 2
+ 1694 RESTART
+ 1695 GRAB 1
+ 1697 ACC1
+ 1698 BRANCHIFNOT 1719
+ 1700 ACC1
+ 1701 GETFIELD0
+ 1702 PUSHACC1
+ 1703 PUSHACC1
+ 1704 GETFIELD0
+ 1705 C_CALL2 equal
+ 1707 BRANCHIFNOT 1713
+ 1709 ACC0
+ 1710 GETFIELD1
+ 1711 RETURN 3
+ 1713 ACC2
+ 1714 GETFIELD1
+ 1715 PUSHACC2
+ 1716 PUSHOFFSETCLOSURE0
+ 1717 APPTERM2 5
+ 1719 GETGLOBAL Not_found
+ 1721 MAKEBLOCK1 0
+ 1723 RAISE
+ 1724 RESTART
+ 1725 GRAB 1
+ 1727 ACC1
+ 1728 BRANCHIFNOT 1748
+ 1730 ACC1
+ 1731 GETFIELD0
+ 1732 PUSHACC1
+ 1733 PUSHACC1
+ 1734 GETFIELD0
+ 1735 EQ
+ 1736 BRANCHIFNOT 1742
+ 1738 ACC0
+ 1739 GETFIELD1
+ 1740 RETURN 3
+ 1742 ACC2
+ 1743 GETFIELD1
+ 1744 PUSHACC2
+ 1745 PUSHOFFSETCLOSURE0
+ 1746 APPTERM2 5
+ 1748 GETGLOBAL Not_found
+ 1750 MAKEBLOCK1 0
+ 1752 RAISE
+ 1753 RESTART
+ 1754 GRAB 1
+ 1756 ACC1
+ 1757 BRANCHIFNOT 1773
+ 1759 ACC0
+ 1760 PUSHACC2
+ 1761 GETFIELD0
+ 1762 GETFIELD0
+ 1763 C_CALL2 equal
+ 1765 BRANCHIF 1773
+ 1767 ACC1
+ 1768 GETFIELD1
+ 1769 PUSHACC1
+ 1770 PUSHOFFSETCLOSURE0
+ 1771 APPTERM2 4
+ 1773 RETURN 2
+ 1775 RESTART
+ 1776 GRAB 1
+ 1778 ACC1
+ 1779 BRANCHIFNOT 1794
+ 1781 ACC0
+ 1782 PUSHACC2
+ 1783 GETFIELD0
+ 1784 GETFIELD0
+ 1785 EQ
+ 1786 BRANCHIF 1794
+ 1788 ACC1
+ 1789 GETFIELD1
+ 1790 PUSHACC1
+ 1791 PUSHOFFSETCLOSURE0
+ 1792 APPTERM2 4
+ 1794 RETURN 2
+ 1796 RESTART
+ 1797 GRAB 1
+ 1799 ACC1
+ 1800 BRANCHIFNOT 1825
+ 1802 ACC1
+ 1803 GETFIELD0
+ 1804 PUSHACC2
+ 1805 GETFIELD1
+ 1806 PUSHACC2
+ 1807 PUSHACC2
+ 1808 GETFIELD0
+ 1809 C_CALL2 equal
+ 1811 BRANCHIFNOT 1816
+ 1813 ACC0
+ 1814 RETURN 4
+ 1816 ACC0
+ 1817 PUSHACC3
+ 1818 PUSHOFFSETCLOSURE0
+ 1819 APPLY2
+ 1820 PUSHACC2
+ 1821 MAKEBLOCK2 0
+ 1823 POP 2
+ 1825 RETURN 2
+ 1827 RESTART
+ 1828 GRAB 1
+ 1830 ACC1
+ 1831 BRANCHIFNOT 1855
+ 1833 ACC1
+ 1834 GETFIELD0
+ 1835 PUSHACC2
+ 1836 GETFIELD1
+ 1837 PUSHACC2
+ 1838 PUSHACC2
+ 1839 GETFIELD0
+ 1840 EQ
+ 1841 BRANCHIFNOT 1846
+ 1843 ACC0
+ 1844 RETURN 4
+ 1846 ACC0
+ 1847 PUSHACC3
+ 1848 PUSHOFFSETCLOSURE0
+ 1849 APPLY2
+ 1850 PUSHACC2
+ 1851 MAKEBLOCK2 0
+ 1853 POP 2
+ 1855 RETURN 2
+ 1857 RESTART
+ 1858 GRAB 1
+ 1860 ACC1
+ 1861 BRANCHIFNOT 1879
+ 1863 ACC1
+ 1864 GETFIELD0
+ 1865 PUSHACC0
+ 1866 PUSHACC2
+ 1867 APPLY1
+ 1868 BRANCHIFNOT 1873
+ 1870 ACC0
+ 1871 RETURN 3
+ 1873 ACC2
+ 1874 GETFIELD1
+ 1875 PUSHACC2
+ 1876 PUSHOFFSETCLOSURE0
+ 1877 APPTERM2 5
+ 1879 GETGLOBAL Not_found
+ 1881 MAKEBLOCK1 0
+ 1883 RAISE
+ 1884 RESTART
+ 1885 GRAB 2
+ 1887 ACC2
+ 1888 BRANCHIFNOT 1917
+ 1890 ACC2
+ 1891 GETFIELD0
+ 1892 PUSHACC3
+ 1893 GETFIELD1
+ 1894 PUSHACC1
+ 1895 PUSHENVACC2
+ 1896 APPLY1
+ 1897 BRANCHIFNOT 1908
+ 1899 ACC0
+ 1900 PUSHACC4
+ 1901 PUSHACC4
+ 1902 PUSHACC4
+ 1903 MAKEBLOCK2 0
+ 1905 PUSHOFFSETCLOSURE0
+ 1906 APPTERM3 8
+ 1908 ACC0
+ 1909 PUSHACC4
+ 1910 PUSHACC3
+ 1911 MAKEBLOCK2 0
+ 1913 PUSHACC4
+ 1914 PUSHOFFSETCLOSURE0
+ 1915 APPTERM3 8
+ 1917 ACC1
+ 1918 PUSHENVACC1
+ 1919 APPLY1
+ 1920 PUSHACC1
+ 1921 PUSHENVACC1
+ 1922 APPLY1
+ 1923 MAKEBLOCK2 0
+ 1925 RETURN 3
+ 1927 RESTART
+ 1928 GRAB 1
+ 1930 ACC0
+ 1931 PUSHENVACC1
+ 1932 CLOSUREREC 2, 1885
+ 1936 ACC2
+ 1937 PUSHCONST0
+ 1938 PUSHCONST0
+ 1939 PUSHACC3
+ 1940 APPTERM3 6
+ 1942 ACC0
+ 1943 BRANCHIFNOT 1967
+ 1945 ACC0
+ 1946 GETFIELD0
+ 1947 PUSHACC1
+ 1948 GETFIELD1
+ 1949 PUSHOFFSETCLOSURE0
+ 1950 APPLY1
+ 1951 PUSHACC0
+ 1952 GETFIELD1
+ 1953 PUSHACC2
+ 1954 GETFIELD1
+ 1955 MAKEBLOCK2 0
+ 1957 PUSHACC1
+ 1958 GETFIELD0
+ 1959 PUSHACC3
+ 1960 GETFIELD0
+ 1961 MAKEBLOCK2 0
+ 1963 MAKEBLOCK2 0
+ 1965 RETURN 3
+ 1967 GETGLOBAL <0>(0, 0)
+ 1969 RETURN 1
+ 1971 RESTART
+ 1972 GRAB 1
+ 1974 ACC0
+ 1975 BRANCHIFNOT 1996
+ 1977 ACC1
+ 1978 BRANCHIFNOT 2003
+ 1980 ACC1
+ 1981 GETFIELD1
+ 1982 PUSHACC1
+ 1983 GETFIELD1
+ 1984 PUSHOFFSETCLOSURE0
+ 1985 APPLY2
+ 1986 PUSHACC2
+ 1987 GETFIELD0
+ 1988 PUSHACC2
+ 1989 GETFIELD0
+ 1990 MAKEBLOCK2 0
+ 1992 MAKEBLOCK2 0
+ 1994 RETURN 2
+ 1996 ACC1
+ 1997 BRANCHIFNOT 2001
+ 1999 BRANCH 2003
+ 2001 RETURN 2
+ 2003 GETGLOBAL "List.combine"
+ 2005 PUSHGETGLOBALFIELD Pervasives, 2
+ 2008 APPTERM1 3
+ 2010 RESTART
+ 2011 GRAB 1
+ 2013 ACC1
+ 2014 BRANCHIFNOT 2038
+ 2016 ACC1
+ 2017 GETFIELD0
+ 2018 PUSHACC2
+ 2019 GETFIELD1
+ 2020 PUSHACC1
+ 2021 PUSHENVACC2
+ 2022 APPLY1
+ 2023 BRANCHIFNOT 2033
+ 2025 ACC0
+ 2026 PUSHACC3
+ 2027 PUSHACC3
+ 2028 MAKEBLOCK2 0
+ 2030 PUSHOFFSETCLOSURE0
+ 2031 APPTERM2 6
+ 2033 ACC0
+ 2034 PUSHACC3
+ 2035 PUSHOFFSETCLOSURE0
+ 2036 APPTERM2 6
+ 2038 ACC0
+ 2039 PUSHENVACC1
+ 2040 APPTERM1 3
+ 2042 ACC0
+ 2043 PUSHENVACC1
+ 2044 CLOSUREREC 2, 2011
+ 2048 CONST0
+ 2049 PUSHACC1
+ 2050 APPTERM1 3
+ 2052 RESTART
+ 2053 GRAB 2
+ 2055 ACC1
+ 2056 BRANCHIFNOT 2077
+ 2058 ACC2
+ 2059 BRANCHIFNOT 2084
+ 2061 ACC2
+ 2062 GETFIELD1
+ 2063 PUSHACC2
+ 2064 GETFIELD1
+ 2065 PUSHACC2
+ 2066 PUSHACC5
+ 2067 GETFIELD0
+ 2068 PUSHACC5
+ 2069 GETFIELD0
+ 2070 PUSHENVACC1
+ 2071 APPLY2
+ 2072 MAKEBLOCK2 0
+ 2074 PUSHOFFSETCLOSURE0
+ 2075 APPTERM3 6
+ 2077 ACC2
+ 2078 BRANCHIFNOT 2082
+ 2080 BRANCH 2084
+ 2082 RETURN 3
+ 2084 GETGLOBAL "List.rev_map2"
+ 2086 PUSHGETGLOBALFIELD Pervasives, 2
+ 2089 APPTERM1 4
+ 2091 RESTART
+ 2092 GRAB 2
+ 2094 ACC0
+ 2095 CLOSUREREC 1, 2053
+ 2099 ACC3
+ 2100 PUSHACC3
+ 2101 PUSHCONST0
+ 2102 PUSHACC3
+ 2103 APPTERM3 7
+ 2105 RESTART
+ 2106 GRAB 1
+ 2108 ACC1
+ 2109 BRANCHIFNOT 2123
+ 2111 ACC1
+ 2112 GETFIELD1
+ 2113 PUSHACC1
+ 2114 PUSHACC3
+ 2115 GETFIELD0
+ 2116 PUSHENVACC1
+ 2117 APPLY1
+ 2118 MAKEBLOCK2 0
+ 2120 PUSHOFFSETCLOSURE0
+ 2121 APPTERM2 4
+ 2123 ACC0
+ 2124 RETURN 2
+ 2126 RESTART
+ 2127 GRAB 1
+ 2129 ACC0
+ 2130 CLOSUREREC 1, 2106
+ 2134 ACC2
+ 2135 PUSHCONST0
+ 2136 PUSHACC2
+ 2137 APPTERM2 5
+ 2139 CONST0
+ 2140 PUSHACC1
+ 2141 PUSHENVACC1
+ 2142 APPTERM2 3
+ 2144 ACC0
+ 2145 BRANCHIFNOT 2151
+ 2147 ACC0
+ 2148 GETFIELD1
+ 2149 RETURN 1
+ 2151 GETGLOBAL "tl"
+ 2153 PUSHGETGLOBALFIELD Pervasives, 3
+ 2156 APPTERM1 2
+ 2158 ACC0
+ 2159 BRANCHIFNOT 2165
+ 2161 ACC0
+ 2162 GETFIELD0
+ 2163 RETURN 1
+ 2165 GETGLOBAL "hd"
+ 2167 PUSHGETGLOBALFIELD Pervasives, 3
+ 2170 APPTERM1 2
+ 2172 ACC0
+ 2173 PUSHCONST0
+ 2174 PUSHENVACC1
+ 2175 APPTERM2 3
+ 2177 CLOSUREREC 0, 1200
+ 2181 ACC0
+ 2182 CLOSURE 1, 2172
+ 2185 PUSH
+ 2186 CLOSURE 0, 2158
+ 2189 PUSH
+ 2190 CLOSURE 0, 2144
+ 2193 PUSH
+ 2194 CLOSUREREC 0, 1217
+ 2198 GETGLOBALFIELD Pervasives, 16
+ 2201 PUSH
+ 2202 CLOSUREREC 0, 1259
+ 2206 ACC0
+ 2207 CLOSURE 1, 2139
+ 2210 PUSH
+ 2211 CLOSUREREC 0, 1277
+ 2215 CLOSUREREC 0, 1294
+ 2219 CLOSURE 0, 2127
+ 2222 PUSH
+ 2223 CLOSUREREC 0, 1316
+ 2227 CLOSUREREC 0, 1334
+ 2231 CLOSUREREC 0, 1354
+ 2235 CLOSUREREC 0, 1374
+ 2239 CLOSURE 0, 2092
+ 2242 PUSH
+ 2243 CLOSUREREC 0, 1415
+ 2247 CLOSUREREC 0, 1452
+ 2251 CLOSUREREC 0, 1490
+ 2255 CLOSUREREC 0, 1530
+ 2259 CLOSUREREC 0, 1553
+ 2263 CLOSUREREC 0, 1573
+ 2267 CLOSUREREC 0, 1613
+ 2271 CLOSUREREC 0, 1654
+ 2275 CLOSUREREC 0, 1675
+ 2279 CLOSUREREC 0, 1695
+ 2283 CLOSUREREC 0, 1725
+ 2287 CLOSUREREC 0, 1754
+ 2291 CLOSUREREC 0, 1776
+ 2295 CLOSUREREC 0, 1797
+ 2299 CLOSUREREC 0, 1828
+ 2303 CLOSUREREC 0, 1858
+ 2307 ACC 24
+ 2309 CLOSURE 1, 2042
+ 2312 PUSHACC 25
+ 2314 CLOSUREREC 1, 1928
+ 2318 CLOSUREREC 0, 1942
+ 2322 CLOSUREREC 0, 1972
+ 2326 ACC0
+ 2327 PUSHACC2
+ 2328 PUSHACC7
+ 2329 PUSHACC 9
+ 2331 PUSHACC 11
+ 2333 PUSHACC 13
+ 2335 PUSHACC 15
+ 2337 PUSHACC 17
+ 2339 PUSHACC 10
+ 2341 PUSHACC 12
+ 2343 PUSHACC 13
+ 2345 PUSHACC 15
+ 2347 PUSHACC 23
+ 2349 PUSHACC 25
+ 2351 PUSHACC 27
+ 2353 PUSHACC 29
+ 2355 PUSHACC 31
+ 2357 PUSHACC 33
+ 2359 PUSHACC 35
+ 2361 PUSHACC 37
+ 2363 PUSHACC 40
+ 2365 PUSHACC 42
+ 2367 PUSHACC 41
+ 2369 PUSHACC 45
+ 2371 PUSHACC 47
+ 2373 PUSHACC 50
+ 2375 PUSHACC 52
+ 2377 PUSHACC 51
+ 2379 PUSHACC 55
+ 2381 PUSHACC 56
+ 2383 PUSHACC 59
+ 2385 PUSHACC 61
+ 2387 PUSHACC 60
+ 2389 PUSHACC 64
+ 2391 PUSHACC 66
+ 2393 PUSHACC 68
+ 2395 PUSHACC 70
+ 2397 MAKEBLOCK 37, 0
+ 2400 POP 36
+ 2402 SETGLOBAL List
+ 2404 BRANCH 2622
+ 2406 CONSTINT 97
+ 2408 PUSHACC1
+ 2409 GEINT
+ 2410 BRANCHIFNOT 2418
+ 2412 CONSTINT 122
+ 2414 PUSHACC1
+ 2415 LEINT
+ 2416 BRANCHIF 2442
+ 2418 CONSTINT 224
+ 2420 PUSHACC1
+ 2421 GEINT
+ 2422 BRANCHIFNOT 2430
+ 2424 CONSTINT 246
+ 2426 PUSHACC1
+ 2427 LEINT
+ 2428 BRANCHIF 2442
+ 2430 CONSTINT 248
+ 2432 PUSHACC1
+ 2433 GEINT
+ 2434 BRANCHIFNOT 2447
+ 2436 CONSTINT 254
+ 2438 PUSHACC1
+ 2439 LEINT
+ 2440 BRANCHIFNOT 2447
+ 2442 ACC0
+ 2443 OFFSETINT -32
+ 2445 RETURN 1
+ 2447 ACC0
+ 2448 RETURN 1
+ 2450 CONSTINT 65
+ 2452 PUSHACC1
+ 2453 GEINT
+ 2454 BRANCHIFNOT 2462
+ 2456 CONSTINT 90
+ 2458 PUSHACC1
+ 2459 LEINT
+ 2460 BRANCHIF 2486
+ 2462 CONSTINT 192
+ 2464 PUSHACC1
+ 2465 GEINT
+ 2466 BRANCHIFNOT 2474
+ 2468 CONSTINT 214
+ 2470 PUSHACC1
+ 2471 LEINT
+ 2472 BRANCHIF 2486
+ 2474 CONSTINT 216
+ 2476 PUSHACC1
+ 2477 GEINT
+ 2478 BRANCHIFNOT 2491
+ 2480 CONSTINT 222
+ 2482 PUSHACC1
+ 2483 LEINT
+ 2484 BRANCHIFNOT 2491
+ 2486 ACC0
+ 2487 OFFSETINT 32
+ 2489 RETURN 1
+ 2491 ACC0
+ 2492 RETURN 1
+ 2494 CONSTINT 39
+ 2496 PUSHACC1
+ 2497 LTINT
+ 2498 BRANCHIFNOT 2520
+ 2500 CONSTINT 9
+ 2502 PUSHACC1
+ 2503 EQ
+ 2504 BRANCHIFNOT 2510
+ 2506 GETGLOBAL "\\t"
+ 2508 RETURN 1
+ 2510 CONSTINT 13
+ 2512 PUSHACC1
+ 2513 EQ
+ 2514 BRANCHIFNOT 2540
+ 2516 GETGLOBAL "\\n"
+ 2518 RETURN 1
+ 2520 CONSTINT 39
+ 2522 PUSHACC1
+ 2523 EQ
+ 2524 BRANCHIFNOT 2530
+ 2526 GETGLOBAL "\\'"
+ 2528 RETURN 1
+ 2530 CONSTINT 92
+ 2532 PUSHACC1
+ 2533 EQ
+ 2534 BRANCHIFNOT 2540
+ 2536 GETGLOBAL "\\\\"
+ 2538 RETURN 1
+ 2540 ACC0
+ 2541 C_CALL1 is_printable
+ 2543 BRANCHIFNOT 2555
+ 2545 CONST1
+ 2546 C_CALL1 create_string
+ 2548 PUSHACC1
+ 2549 PUSHCONST0
+ 2550 PUSHACC2
+ 2551 SETSTRINGCHAR
+ 2552 ACC0
+ 2553 RETURN 2
+ 2555 ACC0
+ 2556 PUSHCONSTINT 4
+ 2558 C_CALL1 create_string
+ 2560 PUSHCONSTINT 92
+ 2562 PUSHCONST0
+ 2563 PUSHACC2
+ 2564 SETSTRINGCHAR
+ 2565 CONSTINT 100
+ 2567 PUSHACC2
+ 2568 DIVINT
+ 2569 PUSHCONSTINT 48
+ 2571 ADDINT
+ 2572 PUSHCONST1
+ 2573 PUSHACC2
+ 2574 SETSTRINGCHAR
+ 2575 CONSTINT 10
+ 2577 PUSHCONSTINT 10
+ 2579 PUSHACC3
+ 2580 DIVINT
+ 2581 MODINT
+ 2582 PUSHCONSTINT 48
+ 2584 ADDINT
+ 2585 PUSHCONST2
+ 2586 PUSHACC2
+ 2587 SETSTRINGCHAR
+ 2588 CONSTINT 10
+ 2590 PUSHACC2
+ 2591 MODINT
+ 2592 PUSHCONSTINT 48
+ 2594 ADDINT
+ 2595 PUSHCONST3
+ 2596 PUSHACC2
+ 2597 SETSTRINGCHAR
+ 2598 ACC0
+ 2599 RETURN 3
+ 2601 CONST0
+ 2602 PUSHACC1
+ 2603 LTINT
+ 2604 BRANCHIF 2612
+ 2606 CONSTINT 255
+ 2608 PUSHACC1
+ 2609 GTINT
+ 2610 BRANCHIFNOT 2619
+ 2612 GETGLOBAL "Char.chr"
+ 2614 PUSHGETGLOBALFIELD Pervasives, 2
+ 2617 APPTERM1 2
+ 2619 ACC0
+ 2620 RETURN 1
+ 2622 CLOSURE 0, 2601
+ 2625 PUSH
+ 2626 CLOSURE 0, 2494
+ 2629 PUSH
+ 2630 CLOSURE 0, 2450
+ 2633 PUSH
+ 2634 CLOSURE 0, 2406
+ 2637 PUSHACC0
+ 2638 PUSHACC2
+ 2639 PUSHACC4
+ 2640 PUSHACC6
+ 2641 MAKEBLOCK 4, 0
+ 2644 POP 4
+ 2646 SETGLOBAL Char
+ 2648 BRANCH 3540
+ 2650 RESTART
+ 2651 GRAB 3
+ 2653 ACC1
+ 2654 PUSHACC3
+ 2655 GEINT
+ 2656 BRANCHIFNOT 2663
+ 2658 GETGLOBAL Not_found
+ 2660 MAKEBLOCK1 0
+ 2662 RAISE
+ 2663 ACC3
+ 2664 PUSHACC3
+ 2665 PUSHACC2
+ 2666 GETSTRINGCHAR
+ 2667 EQ
+ 2668 BRANCHIFNOT 2673
+ 2670 ACC2
+ 2671 RETURN 4
+ 2673 ACC3
+ 2674 PUSHACC3
+ 2675 OFFSETINT 1
+ 2677 PUSHACC3
+ 2678 PUSHACC3
+ 2679 PUSHOFFSETCLOSURE0
+ 2680 APPTERM 4, 8
+ 2683 RESTART
+ 2684 GRAB 2
+ 2686 CONST0
+ 2687 PUSHACC2
+ 2688 LTINT
+ 2689 BRANCHIFNOT 2696
+ 2691 GETGLOBAL Not_found
+ 2693 MAKEBLOCK1 0
+ 2695 RAISE
+ 2696 ACC2
+ 2697 PUSHACC2
+ 2698 PUSHACC2
+ 2699 GETSTRINGCHAR
+ 2700 EQ
+ 2701 BRANCHIFNOT 2706
+ 2703 ACC1
+ 2704 RETURN 3
+ 2706 ACC2
+ 2707 PUSHACC2
+ 2708 OFFSETINT -1
+ 2710 PUSHACC2
+ 2711 PUSHOFFSETCLOSURE0
+ 2712 APPTERM3 6
+ 2714 RESTART
+ 2715 GRAB 1
+ 2717 ACC1
+ 2718 PUSHCONST0
+ 2719 PUSHACC2
+ 2720 PUSHENVACC1
+ 2721 APPTERM3 5
+ 2723 RESTART
+ 2724 GRAB 2
+ 2726 CONST0
+ 2727 PUSHACC2
+ 2728 LTINT
+ 2729 BRANCHIF 2738
+ 2731 ACC0
+ 2732 C_CALL1 ml_string_length
+ 2734 PUSHACC2
+ 2735 GEINT
+ 2736 BRANCHIFNOT 2745
+ 2738 GETGLOBAL "String.rcontains_from"
+ 2740 PUSHGETGLOBALFIELD Pervasives, 2
+ 2743 APPTERM1 4
+ 2745 PUSHTRAP 2756
+ 2747 ACC6
+ 2748 PUSHACC6
+ 2749 PUSHACC6
+ 2750 PUSHENVACC1
+ 2751 APPLY3
+ 2752 CONST1
+ 2753 POPTRAP
+ 2754 RETURN 3
+ 2756 PUSHGETGLOBAL Not_found
+ 2758 PUSHACC1
+ 2759 GETFIELD0
+ 2760 EQ
+ 2761 BRANCHIFNOT 2766
+ 2763 CONST0
+ 2764 RETURN 4
+ 2766 ACC0
+ 2767 RAISE
+ 2768 RESTART
+ 2769 GRAB 2
+ 2771 CONST0
+ 2772 PUSHACC2
+ 2773 LTINT
+ 2774 BRANCHIF 2783
+ 2776 ACC0
+ 2777 C_CALL1 ml_string_length
+ 2779 PUSHACC2
+ 2780 GTINT
+ 2781 BRANCHIFNOT 2790
+ 2783 GETGLOBAL "String.contains_from"
+ 2785 PUSHGETGLOBALFIELD Pervasives, 2
+ 2788 APPTERM1 4
+ 2790 PUSHTRAP 2811
+ 2792 PUSH_RETADDR 2807
+ 2794 ACC 9
+ 2796 PUSHACC 9
+ 2798 PUSHACC 9
+ 2800 C_CALL1 ml_string_length
+ 2802 PUSHACC 10
+ 2804 PUSHENVACC1
+ 2805 APPLY 4
+ 2807 CONST1
+ 2808 POPTRAP
+ 2809 RETURN 3
+ 2811 PUSHGETGLOBAL Not_found
+ 2813 PUSHACC1
+ 2814 GETFIELD0
+ 2815 EQ
+ 2816 BRANCHIFNOT 2821
+ 2818 CONST0
+ 2819 RETURN 4
+ 2821 ACC0
+ 2822 RAISE
+ 2823 RESTART
+ 2824 GRAB 2
+ 2826 CONST0
+ 2827 PUSHACC2
+ 2828 LTINT
+ 2829 BRANCHIF 2838
+ 2831 ACC0
+ 2832 C_CALL1 ml_string_length
+ 2834 PUSHACC2
+ 2835 GEINT
+ 2836 BRANCHIFNOT 2845
+ 2838 GETGLOBAL "String.rindex_from"
+ 2840 PUSHGETGLOBALFIELD Pervasives, 2
+ 2843 APPTERM1 4
+ 2845 ACC2
+ 2846 PUSHACC2
+ 2847 PUSHACC2
+ 2848 PUSHENVACC1
+ 2849 APPTERM3 6
+ 2851 RESTART
+ 2852 GRAB 1
+ 2854 ACC1
+ 2855 PUSHACC1
+ 2856 C_CALL1 ml_string_length
+ 2858 OFFSETINT -1
+ 2860 PUSHACC2
+ 2861 PUSHENVACC1
+ 2862 APPTERM3 5
+ 2864 RESTART
+ 2865 GRAB 2
+ 2867 CONST0
+ 2868 PUSHACC2
+ 2869 LTINT
+ 2870 BRANCHIF 2879
+ 2872 ACC0
+ 2873 C_CALL1 ml_string_length
+ 2875 PUSHACC2
+ 2876 GTINT
+ 2877 BRANCHIFNOT 2886
+ 2879 GETGLOBAL "String.index_from"
+ 2881 PUSHGETGLOBALFIELD Pervasives, 2
+ 2884 APPTERM1 4
+ 2886 ACC2
+ 2887 PUSHACC2
+ 2888 PUSHACC2
+ 2889 C_CALL1 ml_string_length
+ 2891 PUSHACC3
+ 2892 PUSHENVACC1
+ 2893 APPTERM 4, 7
+ 2896 RESTART
+ 2897 GRAB 1
+ 2899 ACC1
+ 2900 PUSHCONST0
+ 2901 PUSHACC2
+ 2902 C_CALL1 ml_string_length
+ 2904 PUSHACC3
+ 2905 PUSHENVACC1
+ 2906 APPTERM 4, 6
+ 2909 ACC0
+ 2910 PUSHGETGLOBALFIELD Char, 2
+ 2913 PUSHENVACC1
+ 2914 APPTERM2 3
+ 2916 ACC0
+ 2917 PUSHGETGLOBALFIELD Char, 3
+ 2920 PUSHENVACC1
+ 2921 APPTERM2 3
+ 2923 RESTART
+ 2924 GRAB 1
+ 2926 CONST0
+ 2927 PUSHACC2
+ 2928 C_CALL1 ml_string_length
+ 2930 EQ
+ 2931 BRANCHIFNOT 2936
+ 2933 ACC1
+ 2934 RETURN 2
+ 2936 ACC1
+ 2937 PUSHENVACC1
+ 2938 APPLY1
+ 2939 PUSHCONST0
+ 2940 PUSHACC3
+ 2941 GETSTRINGCHAR
+ 2942 PUSHACC2
+ 2943 APPLY1
+ 2944 PUSHCONST0
+ 2945 PUSHACC2
+ 2946 SETSTRINGCHAR
+ 2947 ACC0
+ 2948 RETURN 3
+ 2950 ACC0
+ 2951 PUSHGETGLOBALFIELD Char, 2
+ 2954 PUSHENVACC1
+ 2955 APPTERM2 3
+ 2957 ACC0
+ 2958 PUSHGETGLOBALFIELD Char, 3
+ 2961 PUSHENVACC1
+ 2962 APPTERM2 3
+ 2964 RESTART
+ 2965 GRAB 1
+ 2967 ACC1
+ 2968 C_CALL1 ml_string_length
+ 2970 PUSHCONST0
+ 2971 PUSHACC1
+ 2972 EQ
+ 2973 BRANCHIFNOT 2978
+ 2975 ACC2
+ 2976 RETURN 3
+ 2978 ACC0
+ 2979 C_CALL1 create_string
+ 2981 PUSHCONST0
+ 2982 PUSHACC2
+ 2983 OFFSETINT -1
+ 2985 PUSH
+ 2986 BRANCH 3002
+ 2988 CHECK_SIGNALS
+ 2989 ACC1
+ 2990 PUSHACC6
+ 2991 GETSTRINGCHAR
+ 2992 PUSHACC5
+ 2993 APPLY1
+ 2994 PUSHACC2
+ 2995 PUSHACC4
+ 2996 SETSTRINGCHAR
+ 2997 ACC1
+ 2998 OFFSETINT 1
+ 3000 ASSIGN 1
+ 3002 ACC0
+ 3003 PUSHACC2
+ 3004 LEINT
+ 3005 BRANCHIF 2988
+ 3007 CONST0
+ 3008 POP 2
+ 3010 ACC0
+ 3011 RETURN 4
+ 3013 CONST0
+ 3014 PUSHCONST0
+ 3015 PUSHACC2
+ 3016 C_CALL1 ml_string_length
+ 3018 OFFSETINT -1
+ 3020 PUSH
+ 3021 BRANCH 3059
+ 3023 CHECK_SIGNALS
+ 3024 ACC1
+ 3025 PUSHACC4
+ 3026 GETSTRINGCHAR
+ 3027 PUSHACC0
+ 3028 PUSHGETGLOBAL "\000\"\000\000\004\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ 3030 C_CALL2 bitvect_test
+ 3032 BRANCHIFNOT 3038
+ 3034 CONST0
+ 3035 CONST2
+ 3036 BRANCH 3048
+ 3038 ACC0
+ 3039 C_CALL1 is_printable
+ 3041 BRANCHIFNOT 3046
+ 3043 CONST1
+ 3044 BRANCH 3048
+ 3046 CONSTINT 4
+ 3048 POP 1
+ 3050 PUSHACC3
+ 3051 ADDINT
+ 3052 ASSIGN 2
+ 3054 ACC1
+ 3055 OFFSETINT 1
+ 3057 ASSIGN 1
+ 3059 ACC0
+ 3060 PUSHACC2
+ 3061 LEINT
+ 3062 BRANCHIF 3023
+ 3064 CONST0
+ 3065 POP 2
+ 3067 ACC1
+ 3068 C_CALL1 ml_string_length
+ 3070 PUSHACC1
+ 3071 EQ
+ 3072 BRANCHIFNOT 3077
+ 3074 ACC1
+ 3075 RETURN 2
+ 3077 ACC0
+ 3078 C_CALL1 create_string
+ 3080 PUSHCONST0
+ 3081 ASSIGN 1
+ 3083 CONST0
+ 3084 PUSHACC3
+ 3085 C_CALL1 ml_string_length
+ 3087 OFFSETINT -1
+ 3089 PUSH
+ 3090 BRANCH 3245
+ 3092 CHECK_SIGNALS
+ 3093 ACC1
+ 3094 PUSHACC5
+ 3095 GETSTRINGCHAR
+ 3096 PUSHACC0
+ 3097 PUSHGETGLOBAL "\000\000\000\000\004\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
+ 3099 C_CALL2 bitvect_test
+ 3101 BRANCHIFNOT 3120
+ 3103 CONST0
+ 3104 CONSTINT 92
+ 3106 PUSHACC5
+ 3107 PUSHACC5
+ 3108 SETSTRINGCHAR
+ 3109 ACC4
+ 3110 OFFSETINT 1
+ 3112 ASSIGN 4
+ 3114 ACC0
+ 3115 PUSHACC5
+ 3116 PUSHACC5
+ 3117 SETSTRINGCHAR
+ 3118 BRANCH 3233
+ 3120 CONSTINT 9
+ 3122 PUSHACC1
+ 3123 EQ
+ 3124 BRANCHIFNOT 3143
+ 3126 CONSTINT 92
+ 3128 PUSHACC5
+ 3129 PUSHACC5
+ 3130 SETSTRINGCHAR
+ 3131 ACC4
+ 3132 OFFSETINT 1
+ 3134 ASSIGN 4
+ 3136 CONSTINT 116
+ 3138 PUSHACC5
+ 3139 PUSHACC5
+ 3140 SETSTRINGCHAR
+ 3141 BRANCH 3233
+ 3143 CONSTINT 13
+ 3145 PUSHACC1
+ 3146 EQ
+ 3147 BRANCHIFNOT 3166
+ 3149 CONSTINT 92
+ 3151 PUSHACC5
+ 3152 PUSHACC5
+ 3153 SETSTRINGCHAR
+ 3154 ACC4
+ 3155 OFFSETINT 1
+ 3157 ASSIGN 4
+ 3159 CONSTINT 110
+ 3161 PUSHACC5
+ 3162 PUSHACC5
+ 3163 SETSTRINGCHAR
+ 3164 BRANCH 3233
+ 3166 ACC0
+ 3167 C_CALL1 is_printable
+ 3169 BRANCHIFNOT 3177
+ 3171 ACC0
+ 3172 PUSHACC5
+ 3173 PUSHACC5
+ 3174 SETSTRINGCHAR
+ 3175 BRANCH 3233
+ 3177 ACC0
+ 3178 PUSHCONSTINT 92
+ 3180 PUSHACC6
+ 3181 PUSHACC6
+ 3182 SETSTRINGCHAR
+ 3183 ACC5
+ 3184 OFFSETINT 1
+ 3186 ASSIGN 5
+ 3188 CONSTINT 100
+ 3190 PUSHACC1
+ 3191 DIVINT
+ 3192 PUSHCONSTINT 48
+ 3194 ADDINT
+ 3195 PUSHACC6
+ 3196 PUSHACC6
+ 3197 SETSTRINGCHAR
+ 3198 ACC5
+ 3199 OFFSETINT 1
+ 3201 ASSIGN 5
+ 3203 CONSTINT 10
+ 3205 PUSHCONSTINT 10
+ 3207 PUSHACC2
+ 3208 DIVINT
+ 3209 MODINT
+ 3210 PUSHCONSTINT 48
+ 3212 ADDINT
+ 3213 PUSHACC6
+ 3214 PUSHACC6
+ 3215 SETSTRINGCHAR
+ 3216 ACC5
+ 3217 OFFSETINT 1
+ 3219 ASSIGN 5
+ 3221 CONSTINT 10
+ 3223 PUSHACC1
+ 3224 MODINT
+ 3225 PUSHCONSTINT 48
+ 3227 ADDINT
+ 3228 PUSHACC6
+ 3229 PUSHACC6
+ 3230 SETSTRINGCHAR
+ 3231 POP 1
+ 3233 POP 1
+ 3235 ACC3
+ 3236 OFFSETINT 1
+ 3238 ASSIGN 3
+ 3240 ACC1
+ 3241 OFFSETINT 1
+ 3243 ASSIGN 1
+ 3245 ACC0
+ 3246 PUSHACC2
+ 3247 LEINT
+ 3248 BRANCHIF 3092
+ 3250 CONST0
+ 3251 POP 2
+ 3253 ACC0
+ 3254 RETURN 3
+ 3256 ENVACC1
+ 3257 C_CALL1 ml_string_length
+ 3259 PUSHENVACC3
+ 3260 GETFIELD0
+ 3261 PUSHENVACC2
+ 3262 PUSHCONST0
+ 3263 PUSHENVACC1
+ 3264 C_CALL5 blit_string
+ 3266 ENVACC1
+ 3267 C_CALL1 ml_string_length
+ 3269 PUSHENVACC3
+ 3270 GETFIELD0
+ 3271 ADDINT
+ 3272 PUSHENVACC3
+ 3273 SETFIELD0
+ 3274 ACC0
+ 3275 C_CALL1 ml_string_length
+ 3277 PUSHENVACC3
+ 3278 GETFIELD0
+ 3279 PUSHENVACC2
+ 3280 PUSHCONST0
+ 3281 PUSHACC4
+ 3282 C_CALL5 blit_string
+ 3284 ACC0
+ 3285 C_CALL1 ml_string_length
+ 3287 PUSHENVACC3
+ 3288 GETFIELD0
+ 3289 ADDINT
+ 3290 PUSHENVACC3
+ 3291 SETFIELD0
+ 3292 RETURN 1
+ 3294 ENVACC1
+ 3295 OFFSETREF 1
+ 3297 ACC0
+ 3298 C_CALL1 ml_string_length
+ 3300 PUSHENVACC2
+ 3301 GETFIELD0
+ 3302 ADDINT
+ 3303 PUSHENVACC2
+ 3304 SETFIELD0
+ 3305 RETURN 1
+ 3307 RESTART
+ 3308 GRAB 1
+ 3310 ACC1
+ 3311 BRANCHIFNOT 3374
+ 3313 ACC1
+ 3314 GETFIELD0
+ 3315 PUSHCONST0
+ 3316 MAKEBLOCK1 0
+ 3318 PUSHCONST0
+ 3319 MAKEBLOCK1 0
+ 3321 PUSHACC4
+ 3322 PUSHACC1
+ 3323 PUSHACC3
+ 3324 CLOSURE 2, 3294
+ 3327 PUSHGETGLOBALFIELD List, 9
+ 3330 APPLY2
+ 3331 ACC1
+ 3332 GETFIELD0
+ 3333 OFFSETINT -1
+ 3335 PUSHACC4
+ 3336 C_CALL1 ml_string_length
+ 3338 MULINT
+ 3339 PUSHACC1
+ 3340 GETFIELD0
+ 3341 ADDINT
+ 3342 C_CALL1 create_string
+ 3344 PUSHACC3
+ 3345 C_CALL1 ml_string_length
+ 3347 PUSHCONST0
+ 3348 PUSHACC2
+ 3349 PUSHCONST0
+ 3350 PUSHACC7
+ 3351 C_CALL5 blit_string
+ 3353 ACC3
+ 3354 C_CALL1 ml_string_length
+ 3356 MAKEBLOCK1 0
+ 3358 PUSHACC6
+ 3359 GETFIELD1
+ 3360 PUSHACC1
+ 3361 PUSHACC3
+ 3362 PUSHACC 8
+ 3364 CLOSURE 3, 3256
+ 3367 PUSHGETGLOBALFIELD List, 9
+ 3370 APPLY2
+ 3371 ACC1
+ 3372 RETURN 7
+ 3374 GETGLOBAL ""
+ 3376 RETURN 2
+ 3378 RESTART
+ 3379 GRAB 4
+ 3381 CONST0
+ 3382 PUSHACC5
+ 3383 LTINT
+ 3384 BRANCHIF 3414
+ 3386 CONST0
+ 3387 PUSHACC2
+ 3388 LTINT
+ 3389 BRANCHIF 3414
+ 3391 ACC0
+ 3392 C_CALL1 ml_string_length
+ 3394 PUSHACC5
+ 3395 PUSHACC3
+ 3396 ADDINT
+ 3397 GTINT
+ 3398 BRANCHIF 3414
+ 3400 CONST0
+ 3401 PUSHACC4
+ 3402 LTINT
+ 3403 BRANCHIF 3414
+ 3405 ACC2
+ 3406 C_CALL1 ml_string_length
+ 3408 PUSHACC5
+ 3409 PUSHACC5
+ 3410 ADDINT
+ 3411 GTINT
+ 3412 BRANCHIFNOT 3421
+ 3414 GETGLOBAL "String.blit"
+ 3416 PUSHGETGLOBALFIELD Pervasives, 2
+ 3419 APPTERM1 6
+ 3421 ACC4
+ 3422 PUSHACC4
+ 3423 PUSHACC4
+ 3424 PUSHACC4
+ 3425 PUSHACC4
+ 3426 C_CALL5 blit_string
+ 3428 RETURN 5
+ 3430 RESTART
+ 3431 GRAB 3
+ 3433 CONST0
+ 3434 PUSHACC2
+ 3435 LTINT
+ 3436 BRANCHIF 3452
+ 3438 CONST0
+ 3439 PUSHACC3
+ 3440 LTINT
+ 3441 BRANCHIF 3452
+ 3443 ACC0
+ 3444 C_CALL1 ml_string_length
+ 3446 PUSHACC3
+ 3447 PUSHACC3
+ 3448 ADDINT
+ 3449 GTINT
+ 3450 BRANCHIFNOT 3459
+ 3452 GETGLOBAL "String.fill"
+ 3454 PUSHGETGLOBALFIELD Pervasives, 2
+ 3457 APPTERM1 5
+ 3459 ACC3
+ 3460 PUSHACC3
+ 3461 PUSHACC3
+ 3462 PUSHACC3
+ 3463 C_CALL4 fill_string
+ 3465 RETURN 4
+ 3467 RESTART
+ 3468 GRAB 2
+ 3470 CONST0
+ 3471 PUSHACC2
+ 3472 LTINT
+ 3473 BRANCHIF 3489
+ 3475 CONST0
+ 3476 PUSHACC3
+ 3477 LTINT
+ 3478 BRANCHIF 3489
+ 3480 ACC0
+ 3481 C_CALL1 ml_string_length
+ 3483 PUSHACC3
+ 3484 PUSHACC3
+ 3485 ADDINT
+ 3486 GTINT
+ 3487 BRANCHIFNOT 3496
+ 3489 GETGLOBAL "String.sub"
+ 3491 PUSHGETGLOBALFIELD Pervasives, 2
+ 3494 APPTERM1 4
+ 3496 ACC2
+ 3497 C_CALL1 create_string
+ 3499 PUSHACC3
+ 3500 PUSHCONST0
+ 3501 PUSHACC2
+ 3502 PUSHACC5
+ 3503 PUSHACC5
+ 3504 C_CALL5 blit_string
+ 3506 ACC0
+ 3507 RETURN 4
+ 3509 ACC0
+ 3510 C_CALL1 ml_string_length
+ 3512 PUSHACC0
+ 3513 C_CALL1 create_string
+ 3515 PUSHACC1
+ 3516 PUSHCONST0
+ 3517 PUSHACC2
+ 3518 PUSHCONST0
+ 3519 PUSHACC6
+ 3520 C_CALL5 blit_string
+ 3522 ACC0
+ 3523 RETURN 3
+ 3525 RESTART
+ 3526 GRAB 1
+ 3528 ACC0
+ 3529 C_CALL1 create_string
+ 3531 PUSHACC2
+ 3532 PUSHACC2
+ 3533 PUSHCONST0
+ 3534 PUSHACC3
+ 3535 C_CALL4 fill_string
+ 3537 ACC0
+ 3538 RETURN 3
+ 3540 CLOSURE 0, 3526
+ 3543 PUSH
+ 3544 CLOSURE 0, 3509
+ 3547 PUSH
+ 3548 CLOSURE 0, 3468
+ 3551 PUSH
+ 3552 CLOSURE 0, 3431
+ 3555 PUSH
+ 3556 CLOSURE 0, 3379
+ 3559 PUSH
+ 3560 CLOSURE 0, 3308
+ 3563 PUSH
+ 3564 CLOSURE 0, 3013
+ 3567 PUSH
+ 3568 CLOSURE 0, 2965
+ 3571 PUSHACC0
+ 3572 CLOSURE 1, 2957
+ 3575 PUSHACC1
+ 3576 CLOSURE 1, 2950
+ 3579 PUSHACC 8
+ 3581 CLOSURE 1, 2924
+ 3584 PUSHACC0
+ 3585 CLOSURE 1, 2916
+ 3588 PUSHACC1
+ 3589 CLOSURE 1, 2909
+ 3592 PUSH
+ 3593 CLOSUREREC 0, 2651
+ 3597 ACC0
+ 3598 CLOSURE 1, 2897
+ 3601 PUSHACC1
+ 3602 CLOSURE 1, 2865
+ 3605 PUSH
+ 3606 CLOSUREREC 0, 2684
+ 3610 ACC0
+ 3611 CLOSURE 1, 2852
+ 3614 PUSHACC1
+ 3615 CLOSURE 1, 2824
+ 3618 PUSHACC5
+ 3619 CLOSURE 1, 2769
+ 3622 PUSHACC3
+ 3623 CLOSURE 1, 2724
+ 3626 PUSHACC1
+ 3627 CLOSURE 1, 2715
+ 3630 PUSHACC 9
+ 3632 PUSHACC 11
+ 3634 PUSHACC 14
+ 3636 PUSHACC 16
+ 3638 PUSHACC5
+ 3639 PUSHACC7
+ 3640 PUSHACC6
+ 3641 PUSHACC 10
+ 3643 PUSHACC 14
+ 3645 PUSHACC 13
+ 3647 PUSHACC 17
+ 3649 PUSHACC 26
+ 3651 PUSHACC 28
+ 3653 PUSHACC 30
+ 3655 PUSHACC 32
+ 3657 PUSHACC 34
+ 3659 PUSHACC 36
+ 3661 PUSHACC 38
+ 3663 MAKEBLOCK 18, 0
+ 3666 POP 22
+ 3668 SETGLOBAL String
+ 3670 CONST0
+ 3671 C_CALL1 gc_stat
+ 3673 GETGLOBAL ""
+ 3675 PUSHCONSTINT 20
+ 3677 C_CALL2 make_vect
+ 3679 PUSHCONSTINT 20
+ 3681 C_CALL1 weak_create
+ 3683 PUSHCONST0
+ 3684 PUSHCONSTINT 19
+ 3686 PUSH
+ 3687 BRANCH 3715
+ 3689 CHECK_SIGNALS
+ 3690 CONSTINT 115
+ 3692 PUSHCONSTINT 20
+ 3694 PUSHGETGLOBALFIELD String, 0
+ 3697 APPLY2
+ 3698 PUSHACC2
+ 3699 PUSHACC5
+ 3700 SETVECTITEM
+ 3701 ACC1
+ 3702 PUSHACC4
+ 3703 GETVECTITEM
+ 3704 MAKEBLOCK1 0
+ 3706 PUSHACC2
+ 3707 PUSHACC4
+ 3708 C_CALL3 weak_set
+ 3710 ACC1
+ 3711 OFFSETINT 1
+ 3713 ASSIGN 1
+ 3715 ACC0
+ 3716 PUSHACC2
+ 3717 LEINT
+ 3718 BRANCHIF 3689
+ 3720 CONST0
+ 3721 POP 2
+ 3723 CONST0
+ 3724 C_CALL1 gc_full_major
+ 3726 CONST0
+ 3727 PUSHCONSTINT 19
+ 3729 PUSH
+ 3730 BRANCH 3753
+ 3732 CHECK_SIGNALS
+ 3733 ACC1
+ 3734 PUSHACC3
+ 3735 C_CALL2 weak_get
+ 3737 PUSHACC0
+ 3738 BRANCHIF 3745
+ 3740 GETGLOBAL Not_found
+ 3742 MAKEBLOCK1 0
+ 3744 RAISE
+ 3745 CONST0
+ 3746 POP 1
+ 3748 ACC1
+ 3749 OFFSETINT 1
+ 3751 ASSIGN 1
+ 3753 ACC0
+ 3754 PUSHACC2
+ 3755 LEINT
+ 3756 BRANCHIF 3732
+ 3758 CONST0
+ 3759 POP 2
+ 3761 CONST0
+ 3762 PUSHCONSTINT 19
+ 3764 PUSH
+ 3765 BRANCH 3785
+ 3767 CHECK_SIGNALS
+ 3768 CONST0
+ 3769 PUSHCONST2
+ 3770 PUSHACC3
+ 3771 MODINT
+ 3772 EQ
+ 3773 BRANCHIFNOT 3780
+ 3775 GETGLOBAL ""
+ 3777 PUSHACC2
+ 3778 PUSHACC5
+ 3779 SETVECTITEM
+ 3780 ACC1
+ 3781 OFFSETINT 1
+ 3783 ASSIGN 1
+ 3785 ACC0
+ 3786 PUSHACC2
+ 3787 LEINT
+ 3788 BRANCHIF 3767
+ 3790 CONST0
+ 3791 POP 2
+ 3793 CONST0
+ 3794 C_CALL1 gc_full_major
+ 3796 CONST0
+ 3797 PUSHCONSTINT 19
+ 3799 PUSH
+ 3800 BRANCH 3854
+ 3802 CHECK_SIGNALS
+ 3803 ACC1
+ 3804 PUSHACC3
+ 3805 C_CALL2 weak_get
+ 3807 PUSHACC0
+ 3808 BRANCHIFNOT 3832
+ 3810 CONST1
+ 3811 PUSHCONST2
+ 3812 PUSHACC4
+ 3813 MODINT
+ 3814 EQ
+ 3815 BRANCHIFNOT 3842
+ 3817 CONSTINT 115
+ 3819 PUSHCONSTINT 5
+ 3821 PUSHACC2
+ 3822 GETFIELD0
+ 3823 GETSTRINGCHAR
+ 3824 NEQ
+ 3825 BRANCHIFNOT 3847
+ 3827 GETGLOBAL Not_found
+ 3829 MAKEBLOCK1 0
+ 3831 RAISE
+ 3832 CONST0
+ 3833 PUSHCONST2
+ 3834 PUSHACC4
+ 3835 MODINT
+ 3836 EQ
+ 3837 BRANCHIFNOT 3842
+ 3839 CONST0
+ 3840 BRANCH 3847
+ 3842 GETGLOBAL Not_found
+ 3844 MAKEBLOCK1 0
+ 3846 RAISE
+ 3847 POP 1
+ 3849 ACC1
+ 3850 OFFSETINT 1
+ 3852 ASSIGN 1
+ 3854 ACC0
+ 3855 PUSHACC2
+ 3856 LEINT
+ 3857 BRANCHIF 3802
+ 3859 CONST0
+ 3860 POP 4
+ 3862 ATOM0
+ 3863 SETGLOBAL T350-heapcheck
+ 3865 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t360-stacks-1.ml b/testsuite/tests/tool-ocaml/t360-stacks-1.ml
new file mode 100644
index 0000000000..100fbabb2b
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t360-stacks-1.ml
@@ -0,0 +1,43 @@
+open Lib;;
+let rec f n =
+ if n <= 0 then 12
+ else 1 + f (n-1)
+in
+if f 30000 <> 30012 then raise Not_found
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 29
+ 11 CONST0
+ 12 PUSHACC1
+ 13 LEINT
+ 14 BRANCHIFNOT 20
+ 16 CONSTINT 12
+ 18 RETURN 1
+ 20 ACC0
+ 21 OFFSETINT -1
+ 23 PUSHOFFSETCLOSURE0
+ 24 APPLY1
+ 25 PUSHCONST1
+ 26 ADDINT
+ 27 RETURN 1
+ 29 CLOSUREREC 0, 11
+ 33 CONSTINT 30012
+ 35 PUSHCONSTINT 30000
+ 37 PUSHACC2
+ 38 APPLY1
+ 39 NEQ
+ 40 BRANCHIFNOT 47
+ 42 GETGLOBAL Not_found
+ 44 MAKEBLOCK1 0
+ 46 RAISE
+ 47 POP 1
+ 49 ATOM0
+ 50 SETGLOBAL T360-stacks-1
+ 52 STOP
+**)
diff --git a/testsuite/tests/tool-ocaml/t360-stacks-2.ml b/testsuite/tests/tool-ocaml/t360-stacks-2.ml
new file mode 100644
index 0000000000..8d13c7d7fc
--- /dev/null
+++ b/testsuite/tests/tool-ocaml/t360-stacks-2.ml
@@ -0,0 +1,54 @@
+open Lib;;
+let rec f n =
+ if n <= 0 then 12
+ else 1 + f (n-1)
+in
+try
+ ignore (f 3000000);
+ raise Not_found
+with Stack_overflow -> ()
+;;
+
+(**
+ 0 CONSTINT 42
+ 2 PUSHACC0
+ 3 MAKEBLOCK1 0
+ 5 POP 1
+ 7 SETGLOBAL Lib
+ 9 BRANCH 29
+ 11 CONST0
+ 12 PUSHACC1
+ 13 LEINT
+ 14 BRANCHIFNOT 20
+ 16 CONSTINT 12
+ 18 RETURN 1
+ 20 ACC0
+ 21 OFFSETINT -1
+ 23 PUSHOFFSETCLOSURE0
+ 24 APPLY1
+ 25 PUSHCONST1
+ 26 ADDINT
+ 27 RETURN 1
+ 29 CLOSUREREC 0, 11
+ 33 PUSHTRAP 44
+ 35 CONSTINT 3000000
+ 37 PUSHACC5
+ 38 APPLY1
+ 39 GETGLOBAL Not_found
+ 41 MAKEBLOCK1 0
+ 43 RAISE
+ 44 PUSHGETGLOBAL Stack_overflow
+ 46 PUSHACC1
+ 47 GETFIELD0
+ 48 EQ
+ 49 BRANCHIFNOT 54
+ 51 CONST0
+ 52 BRANCH 56
+ 54 ACC0
+ 55 RAISE
+ 56 POP 1
+ 58 POP 1
+ 60 ATOM0
+ 61 SETGLOBAL T360-stacks-2
+ 63 STOP
+**)