about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.gitignore4
-rw-r--r--.travis.yml6
-rw-r--r--GNUmakefile112
-rw-r--r--README.md23
-rw-r--r--TODO.md11
-rwxr-xr-xafl-cmin.bash49
-rwxr-xr-xafl-plot76
-rw-r--r--custom_mutators/README.md12
-rw-r--r--custom_mutators/radamsa/GNUmakefile (renamed from src/third_party/libradamsa/GNUmakefile)14
-rw-r--r--custom_mutators/radamsa/LICENSE (renamed from src/third_party/libradamsa/LICENSE)0
-rw-r--r--custom_mutators/radamsa/README.md (renamed from src/third_party/libradamsa/README.md)2
-rw-r--r--custom_mutators/radamsa/custom_mutator_helpers.h342
-rw-r--r--custom_mutators/radamsa/libradamsa-test.c81
-rw-r--r--custom_mutators/radamsa/libradamsa.c61880
-rw-r--r--custom_mutators/radamsa/radamsa-mutator.c70
-rw-r--r--custom_mutators/radamsa/radamsa.h10
-rw-r--r--dictionaries/ftp.dict124
-rw-r--r--dictionaries/http.dict2
-rw-r--r--dictionaries/otf.dict18
-rw-r--r--docs/Changelog.md48
-rw-r--r--docs/README.radamsa.md9
-rw-r--r--docs/ideas.md36
-rw-r--r--docs/power_schedules.md1
-rw-r--r--examples/aflpp_driver/GNUmakefile17
-rw-r--r--examples/aflpp_driver/aflpp_driver.cpp10
-rw-r--r--examples/aflpp_driver/aflpp_driver_test.cpp8
-rw-r--r--examples/persistent_demo/persistent_demo_new.c4
-rw-r--r--gcc_plugin/GNUmakefile21
-rw-r--r--gcc_plugin/afl-gcc-fast.c2
-rw-r--r--gcc_plugin/afl-gcc-rt.o.c4
-rw-r--r--include/afl-fuzz.h77
-rw-r--r--include/afl-prealloc.h2
-rw-r--r--include/alloc-inl.h6
-rw-r--r--include/config.h9
-rw-r--r--include/debug.h2
-rw-r--r--include/forkserver.h3
-rw-r--r--include/hash.h20
-rw-r--r--include/sharedmem.h2
-rw-r--r--include/xxh3.h3187
-rw-r--r--include/xxhash.h2442
-rw-r--r--libdislocator/libdislocator.so.c7
-rw-r--r--libtokencap/Makefile9
-rw-r--r--libtokencap/libtokencap.so.c26
-rw-r--r--llvm_mode/GNUmakefile73
-rw-r--r--llvm_mode/LLVMInsTrim.so.cc1
-rw-r--r--llvm_mode/afl-clang-fast.c12
-rw-r--r--llvm_mode/afl-llvm-lto-instrim.so.cc20
-rw-r--r--llvm_mode/afl-llvm-lto-instrumentation.so.cc3
-rw-r--r--llvm_mode/afl-llvm-lto-whitelist.so.cc1
-rw-r--r--llvm_mode/afl-llvm-pass.so.cc1
-rw-r--r--llvm_mode/afl-llvm-rt.o.c18
-rw-r--r--llvm_mode/cmplog-instructions-pass.cc8
-rw-r--r--llvm_mode/cmplog-routines-pass.cc2
-rw-r--r--llvm_mode/compare-transform-pass.so.cc2
-rw-r--r--qemu_mode/libcompcov/Makefile3
-rw-r--r--src/afl-analyze.c14
-rw-r--r--src/afl-common.c1
-rw-r--r--src/afl-forkserver.c102
-rw-r--r--src/afl-fuzz-bitmap.c32
-rw-r--r--src/afl-fuzz-init.c87
-rw-r--r--src/afl-fuzz-mutators.c8
-rw-r--r--src/afl-fuzz-one.c240
-rw-r--r--src/afl-fuzz-queue.c35
-rw-r--r--src/afl-fuzz-redqueen.c14
-rw-r--r--src/afl-fuzz-run.c68
-rw-r--r--src/afl-fuzz-state.c8
-rw-r--r--src/afl-fuzz-stats.c49
-rw-r--r--src/afl-fuzz.c190
-rw-r--r--src/afl-gcc.c2
-rw-r--r--src/afl-gotcpu.c16
-rw-r--r--src/afl-performance.c167
-rw-r--r--src/afl-sharedmem.c114
-rw-r--r--src/afl-showmap.c89
-rw-r--r--src/afl-tmin.c67
-rw-r--r--src/third_party/libradamsa/.gitignore3
-rw-r--r--src/third_party/libradamsa/libradamsa-test.c75
-rw-r--r--src/third_party/libradamsa/libradamsa.c30850
-rw-r--r--src/third_party/libradamsa/radamsa.h13
-rwxr-xr-xtest/test.sh119
-rw-r--r--test/unittests/unit_hash.c75
-rw-r--r--test/unittests/unit_list.c4
-rw-r--r--test/unittests/unit_maybe_alloc.c4
-rw-r--r--test/unittests/unit_preallocable.c4
-rw-r--r--test/unittests/unit_rand.c84
-rw-r--r--unicorn_mode/UNICORNAFL_VERSION2
m---------unicorn_mode/unicornafl0
86 files changed, 69772 insertions, 31696 deletions
diff --git a/.gitignore b/.gitignore
index 505a4ecb..1000cc6f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,6 +18,7 @@ afl-gcc-fast
 afl-g++-fast
 afl-gotcpu
 afl-ld
+afl-ld-lto
 afl-qemu-trace
 afl-showmap
 afl-tmin
@@ -45,9 +46,12 @@ ld
 qemu_mode/qemu-*
 unicorn_mode/samples/*/\.test-*
 unicorn_mode/samples/*/output/
+unicorn_mode/unicornafl
 core\.*
 test/unittests/unit_maybe_alloc
 test/unittests/unit_preallocable
 test/unittests/unit_list
+test/unittests/unit_rand
+test/unittests/unit_hash
 examples/afl_network_proxy/afl-network-server
 examples/afl_network_proxy/afl-network-client
diff --git a/.travis.yml b/.travis.yml
index d3b1bd69..4271b821 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,9 +9,9 @@ branches:
 
 matrix:
   include:
-  - os: linux
-    dist: focal
-    env: NAME="focal-amd64" MODERN="yes" GCC="9"
+#  - os: linux	# focal errors every run with a timeout while installing packages
+#    dist: focal
+#    env: NAME="focal-amd64" MODERN="yes" GCC="9"
   - os: linux
     dist: bionic
     env: NAME="bionic-amd64" MODERN="yes" GCC="7"
diff --git a/GNUmakefile b/GNUmakefile
index 7556b617..748cd73c 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -50,19 +50,30 @@ else
 endif
 endif
 
+ifeq "$(shell echo 'int main() {return 0; }' | $(CC) -fno-move-loop-invariants -fdisable-tree-cunrolli -x c - -o .test 2>/dev/null && echo 1 || echo 0 ; rm -f .test )" "1"
+	SPECIAL_PERFORMANCE += -fno-move-loop-invariants -fdisable-tree-cunrolli
+endif
+
 ifneq "$(shell uname)" "Darwin"
- #ifeq "$(shell echo 'int main() {return 0; }' | $(CC) $(CFLAGS) -Werror -x c - -march=native -o .test 2>/dev/null && echo 1 || echo 0 ; rm -f .test )" "1"
- #	CFLAGS_OPT += -march=native
- #endif
+ ifeq "$(shell echo 'int main() {return 0; }' | $(CC) $(CFLAGS) -Werror -x c - -march=native -o .test 2>/dev/null && echo 1 || echo 0 ; rm -f .test )" "1"
+ 	#CFLAGS_OPT += -march=native
+ 	SPECIAL_PERFORMANCE += -march=native
+ endif
  # OS X does not like _FORTIFY_SOURCE=2
  CFLAGS_OPT += -D_FORTIFY_SOURCE=2
 endif
 
+ifeq "$(shell uname)" "SunOS"
+ CFLAGS_OPT += -Wno-format-truncation
+ LDFLAGS=-lkstat
+endif
+
 ifdef STATIC
-  $(info Compiling static version of binaries)
+  $(info Compiling static version of binaries, disabling python though)
   # Disable python for static compilation to simplify things
   PYTHON_OK=0
   PYFLAGS=
+  PYTHON_INCLUDE=/
 
   CFLAGS_OPT += -static
   LDFLAGS += -lm -lpthread -lz -lutil
@@ -86,7 +97,7 @@ endif
 
 CFLAGS     ?= -O3 -funroll-loops $(CFLAGS_OPT)
 override CFLAGS += -Wall -g -Wno-pointer-sign -Wmissing-declarations\
-			  -I include/ -Werror -DAFL_PATH=\"$(HELPER_PATH)\" \
+			  -I include/ -DAFL_PATH=\"$(HELPER_PATH)\" \
 			  -DBIN_PATH=\"$(BIN_PATH)\" -DDOC_PATH=\"$(DOC_PATH)\"
 
 ifeq "$(shell uname -s)" "FreeBSD"
@@ -109,6 +120,13 @@ ifeq "$(shell uname -s)" "NetBSD"
   LDFLAGS += -L /usr/pkg/lib/
 endif
 
+ifeq "$(shell uname -s)" "Haiku"
+  SHMAT_OK=0
+  override CFLAGS  += -DUSEMMAP=1 -Wno-error=format -fPIC
+  LDFLAGS += -Wno-deprecated-declarations -lgnu
+  SPECIAL_PERFORMANCE += -DUSEMMAP=1
+endif
+
 AFL_FUZZ_FILES = $(wildcard src/afl-fuzz*.c)
 
 ifneq "$(shell command -v python3m 2>/dev/null)" ""
@@ -182,12 +200,12 @@ ifneq "$(filter Linux GNU%,$(shell uname))" ""
 endif
 
 ifneq "$(findstring FreeBSD, $(shell uname))" ""
-  CFLAGS  += -pthread
+  override CFLAGS  += -pthread
   LDFLAGS += -lpthread
 endif
 
 ifneq "$(findstring NetBSD, $(shell uname))" ""
-  CFLAGS  += -pthread
+  override CFLAGS  += -pthread
   LDFLAGS += -lpthread
 endif
 
@@ -227,7 +245,7 @@ endif
 
 ifdef ASAN_BUILD
   $(info Compiling ASAN version of binaries)
-  CFLAGS+=$(ASAN_CFLAGS)
+  override CFLAGS+=$(ASAN_CFLAGS)
   LDFLAGS+=$(ASAN_LDFLAGS)
 endif
 
@@ -235,14 +253,14 @@ ifeq "$(shell echo '$(HASH)include <sys/ipc.h>@$(HASH)include <sys/shm.h>@int ma
 	SHMAT_OK=1
 else
 	SHMAT_OK=0
-	CFLAGS+=-DUSEMMAP=1
-	LDFLAGS+=-Wno-deprecated-declarations
+	override CFLAGS+=-DUSEMMAP=1
+	LDFLAGS += -Wno-deprecated-declarations -lrt
 endif
 
-ifeq "$(TEST_MMAP)" "1"
+ifdef TEST_MMAP
 	SHMAT_OK=0
-	CFLAGS+=-DUSEMMAP=1
-	LDFLAGS+=-Wno-deprecated-declarations
+	override CFLAGS += -DUSEMMAP=1
+	LDFLAGS += -Wno-deprecated-declarations -lrt
 endif
 
 all:	test_x86 test_shm test_python ready $(PROGS) afl-as test_build all_done
@@ -265,8 +283,8 @@ help:
 	@echo "HELP --- the following make targets exist:"
 	@echo "=========================================="
 	@echo "all: just the main afl++ binaries"
-	@echo "binary-only: everything for binary-only fuzzing: qemu_mode, unicorn_mode, libdislocator, libtokencap, radamsa"
-	@echo "source-only: everything for source code fuzzing: llvm_mode, gcc_plugin, libdislocator, libtokencap, radamsa"
+	@echo "binary-only: everything for binary-only fuzzing: qemu_mode, unicorn_mode, libdislocator, libtokencap"
+	@echo "source-only: everything for source code fuzzing: llvm_mode, gcc_plugin, libdislocator, libtokencap"
 	@echo "distrib: everything (for both binary-only and source code fuzzing)"
 	@echo "man: creates simple man pages from the help option of the programs"
 	@echo "install: installs everything you have compiled with the build option above"
@@ -294,6 +312,8 @@ ifndef AFL_NO_X86
 test_x86:
 	@echo "[*] Checking for the default compiler cc..."
 	@type $(CC) >/dev/null || ( echo; echo "Oops, looks like there is no compiler '"$(CC)"' in your path."; echo; echo "Don't panic! You can restart with '"$(_)" CC=<yourCcompiler>'."; echo; exit 1 )
+	@echo "[*] Testing the PATH environment variable..."
+	@test "$${PATH}" != "$${PATH#.:}" && { echo "Please remove current directory '.' from PATH to avoid recursion of 'as', thanks!"; echo; exit 1; } || :
 	@echo "[*] Checking for the ability to compile x86 code..."
 	@echo 'main() { __asm__("xorb %al, %al"); }' | $(CC) $(CFLAGS) -w -x c - -o .test1 || ( echo; echo "Oops, looks like your compiler can't generate x86 code."; echo; echo "Don't panic! You can use the LLVM or QEMU mode, but see docs/INSTALL first."; echo "(To ignore this error, set AFL_NO_X86=1 and try again.)"; echo; exit 1 )
 	@rm -f .test1
@@ -345,6 +365,9 @@ afl-as: src/afl-as.c include/afl-as.h $(COMM_HDR) | test_x86
 	$(CC) $(CFLAGS) src/$@.c -o $@ $(LDFLAGS)
 	ln -sf afl-as as
 
+src/afl-performance.o : $(COMM_HDR) src/afl-performance.c include/hash.h
+	$(CC) -Iinclude $(SPECIAL_PERFORMANCE) -O3 -fno-unroll-loops -c src/afl-performance.c -o src/afl-performance.o
+
 src/afl-common.o : $(COMM_HDR) src/afl-common.c include/common.h
 	$(CC) $(CFLAGS) $(CFLAGS_FLTO) -c src/afl-common.c -o src/afl-common.o
 
@@ -354,42 +377,47 @@ src/afl-forkserver.o : $(COMM_HDR) src/afl-forkserver.c include/forkserver.h
 src/afl-sharedmem.o : $(COMM_HDR) src/afl-sharedmem.c include/sharedmem.h
 	$(CC) $(CFLAGS) $(CFLAGS_FLTO) -c src/afl-sharedmem.c -o src/afl-sharedmem.o
 
-radamsa: src/third_party/libradamsa/libradamsa.so
-	cp src/third_party/libradamsa/libradamsa.so .
-
-src/third_party/libradamsa/libradamsa.so: src/third_party/libradamsa/libradamsa.c src/third_party/libradamsa/radamsa.h
-	$(MAKE) -C src/third_party/libradamsa/ CFLAGS="$(CFLAGS)"
-
-afl-fuzz: $(COMM_HDR) include/afl-fuzz.h $(AFL_FUZZ_FILES) src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.o | test_x86
-	$(CC) $(CFLAGS) $(COMPILE_STATIC) $(CFLAGS_FLTO) $(AFL_FUZZ_FILES) src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.o -o $@ $(PYFLAGS) $(LDFLAGS)
+afl-fuzz: $(COMM_HDR) include/afl-fuzz.h $(AFL_FUZZ_FILES) src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.o src/afl-performance.o | test_x86
+	$(CC) $(CFLAGS) $(COMPILE_STATIC) $(CFLAGS_FLTO) $(AFL_FUZZ_FILES) src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.o src/afl-performance.o -o $@ $(PYFLAGS) $(LDFLAGS)
 
 afl-showmap: src/afl-showmap.c src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.o $(COMM_HDR) | test_x86
 	$(CC) $(CFLAGS) $(COMPILE_STATIC) $(CFLAGS_FLTO) src/$@.c src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.o -o $@ $(LDFLAGS)
 
-afl-tmin: src/afl-tmin.c src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.o $(COMM_HDR) | test_x86
-	$(CC) $(CFLAGS) $(COMPILE_STATIC) $(CFLAGS_FLTO) src/$@.c src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.o -o $@ $(LDFLAGS)
+afl-tmin: src/afl-tmin.c src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.o src/afl-performance.o $(COMM_HDR) | test_x86
+	$(CC) $(CFLAGS) $(COMPILE_STATIC) $(CFLAGS_FLTO) src/$@.c src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.o src/afl-performance.o -o $@ $(LDFLAGS)
 
-afl-analyze: src/afl-analyze.c src/afl-common.o src/afl-sharedmem.o $(COMM_HDR) | test_x86
-	$(CC) $(CFLAGS) $(COMPILE_STATIC) $(CFLAGS_FLTO) src/$@.c src/afl-common.o src/afl-sharedmem.o -o $@ $(LDFLAGS)
+afl-analyze: src/afl-analyze.c src/afl-common.o src/afl-sharedmem.o src/afl-performance.o $(COMM_HDR) | test_x86
+	$(CC) $(CFLAGS) $(COMPILE_STATIC) $(CFLAGS_FLTO) src/$@.c src/afl-common.o src/afl-sharedmem.o src/afl-performance.o -o $@ $(LDFLAGS)
 
 afl-gotcpu: src/afl-gotcpu.c src/afl-common.o $(COMM_HDR) | test_x86
 	$(CC) $(CFLAGS) $(COMPILE_STATIC) $(CFLAGS_FLTO) src/$@.c src/afl-common.o -o $@ $(LDFLAGS)
 
 
 # document all mutations and only do one run (use with only one input file!)
-document: $(COMM_HDR) include/afl-fuzz.h $(AFL_FUZZ_FILES) src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.o | test_x86
-	$(CC) -D_AFL_DOCUMENT_MUTATIONS $(CFLAGS) $(CFLAGS_FLTO) $(AFL_FUZZ_FILES) src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.o -o afl-fuzz-document $(PYFLAGS) $(LDFLAGS)
+document: $(COMM_HDR) include/afl-fuzz.h $(AFL_FUZZ_FILES) src/afl-common.o src/afl-sharedmem.o src/afl-performance.o | test_x86
+	$(CC) -D_DEBUG=\"1\" -D_AFL_DOCUMENT_MUTATIONS $(CFLAGS) $(CFLAGS_FLTO) $(AFL_FUZZ_FILES) src/afl-common.o src/afl-sharedmem.o src/afl-forkserver.c src/afl-performance.o -o afl-fuzz-document $(PYFLAGS) $(LDFLAGS)
 
 test/unittests/unit_maybe_alloc.o : $(COMM_HDR) include/alloc-inl.h test/unittests/unit_maybe_alloc.c $(AFL_FUZZ_FILES)
 	@$(CC) $(CFLAGS) $(ASAN_CFLAGS) -c test/unittests/unit_maybe_alloc.c -o test/unittests/unit_maybe_alloc.o
 
-test/unittests/unit_preallocable.o : $(COMM_HDR) include/alloc-inl.h test/unittests/unit_preallocable.c $(AFL_FUZZ_FILES)
-	@$(CC) $(CFLAGS) $(ASAN_CFLAGS) -c test/unittests/unit_preallocable.c -o test/unittests/unit_preallocable.o
-
 unit_maybe_alloc: test/unittests/unit_maybe_alloc.o
 	@$(CC) $(CFLAGS) -Wl,--wrap=exit -Wl,--wrap=printf test/unittests/unit_maybe_alloc.o -o test/unittests/unit_maybe_alloc $(LDFLAGS) $(ASAN_LDFLAGS) -lcmocka
 	./test/unittests/unit_maybe_alloc
 
+test/unittests/unit_hash.o : $(COMM_HDR) include/alloc-inl.h test/unittests/unit_hash.c $(AFL_FUZZ_FILES) src/afl-performance.o
+	@$(CC) $(CFLAGS) $(ASAN_CFLAGS) -c test/unittests/unit_hash.c -o test/unittests/unit_hash.o
+
+unit_hash: test/unittests/unit_hash.o src/afl-performance.o
+	@$(CC) $(CFLAGS) -Wl,--wrap=exit -Wl,--wrap=printf $^ -o test/unittests/unit_hash $(LDFLAGS) $(ASAN_LDFLAGS) -lcmocka
+	./test/unittests/unit_hash
+
+test/unittests/unit_rand.o : $(COMM_HDR) include/alloc-inl.h test/unittests/unit_rand.c $(AFL_FUZZ_FILES) src/afl-performance.o
+	@$(CC) $(CFLAGS) $(ASAN_CFLAGS) -c test/unittests/unit_rand.c -o test/unittests/unit_rand.o
+
+unit_rand: test/unittests/unit_rand.o src/afl-common.o src/afl-performance.o
+	@$(CC) $(CFLAGS) $(ASAN_CFLAGS) -Wl,--wrap=exit -Wl,--wrap=printf $^ -o test/unittests/unit_rand  $(LDFLAGS) $(ASAN_LDFLAGS) -lcmocka
+	./test/unittests/unit_rand
+
 test/unittests/unit_list.o : $(COMM_HDR) include/list.h test/unittests/unit_list.c $(AFL_FUZZ_FILES)
 	@$(CC) $(CFLAGS) $(ASAN_CFLAGS) -c test/unittests/unit_list.c -o test/unittests/unit_list.o
 
@@ -397,8 +425,8 @@ unit_list: test/unittests/unit_list.o
 	@$(CC) $(CFLAGS) $(ASAN_CFLAGS) -Wl,--wrap=exit -Wl,--wrap=printf test/unittests/unit_list.o -o test/unittests/unit_list  $(LDFLAGS) $(ASAN_LDFLAGS) -lcmocka
 	./test/unittests/unit_list
 
-test/unittests/preallocable.o : $(COMM_HDR) include/afl-prealloc.h test/unittests/preallocable.c $(AFL_FUZZ_FILES)
-	@$(CC) $(CFLAGS) $(ASAN_CFLAGS) $(CFLAGS_FLTO) -c test/unittests/preallocable.c -o test/unittests/preallocable.o
+test/unittests/unit_preallocable.o : $(COMM_HDR) include/alloc-inl.h test/unittests/unit_preallocable.c $(AFL_FUZZ_FILES)
+	@$(CC) $(CFLAGS) $(ASAN_CFLAGS) -c test/unittests/unit_preallocable.c -o test/unittests/unit_preallocable.o
 
 unit_preallocable: test/unittests/unit_preallocable.o
 	@$(CC) $(CFLAGS) $(ASAN_CFLAGS) -Wl,--wrap=exit -Wl,--wrap=printf test/unittests/unit_preallocable.o -o test/unittests/unit_preallocable $(LDFLAGS) $(ASAN_LDFLAGS) -lcmocka
@@ -409,7 +437,7 @@ unit_clean:
 
 ifneq "$(shell uname)" "Darwin"
 
-unit: unit_maybe_alloc unit_preallocable unit_list unit_clean
+unit: unit_maybe_alloc unit_preallocable unit_list unit_clean unit_rand unit_hash
 
 else
 
@@ -429,6 +457,8 @@ code-format:
 	./.custom-format.py -i gcc_plugin/*.c
 	#./.custom-format.py -i gcc_plugin/*.h
 	./.custom-format.py -i gcc_plugin/*.cc
+	./.custom-format.py -i custom_mutators/*/*.c
+	./.custom-format.py -i custom_mutators/*/*.h
 	./.custom-format.py -i examples/*/*.c
 	./.custom-format.py -i examples/*/*.h
 	./.custom-format.py -i test/*.c
@@ -481,7 +511,6 @@ clean:
 	$(MAKE) -C examples/argv_fuzzing clean
 	$(MAKE) -C qemu_mode/unsigaction clean
 	$(MAKE) -C qemu_mode/libcompcov clean
-	$(MAKE) -C src/third_party/libradamsa/ clean
 	rm -rf qemu_mode/qemu-3.1.1
 ifeq "$(IN_REPO)" "1"
 	test -d unicorn_mode/unicornafl && $(MAKE) -C unicorn_mode/unicornafl clean || true
@@ -495,7 +524,7 @@ deepclean:	clean
 	rm -rf unicorn_mode/unicornafl
 	git reset --hard >/dev/null 2>&1 || true
 
-distrib: all radamsa
+distrib: all
 	-$(MAKE) -C llvm_mode
 	-$(MAKE) -C gcc_plugin
 	$(MAKE) -C libdislocator
@@ -504,18 +533,18 @@ distrib: all radamsa
 	$(MAKE) -C examples/socket_fuzzing
 	$(MAKE) -C examples/argv_fuzzing
 	-cd qemu_mode && sh ./build_qemu_support.sh
-	cd unicorn_mode && sh ./build_unicorn_support.sh
+	cd unicorn_mode && unset CFLAGS && sh ./build_unicorn_support.sh
 
-binary-only: all radamsa
+binary-only: all
 	$(MAKE) -C libdislocator
 	$(MAKE) -C libtokencap
 	$(MAKE) -C examples/afl_network_proxy
 	$(MAKE) -C examples/socket_fuzzing
 	$(MAKE) -C examples/argv_fuzzing
 	-cd qemu_mode && sh ./build_qemu_support.sh
-	cd unicorn_mode && sh ./build_unicorn_support.sh
+	cd unicorn_mode && unset CFLAGS && sh ./build_unicorn_support.sh
 
-source-only: all radamsa
+source-only: all
 	-$(MAKE) -C llvm_mode
 	-$(MAKE) -C gcc_plugin
 	$(MAKE) -C libdislocator
@@ -554,7 +583,6 @@ install: all $(MANPAGES)
 	if [ -f libdislocator.so ]; then set -e; install -m 755 libdislocator.so $${DESTDIR}$(HELPER_PATH); fi
 	if [ -f libtokencap.so ]; then set -e; install -m 755 libtokencap.so $${DESTDIR}$(HELPER_PATH); fi
 	if [ -f libcompcov.so ]; then set -e; install -m 755 libcompcov.so $${DESTDIR}$(HELPER_PATH); fi
-	if [ -f libradamsa.so ]; then set -e; install -m 755 libradamsa.so $${DESTDIR}$(HELPER_PATH); fi
 	if [ -f afl-fuzz-document ]; then set -e; install -m 755 afl-fuzz-document $${DESTDIR}$(BIN_PATH); fi
 	if [ -f socketfuzz32.so -o -f socketfuzz64.so ]; then $(MAKE) -C examples/socket_fuzzing install; fi
 	if [ -f argvfuzz32.so -o -f argvfuzz64.so ]; then $(MAKE) -C examples/argv_fuzzing install; fi
diff --git a/README.md b/README.md
index 76f510c8..104f56ea 100644
--- a/README.md
+++ b/README.md
@@ -54,7 +54,7 @@
   
   * Win32 PE binary-only fuzzing with QEMU and Wine
 
-  * Radamsa mutator (enable with `-R` to add or `-RR` to run it exclusively).
+  * Radamsa mutator (as a custom mutator).
 
   * QBDI mode to fuzz android native libraries via QBDI framework
 
@@ -167,8 +167,8 @@ is what you should choose.
 These build targets exist:
 
 * all: just the main afl++ binaries
-* binary-only: everything for binary-only fuzzing: qemu_mode, unicorn_mode, libdislocator, libtokencap, radamsa
-* source-only: everything for source code fuzzing: llvm_mode, libdislocator, libtokencap, radamsa
+* binary-only: everything for binary-only fuzzing: qemu_mode, unicorn_mode, libdislocator, libtokencap
+* source-only: everything for source code fuzzing: llvm_mode, libdislocator, libtokencap
 * distrib: everything (for both binary-only and source code fuzzing)
 * man: creates simple man pages from the help option of the programs
 * install: installs everything you have compiled with the build options above
@@ -371,14 +371,15 @@ therefore may increase the code coverage.
 
 The available schedules are:
  
- - explore (default)
- - fast
- - coe
- - quad
- - lin
- - exploit
- - mmopt (experimental)
- - rare (experimental)
+ - explore (default, original AFL)
+ - exploit (original AFL)
+ - fast (AFLfast)
+ - coe (AFLfast)
+ - quad (AFLfast)
+ - lin (AFLfast)
+ - rare (afl++ experimental)
+ - mmopt (afl++ experimental)
+ - seek (afl++ experimental)
 
 In parallel mode (-M/-S, several instances with the shared queue), we suggest to
 run the main node using the explore or fast schedule (-p explore) and the secondary
diff --git a/TODO.md b/TODO.md
index b7d51369..55b886e4 100644
--- a/TODO.md
+++ b/TODO.md
@@ -3,13 +3,9 @@
 ## Roadmap 2.65+
 
  - AFL_MAP_SIZE for qemu_mode and unicorn_mode
- - random crc32 HASH_CONST per run? because with 65536 paths we have collisions
  - namespace for targets? e.g. network
- - libradamsa as a custom module?
- - learn from honggfuzz
- - for persistent mode, have a functionality that transports the test case
-   via shared memory (and the int write to the FD from afl-fuzz is the size)
- - CPU affinity for many cores?
+ - learn from honggfuzz (mutations, maybe ptrace?)
+ - CPU affinity for many cores? There seems to be an issue > 96 cores
 
 ## Further down the road
 
@@ -18,9 +14,10 @@ afl-fuzz:
  - setting min_len/max_len/start_offset/end_offset limits for mutation output
 
 llvm_mode:
- - better whitelist solution for LTO
+ - LTO - imitate sancov
 
 gcc_plugin:
+ - (wait for submission then decide)
  - laf-intel
  - better instrumentation (seems to be better with gcc-9+)
 
diff --git a/afl-cmin.bash b/afl-cmin.bash
index 1f23f6bc..3e29aa5c 100755
--- a/afl-cmin.bash
+++ b/afl-cmin.bash
@@ -134,7 +134,6 @@ Environment variables used:
 AFL_KEEP_TRACES: leave the temporary <out_dir>\.traces directory
 AFL_PATH: path for the afl-showmap binary
 AFL_SKIP_BIN_CHECK: skip check for target binary
-AFL_ALLOW_TMP: allow unsafe use of input/output directories under {/var}/tmp
 _EOF_
   exit 1
 fi
@@ -142,29 +141,29 @@ fi
 # Do a sanity check to discourage the use of /tmp, since we can't really
 # handle this safely from a shell script.
 
-if [ "$AFL_ALLOW_TMP" = "" ]; then
-
-  echo "$IN_DIR" | grep -qE '^(/var)?/tmp/'
-  T1="$?"
-
-  echo "$TARGET_BIN" | grep -qE '^(/var)?/tmp/'
-  T2="$?"
-
-  echo "$OUT_DIR" | grep -qE '^(/var)?/tmp/'
-  T3="$?"
-
-  echo "$STDIN_FILE" | grep -qE '^(/var)?/tmp/'
-  T4="$?"
-
-  echo "$PWD" | grep -qE '^(/var)?/tmp/'
-  T5="$?"
-
-  if [ "$T1" = "0" -o "$T2" = "0" -o "$T3" = "0" -o "$T4" = "0" -o "$T5" = "0" ]; then
-    echo "[-] Error: do not use this script in /tmp or /var/tmp." 1>&2
-    exit 1
-  fi
-
-fi
+#if [ "$AFL_ALLOW_TMP" = "" ]; then
+#
+#  echo "$IN_DIR" | grep -qE '^(/var)?/tmp/'
+#  T1="$?"
+#
+#  echo "$TARGET_BIN" | grep -qE '^(/var)?/tmp/'
+#  T2="$?"
+#
+#  echo "$OUT_DIR" | grep -qE '^(/var)?/tmp/'
+#  T3="$?"
+#
+#  echo "$STDIN_FILE" | grep -qE '^(/var)?/tmp/'
+#  T4="$?"
+#
+#  echo "$PWD" | grep -qE '^(/var)?/tmp/'
+#  T5="$?"
+#
+#  if [ "$T1" = "0" -o "$T2" = "0" -o "$T3" = "0" -o "$T4" = "0" -o "$T5" = "0" ]; then
+#    echo "[-] Error: do not use this script in /tmp or /var/tmp." 1>&2
+#    exit 1
+#  fi
+#
+#fi
 
 # If @@ is specified, but there's no -f, let's come up with a temporary input
 # file name.
@@ -246,7 +245,7 @@ if [ ! "$STDIN_FILE" = "" ]; then
 fi
 
 if [ "$AFL_PATH" = "" ]; then
-  SHOWMAP="${0%/afl-cmin}/afl-showmap"
+  SHOWMAP="${0%/afl-cmin.bash}/afl-showmap"
 else
   SHOWMAP="$AFL_PATH/afl-showmap"
 fi
diff --git a/afl-plot b/afl-plot
index 6ad3f790..1074552a 100755
--- a/afl-plot
+++ b/afl-plot
@@ -15,6 +15,10 @@
 #   http://www.apache.org/licenses/LICENSE-2.0
 #
 
+get_abs_path() {
+  echo $(cd "`dirname "$1"`" && pwd)/"`basename "$1"`"
+}
+
 echo "progress plotting utility for afl-fuzz by Michal Zalewski"
 echo
 
@@ -31,40 +35,40 @@ an empty directory where this tool can write the resulting plots to.
 
 The program will put index.html and three PNG images in the output directory;
 you should be able to view it with any web browser of your choice.
-
-Environment variables used:
-AFL_ALLOW_TMP: allow /var/tmp or /tmp for input and output directories
 _EOF_
 
   exit 1
 
 fi
 
-if [ "$AFL_ALLOW_TMP" = "" ]; then
-
-  echo "$1" | grep -qE '^(/var)?/tmp/'
-  T1="$?"
-
-  echo "$2" | grep -qE '^(/var)?/tmp/'
-  T2="$?"
-
-  if [ "$T1" = "0" -o "$T2" = "0" ]; then
-
-    echo "[-] Error: this script shouldn't be used with shared /tmp directories." 1>&2
-    exit 1
-
-  fi
+inputdir=`get_abs_path "$1"`
+outputdir=`get_abs_path "$2"`
 
-fi
+#if [ "$AFL_ALLOW_TMP" = "" ]; then
+#
+#  echo "$inputdir" | grep -qE '^(/var)?/tmp/'
+#  T1="$?"
+#
+#  echo "$outputdir" | grep -qE '^(/var)?/tmp/'
+#  T2="$?"
+#
+#  if [ "$T1" = "0" -o "$T2" = "0" ]; then
+#
+#    echo "[-] Error: this script shouldn't be used with shared /tmp directories." 1>&2
+#    exit 1
+#
+#  fi
+#
+#fi
 
-if [ ! -f "$1/plot_data" ]; then
+if [ ! -f "$inputdir/plot_data" ]; then
 
   echo "[-] Error: input directory is not valid (missing 'plot_data')." 1>&2
   exit 1
 
 fi
 
-BANNER="`cat "$1/fuzzer_stats" | grep '^afl_banner ' | cut -d: -f2- | cut -b2-`"
+BANNER="`cat "$inputdir/fuzzer_stats" 2> /dev/null | grep '^afl_banner ' | cut -d: -f2- | cut -b2-`"
 
 test "$BANNER" = "" && BANNER="(none)"
 
@@ -77,17 +81,17 @@ if [ "$GNUPLOT" = "" ]; then
 
 fi
 
-mkdir "$2" 2>/dev/null
+mkdir "$outputdir" 2>/dev/null
 
-if [ ! -d "$2" ]; then
+if [ ! -d "$outputdir" ]; then
 
   echo "[-] Error: unable to create the output directory - pick another location." 1>&2
   exit 1
 
 fi
 
-rm -f "$2/high_freq.png" "$2/low_freq.png" "$2/exec_speed.png"
-mv -f "$2/index.html" "$2/index.html.orig" 2>/dev/null
+rm -f "$outputdir/high_freq.png" "$outputdir/low_freq.png" "$outputdir/exec_speed.png"
+mv -f "$outputdir/index.html" "$outputdir/index.html.orig" 2>/dev/null
 
 echo "[*] Generating plots..."
 
@@ -96,7 +100,7 @@ echo "[*] Generating plots..."
 cat <<_EOF_
 set terminal png truecolor enhanced size 1000,300 butt
 
-set output '$2/high_freq.png'
+set output '$outputdir/high_freq.png'
 
 set xdata time
 set timefmt '%s'
@@ -114,31 +118,31 @@ set key outside
 set autoscale xfixmin
 set autoscale xfixmax
 
-plot '$1/plot_data' using 1:4 with filledcurve x1 title 'total paths' linecolor rgb '#000000' fillstyle transparent solid 0.2 noborder, \\
+plot '$inputdir/plot_data' using 1:4 with filledcurve x1 title 'total paths' linecolor rgb '#000000' fillstyle transparent solid 0.2 noborder, \\
      '' using 1:3 with filledcurve x1 title 'current path' linecolor rgb '#f0f0f0' fillstyle transparent solid 0.5 noborder, \\
      '' using 1:5 with lines title 'pending paths' linecolor rgb '#0090ff' linewidth 3, \\
      '' using 1:6 with lines title 'pending favs' linecolor rgb '#c00080' linewidth 3, \\
      '' using 1:2 with lines title 'cycles done' linecolor rgb '#c000f0' linewidth 3
 
 set terminal png truecolor enhanced size 1000,200 butt
-set output '$2/low_freq.png'
+set output '$outputdir/low_freq.png'
 
-plot '$1/plot_data' using 1:8 with filledcurve x1 title '' linecolor rgb '#c00080' fillstyle transparent solid 0.2 noborder, \\
+plot '$inputdir/plot_data' using 1:8 with filledcurve x1 title '' linecolor rgb '#c00080' fillstyle transparent solid 0.2 noborder, \\
      '' using 1:8 with lines title ' uniq crashes' linecolor rgb '#c00080' linewidth 3, \\
      '' using 1:9 with lines title 'uniq hangs' linecolor rgb '#c000f0' linewidth 3, \\
      '' using 1:10 with lines title 'levels' linecolor rgb '#0090ff' linewidth 3
 
 set terminal png truecolor enhanced size 1000,200 butt
-set output '$2/exec_speed.png'
+set output '$outputdir/exec_speed.png'
 
-plot '$1/plot_data' using 1:11 with filledcurve x1 title '' linecolor rgb '#0090ff' fillstyle transparent solid 0.2 noborder, \\
-     '$1/plot_data' using 1:11 with lines title '    execs/sec' linecolor rgb '#0090ff' linewidth 3 smooth bezier;
+plot '$inputdir/plot_data' using 1:11 with filledcurve x1 title '' linecolor rgb '#0090ff' fillstyle transparent solid 0.2 noborder, \\
+     '$inputdir/plot_data' using 1:11 with lines title '    execs/sec' linecolor rgb '#0090ff' linewidth 3 smooth bezier;
 
 _EOF_
 
 ) | gnuplot 
 
-if [ ! -s "$2/exec_speed.png" ]; then
+if [ ! -s "$outputdir/exec_speed.png" ]; then
 
   echo "[-] Error: something went wrong! Perhaps you have an ancient version of gnuplot?" 1>&2
   exit 1
@@ -147,10 +151,10 @@ fi
 
 echo "[*] Generating index.html..."
 
-cat >"$2/index.html" <<_EOF_
+cat >"$outputdir/index.html" <<_EOF_
 <table style="font-family: 'Trebuchet MS', 'Tahoma', 'Arial', 'Helvetica'">
 <tr><td style="width: 18ex"><b>Banner:</b></td><td>$BANNER</td></tr>
-<tr><td><b>Directory:</b></td><td>$1</td></tr>
+<tr><td><b>Directory:</b></td><td>$inputdir</td></tr>
 <tr><td><b>Generated on:</b></td><td>`date`</td></tr>
 </table>
 <p>
@@ -164,8 +168,8 @@ _EOF_
 # served by Apache or other HTTP daemon. Since the plots aren't horribly
 # sensitive, this seems like a reasonable trade-off.
 
-chmod 755 "$2"
-chmod 644 "$2/high_freq.png" "$2/low_freq.png" "$2/exec_speed.png" "$2/index.html"
+chmod 755 "$outputdir"
+chmod 644 "$outputdir/high_freq.png" "$outputdir/low_freq.png" "$outputdir/exec_speed.png" "$outputdir/index.html"
 
 echo "[+] All done - enjoy your charts!"
 
diff --git a/custom_mutators/README.md b/custom_mutators/README.md
new file mode 100644
index 00000000..0abce32f
--- /dev/null
+++ b/custom_mutators/README.md
@@ -0,0 +1,12 @@
+# production ready custom mutators
+
+This directory holds ready to use custom mutators.
+Just type "make" in the individual subdirectories.
+
+Use with e.g.
+
+`AFL_CUSTOM_MUTATOR_LIBRARY=custom_mutators/radamsa/radamsa-mutator.so afl-fuzz ....`
+
+and add `AFL_CUSTOM_MUTATOR_ONLY=1` if you only want to use the custom mutator.
+
+Multiple custom mutators can be used by separating their paths with `:` in the environment variable.
diff --git a/src/third_party/libradamsa/GNUmakefile b/custom_mutators/radamsa/GNUmakefile
index c5a78ead..60e43b17 100644
--- a/src/third_party/libradamsa/GNUmakefile
+++ b/custom_mutators/radamsa/GNUmakefile
@@ -1,15 +1,15 @@
 CUR_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
 
-all: libradamsa.so
+all: radamsa-mutator.so
 
 # These can be overriden:
-CFLAGS	?= -march=native $(CFLAGS_FLTO)
+CFLAGS	?= $(CFLAGS_FLTO)
 
 # These are required: (otherwise radamsa gets very very slooooow)
 CFLAGS	+= -O3 -funroll-loops
 
-libradamsa.so: libradamsa.a
-	$(CC) $(CFLAGS) -shared libradamsa.a -o libradamsa.so
+#libradamsa.so: libradamsa.a
+#	$(CC) $(CFLAGS) -shared libradamsa.a -o libradamsa.so
 
 libradamsa.a: libradamsa.c radamsa.h
 	@echo " ***************************************************************"
@@ -17,10 +17,14 @@ libradamsa.a: libradamsa.c radamsa.h
 	@echo " ***************************************************************"
 	$(CC) -fPIC $(CFLAGS) -I $(CUR_DIR) -o libradamsa.a -c libradamsa.c
 
+radamsa-mutator.so: radamsa-mutator.c libradamsa.a
+	$(CC) $(CFLAGS) -g -I. -I../../include -shared -fPIC -c radamsa-mutator.c
+	$(CC) $(CFLAGS) -shared -fPIC -o radamsa-mutator.so radamsa-mutator.o libradamsa.a
+
 test: libradamsa.a libradamsa-test.c
 	$(CC) $(CFLAGS) -I $(CUR_DIR) -o libradamsa-test libradamsa-test.c libradamsa.a
 	./libradamsa-test libradamsa-test.c | grep "library test passed"
 	rm /tmp/libradamsa-*.fuzz
 
 clean:
-	rm -f libradamsa.a libradamsa.so libradamsa-test
+	rm -f radamsa-mutator.so libradamsa.a libradamsa-test *.o *~ core
diff --git a/src/third_party/libradamsa/LICENSE b/custom_mutators/radamsa/LICENSE
index 47c06fce..47c06fce 100644
--- a/src/third_party/libradamsa/LICENSE
+++ b/custom_mutators/radamsa/LICENSE
diff --git a/src/third_party/libradamsa/README.md b/custom_mutators/radamsa/README.md
index b01a4c83..81264b82 100644
--- a/src/third_party/libradamsa/README.md
+++ b/custom_mutators/radamsa/README.md
@@ -1,4 +1,4 @@
-# libradamsa
+# custum mutator: libradamsa
 
 Pretranslated radamsa library. This code belongs to the radamsa author.
 
diff --git a/custom_mutators/radamsa/custom_mutator_helpers.h b/custom_mutators/radamsa/custom_mutator_helpers.h
new file mode 100644
index 00000000..0848321f
--- /dev/null
+++ b/custom_mutators/radamsa/custom_mutator_helpers.h
@@ -0,0 +1,342 @@
+#ifndef CUSTOM_MUTATOR_HELPERS
+#define CUSTOM_MUTATOR_HELPERS
+
+#include "config.h"
+#include "types.h"
+#include <stdlib.h>
+
+#define INITIAL_GROWTH_SIZE (64)
+
+#define RAND_BELOW(limit) (rand() % (limit))
+
+/* Use in a struct: creates a name_buf and a name_size variable. */
+#define BUF_VAR(type, name) \
+  type * name##_buf;        \
+  size_t name##_size;
+/* this filles in `&structptr->something_buf, &structptr->something_size`. */
+#define BUF_PARAMS(struct, name) \
+  (void **)&struct->name##_buf, &struct->name##_size
+
+typedef struct {
+
+} afl_t;
+
+static void surgical_havoc_mutate(u8 *out_buf, s32 begin, s32 end) {
+
+  static s8  interesting_8[] = {INTERESTING_8};
+  static s16 interesting_16[] = {INTERESTING_8, INTERESTING_16};
+  static s32 interesting_32[] = {INTERESTING_8, INTERESTING_16, INTERESTING_32};
+
+  switch (RAND_BELOW(12)) {
+
+    case 0: {
+
+      /* Flip a single bit somewhere. Spooky! */
+
+      s32 bit_idx = ((RAND_BELOW(end - begin) + begin) << 3) + RAND_BELOW(8);
+
+      out_buf[bit_idx >> 3] ^= 128 >> (bit_idx & 7);
+
+      break;
+
+    }
+
+    case 1: {
+
+      /* Set byte to interesting value. */
+
+      u8 val = interesting_8[RAND_BELOW(sizeof(interesting_8))];
+      out_buf[(RAND_BELOW(end - begin) + begin)] = val;
+
+      break;
+
+    }
+
+    case 2: {
+
+      /* Set word to interesting value, randomly choosing endian. */
+
+      if (end - begin < 2) break;
+
+      s32 byte_idx = (RAND_BELOW(end - begin) + begin);
+
+      if (byte_idx >= end - 1) break;
+
+      switch (RAND_BELOW(2)) {
+
+        case 0:
+          *(u16 *)(out_buf + byte_idx) =
+              interesting_16[RAND_BELOW(sizeof(interesting_16) >> 1)];
+          break;
+        case 1:
+          *(u16 *)(out_buf + byte_idx) =
+              SWAP16(interesting_16[RAND_BELOW(sizeof(interesting_16) >> 1)]);
+          break;
+
+      }
+
+      break;
+
+    }
+
+    case 3: {
+
+      /* Set dword to interesting value, randomly choosing endian. */
+
+      if (end - begin < 4) break;
+
+      s32 byte_idx = (RAND_BELOW(end - begin) + begin);
+
+      if (byte_idx >= end - 3) break;
+
+      switch (RAND_BELOW(2)) {
+
+        case 0:
+          *(u32 *)(out_buf + byte_idx) =
+              interesting_32[RAND_BELOW(sizeof(interesting_32) >> 2)];
+          break;
+        case 1:
+          *(u32 *)(out_buf + byte_idx) =
+              SWAP32(interesting_32[RAND_BELOW(sizeof(interesting_32) >> 2)]);
+          break;
+
+      }
+
+      break;
+
+    }
+
+    case 4: {
+
+      /* Set qword to interesting value, randomly choosing endian. */
+
+      if (end - begin < 8) break;
+
+      s32 byte_idx = (RAND_BELOW(end - begin) + begin);
+
+      if (byte_idx >= end - 7) break;
+
+      switch (RAND_BELOW(2)) {
+
+        case 0:
+          *(u64 *)(out_buf + byte_idx) =
+              (s64)interesting_32[RAND_BELOW(sizeof(interesting_32) >> 2)];
+          break;
+        case 1:
+          *(u64 *)(out_buf + byte_idx) = SWAP64(
+              (s64)interesting_32[RAND_BELOW(sizeof(interesting_32) >> 2)]);
+          break;
+
+      }
+
+      break;
+
+    }
+
+    case 5: {
+
+      /* Randomly subtract from byte. */
+
+      out_buf[(RAND_BELOW(end - begin) + begin)] -= 1 + RAND_BELOW(ARITH_MAX);
+
+      break;
+
+    }
+
+    case 6: {
+
+      /* Randomly add to byte. */
+
+      out_buf[(RAND_BELOW(end - begin) + begin)] += 1 + RAND_BELOW(ARITH_MAX);
+
+      break;
+
+    }
+
+    case 7: {
+
+      /* Randomly subtract from word, random endian. */
+
+      if (end - begin < 2) break;
+
+      s32 byte_idx = (RAND_BELOW(end - begin) + begin);
+
+      if (byte_idx >= end - 1) break;
+
+      if (RAND_BELOW(2)) {
+
+        *(u16 *)(out_buf + byte_idx) -= 1 + RAND_BELOW(ARITH_MAX);
+
+      } else {
+
+        u16 num = 1 + RAND_BELOW(ARITH_MAX);
+
+        *(u16 *)(out_buf + byte_idx) =
+            SWAP16(SWAP16(*(u16 *)(out_buf + byte_idx)) - num);
+
+      }
+
+      break;
+
+    }
+
+    case 8: {
+
+      /* Randomly add to word, random endian. */
+
+      if (end - begin < 2) break;
+
+      s32 byte_idx = (RAND_BELOW(end - begin) + begin);
+
+      if (byte_idx >= end - 1) break;
+
+      if (RAND_BELOW(2)) {
+
+        *(u16 *)(out_buf + byte_idx) += 1 + RAND_BELOW(ARITH_MAX);
+
+      } else {
+
+        u16 num = 1 + RAND_BELOW(ARITH_MAX);
+
+        *(u16 *)(out_buf + byte_idx) =
+            SWAP16(SWAP16(*(u16 *)(out_buf + byte_idx)) + num);
+
+      }
+
+      break;
+
+    }
+
+    case 9: {
+
+      /* Randomly subtract from dword, random endian. */
+
+      if (end - begin < 4) break;
+
+      s32 byte_idx = (RAND_BELOW(end - begin) + begin);
+
+      if (byte_idx >= end - 3) break;
+
+      if (RAND_BELOW(2)) {
+
+        *(u32 *)(out_buf + byte_idx) -= 1 + RAND_BELOW(ARITH_MAX);
+
+      } else {
+
+        u32 num = 1 + RAND_BELOW(ARITH_MAX);
+
+        *(u32 *)(out_buf + byte_idx) =
+            SWAP32(SWAP32(*(u32 *)(out_buf + byte_idx)) - num);
+
+      }
+
+      break;
+
+    }
+
+    case 10: {
+
+      /* Randomly add to dword, random endian. */
+
+      if (end - begin < 4) break;
+
+      s32 byte_idx = (RAND_BELOW(end - begin) + begin);
+
+      if (byte_idx >= end - 3) break;
+
+      if (RAND_BELOW(2)) {
+
+        *(u32 *)(out_buf + byte_idx) += 1 + RAND_BELOW(ARITH_MAX);
+
+      } else {
+
+        u32 num = 1 + RAND_BELOW(ARITH_MAX);
+
+        *(u32 *)(out_buf + byte_idx) =
+            SWAP32(SWAP32(*(u32 *)(out_buf + byte_idx)) + num);
+
+      }
+
+      break;
+
+    }
+
+    case 11: {
+
+      /* Just set a random byte to a random value. Because,
+         why not. We use XOR with 1-255 to eliminate the
+         possibility of a no-op. */
+
+      out_buf[(RAND_BELOW(end - begin) + begin)] ^= 1 + RAND_BELOW(255);
+
+      break;
+
+    }
+
+  }
+
+}
+
+/* This function calculates the next power of 2 greater or equal its argument.
+ @return The rounded up power of 2 (if no overflow) or 0 on overflow.
+*/
+static inline size_t next_pow2(size_t in) {
+
+  if (in == 0 || in > (size_t)-1)
+    return 0;                  /* avoid undefined behaviour under-/overflow */
+  size_t out = in - 1;
+  out |= out >> 1;
+  out |= out >> 2;
+  out |= out >> 4;
+  out |= out >> 8;
+  out |= out >> 16;
+  return out + 1;
+
+}
+
+/* This function makes sure *size is > size_needed after call.
+ It will realloc *buf otherwise.
+ *size will grow exponentially as per:
+ https://blog.mozilla.org/nnethercote/2014/11/04/please-grow-your-buffers-exponentially/
+ Will return NULL and free *buf if size_needed is <1 or realloc failed.
+ @return For convenience, this function returns *buf.
+ */
+static inline void *maybe_grow(void **buf, size_t *size, size_t size_needed) {
+
+  /* No need to realloc */
+  if (likely(size_needed && *size >= size_needed)) return *buf;
+
+  /* No initial size was set */
+  if (size_needed < INITIAL_GROWTH_SIZE) size_needed = INITIAL_GROWTH_SIZE;
+
+  /* grow exponentially */
+  size_t next_size = next_pow2(size_needed);
+
+  /* handle overflow */
+  if (!next_size) { next_size = size_needed; }
+
+  /* alloc */
+  *buf = realloc(*buf, next_size);
+  *size = *buf ? next_size : 0;
+
+  return *buf;
+
+}
+
+/* Swaps buf1 ptr and buf2 ptr, as well as their sizes */
+static inline void swap_bufs(void **buf1, size_t *size1, void **buf2,
+                             size_t *size2) {
+
+  void * scratch_buf = *buf1;
+  size_t scratch_size = *size1;
+  *buf1 = *buf2;
+  *size1 = *size2;
+  *buf2 = scratch_buf;
+  *size2 = scratch_size;
+
+}
+
+#undef INITIAL_GROWTH_SIZE
+
+#endif
+
diff --git a/custom_mutators/radamsa/libradamsa-test.c b/custom_mutators/radamsa/libradamsa-test.c
new file mode 100644
index 00000000..8a45f9b2
--- /dev/null
+++ b/custom_mutators/radamsa/libradamsa-test.c
@@ -0,0 +1,81 @@
+#include <radamsa.h>
+#include <stdio.h>
+#include <inttypes.h>
+#include <string.h>
+#include <stdlib.h>
+#include <sys/mman.h>
+#include <sys/types.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <sys/stat.h>
+
+size_t filesize(char *filename) {
+
+  struct stat st;
+  stat(filename, &st);
+  return st.st_size;
+
+}
+
+#define BUFSIZE 1024 * 1024
+
+void fail(char *why) {
+
+  printf("fail: %s\n", why);
+  exit(1);
+
+}
+
+void write_output(char *data, size_t len, int num) {
+
+  char path[32];
+  int  fd;
+  int  wrote;
+  sprintf(path, "/tmp/libradamsa-%d.fuzz", num);
+  fd = open(path, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR);
+  printf("Opened %s -> %d\n", path, fd);
+  if (fd < 0) { fail("failed to open output file"); }
+  wrote = write(fd, data, len);
+  printf("wrote %d of %zu bytes\n", wrote, len);
+  if (wrote != len) { fail("failed to write all of output at once"); }
+  close(fd);
+  printf("Wrote %zu bytes to %s\n", len, path);
+
+}
+
+int main(int nargs, char **argv) {
+
+  char * spath = argv[1];
+  int    fd = open(spath, O_RDONLY, 0);
+  size_t len;
+  char * input;
+  char * output;
+  int    seed = 0;
+  if (fd < 0) { fail("cannot open input file"); }
+  len = filesize(spath);
+  input = malloc(len);
+  output = malloc(BUFSIZE);
+  if (!input || !output) { fail("failed to allocate buffers\n"); }
+  radamsa_init();
+  if (len != read(fd, input, len)) {
+
+    fail("failed to read the entire sample at once");
+
+  }
+
+  while (seed++ < 100) {
+
+    size_t n;
+    n = radamsa((uint8_t *)input, len, (uint8_t *)output, BUFSIZE, seed);
+    write_output(output, n, seed);
+    printf("Fuzzed %zu -> %zu bytes\n", len, n);
+
+  }
+
+  printf("library test passed\n");
+  free(output);
+  free(input);
+  return 0;
+
+}
+
diff --git a/custom_mutators/radamsa/libradamsa.c b/custom_mutators/radamsa/libradamsa.c
new file mode 100644
index 00000000..792eea35
--- /dev/null
+++ b/custom_mutators/radamsa/libradamsa.c
@@ -0,0 +1,61880 @@
+static const unsigned char heap[] = {
+
+    2,   3,   4,   105, 111, 116, 97,  2,   3,   7,   112, 97,  116, 116, 101,
+    114, 110, 2,   3,   1,   61,  2,   3,   1,   47,  2,   3,   1,   60,  2,
+    3,   2,   60,  60,  2,   3,   2,   62,  62,  2,   3,   4,   116, 121, 112,
+    101, 1,   4,   1,   8,   1,   4,   1,   8,   1,   4,   1,   7,   1,   4,
+    1,   9,   1,   4,   1,   8,   1,   4,   1,   7,   1,   4,   1,   9,   1,
+    4,   1,   8,   2,   3,   5,   101, 114, 114, 111, 114, 1,   4,   1,   1,
+    2,   3,   4,   98,  97,  110, 100, 1,   4,   1,   1,   2,   3,   4,   98,
+    120, 111, 114, 1,   4,   1,   1,   2,   3,   4,   100, 111, 110, 101, 1,
+    4,   1,   1,   2,   3,   4,   114, 111, 111, 116, 1,   4,   1,   1,   2,
+    3,   8,   102, 105, 110, 105, 115, 104, 101, 100, 1,   4,   1,   1,   2,
+    3,   7,   99,  114, 97,  115, 104, 101, 100, 1,   4,   1,   1,   2,   3,
+    9,   100, 101, 108, 105, 118, 101, 114, 101, 100, 1,   4,   1,   1,   2,
+    3,   5,   105, 111, 109, 117, 120, 1,   4,   1,   1,   2,   3,   4,   101,
+    120, 112, 116, 1,   4,   1,   1,   2,   3,   3,   105, 110, 99,  1,   4,
+    1,   1,   2,   3,   8,   97,  110, 111, 110, 105, 109, 97,  115, 1,   4,
+    1,   1,   2,   3,   3,   109, 117, 108, 1,   4,   1,   1,   2,   3,   12,
+    109, 101, 109, 111, 114, 121, 45,  108, 105, 109, 105, 116, 1,   4,   1,
+    1,   2,   3,   8,   113, 117, 111, 116, 105, 101, 110, 116, 1,   4,   1,
+    1,   2,   3,   7,   107, 105, 108, 108, 105, 110, 103, 1,   4,   1,   1,
+    2,   3,   9,   107, 105, 108, 108, 101, 100, 45,  98,  121, 1,   4,   1,
+    1,   2,   3,   12,  113, 114, 45,  98,  105, 103, 45,  115, 109, 97,  108,
+    108, 1,   4,   1,   1,   2,   3,   9,   110, 101, 103, 97,  116, 105, 118,
+    101, 63,  1,   4,   1,   1,   2,   3,   7,   114, 101, 115, 117, 109, 101,
+    100, 1,   4,   1,   1,   2,   3,   8,   114, 101, 108, 101, 97,  115, 101,
+    100, 1,   4,   1,   1,   2,   3,   5,   119, 114, 105, 116, 101, 1,   4,
+    1,   1,   2,   3,   9,   114, 101, 109, 97,  105, 110, 100, 101, 114, 1,
+    4,   1,   1,   2,   3,   2,   116, 99,  2,   3,   17,  97,  108, 114, 101,
+    97,  100, 121, 45,  112, 114, 111, 102, 105, 108, 105, 110, 103, 2,   3,
+    4,   112, 114, 111, 102, 2,   3,   17,  115, 116, 97,  114, 116, 101, 100,
+    45,  112, 114, 111, 102, 105, 108, 105, 110, 103, 2,   3,   22,  110, 111,
+    116, 45,  112, 114, 111, 102, 105, 108, 105, 110, 103, 45,  121, 111, 117,
+    45,  102, 111, 111, 108, 1,   4,   1,   5,   1,   4,   1,   5,   1,   4,
+    1,   5,   1,   4,   1,   5,   1,   4,   1,   5,   2,   3,   14,  110, 111,
+    116, 45,  97,  45,  102, 117, 110, 99,  116, 105, 111, 110, 1,   4,   1,
+    1,   2,   3,   2,   111, 102, 1,   4,   1,   1,   2,   3,   4,   112, 108,
+    117, 115, 1,   4,   1,   1,   2,   3,   3,   116, 97,  103, 1,   4,   1,
+    1,   2,   3,   9,   116, 114, 117, 110, 99,  97,  116, 101, 47,  1,   4,
+    1,   1,   2,   3,   4,   114, 101, 97,  100, 1,   4,   1,   1,   2,   3,
+    12,  114, 101, 97,  100, 45,  116, 105, 109, 101, 111, 117, 116, 2,   3,
+    7,   116, 105, 109, 101, 111, 117, 116, 2,   3,   5,   97,  108, 97,  114,
+    109, 1,   4,   1,   3,   1,   4,   1,   3,   1,   4,   1,   3,   2,   3,
+    4,   98,  121, 116, 101, 1,   4,   1,   1,   2,   3,   8,   98,  97,  100,
+    45,  98,  121, 116, 101, 1,   4,   1,   1,   2,   3,   5,   99,  108, 111,
+    115, 101, 2,   3,   4,   111, 112, 101, 110, 1,   4,   1,   2,   1,   4,
+    1,   2,   2,   3,   4,   98,  105, 111, 114, 1,   4,   1,   1,   2,   16,
+    3,   0,   5,   186, 2,   16,  3,   0,   5,   185, 2,   16,  3,   0,   5,
+    184, 2,   16,  3,   0,   5,   183, 2,   16,  3,   0,   5,   182, 2,   16,
+    3,   0,   5,   181, 2,   16,  3,   0,   5,   180, 2,   16,  3,   0,   5,
+    179, 2,   16,  3,   0,   5,   178, 2,   16,  3,   0,   5,   177, 2,   16,
+    3,   0,   5,   176, 2,   16,  3,   0,   5,   175, 2,   16,  3,   0,   5,
+    174, 2,   16,  3,   0,   5,   173, 2,   16,  3,   0,   5,   172, 2,   16,
+    28,  2,   1,   0,   23,  1,   1,   4,   4,   1,   1,   3,   5,   1,   1,
+    2,   6,   9,   5,   3,   5,   4,   5,   6,   4,   3,   5,   3,   61,  2,
+    16,  35,  2,   3,   0,   30,  16,  4,   24,  0,   10,  0,   6,   21,  4,
+    6,   7,   8,   1,   1,   2,   9,   70,  5,   3,   7,   3,   5,   3,   13,
+    4,   3,   9,   2,   24,  4,   61,  2,   16,  27,  2,   2,   0,   22,  1,
+    1,   2,   5,   138, 2,   6,   205, 7,   5,   5,   10,  4,   5,   5,   6,
+    4,   7,   6,   3,   10,  5,   61,  2,   16,  110, 2,   2,   0,   10,  1,
+    1,   2,   5,   9,   4,   3,   3,   5,   1,   2,   3,   0,   12,  1,   1,
+    2,   6,   5,   4,   3,   5,   4,   3,   6,   2,   2,   4,   0,   15,  1,
+    1,   2,   7,   9,   4,   3,   5,   5,   4,   6,   5,   3,   7,   3,   2,
+    5,   0,   17,  1,   1,   2,   8,   5,   4,   3,   5,   4,   5,   6,   5,
+    7,   6,   3,   8,   4,   2,   6,   0,   20,  1,   1,   2,   9,   9,   4,
+    3,   5,   5,   4,   6,   5,   5,   7,   6,   8,   7,   3,   9,   5,   25,
+    0,   0,   11,  1,   2,   2,   4,   1,   2,   3,   3,   3,   4,   1,   61,
+    2,   16,  3,   0,   5,   171, 2,   16,  3,   0,   5,   170, 2,   16,  3,
+    0,   5,   169, 2,   16,  3,   0,   5,   168, 2,   16,  3,   0,   5,   167,
+    2,   16,  25,  2,   2,   0,   20,  1,   1,   4,   5,   1,   1,   3,   6,
+    1,   1,   2,   7,   27,  4,   5,   6,   7,   8,   24,  8,   61,  2,   16,
+    3,   0,   5,   166, 2,   16,  3,   0,   5,   165, 2,   16,  25,  2,   3,
+    0,   20,  1,   1,   2,   6,   138, 1,   7,   5,   6,   9,   5,   6,   5,
+    4,   5,   7,   4,   3,   9,   4,   61,  2,   16,  3,   0,   5,   164, 2,
+    16,  3,   0,   5,   163, 2,   16,  3,   0,   5,   162, 2,   16,  25,  2,
+    1,   0,   20,  1,   1,   2,   4,   10,  3,   5,   141, 6,   9,   4,   9,
+    5,   5,   4,   6,   5,   3,   9,   4,   61,  2,   16,  3,   0,   5,   161,
+    2,   16,  3,   0,   5,   160, 2,   16,  3,   0,   5,   159, 2,   16,  3,
+    0,   5,   158, 2,   16,  29,  2,   1,   0,   24,  1,   1,   2,   4,   10,
+    6,   5,   205, 6,   141, 7,   5,   4,   9,   5,   4,   5,   6,   5,   7,
+    6,   3,   9,   4,   61,  2,   16,  3,   0,   5,   157, 2,   16,  3,   0,
+    5,   156, 2,   16,  3,   0,   5,   155, 2,   16,  3,   0,   5,   154, 2,
+    16,  3,   0,   5,   153, 2,   16,  3,   0,   5,   152, 2,   16,  3,   0,
+    5,   151, 2,   16,  37,  2,   3,   0,   7,   1,   1,   2,   6,   3,   6,
+    3,   2,   2,   0,   21,  1,   1,   3,   5,   23,  2,   0,   5,   6,   1,
+    1,   2,   7,   5,   4,   5,   6,   4,   3,   7,   3,   61,  2,   16,  3,
+    0,   5,   150, 2,   16,  3,   0,   5,   149, 2,   16,  3,   0,   5,   148,
+    2,   16,  3,   0,   5,   147, 2,   16,  3,   0,   5,   146, 2,   16,  3,
+    0,   5,   145, 2,   16,  3,   0,   5,   144, 2,   16,  3,   0,   5,   143,
+    2,   16,  3,   0,   5,   142, 2,   16,  3,   0,   5,   141, 2,   16,  3,
+    0,   5,   140, 2,   16,  3,   0,   5,   139, 2,   16,  3,   0,   5,   138,
+    2,   16,  3,   0,   5,   137, 2,   16,  3,   0,   5,   136, 2,   16,  3,
+    0,   5,   135, 2,   16,  3,   0,   5,   134, 2,   16,  3,   0,   5,   133,
+    2,   16,  3,   0,   5,   132, 2,   16,  3,   0,   5,   131, 2,   16,  3,
+    0,   5,   130, 2,   16,  3,   0,   5,   129, 2,   16,  3,   0,   5,   128,
+    2,   16,  3,   0,   5,   127, 2,   16,  3,   0,   5,   126, 2,   16,  3,
+    0,   5,   125, 2,   16,  3,   0,   5,   124, 2,   16,  3,   0,   5,   123,
+    2,   16,  3,   0,   5,   122, 2,   16,  3,   0,   5,   121, 2,   16,  3,
+    0,   5,   120, 2,   16,  3,   0,   5,   119, 2,   16,  3,   0,   5,   118,
+    2,   16,  3,   0,   5,   117, 2,   16,  23,  2,   3,   0,   7,   1,   1,
+    2,   6,   3,   6,   3,   25,  1,   0,   7,   1,   1,   3,   5,   3,   5,
+    2,   61,  2,   16,  3,   0,   5,   116, 2,   16,  3,   0,   5,   115, 2,
+    16,  3,   0,   5,   114, 2,   16,  3,   0,   5,   113, 2,   16,  3,   0,
+    5,   112, 2,   16,  3,   0,   5,   111, 2,   16,  3,   0,   5,   110, 2,
+    16,  3,   0,   5,   109, 2,   16,  3,   0,   5,   108, 2,   16,  3,   0,
+    5,   107, 2,   16,  27,  2,   3,   0,   22,  1,   1,   2,   6,   198, 4,
+    3,   5,   3,   3,   1,   1,   4,   8,   5,   4,   5,   8,   4,   3,   6,
+    3,   61,  2,   16,  3,   0,   5,   106, 2,   16,  3,   0,   5,   105, 2,
+    16,  3,   0,   5,   104, 2,   16,  3,   0,   5,   103, 2,   16,  3,   0,
+    5,   102, 2,   16,  3,   0,   5,   101, 2,   16,  3,   0,   5,   100, 2,
+    16,  3,   0,   5,   99,  2,   16,  3,   0,   5,   98,  2,   16,  3,   0,
+    5,   97,  2,   16,  3,   0,   5,   96,  2,   16,  3,   0,   5,   95,  2,
+    16,  3,   0,   5,   94,  2,   16,  3,   0,   5,   93,  2,   16,  3,   0,
+    5,   92,  2,   16,  3,   0,   5,   91,  2,   16,  3,   0,   5,   90,  2,
+    16,  3,   0,   5,   89,  2,   16,  3,   0,   5,   88,  2,   16,  3,   0,
+    5,   87,  2,   16,  3,   0,   5,   86,  2,   16,  3,   0,   5,   85,  2,
+    16,  3,   0,   5,   84,  2,   16,  3,   0,   5,   83,  2,   16,  3,   0,
+    5,   82,  2,   16,  3,   0,   5,   81,  2,   16,  3,   0,   5,   80,  2,
+    16,  3,   0,   5,   79,  2,   16,  3,   0,   5,   78,  2,   16,  3,   0,
+    5,   77,  2,   16,  3,   0,   5,   76,  2,   16,  3,   0,   5,   75,  2,
+    16,  3,   0,   5,   74,  2,   16,  3,   0,   5,   73,  2,   16,  3,   0,
+    5,   72,  2,   16,  3,   0,   5,   71,  2,   16,  3,   0,   5,   70,  2,
+    16,  3,   0,   5,   69,  2,   16,  3,   0,   5,   68,  2,   16,  3,   0,
+    5,   67,  2,   16,  3,   0,   5,   66,  2,   16,  3,   0,   5,   65,  2,
+    16,  3,   0,   5,   64,  2,   16,  3,   0,   5,   63,  2,   16,  3,   0,
+    5,   62,  2,   16,  3,   0,   5,   61,  2,   16,  3,   0,   5,   60,  2,
+    16,  3,   0,   5,   59,  2,   16,  3,   0,   5,   58,  2,   16,  3,   0,
+    5,   57,  2,   16,  3,   0,   5,   56,  2,   16,  3,   0,   5,   55,  2,
+    16,  3,   0,   5,   54,  2,   16,  3,   0,   5,   53,  2,   16,  3,   0,
+    5,   52,  2,   16,  3,   0,   5,   51,  2,   16,  3,   0,   5,   50,  2,
+    16,  3,   0,   5,   49,  2,   16,  3,   0,   5,   48,  2,   16,  3,   0,
+    5,   47,  2,   16,  3,   0,   5,   46,  2,   16,  3,   0,   5,   45,  2,
+    16,  3,   0,   5,   44,  2,   16,  3,   0,   5,   43,  2,   16,  3,   0,
+    5,   42,  2,   16,  3,   0,   5,   41,  2,   16,  3,   0,   5,   40,  2,
+    16,  3,   0,   5,   39,  2,   16,  3,   0,   5,   38,  2,   16,  3,   0,
+    5,   37,  2,   16,  3,   0,   5,   36,  2,   16,  3,   0,   5,   35,  2,
+    16,  3,   0,   5,   34,  2,   16,  3,   0,   5,   33,  2,   16,  3,   0,
+    5,   32,  2,   16,  3,   0,   5,   31,  2,   16,  3,   0,   5,   30,  2,
+    16,  3,   0,   5,   29,  2,   16,  3,   0,   5,   28,  2,   16,  3,   0,
+    5,   27,  2,   16,  3,   0,   5,   26,  2,   16,  3,   0,   5,   25,  2,
+    16,  3,   0,   5,   24,  2,   16,  3,   0,   5,   23,  2,   16,  3,   0,
+    5,   22,  2,   16,  3,   0,   5,   21,  2,   16,  3,   0,   5,   20,  2,
+    16,  3,   0,   5,   19,  2,   16,  3,   0,   5,   18,  2,   16,  3,   0,
+    5,   17,  2,   16,  3,   0,   5,   16,  2,   16,  3,   0,   5,   15,  2,
+    16,  3,   0,   5,   14,  2,   16,  3,   0,   5,   13,  2,   16,  3,   0,
+    5,   12,  2,   16,  3,   0,   5,   11,  2,   16,  3,   0,   5,   10,  2,
+    16,  3,   0,   5,   9,   2,   16,  3,   0,   5,   8,   2,   16,  3,   0,
+    5,   7,   2,   16,  3,   0,   5,   6,   2,   16,  3,   0,   5,   5,   2,
+    16,  3,   0,   5,   4,   2,   16,  3,   0,   5,   3,   2,   16,  3,   0,
+    5,   2,   2,   16,  3,   0,   5,   1,   2,   16,  3,   0,   5,   0,   2,
+    16,  3,   0,   4,   255, 2,   16,  3,   0,   4,   254, 2,   16,  3,   0,
+    4,   253, 2,   16,  3,   0,   4,   252, 2,   16,  3,   0,   4,   251, 2,
+    16,  3,   0,   4,   250, 2,   16,  3,   0,   4,   249, 2,   16,  3,   0,
+    4,   248, 2,   16,  3,   0,   4,   247, 2,   16,  3,   0,   4,   246, 2,
+    16,  3,   0,   4,   245, 2,   16,  3,   0,   4,   244, 2,   16,  3,   0,
+    4,   243, 2,   16,  3,   0,   4,   242, 2,   16,  3,   0,   4,   241, 2,
+    16,  3,   0,   4,   240, 2,   16,  3,   0,   4,   239, 2,   16,  3,   0,
+    4,   238, 2,   16,  3,   0,   4,   237, 2,   16,  3,   0,   4,   236, 2,
+    16,  3,   0,   4,   235, 2,   16,  3,   0,   4,   234, 2,   16,  3,   0,
+    4,   233, 2,   16,  3,   0,   4,   232, 2,   16,  3,   0,   4,   231, 2,
+    16,  3,   0,   4,   230, 2,   16,  3,   0,   4,   229, 2,   16,  3,   0,
+    4,   228, 2,   16,  3,   0,   4,   227, 2,   16,  3,   0,   4,   226, 2,
+    16,  3,   0,   4,   225, 2,   16,  3,   0,   4,   224, 2,   16,  3,   0,
+    4,   223, 2,   16,  3,   0,   4,   222, 2,   16,  3,   0,   4,   221, 2,
+    16,  3,   0,   4,   220, 2,   16,  3,   0,   4,   219, 2,   16,  3,   0,
+    4,   218, 2,   16,  3,   0,   4,   217, 2,   16,  3,   0,   4,   216, 2,
+    16,  3,   0,   4,   215, 2,   16,  3,   0,   4,   214, 2,   16,  3,   0,
+    4,   213, 2,   16,  3,   0,   4,   212, 2,   16,  3,   0,   4,   211, 2,
+    16,  3,   0,   4,   210, 2,   16,  3,   0,   4,   209, 2,   16,  3,   0,
+    4,   208, 2,   16,  3,   0,   4,   207, 2,   16,  3,   0,   4,   206, 2,
+    16,  3,   0,   4,   205, 2,   16,  3,   0,   4,   204, 2,   16,  3,   0,
+    4,   203, 2,   16,  3,   0,   4,   202, 2,   16,  3,   0,   4,   201, 2,
+    16,  3,   0,   4,   200, 2,   16,  3,   0,   4,   199, 2,   16,  3,   0,
+    4,   198, 2,   16,  3,   0,   4,   197, 2,   16,  3,   0,   4,   196, 2,
+    16,  3,   0,   4,   195, 2,   16,  3,   0,   4,   194, 2,   16,  3,   0,
+    4,   193, 2,   16,  3,   0,   4,   192, 2,   16,  3,   0,   4,   191, 2,
+    16,  3,   0,   4,   190, 2,   16,  3,   0,   4,   189, 2,   16,  3,   0,
+    4,   188, 2,   16,  3,   0,   4,   187, 2,   16,  3,   0,   4,   186, 2,
+    16,  3,   0,   4,   185, 2,   16,  3,   0,   4,   184, 2,   16,  3,   0,
+    4,   183, 2,   16,  3,   0,   4,   182, 2,   16,  3,   0,   4,   181, 2,
+    16,  3,   0,   4,   180, 2,   16,  3,   0,   4,   179, 2,   16,  3,   0,
+    4,   178, 2,   16,  3,   0,   4,   177, 2,   16,  3,   0,   4,   176, 2,
+    16,  3,   0,   4,   175, 2,   16,  3,   0,   4,   174, 2,   16,  3,   0,
+    4,   173, 2,   16,  3,   0,   4,   172, 2,   16,  3,   0,   4,   171, 2,
+    16,  3,   0,   4,   170, 2,   16,  3,   0,   4,   169, 2,   16,  3,   0,
+    4,   168, 2,   16,  3,   0,   4,   167, 2,   16,  3,   0,   4,   166, 2,
+    16,  3,   0,   4,   165, 2,   16,  3,   0,   4,   164, 2,   16,  3,   0,
+    4,   163, 2,   16,  3,   0,   4,   162, 2,   16,  3,   0,   4,   161, 2,
+    16,  3,   0,   4,   160, 2,   16,  3,   0,   4,   159, 2,   16,  3,   0,
+    4,   158, 2,   16,  3,   0,   4,   157, 2,   16,  3,   0,   4,   156, 2,
+    16,  3,   0,   4,   155, 2,   16,  3,   0,   4,   154, 2,   16,  3,   0,
+    4,   153, 2,   16,  3,   0,   4,   152, 2,   16,  3,   0,   4,   151, 2,
+    16,  3,   0,   4,   150, 2,   16,  3,   0,   4,   149, 2,   16,  3,   0,
+    4,   148, 2,   16,  3,   0,   4,   147, 2,   16,  3,   0,   4,   146, 2,
+    16,  3,   0,   4,   145, 2,   16,  3,   0,   4,   144, 2,   16,  3,   0,
+    4,   143, 2,   16,  3,   0,   4,   142, 2,   16,  3,   0,   4,   141, 2,
+    16,  3,   0,   4,   140, 2,   16,  3,   0,   4,   139, 2,   16,  3,   0,
+    4,   138, 2,   16,  3,   0,   4,   137, 2,   16,  3,   0,   4,   136, 2,
+    16,  3,   0,   4,   135, 2,   16,  3,   0,   4,   134, 2,   16,  3,   0,
+    4,   133, 2,   16,  3,   0,   4,   132, 2,   16,  3,   0,   4,   131, 2,
+    16,  3,   0,   4,   130, 2,   16,  3,   0,   4,   129, 2,   16,  3,   0,
+    4,   128, 2,   16,  3,   0,   4,   127, 2,   16,  3,   0,   4,   126, 2,
+    16,  3,   0,   4,   125, 2,   16,  3,   0,   4,   124, 2,   16,  3,   0,
+    4,   123, 2,   16,  3,   0,   4,   122, 2,   16,  3,   0,   4,   121, 2,
+    16,  3,   0,   4,   120, 2,   16,  3,   0,   4,   119, 2,   16,  3,   0,
+    4,   118, 2,   16,  3,   0,   4,   117, 2,   16,  3,   0,   4,   116, 2,
+    16,  3,   0,   4,   115, 2,   16,  3,   0,   4,   114, 2,   16,  3,   0,
+    4,   113, 2,   16,  3,   0,   4,   112, 2,   16,  3,   0,   4,   111, 2,
+    16,  3,   0,   4,   110, 2,   16,  3,   0,   4,   109, 2,   16,  3,   0,
+    4,   108, 2,   16,  3,   0,   4,   107, 2,   16,  3,   0,   4,   106, 2,
+    16,  3,   0,   4,   105, 2,   16,  3,   0,   4,   104, 2,   16,  3,   0,
+    4,   103, 2,   16,  3,   0,   4,   102, 2,   16,  3,   0,   4,   101, 2,
+    16,  3,   0,   4,   100, 2,   16,  3,   0,   4,   99,  2,   16,  3,   0,
+    4,   98,  2,   16,  3,   0,   4,   97,  2,   16,  3,   0,   4,   96,  2,
+    16,  3,   0,   4,   95,  2,   16,  3,   0,   4,   94,  2,   16,  3,   0,
+    4,   93,  2,   16,  3,   0,   4,   92,  2,   16,  3,   0,   4,   91,  2,
+    16,  3,   0,   4,   90,  2,   16,  3,   0,   4,   89,  2,   16,  3,   0,
+    4,   88,  2,   16,  3,   0,   4,   87,  2,   16,  3,   0,   4,   86,  2,
+    16,  3,   0,   4,   85,  2,   16,  3,   0,   4,   84,  2,   16,  3,   0,
+    4,   83,  2,   16,  3,   0,   4,   82,  2,   16,  3,   0,   4,   81,  2,
+    16,  3,   0,   4,   80,  2,   16,  3,   0,   4,   79,  2,   16,  3,   0,
+    4,   78,  2,   16,  3,   0,   4,   77,  2,   16,  3,   0,   4,   76,  2,
+    16,  3,   0,   4,   75,  2,   16,  3,   0,   4,   74,  2,   16,  3,   0,
+    4,   73,  2,   16,  3,   0,   4,   72,  2,   16,  3,   0,   4,   71,  2,
+    16,  3,   0,   4,   70,  2,   16,  3,   0,   4,   69,  2,   16,  3,   0,
+    4,   68,  2,   16,  3,   0,   4,   67,  2,   16,  3,   0,   4,   66,  2,
+    16,  3,   0,   4,   65,  2,   16,  3,   0,   4,   64,  2,   16,  3,   0,
+    4,   63,  2,   16,  3,   0,   4,   62,  2,   16,  3,   0,   4,   61,  2,
+    16,  3,   0,   4,   60,  2,   16,  3,   0,   4,   59,  2,   16,  3,   0,
+    4,   58,  2,   16,  3,   0,   4,   57,  2,   16,  3,   0,   4,   56,  2,
+    16,  78,  2,   3,   0,   7,   1,   1,   2,   6,   3,   6,   3,   2,   2,
+    0,   2,   24,  4,   2,   1,   0,   4,   13,  4,   24,  4,   2,   4,   0,
+    18,  1,   1,   2,   7,   198, 4,   3,   4,   3,   3,   5,   5,   4,   6,
+    5,   3,   7,   3,   25,  1,   0,   26,  1,   1,   4,   5,   1,   1,   2,
+    6,   13,  7,   9,   5,   9,   5,   6,   10,  4,   6,   5,   7,   5,   10,
+    4,   3,   9,   4,   61,  2,   16,  54,  2,   3,   0,   7,   1,   1,   2,
+    6,   3,   6,   3,   2,   2,   0,   17,  1,   1,   2,   5,   13,  6,   9,
+    5,   8,   5,   4,   5,   6,   4,   3,   8,   3,   25,  3,   0,   17,  1,
+    1,   3,   7,   198, 4,   4,   4,   3,   3,   1,   1,   5,   4,   3,   7,
+    4,   61,  2,   16,  48,  2,   3,   0,   7,   1,   1,   2,   6,   3,   6,
+    3,   25,  3,   0,   17,  1,   1,   3,   7,   198, 4,   4,   4,   3,   3,
+    1,   1,   2,   4,   3,   7,   4,   2,   2,   0,   2,   24,  4,   2,   1,
+    0,   5,   10,  0,   4,   24,  4,   61,  2,   16,  54,  2,   3,   0,   7,
+    1,   1,   2,   6,   3,   6,   3,   2,   2,   0,   18,  1,   1,   2,   5,
+    10,  0,   6,   9,   5,   8,   5,   4,   5,   6,   4,   3,   8,   3,   25,
+    2,   0,   16,  1,   1,   3,   6,   198, 4,   4,   4,   3,   3,   9,   5,
+    4,   3,   6,   2,   61,  2,   16,  3,   0,   4,   55,  2,   16,  3,   0,
+    4,   54,  2,   16,  37,  2,   3,   0,   7,   1,   1,   2,   6,   3,   6,
+    3,   25,  2,   0,   21,  1,   2,   2,   6,   1,   1,   2,   7,   5,   6,
+    9,   5,   6,   5,   4,   5,   7,   4,   3,   9,   4,   61,  2,   16,  80,
+    2,   3,   0,   7,   1,   1,   2,   6,   3,   6,   3,   2,   2,   0,   2,
+    24,  4,   25,  2,   0,   21,  1,   2,   2,   6,   1,   1,   2,   7,   5,
+    6,   9,   5,   6,   5,   4,   5,   7,   4,   3,   9,   4,   2,   1,   0,
+    33,  1,   1,   3,   4,   208, 4,   2,   0,   24,  4,   1,   2,   3,   5,
+    1,   2,   4,   6,   1,   1,   2,   7,   9,   5,   8,   5,   6,   4,   7,
+    5,   3,   8,   3,   61,  2,   16,  3,   0,   4,   53,  2,   16,  3,   0,
+    4,   52,  2,   16,  3,   0,   4,   51,  2,   16,  3,   0,   4,   50,  2,
+    16,  3,   0,   4,   49,  2,   16,  3,   0,   4,   48,  2,   16,  3,   0,
+    4,   47,  2,   16,  3,   0,   4,   46,  2,   16,  3,   0,   4,   45,  2,
+    16,  3,   0,   4,   44,  2,   16,  3,   0,   4,   43,  2,   16,  3,   0,
+    4,   42,  2,   16,  3,   0,   4,   41,  2,   16,  3,   0,   4,   40,  2,
+    16,  3,   0,   4,   39,  2,   16,  3,   0,   4,   38,  2,   16,  3,   0,
+    4,   37,  2,   16,  67,  2,   1,   0,   62,  1,   2,   2,   4,   1,   1,
+    2,   5,   1,   1,   3,   6,   1,   1,   4,   7,   1,   1,   5,   8,   1,
+    1,   6,   9,   1,   1,   7,   10,  1,   1,   8,   11,  1,   1,   9,   12,
+    134, 10,  2,   3,   5,   6,   7,   8,   9,   10,  11,  12,  13,  5,   4,
+    8,   3,   4,   5,   6,   5,   13,  3,   3,   8,   3,   61,  2,   16,  3,
+    0,   4,   36,  2,   16,  3,   0,   4,   35,  2,   16,  48,  2,   1,   0,
+    43,  1,   2,   2,   4,   1,   1,   2,   5,   1,   1,   3,   6,   1,   1,
+    4,   7,   1,   1,   5,   8,   1,   1,   6,   9,   134, 8,   2,   3,   3,
+    5,   6,   7,   8,   9,   3,   5,   4,   7,   5,   4,   3,   7,   2,   61,
+    2,   16,  3,   0,   4,   34,  2,   16,  3,   0,   4,   33,  2,   16,  3,
+    0,   4,   32,  2,   16,  3,   0,   4,   31,  2,   16,  3,   0,   4,   30,
+    2,   16,  3,   0,   4,   29,  2,   16,  3,   0,   4,   28,  2,   16,  3,
+    0,   4,   27,  2,   16,  3,   0,   4,   26,  2,   16,  3,   0,   4,   25,
+    2,   16,  3,   0,   4,   24,  2,   16,  3,   0,   4,   23,  2,   16,  3,
+    0,   4,   22,  2,   16,  3,   0,   4,   21,  2,   16,  3,   0,   4,   20,
+    2,   16,  3,   0,   4,   19,  2,   16,  3,   0,   4,   18,  2,   16,  3,
+    0,   4,   17,  2,   16,  3,   0,   4,   16,  2,   16,  3,   0,   4,   15,
+    2,   16,  3,   0,   4,   14,  2,   16,  3,   0,   4,   13,  2,   16,  3,
+    0,   4,   12,  2,   16,  3,   0,   4,   11,  2,   16,  3,   0,   4,   10,
+    2,   16,  3,   0,   4,   9,   2,   16,  3,   0,   4,   8,   2,   16,  3,
+    0,   4,   7,   2,   16,  3,   0,   4,   6,   2,   16,  3,   0,   4,   5,
+    2,   16,  3,   0,   4,   4,   2,   16,  3,   0,   4,   3,   2,   16,  3,
+    0,   4,   2,   2,   16,  3,   0,   4,   1,   2,   16,  3,   0,   4,   0,
+    2,   16,  3,   0,   3,   255, 2,   16,  3,   0,   3,   254, 2,   16,  3,
+    0,   3,   253, 2,   16,  3,   0,   3,   252, 2,   16,  3,   0,   3,   251,
+    2,   16,  3,   0,   3,   250, 2,   16,  3,   0,   3,   249, 2,   16,  3,
+    0,   3,   248, 2,   16,  3,   0,   3,   247, 2,   16,  32,  2,   1,   0,
+    27,  1,   1,   2,   4,   51,  3,   4,   5,   10,  10,  6,   1,   1,   3,
+    7,   35,  6,   7,   5,   3,   1,   1,   4,   9,   3,   9,   1,   61,  2,
+    16,  3,   0,   3,   246, 2,   16,  3,   0,   3,   245, 2,   16,  31,  2,
+    1,   0,   26,  1,   1,   2,   4,   51,  3,   4,   5,   10,  10,  6,   10,
+    2,   7,   35,  6,   7,   5,   3,   1,   1,   3,   9,   3,   9,   1,   61,
+    2,   16,  3,   0,   3,   244, 2,   16,  3,   0,   3,   243, 2,   16,  3,
+    0,   3,   242, 2,   16,  3,   0,   3,   241, 2,   16,  3,   0,   3,   240,
+    2,   16,  3,   0,   3,   239, 2,   16,  3,   0,   3,   238, 2,   16,  3,
+    0,   3,   237, 2,   16,  3,   0,   3,   236, 2,   16,  24,  2,   1,   0,
+    19,  138, 10,  4,   1,   1,   2,   5,   35,  4,   5,   3,   3,   1,   1,
+    3,   7,   3,   7,   1,   61,  2,   16,  3,   0,   3,   235, 2,   16,  3,
+    0,   3,   234, 2,   16,  3,   0,   3,   233, 2,   16,  3,   0,   3,   232,
+    2,   16,  3,   0,   3,   231, 2,   16,  3,   0,   3,   230, 2,   16,  3,
+    0,   3,   229, 2,   16,  3,   0,   3,   228, 2,   16,  3,   0,   3,   227,
+    2,   16,  3,   0,   3,   226, 2,   16,  3,   0,   3,   225, 2,   16,  3,
+    0,   3,   224, 2,   16,  3,   0,   3,   223, 2,   16,  3,   0,   3,   222,
+    2,   16,  12,  25,  1,   0,   7,   1,   1,   2,   5,   3,   5,   2,   61,
+    2,   16,  3,   0,   3,   221, 2,   16,  3,   0,   3,   220, 2,   16,  3,
+    0,   3,   219, 2,   16,  3,   0,   3,   218, 2,   16,  3,   0,   3,   217,
+    2,   16,  3,   0,   3,   216, 2,   16,  3,   0,   3,   215, 2,   16,  3,
+    0,   3,   214, 2,   16,  3,   0,   3,   213, 2,   16,  3,   0,   3,   212,
+    2,   16,  3,   0,   3,   211, 2,   16,  3,   0,   3,   210, 2,   16,  3,
+    0,   3,   209, 2,   16,  3,   0,   3,   208, 2,   16,  3,   0,   3,   207,
+    2,   16,  3,   0,   3,   206, 2,   16,  3,   0,   3,   205, 2,   16,  3,
+    0,   3,   204, 2,   16,  3,   0,   3,   203, 2,   16,  3,   0,   3,   202,
+    2,   16,  3,   0,   3,   201, 2,   16,  3,   0,   3,   200, 2,   16,  3,
+    0,   3,   199, 2,   16,  3,   0,   3,   198, 2,   16,  3,   0,   3,   197,
+    2,   16,  3,   0,   3,   196, 2,   16,  3,   0,   3,   195, 2,   16,  3,
+    0,   3,   194, 2,   16,  3,   0,   3,   193, 2,   16,  3,   0,   3,   192,
+    2,   16,  3,   0,   3,   191, 2,   16,  3,   0,   3,   190, 2,   16,  3,
+    0,   3,   189, 2,   16,  3,   0,   3,   188, 2,   16,  3,   0,   3,   187,
+    2,   16,  3,   0,   3,   186, 2,   16,  3,   0,   3,   185, 2,   16,  3,
+    0,   3,   184, 2,   16,  3,   0,   3,   183, 2,   16,  3,   0,   3,   182,
+    2,   16,  3,   0,   3,   181, 2,   16,  3,   0,   3,   180, 2,   16,  3,
+    0,   3,   179, 2,   16,  3,   0,   3,   178, 2,   16,  3,   0,   3,   177,
+    2,   16,  3,   0,   3,   176, 2,   16,  3,   0,   3,   175, 2,   16,  12,
+    2,   7,   0,   7,   1,   1,   2,   10,  3,   10,  8,   61,  2,   16,  3,
+    0,   3,   174, 2,   16,  3,   0,   3,   173, 2,   16,  3,   0,   3,   172,
+    2,   16,  3,   0,   3,   171, 2,   16,  3,   0,   3,   170, 2,   16,  3,
+    0,   3,   169, 2,   16,  3,   0,   3,   168, 2,   16,  3,   0,   3,   167,
+    2,   16,  3,   0,   3,   166, 2,   16,  3,   0,   3,   165, 2,   16,  3,
+    0,   3,   164, 2,   16,  3,   0,   3,   163, 2,   16,  3,   0,   3,   162,
+    2,   16,  3,   0,   3,   161, 2,   16,  3,   0,   3,   160, 2,   16,  3,
+    0,   3,   159, 2,   16,  3,   0,   3,   158, 2,   16,  3,   0,   3,   157,
+    2,   16,  3,   0,   3,   156, 2,   16,  3,   0,   3,   155, 2,   16,  3,
+    0,   3,   154, 2,   16,  3,   0,   3,   153, 2,   16,  3,   0,   3,   152,
+    2,   16,  3,   0,   3,   151, 2,   16,  3,   0,   3,   150, 2,   16,  3,
+    0,   3,   149, 2,   16,  3,   0,   3,   148, 2,   16,  3,   0,   3,   147,
+    2,   16,  3,   0,   3,   146, 2,   16,  3,   0,   3,   145, 2,   16,  3,
+    0,   3,   144, 2,   16,  3,   0,   3,   143, 2,   16,  3,   0,   3,   142,
+    2,   16,  3,   0,   3,   141, 2,   16,  3,   0,   3,   140, 2,   16,  3,
+    0,   3,   139, 2,   16,  3,   0,   3,   138, 2,   16,  3,   0,   3,   137,
+    2,   16,  3,   0,   3,   136, 2,   16,  3,   0,   3,   135, 2,   16,  3,
+    0,   3,   134, 2,   16,  3,   0,   3,   133, 2,   16,  3,   0,   3,   132,
+    2,   16,  3,   0,   3,   131, 2,   16,  3,   0,   3,   130, 2,   16,  3,
+    0,   3,   129, 2,   16,  3,   0,   3,   128, 2,   16,  3,   0,   3,   127,
+    2,   16,  3,   0,   3,   126, 2,   16,  3,   0,   3,   125, 2,   16,  3,
+    0,   3,   124, 2,   16,  3,   0,   3,   123, 2,   16,  3,   0,   3,   122,
+    2,   16,  3,   0,   3,   121, 2,   16,  3,   0,   3,   120, 2,   16,  3,
+    0,   3,   119, 2,   16,  3,   0,   3,   118, 2,   16,  3,   0,   3,   117,
+    2,   16,  3,   0,   3,   116, 2,   16,  3,   0,   3,   115, 2,   16,  58,
+    2,   6,   0,   53,  80,  5,   36,  0,   208, 6,   11,  0,   169, 5,   9,
+    205, 6,   9,   9,   5,   3,   8,   6,   169, 4,   9,   169, 5,   5,   105,
+    4,   11,  51,  11,  7,   7,   141, 6,   9,   9,   4,   3,   8,   6,   1,
+    1,   2,   9,   198, 4,   3,   7,   3,   3,   3,   9,   2,   61,  2,   16,
+    21,  2,   2,   0,   16,  1,   1,   2,   5,   205, 6,   77,  7,   5,   5,
+    8,   4,   5,   3,   8,   6,   61,  2,   16,  20,  2,   3,   0,   15,  32,
+    5,   2,   6,   7,   51,  4,   6,   8,   51,  8,   7,   9,   24,  9,   61,
+    2,   16,  20,  2,   3,   0,   15,  32,  5,   2,   6,   7,   51,  4,   7,
+    8,   51,  6,   8,   9,   24,  9,   61,  2,   16,  25,  2,   2,   0,   20,
+    105, 3,   5,   169, 3,   6,   51,  6,   4,   4,   1,   1,   2,   8,   9,
+    5,   3,   3,   8,   2,   61,  2,   16,  85,  2,   3,   0,   80,  32,  4,
+    2,   6,   7,   80,  6,   18,  0,   105, 6,   8,   169, 6,   9,   51,  9,
+    7,   4,   5,   3,   7,   8,   3,   3,   7,   2,   80,  7,   37,  0,   169,
+    7,   8,   80,  8,   15,  0,   1,   1,   3,   9,   70,  3,   4,   3,   3,
+    9,   7,   4,   3,   9,   2,   105, 7,   9,   1,   1,   2,   4,   5,   3,
+    7,   9,   3,   3,   7,   2,   1,   1,   2,   4,   5,   3,   7,   5,   3,
+    3,   7,   2,   61,  2,   16,  3,   0,   3,   114, 2,   16,  3,   0,   3,
+    113, 2,   16,  3,   0,   3,   112, 2,   16,  3,   0,   3,   111, 2,   16,
+    3,   0,   3,   110, 2,   16,  3,   0,   3,   109, 2,   16,  3,   0,   3,
+    108, 2,   16,  3,   0,   3,   107, 2,   16,  3,   0,   3,   106, 2,   16,
+    3,   0,   3,   105, 2,   16,  3,   0,   3,   104, 2,   16,  3,   0,   3,
+    103, 2,   16,  3,   0,   3,   102, 2,   16,  3,   0,   3,   101, 2,   16,
+    3,   0,   3,   100, 2,   16,  3,   0,   3,   99,  2,   16,  3,   0,   3,
+    98,  2,   16,  3,   0,   3,   97,  2,   16,  3,   0,   3,   96,  2,   16,
+    3,   0,   3,   95,  2,   16,  3,   0,   3,   94,  2,   16,  3,   0,   3,
+    93,  2,   16,  3,   0,   3,   92,  2,   16,  3,   0,   3,   91,  2,   16,
+    3,   0,   3,   90,  2,   16,  3,   0,   3,   89,  2,   16,  3,   0,   3,
+    88,  2,   16,  3,   0,   3,   87,  2,   16,  3,   0,   3,   86,  2,   16,
+    3,   0,   3,   85,  2,   16,  3,   0,   3,   84,  2,   16,  3,   0,   3,
+    83,  2,   16,  3,   0,   3,   82,  2,   16,  3,   0,   3,   81,  2,   16,
+    3,   0,   3,   80,  2,   16,  3,   0,   3,   79,  2,   16,  3,   0,   3,
+    78,  2,   16,  3,   0,   3,   77,  2,   16,  3,   0,   3,   76,  2,   16,
+    3,   0,   3,   75,  2,   16,  3,   0,   3,   74,  2,   16,  3,   0,   3,
+    73,  2,   16,  3,   0,   3,   72,  2,   16,  3,   0,   3,   71,  2,   16,
+    3,   0,   3,   70,  2,   16,  3,   0,   3,   69,  2,   16,  3,   0,   3,
+    68,  2,   16,  3,   0,   3,   67,  2,   16,  3,   0,   3,   66,  2,   16,
+    3,   0,   3,   65,  2,   16,  3,   0,   3,   64,  2,   16,  3,   0,   3,
+    63,  2,   16,  3,   0,   3,   62,  2,   16,  3,   0,   3,   61,  2,   16,
+    3,   0,   3,   60,  2,   16,  3,   0,   3,   59,  2,   16,  3,   0,   3,
+    58,  2,   16,  3,   0,   3,   57,  2,   16,  3,   0,   3,   56,  2,   16,
+    36,  25,  2,   0,   31,  1,   1,   2,   6,   198, 4,   3,   4,   3,   7,
+    1,   1,   4,   4,   1,   1,   5,   9,   5,   6,   10,  5,   6,   5,   7,
+    3,   9,   5,   3,   10,  4,   61,  2,   16,  3,   0,   3,   55,  2,   16,
+    61,  2,   2,   0,   19,  1,   1,   2,   5,   1,   1,   3,   6,   9,   5,
+    8,   5,   4,   5,   6,   4,   3,   8,   3,   25,  1,   0,   33,  1,   1,
+    4,   5,   198, 3,   5,   3,   6,   1,   1,   6,   7,   1,   1,   7,   8,
+    9,   5,   9,   5,   6,   3,   4,   6,   5,   7,   4,   8,   5,   3,   9,
+    4,   61,  2,   16,  3,   0,   3,   54,  2,   16,  28,  2,   2,   0,   23,
+    1,   1,   2,   5,   1,   1,   3,   6,   205, 7,   5,   5,   9,   4,   5,
+    5,   6,   4,   7,   6,   3,   9,   4,   61,  2,   16,  28,  2,   1,   0,
+    23,  1,   2,   2,   4,   1,   1,   2,   5,   1,   2,   3,   6,   9,   4,
+    7,   5,   5,   3,   6,   4,   3,   7,   2,   61,  2,   16,  46,  2,   1,
+    0,   41,  1,   2,   2,   4,   1,   1,   2,   5,   1,   1,   3,   6,   1,
+    1,   4,   7,   1,   1,   5,   8,   134, 7,   2,   3,   5,   3,   6,   7,
+    8,   9,   9,   4,   7,   5,   3,   4,   9,   3,   3,   7,   2,   61,  2,
+    16,  14,  2,   1,   0,   9,   1,   1,   2,   4,   77,  3,   3,   4,   1,
+    61,  2,   16,  3,   0,   3,   53,  2,   16,  3,   0,   3,   52,  2,   16,
+    3,   0,   3,   51,  2,   16,  61,  2,   4,   0,   56,  80,  4,   42,  0,
+    105, 4,   7,   105, 7,   8,   1,   1,   2,   9,   8,   9,   8,   10,  0,
+    169, 4,   4,   51,  7,   5,   5,   3,   6,   4,   169, 4,   4,   1,   2,
+    2,   11,  6,   4,   2,   3,   7,   3,   3,   3,   11,  3,   205, 4,   5,
+    3,   8,   5,   3,   3,   8,   2,   61,  2,   16,  57,  2,   4,   0,   52,
+    80,  4,   28,  0,   105, 4,   7,   169, 7,   8,   8,   8,   5,   12,  0,
+    169, 4,   4,   70,  4,   6,   7,   3,   3,   3,   6,   4,   169, 4,   9,
+    24,  9,   1,   1,   2,   7,   70,  3,   3,   3,   3,   1,   1,   4,   4,
+    1,   1,   5,   5,   3,   7,   3,   61,  2,   16,  24,  2,   1,   0,   19,
+    1,   1,   3,   4,   1,   1,   2,   5,   7,   4,   5,   3,   1,   1,   4,
+    7,   3,   7,   1,   61,  2,   16,  59,  2,   2,   0,   54,  169, 4,   5,
+    32,  5,   2,   6,   7,   32,  5,   3,   8,   9,   10,  1,   1,   2,   11,
+    6,   5,   2,   5,   11,  9,   3,   12,  8,   9,   11,  5,   0,   205, 3,
+    3,   12,  1,   1,   2,   2,   13,  1,   2,   3,   4,   1,   2,   4,   5,
+    9,   12,  3,   3,   13,  3,   61,  2,   16,  22,  2,   3,   0,   17,  1,
+    1,   2,   6,   198, 3,   3,   5,   7,   5,   4,   5,   7,   4,   3,   6,
+    3,   61,  2,   16,  34,  2,   1,   0,   29,  1,   1,   5,   4,   1,   1,
+    4,   5,   1,   1,   3,   6,   1,   1,   2,   7,   5,   4,   8,   5,   3,
+    5,   6,   4,   7,   5,   3,   8,   3,   61,  2,   16,  45,  2,   1,   0,
+    40,  1,   2,   2,   4,   1,   1,   4,   5,   1,   1,   5,   6,   1,   1,
+    6,   7,   6,   5,   2,   3,   5,   6,   7,   3,   1,   1,   3,   9,   1,
+    1,   2,   5,   5,   4,   11,  9,   4,   3,   11,  3,   61,  2,   16,  129,
+    29,  2,   2,   0,   152, 32,  4,   2,   5,   6,   32,  6,   2,   7,   8,
+    10,  0,   9,   47,  8,   9,   10,  1,   2,   2,   11,  8,   10,  11,  88,
+    0,   1,   2,   5,   12,  8,   10,  12,  39,  0,   1,   2,   7,   13,  1,
+    1,   2,   14,  1,   1,   3,   15,  1,   1,   4,   16,  6,   6,   2,   8,
+    14,  15,  3,   16,  3,   1,   2,   9,   4,   1,   2,   10,  5,   9,   8,
+    6,   3,   13,  4,   32,  8,   3,   13,  14,  15,  1,   2,   3,   16,  1,
+    1,   2,   17,  1,   1,   3,   18,  1,   1,   4,   19,  134, 7,   2,   6,
+    6,   17,  18,  3,   19,  3,   5,   7,   4,   8,   5,   3,   16,  3,   32,
+    8,   2,   12,  13,  1,   2,   3,   14,  1,   1,   2,   15,  1,   1,   3,
+    16,  1,   1,   4,   17,  6,   6,   2,   4,   15,  16,  3,   17,  3,   5,
+    7,   4,   8,   5,   3,   14,  3,   61,  2,   16,  48,  2,   2,   0,   43,
+    32,  4,   2,   5,   6,   32,  6,   2,   7,   8,   1,   2,   2,   9,   1,
+    1,   2,   10,  1,   1,   3,   11,  1,   1,   4,   12,  6,   6,   2,   3,
+    10,  3,   11,  12,  3,   5,   7,   4,   8,   5,   3,   9,   3,   61,  2,
+    16,  66,  2,   1,   0,   61,  1,   1,   3,   4,   1,   1,   4,   5,   1,
+    1,   5,   6,   1,   1,   6,   7,   1,   1,   7,   8,   134, 7,   2,   3,
+    4,   5,   6,   7,   8,   9,   1,   1,   2,   10,  208, 10,  18,  0,   169,
+    10,  11,  1,   2,   2,   12,  9,   4,   5,   5,   9,   3,   11,  4,   3,
+    12,  3,   205, 3,   3,   9,   1,   61,  2,   16,  58,  2,   2,   0,   53,
+    1,   1,   3,   5,   1,   1,   4,   6,   1,   1,   5,   7,   1,   1,   6,
+    8,   134, 8,   2,   3,   4,   5,   6,   3,   7,   8,   9,   1,   1,   2,
+    10,  208, 10,  13,  0,   169, 10,  4,   1,   2,   2,   12,  9,   9,   3,
+    3,   12,  3,   205, 3,   3,   9,   1,   61,  2,   16,  43,  2,   2,   0,
+    38,  1,   2,   2,   5,   1,   1,   3,   6,   1,   1,   4,   7,   1,   1,
+    5,   8,   134, 7,   2,   3,   4,   6,   7,   3,   8,   3,   1,   1,   2,
+    4,   5,   5,   8,   6,   5,   3,   8,   3,   61,  2,   16,  75,  2,   6,
+    0,   70,  10,  0,   9,   8,   8,   9,   45,  0,   138, 0,   10,  8,   8,
+    10,  18,  0,   1,   1,   2,   11,  198, 6,   5,   5,   7,   6,   3,   3,
+    9,   7,   5,   3,   11,  3,   1,   1,   2,   11,  198, 5,   4,   6,   4,
+    3,   3,   5,   5,   4,   7,   5,   3,   11,  3,   1,   1,   2,   10,  198,
+    5,   3,   6,   5,   3,   3,   9,   7,   5,   3,   10,  3,   61,  2,   16,
+    83,  2,   1,   0,   78,  208, 3,   47,  0,   1,   1,   2,   4,   169, 4,
+    5,   1,   1,   5,   6,   1,   1,   6,   7,   1,   1,   7,   8,   6,   4,
+    2,   2,   7,   8,   3,   1,   1,   4,   10,  1,   1,   3,   11,  5,   5,
+    4,   6,   7,   5,   10,  5,   11,  6,   3,   7,   5,   1,   1,   4,   4,
+    1,   1,   3,   5,   51,  4,   5,   6,   1,   1,   2,   7,   51,  6,   7,
+    3,   1,   1,   7,   9,   3,   9,   1,   61,  2,   16,  47,  2,   5,   0,
+    42,  80,  4,   26,  0,   105, 4,   8,   105, 8,   9,   1,   1,   2,   10,
+    198, 8,   3,   4,   6,   5,   7,   8,   3,   3,   9,   9,   4,   3,   10,
+    3,   51,  5,   6,   8,   77,  9,   51,  8,   9,   10,  24,  10,  61,  2,
+    16,  16,  2,   4,   0,   11,  10,  21,  7,   63,  7,   4,   5,   6,   8,
+    24,  8,   61,  2,   16,  50,  2,   1,   0,   45,  1,   2,   2,   4,   1,
+    1,   4,   5,   1,   1,   5,   6,   1,   1,   6,   7,   6,   5,   2,   3,
+    5,   6,   7,   8,   1,   1,   3,   9,   1,   1,   2,   6,   5,   4,   11,
+    3,   5,   5,   8,   3,   9,   4,   3,   11,  4,   61,  2,   16,  129, 62,
+    2,   5,   0,   185, 138, 0,   8,   47,  7,   8,   9,   10,  0,   10,  47,
+    9,   10,  11,  1,   1,   2,   12,  8,   11,  12,  136, 0,   1,   1,   3,
+    13,  8,   11,  13,  96,  0,   1,   1,   6,   14,  8,   11,  14,  61,  0,
+    1,   1,   7,   15,  8,   11,  15,  30,  0,   47,  7,   10,  16,  1,   1,
+    9,   17,  70,  6,   10,  6,   5,   4,   3,   3,   1,   1,   11,  4,   1,
+    1,   12,  5,   9,   16,  6,   3,   17,  4,   32,  9,   2,   16,  17,  1,
+    1,   4,   18,  198, 8,   8,   17,  7,   6,   5,   4,   3,   3,   3,   18,
+    1,   32,  9,   2,   15,  16,  51,  16,  7,   17,  51,  17,  5,   18,  5,
+    3,   8,   4,   3,   5,   6,   5,   18,  4,   3,   8,   3,   32,  9,   3,
+    14,  15,  16,  51,  15,  7,   17,  51,  17,  4,   18,  1,   1,   4,   19,
+    198, 8,   5,   16,  7,   6,   5,   18,  3,   3,   3,   19,  1,   32,  9,
+    2,   13,  14,  51,  14,  7,   15,  51,  15,  4,   16,  5,   3,   8,   5,
+    4,   5,   6,   5,   16,  3,   3,   8,   3,   61,  2,   16,  41,  2,   1,
+    0,   36,  1,   1,   6,   4,   1,   1,   5,   5,   1,   1,   4,   6,   1,
+    1,   3,   7,   1,   1,   2,   8,   9,   5,   3,   5,   7,   5,   4,   7,
+    5,   6,   4,   8,   6,   3,   7,   5,   61,  2,   16,  31,  2,   3,   0,
+    26,  1,   1,   3,   6,   1,   1,   2,   7,   5,   7,   10,  6,   7,   5,
+    5,   6,   4,   5,   5,   3,   4,   10,  3,   3,   7,   5,   61,  2,   16,
+    119, 2,   1,   0,   114, 32,  3,   2,   4,   5,   208, 4,   52,  0,   1,
+    2,   4,   6,   1,   1,   5,   7,   1,   1,   6,   8,   6,   4,   2,   5,
+    7,   8,   9,   1,   1,   4,   10,  1,   1,   3,   11,  1,   1,   2,   12,
+    9,   6,   13,  5,   4,   7,   5,   8,   5,   9,   3,   10,  4,   5,   11,
+    5,   12,  6,   3,   13,  6,   208, 5,   10,  0,   1,   1,   5,   6,   10,
+    1,   3,   3,   6,   1,   1,   2,   2,   6,   1,   1,   2,   7,   1,   1,
+    3,   8,   1,   1,   4,   9,   1,   1,   5,   10,  1,   1,   6,   11,  6,
+    7,   2,   3,   7,   8,   9,   10,  11,  3,   13,  4,   3,   6,   2,   61,
+    2,   16,  55,  2,   1,   0,   50,  1,   2,   2,   4,   1,   1,   2,   5,
+    1,   1,   3,   6,   1,   1,   4,   7,   1,   1,   5,   8,   1,   1,   6,
+    9,   134, 7,   2,   3,   5,   6,   7,   8,   9,   10,  9,   4,   9,   5,
+    6,   5,   3,   6,   5,   7,   4,   10,  3,   3,   9,   4,   61,  2,   16,
+    49,  2,   1,   0,   44,  1,   1,   2,   4,   1,   1,   3,   5,   1,   1,
+    4,   6,   1,   1,   5,   7,   1,   1,   6,   8,   134, 7,   2,   2,   4,
+    5,   6,   7,   8,   9,   208, 3,   5,   0,   205, 3,   3,   9,   1,   13,
+    3,   3,   9,   1,   61,  2,   16,  93,  2,   1,   0,   88,  208, 3,   47,
+    0,   1,   2,   4,   4,   1,   1,   5,   5,   1,   1,   6,   6,   6,   4,
+    2,   5,   5,   6,   7,   1,   1,   4,   8,   1,   1,   3,   5,   1,   1,
+    2,   6,   9,   4,   11,  5,   7,   12,  3,   7,   5,   8,   4,   12,  3,
+    3,   11,  5,   1,   2,   2,   4,   1,   1,   2,   5,   1,   1,   3,   6,
+    1,   1,   4,   7,   1,   1,   5,   8,   1,   1,   6,   9,   134, 7,   2,
+    3,   5,   6,   7,   8,   9,   3,   3,   4,   1,   61,  2,   16,  37,  2,
+    1,   0,   32,  1,   1,   2,   4,   1,   1,   3,   5,   1,   1,   4,   6,
+    1,   1,   5,   7,   1,   1,   6,   8,   134, 7,   2,   2,   4,   5,   6,
+    7,   8,   9,   24,  9,   61,  2,   16,  53,  2,   1,   0,   48,  1,   1,
+    2,   4,   1,   1,   3,   5,   1,   1,   4,   6,   1,   1,   5,   7,   1,
+    1,   6,   8,   134, 7,   2,   4,   4,   5,   6,   7,   8,   9,   208, 3,
+    7,   0,   1,   2,   3,   3,   3,   9,   1,   1,   2,   2,   3,   3,   9,
+    1,   61,  2,   16,  44,  2,   1,   0,   39,  1,   1,   2,   4,   169, 4,
+    5,   1,   1,   6,   6,   1,   1,   5,   7,   1,   1,   4,   8,   1,   1,
+    3,   9,   9,   7,   3,   5,   6,   7,   5,   6,   5,   8,   4,   9,   5,
+    3,   7,   5,   61,  2,   16,  32,  2,   2,   0,   27,  1,   1,   2,   5,
+    169, 5,   6,   1,   1,   5,   7,   1,   1,   4,   8,   1,   1,   3,   5,
+    5,   3,   4,   8,   3,   3,   7,   5,   61,  2,   16,  50,  2,   1,   0,
+    45,  1,   2,   2,   4,   1,   1,   4,   5,   1,   1,   5,   6,   1,   1,
+    6,   7,   1,   1,   7,   8,   6,   6,   2,   3,   5,   6,   7,   8,   3,
+    1,   1,   3,   10,  1,   1,   2,   5,   5,   4,   8,   10,  4,   3,   8,
+    3,   61,  2,   16,  55,  2,   1,   0,   50,  1,   2,   2,   4,   1,   1,
+    3,   5,   1,   1,   4,   6,   1,   1,   5,   7,   1,   1,   6,   8,   1,
+    1,   7,   9,   6,   7,   2,   3,   5,   6,   7,   8,   9,   3,   1,   1,
+    2,   11,  1,   2,   4,   5,   5,   4,   8,   11,  4,   3,   8,   3,   61,
+    2,   16,  119, 2,   1,   0,   114, 32,  3,   2,   4,   5,   208, 4,   52,
+    0,   1,   2,   4,   6,   1,   1,   5,   7,   1,   1,   6,   8,   6,   4,
+    2,   5,   7,   8,   9,   1,   1,   4,   10,  1,   1,   3,   11,  1,   1,
+    2,   12,  9,   6,   13,  5,   4,   7,   5,   8,   5,   9,   3,   10,  4,
+    5,   11,  5,   12,  6,   3,   13,  6,   208, 5,   10,  0,   1,   1,   5,
+    6,   138, 0,   3,   3,   6,   1,   1,   2,   2,   6,   1,   1,   2,   7,
+    1,   1,   3,   8,   1,   1,   4,   9,   1,   1,   5,   10,  1,   1,   6,
+    11,  6,   7,   2,   3,   7,   8,   9,   10,  11,  3,   13,  4,   3,   6,
+    2,   61,  2,   16,  62,  2,   1,   0,   57,  1,   1,   3,   4,   1,   1,
+    4,   5,   1,   1,   5,   6,   1,   1,   6,   7,   1,   1,   7,   8,   134,
+    7,   2,   4,   4,   5,   6,   7,   8,   9,   208, 3,   18,  0,   1,   2,
+    2,   10,  1,   1,   2,   11,  134, 4,   2,   3,   11,  9,   3,   3,   10,
+    2,   13,  3,   3,   9,   1,   61,  2,   16,  98,  2,   1,   0,   93,  208,
+    3,   47,  0,   1,   2,   4,   4,   1,   1,   6,   5,   1,   1,   7,   6,
+    6,   4,   2,   5,   5,   6,   7,   1,   1,   5,   8,   1,   1,   4,   5,
+    1,   1,   3,   6,   9,   4,   11,  5,   7,   12,  3,   7,   5,   8,   4,
+    12,  3,   3,   11,  5,   1,   2,   2,   4,   1,   1,   2,   5,   1,   1,
+    3,   6,   1,   1,   4,   7,   1,   1,   5,   8,   1,   1,   6,   9,   1,
+    1,   7,   10,  134, 8,   2,   3,   5,   6,   7,   8,   9,   10,  3,   3,
+    4,   1,   61,  2,   16,  129, 100, 2,   1,   0,   223, 208, 3,   42,  0,
+    1,   2,   12,  4,   1,   1,   2,   5,   1,   1,   3,   6,   1,   1,   4,
+    7,   1,   1,   5,   8,   1,   1,   6,   9,   1,   1,   7,   10,  134, 8,
+    2,   13,  5,   6,   7,   8,   9,   10,  3,   3,   4,   1,   1,   1,   3,
+    4,   105, 4,   5,   32,  5,   2,   6,   7,   32,  7,   2,   8,   9,   10,
+    0,   10,  47,  9,   10,  11,  1,   2,   2,   12,  8,   11,  12,  101, 0,
+    1,   2,   5,   13,  8,   11,  13,  45,  0,   1,   2,   8,   14,  1,   1,
+    4,   15,  1,   1,   5,   16,  1,   1,   6,   17,  1,   1,   7,   18,  134,
+    8,   2,   9,   8,   4,   15,  16,  17,  18,  3,   1,   2,   10,  4,   1,
+    2,   11,  5,   9,   9,   6,   3,   14,  4,   32,  9,   3,   14,  15,  16,
+    1,   2,   3,   17,  1,   1,   5,   18,  1,   1,   4,   19,  1,   1,   6,
+    20,  1,   1,   7,   21,  134, 8,   2,   6,   15,  18,  4,   19,  20,  21,
+    3,   1,   2,   7,   5,   9,   8,   4,   3,   17,  3,   32,  9,   2,   13,
+    14,  1,   2,   3,   15,  1,   1,   4,   16,  1,   1,   5,   17,  1,   1,
+    6,   18,  1,   1,   7,   19,  6,   7,   2,   4,   4,   16,  17,  18,  19,
+    3,   5,   8,   4,   12,  5,   3,   15,  3,   61,  2,   16,  57,  2,   1,
+    0,   52,  1,   2,   2,   4,   1,   1,   2,   5,   1,   1,   3,   6,   1,
+    1,   4,   7,   1,   1,   5,   8,   1,   1,   6,   9,   1,   1,   7,   10,
+    134, 8,   2,   3,   5,   6,   7,   8,   9,   10,  11,  5,   4,   8,   5,
+    4,   5,   3,   5,   11,  3,   3,   8,   3,   61,  2,   16,  55,  2,   5,
+    0,   50,  80,  6,   16,  0,   1,   1,   4,   8,   198, 7,   5,   6,   5,
+    4,   3,   7,   3,   3,   8,   1,   198, 7,   3,   6,   5,   4,   3,   7,
+    8,   80,  4,   5,   0,   205, 3,   3,   8,   1,   1,   1,   2,   9,   5,
+    5,   4,   8,   3,   3,   9,   2,   61,  2,   16,  22,  2,   1,   0,   17,
+    1,   1,   2,   4,   77,  5,   9,   4,   9,   5,   5,   4,   5,   6,   3,
+    9,   4,   61,  2,   16,  27,  25,  1,   0,   22,  198, 3,   3,   3,   5,
+    80,  4,   6,   0,   105, 4,   3,   3,   5,   1,   1,   1,   2,   3,   3,
+    5,   1,   61,  2,   16,  27,  2,   1,   0,   22,  1,   2,   2,   4,   1,
+    1,   2,   5,   10,  0,   6,   9,   4,   7,   5,   5,   3,   6,   4,   3,
+    7,   2,   61,  2,   16,  3,   0,   3,   50,  2,   16,  3,   0,   3,   49,
+    2,   16,  3,   0,   3,   48,  2,   16,  3,   0,   3,   47,  2,   16,  3,
+    0,   3,   46,  2,   16,  3,   0,   3,   45,  2,   16,  3,   0,   3,   44,
+    2,   16,  3,   0,   3,   43,  2,   16,  3,   0,   3,   42,  2,   16,  3,
+    0,   3,   41,  2,   16,  3,   0,   3,   40,  2,   16,  3,   0,   3,   39,
+    2,   16,  3,   0,   3,   38,  2,   16,  3,   0,   3,   37,  2,   16,  3,
+    0,   3,   36,  2,   16,  3,   0,   3,   35,  2,   16,  3,   0,   3,   34,
+    2,   16,  3,   0,   3,   33,  2,   16,  3,   0,   3,   32,  2,   16,  3,
+    0,   3,   31,  2,   16,  3,   0,   3,   30,  2,   16,  3,   0,   3,   29,
+    2,   16,  3,   0,   3,   28,  2,   16,  3,   0,   3,   27,  2,   16,  3,
+    0,   3,   26,  2,   16,  3,   0,   3,   25,  2,   16,  3,   0,   3,   24,
+    2,   16,  3,   0,   3,   23,  2,   16,  3,   0,   3,   22,  2,   16,  3,
+    0,   3,   21,  2,   16,  3,   0,   3,   20,  2,   16,  3,   0,   3,   19,
+    2,   16,  3,   0,   3,   18,  2,   16,  3,   0,   3,   17,  2,   16,  3,
+    0,   3,   16,  2,   16,  3,   0,   3,   15,  2,   16,  3,   0,   3,   14,
+    2,   16,  3,   0,   3,   13,  2,   16,  3,   0,   3,   12,  2,   16,  3,
+    0,   3,   11,  2,   16,  3,   0,   3,   10,  2,   16,  3,   0,   3,   9,
+    2,   16,  3,   0,   3,   8,   2,   16,  3,   0,   3,   7,   2,   16,  3,
+    0,   3,   6,   2,   16,  3,   0,   3,   5,   2,   16,  3,   0,   3,   4,
+    2,   16,  3,   0,   3,   3,   2,   16,  3,   0,   3,   2,   2,   16,  3,
+    0,   3,   1,   2,   16,  3,   0,   3,   0,   2,   16,  3,   0,   2,   255,
+    2,   16,  3,   0,   2,   254, 2,   16,  3,   0,   2,   253, 2,   16,  3,
+    0,   2,   252, 2,   16,  3,   0,   2,   251, 2,   16,  3,   0,   2,   250,
+    2,   16,  3,   0,   2,   249, 2,   16,  3,   0,   2,   248, 2,   16,  3,
+    0,   2,   247, 2,   16,  3,   0,   2,   246, 2,   16,  3,   0,   2,   245,
+    2,   16,  3,   0,   2,   244, 2,   16,  3,   0,   2,   243, 2,   16,  3,
+    0,   2,   242, 2,   16,  3,   0,   2,   241, 2,   16,  3,   0,   2,   240,
+    2,   16,  3,   0,   2,   239, 2,   16,  3,   0,   2,   238, 2,   16,  3,
+    0,   2,   237, 2,   16,  3,   0,   2,   236, 2,   16,  3,   0,   2,   235,
+    2,   16,  3,   0,   2,   234, 2,   16,  3,   0,   2,   233, 2,   16,  3,
+    0,   2,   232, 2,   16,  3,   0,   2,   231, 2,   16,  3,   0,   2,   230,
+    2,   16,  3,   0,   2,   229, 2,   16,  3,   0,   2,   228, 2,   16,  3,
+    0,   2,   227, 2,   16,  3,   0,   2,   226, 2,   16,  3,   0,   2,   225,
+    2,   16,  3,   0,   2,   224, 2,   16,  3,   0,   2,   223, 2,   16,  3,
+    0,   2,   222, 2,   16,  3,   0,   2,   221, 2,   16,  3,   0,   2,   220,
+    2,   16,  3,   0,   2,   219, 2,   16,  3,   0,   2,   218, 2,   16,  3,
+    0,   2,   217, 2,   16,  3,   0,   2,   216, 2,   16,  3,   0,   2,   215,
+    2,   16,  3,   0,   2,   214, 2,   16,  3,   0,   2,   213, 2,   16,  3,
+    0,   2,   212, 2,   16,  3,   0,   2,   211, 2,   16,  3,   0,   2,   210,
+    2,   16,  3,   0,   2,   209, 2,   16,  3,   0,   2,   208, 2,   16,  3,
+    0,   2,   207, 2,   16,  27,  2,   1,   0,   22,  1,   2,   2,   4,   1,
+    1,   2,   5,   138, 20,  6,   9,   4,   7,   5,   5,   3,   6,   4,   3,
+    7,   2,   61,  2,   16,  25,  2,   4,   0,   20,  1,   1,   2,   7,   198,
+    3,   3,   3,   3,   1,   1,   4,   4,   1,   1,   5,   5,   3,   7,   3,
+    61,  2,   16,  3,   0,   2,   206, 2,   16,  3,   0,   2,   205, 2,   16,
+    3,   0,   2,   204, 2,   16,  19,  2,   1,   0,   14,  1,   1,   2,   4,
+    141, 5,   5,   4,   7,   5,   4,   3,   7,   2,   61,  2,   16,  3,   0,
+    2,   203, 2,   16,  3,   0,   2,   202, 2,   16,  3,   0,   2,   201, 2,
+    16,  43,  2,   1,   0,   38,  1,   2,   2,   4,   1,   1,   4,   5,   6,
+    3,   2,   3,   5,   6,   1,   1,   3,   7,   1,   1,   2,   5,   9,   4,
+    9,   5,   6,   10,  3,   6,   5,   7,   4,   10,  3,   3,   9,   4,   61,
+    2,   16,  37,  2,   1,   0,   32,  1,   1,   2,   4,   1,   1,   4,   5,
+    1,   1,   5,   6,   6,   4,   2,   2,   5,   6,   7,   23,  2,   1,   4,
+    7,   4,   1,   1,   3,   9,   3,   9,   2,   61,  2,   16,  129, 13,  2,
+    1,   0,   136, 208, 3,   40,  0,   1,   2,   7,   4,   1,   1,   4,   5,
+    1,   1,   5,   6,   1,   1,   6,   7,   134, 5,   2,   8,   5,   6,   7,
+    3,   1,   1,   2,   9,   1,   1,   3,   5,   5,   4,   11,  9,   4,   3,
+    11,  3,   1,   1,   3,   4,   208, 4,   44,  0,   1,   2,   5,   5,   1,
+    1,   4,   6,   1,   1,   6,   7,   1,   1,   2,   8,   134, 6,   2,   6,
+    6,   7,   8,   4,   3,   1,   1,   5,   4,   1,   2,   4,   11,  9,   5,
+    12,  5,   6,   5,   11,  6,   3,   12,  4,   1,   2,   2,   5,   1,   1,
+    4,   6,   1,   1,   5,   7,   1,   1,   6,   8,   134, 5,   2,   3,   6,
+    7,   8,   3,   1,   1,   2,   4,   1,   2,   4,   11,  5,   5,   8,   11,
+    5,   3,   8,   3,   61,  2,   16,  22,  2,   4,   0,   17,  1,   1,   2,
+    7,   198, 6,   3,   6,   5,   4,   3,   3,   205, 6,   3,   7,   4,   61,
+    2,   16,  121, 2,   2,   0,   116, 208, 4,   58,  0,   1,   1,   2,   5,
+    51,  4,   5,   6,   1,   1,   3,   7,   169, 7,   8,   1,   1,   8,   9,
+    1,   1,   7,   10,  1,   1,   6,   11,  1,   1,   5,   12,  1,   1,   4,
+    13,  5,   6,   4,   3,   6,   5,   8,   7,   10,  3,   5,   9,   10,  11,
+    5,   5,   12,  8,   13,  9,   3,   10,  8,   1,   1,   3,   5,   169, 5,
+    6,   1,   1,   8,   7,   1,   1,   7,   8,   1,   1,   2,   9,   1,   1,
+    6,   10,  1,   1,   5,   11,  1,   1,   4,   12,  5,   10,  5,   7,   10,
+    5,   6,   7,   3,   6,   5,   8,   3,   9,   4,   5,   11,  8,   12,  9,
+    3,   10,  8,   61,  2,   16,  51,  2,   8,   0,   46,  80,  7,   29,  0,
+    105, 7,   11,  1,   1,   2,   12,  70,  9,   3,   4,   7,   9,   8,   5,
+    3,   10,  3,   9,   6,   4,   5,   8,   6,   11,  5,   3,   12,  4,   5,
+    6,   7,   5,   6,   5,   4,   5,   9,   4,   3,   4,   5,   61,  2,   16,
+    35,  2,   1,   0,   30,  1,   2,   2,   4,   1,   1,   3,   5,   1,   1,
+    2,   6,   77,  7,   9,   4,   9,   5,   3,   4,   5,   3,   5,   6,   5,
+    7,   6,   3,   9,   4,   61,  2,   16,  37,  2,   1,   0,   32,  1,   1,
+    5,   4,   1,   1,   4,   5,   1,   1,   3,   6,   1,   1,   2,   7,   9,
+    5,   10,  5,   6,   5,   7,   6,   5,   3,   7,   10,  3,   3,   4,   5,
+    61,  2,   16,  56,  2,   1,   0,   51,  1,   2,   2,   4,   1,   1,   7,
+    5,   1,   1,   6,   6,   1,   1,   5,   7,   1,   1,   4,   8,   1,   1,
+    3,   9,   1,   1,   2,   10,  5,   4,   12,  6,   4,   5,   3,   6,   5,
+    3,   5,   7,   5,   8,   7,   5,   9,   8,   10,  9,   3,   12,  7,   61,
+    2,   16,  3,   0,   2,   200, 2,   16,  70,  2,   1,   0,   65,  1,   2,
+    2,   4,   1,   1,   3,   5,   1,   1,   4,   6,   1,   1,   5,   7,   1,
+    1,   6,   8,   1,   1,   7,   9,   1,   1,   8,   10,  1,   1,   9,   11,
+    134, 9,   2,   3,   5,   6,   7,   8,   9,   10,  11,  12,  1,   1,   2,
+    13,  1,   2,   4,   5,   5,   4,   9,   3,   6,   5,   12,  3,   13,  4,
+    3,   9,   4,   61,  2,   16,  28,  2,   7,   0,   23,  1,   1,   2,   10,
+    198, 9,   3,   6,   7,   9,   8,   5,   4,   3,   3,   5,   6,   4,   7,
+    5,   3,   10,  3,   61,  2,   16,  46,  2,   4,   0,   41,  80,  4,   35,
+    0,   105, 4,   7,   10,  0,   8,   47,  7,   8,   9,   8,   9,   5,   15,
+    0,   105, 4,   10,  169, 4,   4,   70,  4,   2,   10,  3,   3,   3,   6,
+    4,   169, 4,   10,  24,  10,  24,  4,   61,  2,   16,  59,  2,   1,   0,
+    54,  1,   2,   2,   4,   1,   1,   7,   5,   1,   1,   6,   6,   1,   1,
+    5,   7,   1,   1,   4,   8,   1,   1,   3,   9,   1,   1,   2,   10,  9,
+    4,   12,  5,   5,   13,  3,   5,   5,   6,   4,   7,   6,   5,   8,   7,
+    9,   8,   5,   10,  9,   13,  3,   3,   12,  7,   61,  2,   16,  55,  2,
+    1,   0,   50,  1,   2,   2,   4,   1,   1,   3,   5,   1,   1,   4,   6,
+    1,   1,   5,   7,   1,   1,   6,   8,   1,   1,   7,   9,   134, 8,   2,
+    3,   5,   6,   7,   8,   3,   9,   3,   1,   1,   2,   11,  9,   4,   8,
+    5,   7,   5,   11,  4,   3,   8,   3,   61,  2,   16,  30,  2,   7,   0,
+    25,  1,   1,   2,   10,  198, 8,   3,   6,   9,   8,   4,   7,   3,   3,
+    9,   5,   8,   5,   4,   5,   8,   4,   3,   10,  3,   61,  2,   16,  20,
+    2,   2,   0,   15,  1,   1,   2,   5,   51,  5,   4,   4,   1,   1,   3,
+    7,   3,   7,   2,   61,  2,   16,  57,  2,   4,   0,   52,  80,  4,   38,
+    0,   105, 4,   7,   10,  0,   8,   47,  7,   8,   9,   8,   5,   9,   12,
+    0,   169, 4,   4,   70,  4,   2,   7,   3,   3,   3,   6,   4,   169, 4,
+    4,   5,   3,   8,   7,   3,   3,   8,   2,   205, 7,   5,   3,   8,   7,
+    3,   3,   8,   2,   61,  2,   16,  26,  2,   9,   0,   21,  23,  2,   1,
+    4,   5,   12,  51,  12,  9,   6,   9,   8,   5,   5,   10,  7,   11,  4,
+    3,   4,   5,   61,  2,   16,  45,  2,   9,   0,   40,  1,   1,   3,   12,
+    23,  2,   3,   12,  5,   6,   7,   13,  23,  2,   1,   4,   13,  14,  1,
+    1,   2,   15,  5,   4,   7,   8,   4,   5,   9,   5,   10,  6,   5,   11,
+    9,   14,  8,   3,   15,  7,   61,  2,   16,  75,  2,   1,   0,   70,  1,
+    2,   3,   4,   1,   1,   4,   5,   1,   1,   3,   6,   1,   1,   2,   7,
+    23,  2,   3,   4,   5,   6,   7,   8,   1,   1,   6,   9,   23,  2,   1,
+    9,   8,   10,  1,   2,   2,   11,  1,   1,   9,   12,  1,   1,   8,   4,
+    1,   1,   7,   5,   1,   1,   5,   15,  9,   3,   6,   5,   9,   7,   10,
+    8,   5,   12,  3,   15,  9,   3,   11,  7,   61,  2,   16,  34,  2,   9,
+    0,   29,  1,   1,   2,   12,  198, 10,  3,   7,   6,   5,   11,  4,   9,
+    8,   3,   3,   1,   1,   4,   5,   138, 62,  6,   9,   10,  4,   3,   12,
+    4,   61,  2,   16,  42,  2,   9,   0,   37,  23,  2,   1,   6,   7,   12,
+    70,  4,   2,   6,   5,   13,  23,  2,   1,   4,   13,  14,  51,  14,  8,
+    15,  51,  12,  15,  5,   9,   9,   6,   5,   10,  7,   11,  4,   3,   4,
+    5,   61,  2,   16,  55,  2,   1,   0,   50,  1,   2,   2,   4,   1,   1,
+    4,   5,   1,   1,   5,   6,   1,   1,   6,   7,   1,   1,   7,   8,   6,
+    6,   2,   3,   5,   6,   7,   8,   9,   1,   1,   3,   10,  1,   1,   2,
+    5,   5,   4,   12,  3,   6,   5,   9,   3,   10,  4,   3,   12,  4,   61,
+    2,   16,  21,  2,   1,   0,   16,  1,   1,   2,   4,   1,   2,   2,   5,
+    5,   4,   7,   5,   4,   3,   7,   2,   61,  2,   16,  80,  2,   1,   0,
+    75,  1,   1,   4,   4,   1,   1,   9,   5,   134, 3,   2,   5,   5,   6,
+    23,  2,   1,   4,   6,   7,   1,   1,   2,   8,   51,  7,   8,   9,   1,
+    2,   2,   10,  1,   1,   5,   11,  1,   1,   6,   12,  1,   1,   7,   13,
+    1,   1,   8,   14,  134, 8,   2,   3,   4,   11,  12,  9,   13,  14,  15,
+    1,   2,   4,   4,   1,   1,   3,   6,   5,   3,   5,   15,  3,   3,   10,
+    4,   61,  2,   16,  33,  2,   9,   0,   28,  1,   1,   2,   12,  198, 10,
+    3,   8,   6,   4,   10,  9,   3,   11,  5,   3,   1,   1,   4,   6,   5,
+    4,   5,   10,  4,   3,   12,  4,   61,  2,   16,  43,  2,   1,   0,   38,
+    1,   1,   4,   4,   6,   4,   2,   3,   3,   4,   5,   1,   1,   3,   6,
+    80,  6,   5,   0,   205, 3,   3,   5,   1,   1,   2,   2,   7,   1,   1,
+    2,   4,   9,   5,   3,   3,   7,   2,   61,  2,   16,  33,  2,   9,   0,
+    28,  198, 5,   2,   9,   8,   5,   12,  23,  2,   1,   4,   12,  13,  51,
+    13,  8,   5,   9,   9,   6,   5,   10,  7,   11,  4,   3,   4,   5,   61,
+    2,   16,  53,  2,   1,   0,   48,  1,   1,   2,   4,   1,   1,   8,   5,
+    6,   4,   2,   2,   3,   5,   6,   23,  2,   1,   4,   6,   7,   1,   1,
+    3,   8,   51,  7,   8,   5,   1,   1,   7,   4,   1,   1,   6,   3,   1,
+    1,   5,   6,   1,   1,   4,   7,   3,   4,   5,   61,  2,   16,  67,  2,
+    1,   0,   62,  1,   2,   2,   4,   1,   1,   2,   5,   1,   1,   3,   6,
+    1,   1,   4,   7,   1,   1,   5,   8,   1,   1,   6,   9,   1,   1,   7,
+    10,  1,   1,   8,   11,  1,   1,   9,   12,  134, 10,  2,   3,   5,   6,
+    7,   8,   9,   10,  11,  12,  13,  5,   4,   8,   3,   4,   5,   9,   5,
+    13,  3,   3,   8,   3,   61,  2,   16,  65,  2,   1,   0,   60,  1,   2,
+    2,   4,   1,   1,   2,   5,   1,   1,   3,   6,   1,   1,   4,   7,   1,
+    1,   5,   8,   1,   1,   6,   9,   1,   1,   7,   10,  1,   1,   8,   11,
+    134, 10,  2,   3,   3,   5,   6,   7,   8,   9,   10,  11,  3,   1,   2,
+    4,   13,  10,  0,   5,   5,   4,   8,   13,  4,   3,   8,   3,   61,  2,
+    16,  62,  2,   1,   0,   57,  1,   2,   2,   4,   1,   1,   2,   5,   1,
+    1,   3,   6,   1,   1,   4,   7,   1,   1,   5,   8,   1,   1,   6,   9,
+    1,   1,   7,   10,  1,   1,   8,   11,  134, 9,   2,   3,   5,   6,   7,
+    8,   9,   10,  11,  12,  5,   4,   8,   3,   4,   5,   6,   5,   12,  3,
+    3,   8,   3,   61,  2,   16,  30,  2,   9,   0,   25,  1,   1,   2,   12,
+    198, 9,   3,   4,   8,   10,  9,   3,   11,  5,   3,   1,   1,   4,   4,
+    10,  0,   5,   3,   12,  3,   61,  2,   16,  79,  2,   2,   0,   74,  208,
+    4,   38,  0,   1,   1,   2,   5,   105, 5,   6,   169, 5,   7,   51,  4,
+    7,   8,   51,  6,   8,   5,   1,   1,   5,   4,   1,   1,   4,   11,  1,
+    1,   3,   6,   5,   3,   7,   11,  3,   3,   4,   5,   1,   1,   5,   5,
+    1,   1,   4,   6,   1,   1,   2,   7,   1,   1,   3,   8,   9,   5,   4,
+    5,   7,   5,   3,   7,   5,   6,   3,   8,   6,   3,   4,   5,   61,  2,
+    16,  49,  2,   9,   0,   44,  198, 3,   4,   5,   12,  23,  2,   1,   4,
+    12,  13,  51,  13,  8,   14,  23,  2,   1,   4,   7,   15,  1,   1,   2,
+    16,  70,  6,   3,   14,  9,   3,   11,  3,   9,   6,   5,   5,   10,  4,
+    15,  6,   3,   16,  4,   61,  2,   16,  54,  2,   1,   0,   49,  1,   1,
+    2,   4,   51,  4,   3,   5,   1,   2,   2,   6,   1,   1,   3,   7,   1,
+    1,   4,   4,   1,   1,   5,   9,   6,   6,   2,   3,   7,   4,   5,   9,
+    3,   1,   2,   4,   5,   1,   2,   5,   12,  5,   6,   9,   12,  6,   3,
+    9,   4,   61,  2,   16,  31,  2,   9,   0,   26,  23,  2,   1,   4,   5,
+    12,  1,   1,   2,   13,  198, 6,   3,   12,  11,  10,  3,   3,   5,   8,
+    4,   9,   5,   3,   13,  3,   61,  2,   16,  18,  2,   9,   0,   13,  77,
+    12,  9,   6,   5,   5,   11,  4,   12,  6,   3,   4,   5,   61,  2,   16,
+    42,  2,   9,   0,   37,  70,  3,   5,   5,   12,  23,  2,   1,   4,   12,
+    13,  51,  13,  8,   14,  1,   1,   2,   15,  70,  6,   3,   9,   14,  3,
+    11,  3,   1,   1,   4,   5,   9,   10,  4,   3,   15,  4,   61,  2,   16,
+    67,  2,   1,   0,   62,  1,   2,   2,   4,   1,   1,   2,   5,   1,   1,
+    3,   6,   1,   1,   4,   7,   1,   1,   5,   8,   1,   1,   6,   9,   1,
+    1,   7,   10,  1,   1,   8,   11,  1,   1,   9,   12,  134, 10,  2,   3,
+    5,   6,   7,   8,   9,   10,  11,  12,  13,  205, 5,   9,   4,   8,   5,
+    3,   4,   13,  3,   3,   8,   3,   61,  2,   16,  33,  2,   9,   0,   28,
+    1,   1,   2,   12,  198, 10,  3,   7,   8,   4,   10,  9,   3,   11,  5,
+    3,   1,   1,   4,   6,   5,   4,   5,   10,  4,   3,   12,  4,   61,  2,
+    16,  74,  2,   1,   0,   69,  1,   2,   3,   4,   1,   2,   4,   5,   1,
+    1,   3,   6,   1,   1,   2,   7,   23,  2,   3,   4,   5,   6,   7,   8,
+    1,   1,   5,   9,   23,  2,   1,   9,   8,   10,  1,   2,   2,   11,  1,
+    1,   9,   3,   1,   1,   8,   4,   1,   1,   7,   5,   1,   1,   6,   6,
+    1,   1,   4,   16,  9,   9,   7,   5,   10,  8,   16,  9,   3,   11,  7,
+    61,  2,   16,  28,  2,   9,   0,   23,  1,   1,   2,   12,  198, 10,  3,
+    7,   6,   11,  4,   10,  9,   8,   3,   3,   1,   1,   4,   4,   3,   12,
+    2,   61,  2,   16,  26,  2,   1,   0,   21,  1,   2,   2,   4,   1,   1,
+    2,   5,   23,  2,   1,   4,   5,   4,   1,   1,   3,   7,   3,   7,   2,
+    61,  2,   16,  54,  2,   9,   0,   49,  198, 4,   4,   6,   5,   12,  23,
+    2,   1,   4,   12,  13,  51,  13,  8,   5,   1,   1,   3,   15,  23,  2,
+    1,   15,  4,   16,  23,  2,   1,   6,   16,  8,   1,   1,   2,   18,  5,
+    6,   4,   9,   6,   5,   10,  7,   11,  9,   3,   18,  7,   61,  2,   16,
+    48,  2,   2,   0,   43,  1,   1,   2,   5,   1,   1,   7,   6,   134, 3,
+    2,   2,   6,   7,   23,  2,   1,   5,   7,   8,   1,   1,   3,   9,   51,
+    8,   9,   5,   1,   1,   6,   4,   1,   1,   5,   6,   1,   1,   4,   7,
+    3,   4,   5,   61,  2,   16,  42,  2,   9,   0,   37,  198, 8,   3,   4,
+    8,   10,  9,   11,  5,   12,  70,  4,   2,   12,  5,   13,  23,  2,   1,
+    4,   13,  14,  51,  14,  8,   5,   9,   9,   6,   5,   10,  7,   11,  4,
+    3,   4,   5,   61,  2,   16,  47,  2,   2,   0,   42,  1,   1,   2,   5,
+    1,   1,   6,   6,   6,   4,   2,   2,   3,   6,   7,   23,  2,   1,   5,
+    7,   8,   51,  8,   4,   4,   1,   1,   5,   10,  1,   1,   4,   3,   77,
+    5,   1,   1,   3,   6,   3,   10,  4,   61,  2,   16,  58,  2,   9,   0,
+    53,  208, 6,   22,  0,   1,   1,   3,   12,  198, 8,   4,   7,   4,   10,
+    3,   11,  5,   3,   5,   8,   4,   9,   5,   3,   12,  3,   198, 3,   2,
+    5,   12,  23,  2,   1,   4,   12,  13,  51,  7,   8,   14,  51,  13,  14,
+    4,   5,   9,   5,   10,  6,   3,   11,  4,   61,  2,   16,  24,  2,   1,
+    0,   19,  1,   1,   3,   4,   1,   1,   2,   5,   51,  4,   5,   4,   1,
+    1,   4,   7,   3,   7,   2,   61,  2,   16,  54,  2,   1,   0,   49,  1,
+    1,   7,   4,   1,   1,   8,   5,   6,   5,   2,   2,   3,   4,   5,   6,
+    23,  2,   1,   4,   6,   7,   1,   1,   2,   8,   51,  7,   8,   5,   1,
+    1,   6,   4,   1,   1,   5,   3,   1,   1,   4,   6,   1,   1,   3,   7,
+    3,   4,   5,   61,  2,   16,  69,  2,   1,   0,   64,  1,   2,   2,   4,
+    1,   1,   3,   5,   1,   1,   4,   6,   1,   1,   5,   7,   1,   1,   6,
+    8,   1,   1,   7,   9,   1,   1,   8,   10,  1,   1,   9,   11,  134, 9,
+    2,   3,   5,   6,   7,   8,   9,   10,  11,  12,  1,   1,   2,   13,  9,
+    4,   9,   5,   3,   5,   7,   6,   5,   12,  3,   13,  4,   3,   9,   4,
+    61,  2,   16,  18,  2,   3,   0,   13,  10,  0,   6,   47,  5,   6,   7,
+    51,  7,   4,   8,   24,  8,   61,  2,   16,  35,  2,   9,   0,   30,  1,
+    1,   4,   12,  1,   1,   2,   13,  198, 10,  3,   12,  8,   10,  9,   3,
+    11,  4,   5,   3,   77,  5,   5,   8,   6,   12,  4,   3,   13,  4,   61,
+    2,   16,  43,  2,   9,   0,   38,  70,  4,   5,   6,   5,   12,  23,  2,
+    1,   4,   12,  13,  51,  13,  8,   14,  1,   1,   2,   15,  70,  6,   3,
+    9,   14,  3,   11,  3,   1,   1,   4,   5,   9,   10,  4,   3,   15,  4,
+    61,  2,   16,  31,  2,   9,   0,   26,  198, 3,   2,   5,   12,  23,  2,
+    1,   4,   12,  13,  51,  13,  8,   5,   9,   9,   6,   5,   10,  7,   11,
+    4,   3,   4,   5,   61,  2,   16,  70,  2,   1,   0,   65,  1,   1,   2,
+    4,   1,   1,   8,   5,   6,   4,   2,   5,   3,   5,   6,   23,  2,   1,
+    4,   6,   7,   1,   1,   3,   8,   51,  7,   8,   9,   1,   2,   2,   10,
+    1,   1,   5,   11,  1,   1,   6,   12,  1,   1,   7,   13,  6,   6,   2,
+    3,   11,  9,   12,  13,  3,   1,   1,   4,   4,   1,   2,   4,   5,   3,
+    10,  3,   61,  2,   16,  61,  2,   1,   0,   56,  1,   2,   2,   4,   1,
+    1,   3,   5,   1,   1,   4,   6,   1,   1,   5,   7,   1,   1,   6,   8,
+    1,   1,   7,   9,   1,   1,   8,   10,  134, 9,   2,   3,   5,   6,   7,
+    8,   9,   3,   10,  3,   1,   1,   2,   12,  1,   2,   4,   5,   5,   4,
+    8,   12,  4,   3,   8,   3,   61,  2,   16,  62,  2,   1,   0,   57,  1,
+    2,   2,   4,   1,   1,   2,   5,   1,   1,   3,   6,   1,   1,   4,   7,
+    1,   1,   5,   8,   1,   1,   6,   9,   1,   1,   7,   10,  134, 9,   2,
+    3,   3,   5,   6,   7,   8,   9,   10,  11,  1,   2,   4,   5,   205, 6,
+    9,   4,   9,   5,   3,   4,   11,  3,   3,   9,   4,   61,  2,   16,  31,
+    2,   9,   0,   26,  1,   1,   2,   12,  198, 8,   3,   4,   8,   10,  9,
+    3,   5,   3,   1,   1,   4,   5,   205, 6,   9,   10,  4,   3,   12,  4,
+    61,  2,   16,  33,  2,   9,   0,   28,  23,  2,   2,   5,   6,   7,   12,
+    23,  2,   1,   4,   12,  13,  51,  13,  8,   5,   9,   9,   6,   5,   10,
+    7,   11,  4,   3,   4,   5,   61,  2,   16,  79,  2,   1,   0,   74,  1,
+    1,   2,   4,   1,   1,   8,   5,   1,   1,   9,   6,   6,   4,   2,   5,
+    5,   6,   7,   23,  2,   1,   4,   7,   8,   1,   1,   3,   9,   51,  8,
+    9,   10,  1,   2,   2,   11,  1,   1,   5,   12,  1,   1,   6,   13,  1,
+    1,   7,   14,  6,   6,   2,   3,   12,  10,  13,  14,  15,  1,   1,   4,
+    4,   1,   2,   4,   5,   5,   3,   6,   15,  3,   3,   11,  4,   61,  2,
+    16,  85,  2,   1,   0,   80,  1,   1,   4,   4,   1,   1,   5,   5,   1,
+    1,   6,   6,   1,   1,   7,   7,   1,   1,   8,   8,   1,   1,   9,   9,
+    1,   1,   10,  10,  1,   1,   11,  11,  134, 10,  2,   3,   4,   5,   6,
+    7,   8,   9,   10,  11,  12,  208, 3,   7,   0,   1,   1,   3,   3,   3,
+    12,  1,   1,   1,   2,   13,  51,  4,   13,  6,   1,   2,   2,   15,  1,
+    1,   3,   4,   5,   10,  5,   12,  3,   3,   15,  4,   61,  2,   16,  73,
+    2,   1,   0,   68,  1,   2,   2,   4,   1,   1,   2,   5,   1,   1,   3,
+    6,   1,   1,   4,   7,   1,   1,   5,   8,   1,   1,   6,   9,   1,   1,
+    7,   10,  1,   1,   8,   11,  1,   1,   9,   12,  1,   1,   10,  13,  134,
+    12,  2,   3,   3,   5,   6,   7,   8,   9,   10,  11,  12,  13,  14,  5,
+    4,   8,   3,   5,   5,   6,   4,   14,  3,   3,   8,   3,   61,  2,   16,
+    70,  2,   1,   0,   65,  1,   2,   2,   4,   1,   1,   2,   5,   1,   1,
+    3,   6,   1,   1,   4,   7,   1,   1,   5,   8,   1,   1,   6,   9,   1,
+    1,   7,   10,  1,   1,   8,   11,  1,   1,   9,   12,  134, 11,  2,   3,
+    3,   5,   6,   7,   8,   9,   10,  11,  12,  13,  77,  6,   5,   4,   9,
+    3,   4,   5,   11,  5,   13,  3,   3,   9,   4,   61,  2,   16,  26,  2,
+    2,   0,   21,  1,   1,   2,   5,   1,   1,   3,   6,   13,  7,   9,   5,
+    9,   5,   6,   5,   7,   6,   3,   9,   4,   61,  2,   16,  51,  2,   1,
+    0,   46,  208, 3,   31,  0,   1,   1,   2,   4,   10,  0,   5,   47,  4,
+    5,   6,   1,   1,   5,   7,   1,   1,   4,   3,   1,   1,   3,   5,   5,
+    6,   4,   7,   6,   3,   6,   4,   1,   1,   4,   4,   1,   1,   3,   3,
+    3,   4,   1,   61,  2,   16,  57,  2,   1,   0,   52,  208, 3,   11,  0,
+    1,   1,   4,   4,   1,   1,   2,   3,   3,   4,   1,   1,   2,   2,   4,
+    1,   1,   2,   5,   1,   1,   3,   6,   1,   1,   4,   7,   1,   1,   5,
+    8,   6,   6,   2,   3,   5,   6,   7,   8,   3,   5,   4,   7,   5,   4,
+    3,   7,   2,   61,  2,   16,  12,  2,   1,   0,   7,   1,   1,   2,   4,
+    3,   4,   1,   61,  2,   16,  43,  2,   1,   0,   38,  1,   2,   2,   4,
+    1,   1,   3,   5,   6,   3,   2,   3,   5,   6,   1,   1,   2,   7,   1,
+    2,   4,   5,   9,   4,   9,   5,   6,   10,  3,   6,   5,   7,   4,   10,
+    3,   3,   9,   4,   61,  2,   16,  45,  2,   1,   0,   40,  1,   2,   2,
+    4,   1,   1,   4,   5,   1,   1,   5,   6,   134, 4,   2,   3,   5,   6,
+    7,   1,   1,   3,   8,   1,   1,   2,   5,   5,   4,   10,  3,   6,   5,
+    7,   3,   8,   4,   3,   10,  4,   61,  2,   16,  48,  2,   1,   0,   43,
+    1,   2,   2,   4,   1,   1,   2,   5,   1,   1,   3,   6,   1,   1,   4,
+    7,   1,   1,   5,   8,   134, 6,   2,   3,   5,   6,   7,   8,   9,   10,
+    0,   5,   9,   4,   8,   5,   3,   4,   9,   3,   3,   8,   3,   61,  2,
+    16,  43,  2,   1,   0,   38,  1,   2,   2,   4,   1,   1,   2,   5,   1,
+    1,   3,   6,   1,   1,   4,   7,   134, 6,   2,   3,   5,   3,   6,   7,
+    8,   13,  6,   9,   4,   10,  5,   3,   4,   8,   3,   3,   10,  4,   61,
+    2,   16,  44,  2,   1,   0,   39,  1,   2,   2,   4,   1,   1,   2,   5,
+    1,   1,   3,   6,   134, 5,   2,   3,   3,   5,   6,   7,   1,   2,   4,
+    8,   205, 6,   5,   4,   10,  5,   4,   5,   7,   3,   8,   5,   3,   10,
+    4,   61,  2,   16,  44,  2,   1,   0,   39,  1,   1,   2,   4,   47,  4,
+    3,   5,   1,   2,   2,   6,   1,   1,   3,   7,   1,   1,   4,   8,   134,
+    4,   2,   3,   7,   8,   3,   1,   2,   4,   10,  5,   5,   4,   10,  5,
+    3,   6,   3,   61,  2,   16,  52,  2,   1,   0,   47,  208, 3,   32,  0,
+    1,   2,   2,   4,   1,   1,   2,   5,   1,   1,   3,   6,   1,   1,   4,
+    7,   134, 5,   2,   3,   5,   6,   7,   3,   5,   4,   7,   5,   4,   3,
+    7,   2,   1,   1,   4,   4,   1,   1,   3,   3,   3,   4,   1,   61,  2,
+    16,  55,  2,   1,   0,   50,  1,   2,   2,   4,   1,   1,   3,   5,   1,
+    1,   4,   6,   1,   1,   5,   7,   1,   1,   6,   8,   6,   6,   2,   3,
+    5,   6,   7,   8,   9,   1,   1,   2,   10,  1,   2,   4,   5,   5,   4,
+    12,  3,   6,   5,   9,   3,   10,  4,   3,   12,  4,   61,  2,   16,  110,
+    2,   4,   0,   105, 10,  0,   7,   8,   3,   7,   60,  0,   1,   2,   2,
+    8,   47,  8,   3,   9,   1,   1,   7,   10,  1,   1,   6,   11,  1,   1,
+    5,   12,  1,   1,   4,   13,  1,   1,   3,   14,  1,   1,   2,   15,  5,
+    9,   16,  6,   7,   5,   5,   6,   4,   5,   5,   10,  3,   11,  4,   5,
+    12,  8,   13,  9,   5,   14,  10,  15,  11,  3,   16,  9,   1,   1,   6,
+    8,   23,  2,   1,   8,   4,   9,   1,   1,   4,   10,  51,  9,   10,  6,
+    1,   1,   2,   4,   1,   1,   7,   3,   1,   1,   5,   5,   1,   1,   3,
+    7,   3,   4,   5,   61,  2,   16,  54,  2,   1,   0,   49,  1,   2,   2,
+    4,   1,   1,   3,   5,   1,   1,   4,   6,   1,   1,   5,   7,   1,   1,
+    6,   8,   1,   1,   7,   9,   134, 8,   2,   3,   5,   3,   6,   7,   8,
+    9,   3,   1,   1,   2,   11,  13,  5,   5,   4,   8,   11,  4,   3,   8,
+    3,   61,  2,   16,  65,  2,   5,   0,   60,  80,  5,   32,  0,   32,  5,
+    2,   8,   9,   32,  8,   2,   10,  11,  1,   1,   3,   12,  198, 8,   4,
+    11,  4,   6,   9,   10,  3,   3,   5,   7,   4,   11,  5,   3,   12,  3,
+    80,  6,   10,  0,   77,  8,   5,   6,   5,   8,   6,   3,   4,   5,   1,
+    1,   2,   8,   9,   7,   4,   3,   8,   2,   61,  2,   16,  67,  2,   5,
+    0,   62,  80,  5,   34,  0,   32,  5,   2,   8,   9,   32,  8,   2,   10,
+    11,  1,   1,   3,   12,  198, 8,   4,   4,   7,   6,   9,   10,  3,   3,
+    1,   1,   5,   5,   9,   11,  4,   3,   12,  3,   80,  6,   10,  0,   77,
+    8,   5,   6,   5,   8,   6,   3,   4,   5,   1,   1,   2,   8,   9,   7,
+    4,   3,   8,   2,   61,  2,   16,  35,  2,   1,   0,   30,  1,   2,   2,
+    4,   1,   1,   3,   5,   1,   1,   2,   6,   77,  7,   9,   5,   10,  5,
+    6,   5,   7,   6,   5,   3,   7,   10,  3,   3,   4,   5,   61,  2,   16,
+    3,   0,   2,   199, 2,   16,  3,   0,   2,   198, 2,   16,  3,   0,   2,
+    197, 2,   16,  3,   0,   2,   196, 2,   16,  31,  2,   1,   0,   26,  1,
+    1,   3,   4,   1,   1,   4,   5,   134, 3,   2,   2,   5,   3,   1,   1,
+    2,   7,   5,   4,   8,   7,   4,   3,   8,   2,   61,  2,   16,  28,  2,
+    1,   0,   23,  1,   2,   2,   4,   1,   1,   2,   5,   1,   1,   3,   6,
+    134, 5,   2,   3,   5,   6,   3,   3,   3,   4,   1,   61,  2,   16,  67,
+    2,   2,   0,   62,  1,   2,   3,   5,   1,   1,   2,   6,   134, 4,   2,
+    7,   4,   6,   7,   23,  2,   1,   5,   7,   8,   77,  9,   51,  8,   9,
+    4,   1,   2,   5,   11,  1,   2,   6,   12,  51,  11,  12,  13,  1,   2,
+    4,   14,  51,  5,   14,  15,  51,  15,  9,   16,  51,  13,  16,  5,   1,
+    2,   2,   18,  3,   18,  3,   61,  2,   16,  3,   0,   2,   195, 2,   16,
+    3,   0,   2,   194, 2,   16,  3,   0,   2,   193, 2,   16,  3,   0,   2,
+    192, 2,   16,  3,   0,   2,   191, 2,   16,  3,   0,   2,   190, 2,   16,
+    3,   0,   2,   189, 2,   16,  3,   0,   2,   188, 2,   16,  3,   0,   2,
+    187, 2,   16,  3,   0,   2,   186, 2,   16,  3,   0,   2,   185, 2,   16,
+    3,   0,   2,   184, 2,   16,  3,   0,   2,   183, 2,   16,  3,   0,   2,
+    182, 2,   16,  3,   0,   2,   181, 2,   16,  3,   0,   2,   180, 2,   16,
+    3,   0,   2,   179, 2,   16,  3,   0,   2,   178, 2,   16,  3,   0,   2,
+    177, 2,   16,  3,   0,   2,   176, 2,   16,  3,   0,   2,   175, 2,   16,
+    3,   0,   2,   174, 2,   16,  3,   0,   2,   173, 2,   16,  3,   0,   2,
+    172, 2,   16,  3,   0,   2,   171, 2,   16,  3,   0,   2,   170, 2,   16,
+    3,   0,   2,   169, 2,   16,  3,   0,   2,   168, 2,   16,  3,   0,   2,
+    167, 2,   16,  3,   0,   2,   166, 2,   16,  3,   0,   2,   165, 2,   16,
+    3,   0,   2,   164, 2,   16,  3,   0,   2,   163, 2,   16,  3,   0,   2,
+    162, 2,   16,  3,   0,   2,   161, 2,   16,  3,   0,   2,   160, 2,   16,
+    3,   0,   2,   159, 2,   16,  3,   0,   2,   158, 2,   16,  3,   0,   2,
+    157, 2,   16,  3,   0,   2,   156, 2,   16,  3,   0,   2,   155, 2,   16,
+    3,   0,   2,   154, 2,   16,  3,   0,   2,   153, 2,   16,  3,   0,   2,
+    152, 2,   16,  3,   0,   2,   151, 2,   16,  3,   0,   2,   150, 2,   16,
+    3,   0,   2,   149, 2,   16,  3,   0,   2,   148, 2,   16,  3,   0,   2,
+    147, 2,   16,  3,   0,   2,   146, 2,   16,  3,   0,   2,   145, 2,   16,
+    3,   0,   2,   144, 2,   16,  3,   0,   2,   143, 2,   16,  3,   0,   2,
+    142, 2,   16,  3,   0,   2,   141, 2,   16,  3,   0,   2,   140, 2,   16,
+    3,   0,   2,   139, 2,   16,  3,   0,   2,   138, 2,   16,  3,   0,   2,
+    137, 2,   16,  3,   0,   2,   136, 2,   16,  3,   0,   2,   135, 2,   16,
+    3,   0,   2,   134, 2,   16,  3,   0,   2,   133, 2,   16,  3,   0,   2,
+    132, 2,   16,  3,   0,   2,   131, 2,   16,  3,   0,   2,   130, 2,   16,
+    3,   0,   2,   129, 2,   16,  3,   0,   2,   128, 2,   16,  3,   0,   2,
+    127, 2,   16,  3,   0,   2,   126, 2,   16,  3,   0,   2,   125, 2,   16,
+    3,   0,   2,   124, 2,   16,  3,   0,   2,   123, 2,   16,  3,   0,   2,
+    122, 2,   16,  3,   0,   2,   121, 2,   16,  3,   0,   2,   120, 2,   16,
+    3,   0,   2,   119, 2,   16,  3,   0,   2,   118, 2,   16,  3,   0,   2,
+    117, 2,   16,  3,   0,   2,   116, 2,   16,  3,   0,   2,   115, 2,   16,
+    3,   0,   2,   114, 2,   16,  3,   0,   2,   113, 2,   16,  3,   0,   2,
+    112, 2,   16,  3,   0,   2,   111, 2,   16,  3,   0,   2,   110, 2,   16,
+    3,   0,   2,   109, 2,   16,  3,   0,   2,   108, 2,   16,  3,   0,   2,
+    107, 2,   16,  3,   0,   2,   106, 2,   16,  3,   0,   2,   105, 2,   16,
+    3,   0,   2,   104, 2,   16,  3,   0,   2,   103, 2,   16,  3,   0,   2,
+    102, 2,   16,  49,  2,   2,   0,   44,  1,   1,   2,   5,   1,   1,   7,
+    6,   6,   4,   2,   2,   4,   6,   7,   23,  2,   1,   5,   7,   8,   1,
+    1,   3,   9,   51,  8,   9,   5,   1,   1,   6,   4,   1,   1,   5,   6,
+    1,   1,   4,   7,   3,   4,   5,   61,  2,   16,  23,  2,   9,   0,   18,
+    198, 8,   2,   4,   8,   10,  9,   11,  5,   4,   5,   3,   7,   6,   3,
+    3,   7,   2,   61,  2,   16,  3,   0,   2,   101, 2,   16,  3,   0,   2,
+    100, 2,   16,  3,   0,   2,   99,  2,   16,  3,   0,   2,   98,  2,   16,
+    3,   0,   2,   97,  2,   16,  3,   0,   2,   96,  2,   16,  3,   0,   2,
+    95,  2,   16,  3,   0,   2,   94,  2,   16,  3,   0,   2,   93,  2,   16,
+    3,   0,   2,   92,  2,   16,  3,   0,   2,   91,  2,   16,  3,   0,   2,
+    90,  2,   16,  3,   0,   2,   89,  2,   16,  3,   0,   2,   88,  2,   16,
+    3,   0,   2,   87,  2,   16,  3,   0,   2,   86,  2,   16,  3,   0,   2,
+    85,  2,   16,  3,   0,   2,   84,  2,   16,  3,   0,   2,   83,  2,   16,
+    3,   0,   2,   82,  2,   16,  3,   0,   2,   81,  2,   16,  3,   0,   2,
+    80,  2,   16,  3,   0,   2,   79,  2,   16,  3,   0,   2,   78,  2,   16,
+    3,   0,   2,   77,  2,   16,  3,   0,   2,   76,  2,   16,  3,   0,   2,
+    75,  2,   16,  32,  2,   3,   0,   27,  1,   1,   2,   6,   198, 4,   3,
+    5,   3,   7,   1,   1,   4,   5,   205, 9,   9,   6,   10,  5,   7,   3,
+    9,   6,   3,   10,  4,   61,  2,   16,  116, 2,   1,   0,   111, 80,  3,
+    62,  0,   1,   2,   4,   4,   1,   1,   2,   5,   1,   1,   3,   6,   1,
+    1,   4,   7,   1,   1,   5,   8,   1,   1,   6,   9,   1,   1,   7,   10,
+    1,   1,   8,   11,  134, 10,  2,   5,   5,   6,   7,   8,   3,   9,   10,
+    11,  3,   1,   2,   6,   13,  205, 6,   9,   4,   9,   5,   5,   4,   13,
+    5,   3,   9,   4,   1,   2,   2,   4,   1,   1,   6,   5,   1,   1,   7,
+    6,   1,   1,   8,   7,   1,   1,   4,   8,   6,   6,   2,   3,   5,   6,
+    7,   8,   3,   1,   1,   2,   10,  1,   1,   3,   5,   5,   4,   8,   10,
+    4,   3,   8,   3,   61,  2,   16,  33,  2,   9,   0,   28,  1,   1,   2,
+    12,  198, 10,  3,   4,   8,   10,  9,   3,   11,  6,   5,   3,   1,   1,
+    4,   5,   205, 6,   9,   10,  4,   3,   12,  4,   61,  2,   16,  49,  2,
+    9,   0,   44,  1,   1,   6,   12,  198, 3,   5,   5,   13,  23,  2,   1,
+    4,   13,  14,  51,  14,  8,   15,  1,   1,   2,   16,  198, 7,   3,   10,
+    9,   15,  3,   12,  3,   205, 4,   1,   1,   4,   5,   9,   11,  6,   3,
+    16,  4,   61,  2,   16,  3,   0,   2,   74,  2,   16,  3,   0,   2,   73,
+    2,   16,  3,   0,   2,   72,  2,   16,  3,   0,   2,   71,  2,   16,  3,
+    0,   2,   70,  2,   16,  59,  2,   1,   0,   54,  1,   2,   2,   4,   1,
+    1,   5,   5,   1,   1,   6,   6,   1,   1,   7,   7,   1,   1,   8,   8,
+    134, 6,   2,   3,   5,   6,   7,   8,   9,   1,   1,   4,   10,  1,   1,
+    3,   5,   1,   1,   2,   6,   5,   4,   13,  3,   7,   5,   9,   3,   10,
+    4,   3,   13,  5,   61,  2,   16,  3,   0,   2,   69,  2,   16,  53,  2,
+    5,   0,   48,  1,   2,   2,   8,   1,   1,   5,   9,   1,   1,   6,   10,
+    1,   1,   7,   11,  134, 9,   2,   3,   9,   10,  11,  7,   6,   5,   3,
+    3,   1,   1,   4,   13,  1,   1,   3,   5,   1,   1,   2,   6,   5,   4,
+    7,   13,  4,   3,   8,   5,   61,  2,   16,  47,  2,   5,   0,   42,  1,
+    1,   2,   8,   1,   1,   3,   9,   1,   1,   4,   10,  134, 8,   2,   2,
+    8,   9,   10,  7,   6,   5,   11,  134, 8,   2,   3,   8,   9,   10,  7,
+    6,   5,   5,   5,   4,   8,   11,  4,   3,   8,   3,   61,  2,   16,  93,
+    2,   1,   0,   88,  208, 3,   43,  0,   1,   1,   2,   4,   1,   1,   3,
+    5,   1,   1,   4,   6,   1,   1,   5,   7,   1,   1,   6,   8,   134, 5,
+    2,   4,   6,   7,   8,   9,   205, 10,  5,   4,   8,   5,   3,   5,   9,
+    4,   10,  5,   3,   8,   3,   1,   2,   2,   4,   1,   1,   4,   5,   1,
+    1,   5,   6,   1,   1,   6,   7,   1,   1,   3,   8,   134, 6,   2,   3,
+    5,   6,   7,   8,   3,   1,   1,   2,   10,  5,   4,   7,   10,  4,   3,
+    7,   2,   61,  2,   16,  92,  2,   1,   0,   87,  208, 3,   41,  0,   1,
+    2,   4,   4,   1,   1,   3,   5,   1,   1,   4,   6,   1,   1,   5,   7,
+    1,   1,   6,   8,   134, 6,   2,   5,   5,   6,   7,   8,   3,   1,   1,
+    2,   10,  5,   4,   7,   10,  4,   3,   7,   2,   1,   2,   2,   4,   1,
+    1,   3,   5,   1,   1,   6,   6,   1,   1,   4,   7,   1,   1,   5,   8,
+    1,   1,   2,   9,   134, 7,   2,   3,   5,   6,   7,   8,   9,   3,   5,
+    4,   7,   5,   4,   3,   7,   2,   61,  2,   16,  21,  2,   5,   0,   16,
+    1,   1,   2,   8,   198, 7,   3,   4,   7,   6,   5,   3,   3,   3,   8,
+    2,   61,  2,   16,  72,  2,   1,   0,   67,  1,   2,   2,   4,   1,   1,
+    5,   5,   1,   1,   6,   6,   1,   1,   7,   7,   1,   1,   8,   8,   1,
+    1,   9,   9,   1,   1,   10,  10,  1,   1,   11,  11,  134, 9,   2,   3,
+    5,   6,   7,   8,   9,   10,  11,  12,  1,   1,   4,   5,   1,   1,   3,
+    6,   1,   1,   2,   7,   9,   4,   10,  5,   3,   4,   12,  3,   3,   10,
+    5,   61,  2,   16,  51,  2,   5,   0,   46,  1,   2,   2,   8,   1,   1,
+    3,   9,   1,   1,   4,   10,  1,   1,   5,   11,  1,   1,   6,   12,  1,
+    1,   7,   13,  134, 12,  2,   3,   4,   9,   10,  11,  12,  13,  7,   6,
+    5,   3,   3,   1,   1,   2,   4,   3,   8,   2,   61,  2,   16,  45,  2,
+    5,   0,   40,  1,   1,   2,   8,   1,   1,   3,   9,   1,   1,   4,   10,
+    134, 8,   2,   2,   4,   6,   5,   8,   9,   10,  11,  134, 8,   2,   3,
+    4,   6,   5,   8,   9,   10,  5,   9,   11,  4,   3,   7,   3,   61,  2,
+    16,  92,  2,   1,   0,   87,  208, 3,   41,  0,   1,   2,   4,   4,   1,
+    1,   3,   5,   1,   1,   4,   6,   1,   1,   5,   7,   1,   1,   6,   8,
+    134, 6,   2,   5,   5,   6,   7,   8,   3,   1,   1,   2,   10,  5,   4,
+    7,   10,  4,   3,   7,   2,   1,   2,   2,   4,   1,   1,   5,   5,   1,
+    1,   6,   6,   1,   1,   2,   7,   1,   1,   3,   8,   1,   1,   4,   9,
+    134, 7,   2,   3,   5,   6,   7,   8,   9,   3,   5,   4,   7,   5,   4,
+    3,   7,   2,   61,  2,   16,  24,  2,   5,   0,   19,  1,   1,   2,   8,
+    198, 7,   3,   7,   6,   5,   4,   3,   3,   9,   7,   4,   3,   8,   2,
+    61,  2,   16,  7,   2,   5,   0,   2,   24,  4,   61,  2,   16,  24,  2,
+    2,   0,   19,  1,   1,   2,   5,   1,   1,   3,   6,   9,   4,   8,   5,
+    5,   4,   6,   5,   3,   8,   3,   61,  2,   16,  7,   2,   5,   0,   2,
+    24,  7,   61,  2,   16,  13,  2,   3,   0,   8,   5,   4,   8,   5,   4,
+    3,   8,   3,   61,  2,   16,  37,  2,   5,   0,   32,  1,   2,   2,   8,
+    1,   1,   3,   9,   1,   1,   4,   10,  1,   1,   5,   11,  134, 6,   2,
+    3,   9,   10,  11,  3,   3,   1,   1,   2,   4,   3,   8,   5,   61,  2,
+    16,  52,  2,   5,   0,   47,  1,   2,   2,   8,   1,   1,   6,   9,   1,
+    1,   7,   10,  1,   1,   8,   11,  134, 9,   2,   3,   7,   6,   5,   9,
+    10,  11,  3,   3,   1,   1,   5,   4,   1,   1,   4,   5,   1,   1,   3,
+    6,   1,   1,   2,   7,   3,   8,   5,   61,  2,   16,  3,   0,   2,   68,
+    2,   16,  43,  2,   1,   0,   38,  1,   2,   2,   4,   1,   1,   2,   5,
+    1,   1,   3,   6,   1,   1,   4,   7,   1,   1,   5,   8,   134, 7,   2,
+    3,   3,   5,   6,   7,   8,   3,   5,   4,   7,   8,   4,   3,   7,   2,
+    61,  2,   16,  33,  2,   5,   0,   28,  1,   1,   3,   8,   134, 6,   2,
+    2,   7,   6,   5,   3,   3,   1,   1,   2,   10,  9,   4,   5,   5,   8,
+    6,   10,  4,   3,   6,   4,   61,  2,   16,  84,  2,   1,   0,   79,  208,
+    3,   38,  0,   1,   1,   3,   4,   1,   1,   2,   5,   1,   1,   4,   6,
+    1,   1,   5,   7,   134, 4,   2,   4,   6,   7,   8,   205, 9,   5,   4,
+    10,  5,   3,   5,   8,   4,   9,   5,   3,   10,  3,   1,   2,   2,   4,
+    1,   1,   5,   5,   1,   1,   2,   6,   1,   1,   4,   7,   1,   1,   3,
+    8,   134, 6,   2,   3,   5,   6,   7,   8,   3,   5,   4,   8,   7,   4,
+    3,   8,   2,   61,  2,   16,  30,  2,   5,   0,   25,  1,   1,   3,   8,
+    134, 6,   2,   2,   6,   5,   4,   3,   3,   1,   1,   2,   5,   5,   7,
+    4,   8,   6,   3,   6,   4,   61,  2,   16,  84,  2,   1,   0,   79,  208,
+    3,   37,  0,   1,   2,   3,   4,   1,   1,   2,   5,   1,   1,   3,   6,
+    1,   1,   4,   7,   1,   1,   5,   8,   134, 6,   2,   4,   5,   6,   7,
+    8,   3,   5,   4,   8,   7,   4,   3,   8,   2,   1,   1,   4,   4,   1,
+    1,   3,   5,   1,   1,   5,   6,   1,   1,   2,   7,   134, 4,   2,   2,
+    6,   7,   8,   205, 9,   5,   4,   10,  5,   3,   5,   8,   4,   9,   5,
+    3,   10,  3,   61,  2,   16,  83,  2,   1,   0,   78,  208, 3,   37,  0,
+    1,   2,   2,   4,   1,   1,   2,   5,   1,   1,   3,   6,   1,   1,   4,
+    7,   1,   1,   5,   8,   134, 6,   2,   4,   5,   6,   7,   8,   3,   5,
+    4,   7,   8,   4,   3,   7,   2,   1,   2,   2,   4,   1,   1,   3,   5,
+    1,   1,   5,   6,   1,   1,   4,   7,   1,   1,   2,   8,   134, 6,   2,
+    3,   5,   6,   7,   8,   3,   5,   4,   7,   6,   4,   3,   7,   2,   61,
+    2,   16,  32,  2,   4,   0,   27,  208, 4,   21,  0,   208, 5,   15,  0,
+    1,   1,   2,   7,   198, 6,   3,   6,   3,   4,   5,   3,   3,   7,   2,
+    24,  4,   24,  5,   61,  2,   16,  93,  2,   1,   0,   88,  208, 3,   42,
+    0,   1,   2,   3,   4,   1,   1,   6,   5,   1,   1,   5,   6,   1,   1,
+    4,   7,   1,   1,   3,   8,   1,   1,   2,   9,   5,   4,   10,  5,   3,
+    5,   6,   4,   7,   5,   5,   8,   6,   9,   7,   3,   10,  5,   1,   2,
+    2,   4,   1,   1,   6,   5,   1,   1,   5,   6,   1,   1,   4,   7,   1,
+    1,   3,   8,   1,   1,   2,   9,   5,   4,   10,  5,   3,   5,   6,   4,
+    7,   5,   5,   8,   6,   9,   7,   3,   10,  5,   61,  2,   16,  58,  2,
+    1,   0,   53,  1,   1,   3,   4,   8,   3,   4,   33,  0,   1,   2,   2,
+    5,   1,   1,   4,   6,   1,   1,   5,   7,   1,   1,   6,   8,   1,   1,
+    7,   9,   134, 7,   2,   3,   3,   6,   7,   8,   9,   3,   3,   5,   2,
+    1,   1,   7,   5,   1,   1,   2,   3,   3,   5,   1,   61,  2,   16,  58,
+    2,   1,   0,   53,  1,   1,   3,   4,   8,   3,   4,   33,  0,   1,   2,
+    2,   5,   1,   1,   4,   6,   1,   1,   5,   7,   1,   1,   6,   8,   1,
+    1,   7,   9,   134, 7,   2,   3,   6,   7,   8,   3,   9,   3,   3,   5,
+    2,   1,   1,   7,   5,   1,   1,   2,   3,   3,   5,   1,   61,  2,   16,
+    89,  2,   5,   0,   84,  1,   1,   3,   8,   44,  8,   5,   9,   208, 9,
+    27,  0,   1,   1,   2,   10,  1,   1,   4,   11,  134, 8,   2,   4,   11,
+    4,   7,   6,   5,   3,   3,   5,   8,   5,   10,  6,   3,   6,   4,   8,
+    8,   5,   30,  0,   1,   1,   2,   10,  1,   1,   4,   11,  134, 8,   2,
+    3,   11,  7,   6,   5,   4,   3,   3,   9,   7,   4,   5,   8,   5,   10,
+    6,   3,   6,   4,   1,   2,   2,   10,  9,   7,   5,   3,   10,  3,   61,
+    2,   16,  25,  2,   4,   0,   20,  208, 4,   14,  0,   1,   1,   2,   7,
+    198, 5,   3,   6,   5,   4,   5,   3,   7,   3,   24,  4,   61,  2,   16,
+    129, 51,  2,   2,   0,   174, 208, 3,   66,  0,   1,   1,   4,   5,   1,
+    1,   9,   6,   6,   4,   2,   7,   3,   6,   7,   23,  2,   1,   5,   7,
+    8,   1,   1,   3,   9,   51,  8,   9,   10,  1,   2,   5,   11,  1,   1,
+    6,   12,  1,   1,   7,   13,  1,   1,   8,   14,  6,   6,   2,   6,   12,
+    10,  13,  14,  3,   1,   1,   5,   16,  5,   4,   6,   16,  4,   3,   11,
+    4,   1,   1,   2,   5,   208, 5,   47,  0,   1,   1,   4,   6,   1,   1,
+    9,   7,   6,   3,   2,   4,   7,   8,   23,  2,   1,   6,   8,   9,   1,
+    1,   3,   10,  51,  9,   10,  5,   1,   1,   8,   4,   1,   1,   7,   3,
+    1,   1,   6,   6,   1,   1,   5,   7,   3,   4,   5,   1,   2,   2,   6,
+    1,   1,   6,   7,   1,   1,   3,   8,   1,   1,   7,   9,   1,   1,   8,
+    10,  6,   6,   2,   3,   7,   8,   9,   10,  3,   1,   1,   5,   4,   1,
+    1,   4,   5,   1,   1,   9,   14,  5,   6,   9,   14,  6,   3,   9,   4,
+    61,  2,   16,  3,   0,   2,   67,  2,   16,  3,   0,   2,   66,  2,   16,
+    3,   0,   2,   65,  2,   16,  3,   0,   2,   64,  2,   16,  3,   0,   2,
+    63,  2,   16,  3,   0,   2,   62,  2,   16,  3,   0,   2,   61,  2,   16,
+    3,   0,   2,   60,  2,   16,  30,  2,   5,   0,   25,  1,   1,   2,   8,
+    205, 9,   1,   1,   3,   10,  134, 6,   2,   2,   10,  6,   5,   4,   5,
+    9,   9,   4,   3,   8,   3,   61,  2,   16,  45,  2,   5,   0,   40,  1,
+    1,   2,   8,   205, 9,   1,   1,   3,   10,  1,   1,   4,   11,  1,   1,
+    5,   12,  1,   1,   6,   13,  134, 9,   2,   2,   10,  6,   5,   4,   11,
+    12,  13,  5,   9,   9,   4,   3,   8,   3,   61,  2,   16,  31,  2,   5,
+    0,   26,  1,   1,   2,   8,   205, 9,   1,   1,   3,   10,  134, 7,   2,
+    2,   10,  4,   7,   6,   5,   5,   9,   9,   4,   3,   8,   3,   61,  2,
+    16,  85,  2,   1,   0,   80,  208, 3,   38,  0,   1,   1,   3,   4,   1,
+    1,   2,   5,   1,   1,   4,   6,   1,   1,   5,   7,   134, 4,   2,   3,
+    6,   7,   8,   205, 9,   5,   4,   10,  5,   3,   5,   8,   4,   9,   5,
+    3,   10,  3,   1,   1,   4,   4,   1,   1,   2,   5,   205, 6,   1,   1,
+    5,   7,   1,   1,   3,   8,   134, 4,   2,   2,   7,   8,   9,   5,   4,
+    8,   5,   3,   5,   6,   4,   9,   5,   3,   8,   3,   61,  2,   16,  27,
+    2,   5,   0,   22,  1,   1,   2,   8,   1,   1,   3,   9,   134, 6,   2,
+    2,   9,   6,   5,   4,   4,   205, 5,   3,   8,   3,   61,  2,   16,  42,
+    2,   5,   0,   37,  1,   1,   2,   8,   1,   1,   3,   9,   1,   1,   4,
+    10,  1,   1,   5,   11,  1,   1,   6,   12,  134, 9,   2,   2,   9,   6,
+    5,   4,   10,  11,  12,  4,   205, 5,   3,   8,   3,   61,  2,   16,  28,
+    2,   5,   0,   23,  1,   1,   2,   8,   1,   1,   3,   9,   134, 7,   2,
+    2,   9,   4,   7,   6,   5,   4,   205, 5,   3,   8,   3,   61,  2,   16,
+    85,  2,   1,   0,   80,  208, 3,   38,  0,   1,   1,   3,   4,   1,   1,
+    2,   5,   1,   1,   4,   6,   1,   1,   5,   7,   134, 4,   2,   3,   6,
+    7,   8,   205, 9,   5,   4,   10,  5,   3,   5,   8,   4,   9,   5,   3,
+    10,  3,   1,   1,   4,   4,   1,   1,   2,   5,   1,   1,   5,   6,   1,
+    1,   3,   7,   134, 4,   2,   2,   6,   7,   8,   205, 9,   5,   4,   10,
+    5,   3,   5,   8,   4,   9,   5,   3,   10,  3,   61,  2,   16,  3,   0,
+    2,   59,  2,   3,   29,  115, 116, 114, 105, 110, 103, 45,  108, 101, 110,
+    103, 116, 104, 58,  32,  110, 111, 116, 32,  97,  32,  115, 116, 114, 105,
+    110, 103, 58,  32,  2,   3,   24,  115, 116, 114, 45,  105, 116, 101, 114,
+    58,  32,  110, 111, 116, 32,  97,  32,  115, 116, 114, 105, 110, 103, 58,
+    32,  2,   3,   68,  105, 109, 112, 108, 101, 109, 101, 110, 116, 97,  116,
+    105, 111, 110, 32,  114, 101, 115, 116, 114, 105, 99,  116, 105, 111, 110,
+    58,  32,  97,  100, 100, 32,  109, 111, 114, 101, 32,  118, 97,  108, 117,
+    101, 115, 32,  116, 111, 32,  99,  111, 110, 116, 105, 110, 117, 97,  116,
+    105, 111, 110, 32,  104, 97,  110, 100, 108, 105, 110, 103, 2,   16,  3,
+    0,   2,   58,  2,   16,  3,   0,   2,   57,  2,   16,  3,   0,   2,   56,
+    2,   16,  3,   0,   2,   55,  2,   16,  3,   0,   2,   54,  2,   16,  3,
+    0,   2,   53,  2,   16,  3,   0,   2,   52,  1,   17,  3,   136, 71,  7,
+    8,   1,   17,  2,   136, 71,  1,   2,   16,  3,   0,   2,   51,  1,   17,
+    3,   136, 71,  1,   136, 72,  1,   17,  3,   136, 71,  136, 85,  1,   1,
+    17,  3,   136, 69,  4,   136, 70,  1,   17,  2,   136, 67,  1,   1,   17,
+    2,   136, 33,  136, 34,  1,   17,  2,   136, 45,  1,   1,   17,  3,   84,
+    85,  85,  1,   17,  2,   84,  1,   2,   3,   9,   66,  97,  100, 32,  109,
+    97,  116, 104, 58,  2,   3,   10,  98,  97,  100, 32,  109, 97,  116, 104,
+    58,  32,  2,   3,   12,  66,  97,  100, 32,  110, 117, 109, 98,  101, 114,
+    58,  32,  1,   17,  3,   136, 97,  0,   32,  0,   25,  1,   40,  2,   0,
+    0,   1,   0,   13,  0,   1,   40,  2,   0,   0,   0,   1,   1,   17,  3,
+    135, 117, 11,  6,   1,   17,  4,   135, 117, 135, 120, 135, 119, 4,   1,
+    17,  2,   136, 98,  135, 117, 1,   17,  2,   136, 57,  135, 117, 1,   17,
+    5,   135, 117, 4,   137, 70,  1,   136, 10,  1,   17,  4,   135, 117, 5,
+    137, 72,  3,   1,   17,  3,   135, 114, 17,  11,  1,   17,  7,   135, 113,
+    0,   0,   135, 255, 255, 127, 8,   135, 114, 9,   7,   137, 48,  1,   17,
+    2,   136, 100, 1,   1,   17,  3,   135, 112, 11,  135, 113, 1,   17,  2,
+    136, 106, 1,   1,   17,  5,   135, 113, 13,  1,   135, 115, 135, 115, 1,
+    17,  2,   136, 66,  1,   1,   17,  2,   135, 113, 135, 114, 1,   17,  2,
+    136, 68,  1,   1,   17,  3,   135, 114, 136, 5,   18,  1,   17,  3,   135,
+    114, 2,   1,   1,   17,  4,   135, 114, 3,   135, 118, 135, 118, 1,   17,
+    2,   136, 75,  1,   1,   17,  3,   135, 115, 22,  136, 9,   1,   17,  3,
+    135, 115, 2,   1,   1,   17,  3,   135, 115, 18,  1,   1,   17,  3,   135,
+    115, 25,  24,  1,   17,  2,   136, 16,  136, 13,  1,   17,  2,   136, 17,
+    136, 14,  1,   17,  2,   136, 18,  136, 15,  1,   17,  12,  135, 118, 5,
+    14,  3,   10,  16,  2,   12,  1,   29,  4,   28,  1,   18,  2,   1,   21,
+    1,   17,  2,   136, 21,  136, 18,  1,   17,  2,   136, 22,  136, 19,  1,
+    17,  2,   136, 23,  136, 20,  1,   17,  12,  135, 121, 19,  3,   10,  21,
+    2,   15,  17,  1,   9,   34,  33,  1,   18,  2,   1,   26,  1,   17,  2,
+    136, 90,  135, 122, 1,   17,  2,   137, 2,   135, 122, 1,   17,  2,   135,
+    122, 2,   1,   17,  5,   135, 122, 36,  137, 63,  2,   1,   1,   17,  2,
+    135, 121, 135, 122, 1,   17,  2,   136, 95,  1,   1,   17,  2,   135, 122,
+    1,   1,   17,  2,   137, 8,   135, 122, 1,   17,  3,   136, 12,  136, 31,
+    44,  1,   17,  3,   136, 13,  136, 32,  45,  1,   17,  3,   135, 124, 4,
+    1,   1,   17,  2,   136, 61,  5,   1,   17,  11,  135, 125, 45,  137, 110,
+    18,  136, 22,  6,   4,   44,  5,   2,   1,   1,   17,  2,   137, 14,  1,
+    1,   17,  2,   135, 126, 136, 23,  1,   17,  2,   136, 102, 1,   1,   17,
+    2,   137, 17,  135, 127, 1,   17,  2,   136, 43,  136, 40,  1,   17,  3,
+    136, 4,   2,   1,   1,   17,  2,   136, 69,  3,   1,   17,  2,   136, 46,
+    136, 43,  1,   17,  2,   136, 47,  136, 44,  1,   17,  4,   136, 4,   28,
+    136, 32,  0,   0,   135, 255, 255, 127, 1,   17,  12,  136, 4,   56,  137,
+    120, 8,   5,   4,   59,  7,   3,   2,   1,   0,   0,   135, 255, 255, 127,
+    1,   17,  2,   137, 25,  1,   1,   17,  2,   136, 4,   136, 5,   1,   17,
+    2,   137, 27,  1,   1,   17,  4,   136, 1,   60,  137, 119, 1,   1,   17,
+    3,   135, 127, 136, 37,  136, 37,  1,   17,  2,   136, 116, 1,   1,   17,
+    2,   135, 127, 136, 42,  1,   17,  2,   135, 127, 136, 40,  1,   17,  7,
+    135, 127, 136, 2,   33,  38,  2,   136, 41,  1,   1,   17,  2,   136, 120,
+    1,   1,   17,  2,   136, 97,  35,  1,   17,  3,   136, 1,   6,   1,   1,
+    17,  2,   136, 1,   1,   1,   17,  2,   137, 38,  1,   1,   17,  2,   136,
+    1,   37,  1,   17,  2,   137, 36,  1,   1,   17,  3,   136, 0,   1,   136,
+    1,   1,   17,  3,   136, 0,   136, 5,   1,   1,   17,  3,   136, 0,   3,
+    1,   1,   17,  3,   136, 3,   4,   136, 4,   1,   17,  3,   136, 3,   136,
+    8,   1,   1,   17,  3,   136, 3,   6,   1,   1,   17,  4,   136, 3,   136,
+    10,  4,   1,   1,   17,  2,   136, 9,   1,   1,   17,  2,   136, 77,  15,
+    1,   17,  3,   136, 5,   25,  1,   1,   17,  3,   136, 5,   17,  1,   1,
+    17,  3,   136, 5,   57,  1,   1,   17,  3,   136, 5,   53,  1,   1,   17,
+    2,   136, 5,   1,   1,   17,  3,   136, 5,   55,  1,   1,   17,  3,   136,
+    5,   56,  1,   1,   17,  2,   136, 5,   1,   1,   17,  3,   136, 5,   1,
+    20,  1,   17,  4,   136, 5,   29,  11,  1,   1,   17,  2,   137, 60,  1,
+    1,   17,  2,   136, 86,  136, 83,  1,   17,  2,   136, 87,  136, 84,  1,
+    17,  2,   136, 88,  136, 85,  1,   17,  2,   136, 89,  136, 86,  1,   17,
+    2,   136, 90,  136, 87,  1,   17,  3,   136, 69,  136, 88,  101, 1,   17,
+    3,   136, 70,  136, 89,  102, 1,   17,  3,   136, 71,  136, 90,  103, 1,
+    17,  13,  136, 14,  101, 138, 10,  9,   8,   39,  7,   6,   5,   4,   3,
+    2,   1,   1,   17,  2,   137, 70,  1,   1,   17,  3,   136, 14,  76,  136,
+    15,  1,   17,  2,   137, 30,  1,   1,   17,  4,   136, 15,  78,  97,  136,
+    17,  1,   17,  2,   137, 32,  1,   1,   17,  3,   136, 16,  3,   0,   0,
+    131, 255, 255, 127, 1,   17,  3,   136, 16,  2,   4,   1,   17,  7,   136,
+    16,  0,   0,   135, 255, 255, 127, 82,  2,   77,  1,   136, 21,  1,   17,
+    2,   137, 36,  1,   1,   17,  4,   136, 17,  122, 138, 8,   115, 1,   17,
+    3,   135, 125, 1,   135, 126, 1,   17,  3,   135, 125, 86,  1,   1,   17,
+    2,   137, 82,  1,   1,   17,  3,   135, 126, 88,  137, 70,  1,   17,  4,
+    135, 126, 59,  1,   2,   1,   17,  3,   135, 126, 7,   1,   1,   17,  2,
+    135, 126, 1,   1,   17,  2,   137, 87,  136, 79,  1,   17,  2,   135, 125,
+    1,   1,   17,  2,   137, 85,  1,   1,   17,  3,   135, 123, 95,  135, 124,
+    1,   17,  4,   135, 123, 135, 126, 66,  1,   1,   17,  4,   135, 123, 3,
+    64,  1,   1,   17,  2,   136, 1,   1,   1,   40,  2,   0,   0,   0,   0,
+    13,  0,   1,   17,  3,   135, 125, 81,  136, 104, 1,   17,  3,   135, 125,
+    82,  1,   1,   17,  5,   135, 125, 69,  1,   4,   3,   1,   17,  3,   135,
+    125, 70,  1,   1,   17,  2,   137, 99,  1,   1,   17,  2,   135, 126, 129,
+    3,   1,   17,  2,   136, 126, 1,   1,   17,  2,   135, 127, 1,   1,   17,
+    2,   137, 0,   3,   1,   17,  2,   136, 1,   1,   1,   17,  5,   136, 1,
+    6,   129, 8,   3,   1,   1,   17,  2,   137, 106, 1,   1,   17,  2,   137,
+    4,   129, 10,  1,   17,  3,   136, 33,  22,  1,   1,   17,  3,   136, 33,
+    129, 12,  1,   1,   17,  2,   137, 7,   129, 13,  1,   17,  3,   136, 96,
+    25,  1,   1,   17,  2,   136, 2,   129, 15,  1,   17,  2,   136, 3,   129,
+    16,  1,   17,  2,   137, 48,  28,  1,   17,  13,  136, 3,   129, 19,  138,
+    36,  129, 18,  6,   4,   111, 3,   2,   1,   29,  136, 4,   136, 4,   1,
+    17,  2,   137, 50,  129, 16,  1,   17,  3,   135, 107, 47,  1,   1,   17,
+    2,   137, 52,  129, 18,  1,   17,  2,   135, 108, 129, 19,  1,   17,  6,
+    135, 108, 50,  3,   2,   1,   129, 20,  1,   17,  3,   135, 108, 6,   137,
+    2,   1,   17,  2,   137, 122, 1,   1,   17,  2,   135, 109, 0,   0,   132,
+    128, 128, 0,   1,   17,  3,   130, 12,  0,   0,   1,   0,   0,   2,   1,
+    17,  3,   130, 13,  0,   0,   3,   0,   0,   8,   1,   17,  3,   130, 14,
+    0,   0,   5,   0,   0,   32,  1,   17,  5,   130, 12,  2,   0,   0,   2,
+    0,   0,   4,   3,   1,   17,  3,   130, 16,  0,   0,   7,   0,   0,   129,
+    0,   1,   17,  3,   130, 17,  0,   0,   9,   0,   0,   132, 0,   1,   17,
+    5,   130, 15,  2,   0,   0,   6,   0,   0,   64,  4,   1,   17,  3,   130,
+    19,  0,   0,   11,  0,   0,   144, 0,   1,   17,  3,   130, 20,  0,   0,
+    13,  0,   0,   192, 0,   1,   17,  5,   130, 18,  2,   0,   0,   10,  0,
+    0,   136, 0,   4,   1,   17,  5,   130, 19,  4,   0,   0,   4,   0,   0,
+    16,  7,   1,   17,  3,   130, 23,  0,   0,   15,  0,   0,   130, 128, 0,
+    1,   17,  3,   130, 24,  0,   0,   17,  0,   0,   136, 128, 0,   1,   17,
+    5,   130, 22,  2,   0,   0,   14,  0,   0,   129, 128, 0,   5,   1,   17,
+    3,   130, 26,  0,   0,   19,  0,   0,   160, 128, 0,   1,   17,  3,   130,
+    27,  0,   0,   21,  0,   0,   129, 128, 128, 0,   1,   17,  3,   130, 28,
+    0,   0,   23,  0,   0,   132, 128, 128, 0,   1,   17,  5,   130, 26,  3,
+    0,   0,   18,  0,   0,   144, 128, 0,   5,   1,   17,  5,   130, 27,  2,
+    0,   0,   22,  0,   0,   130, 128, 128, 0,   3,   1,   17,  5,   130, 28,
+    6,   0,   0,   12,  0,   0,   160, 0,   10,  1,   17,  5,   130, 29,  2,
+    0,   0,   20,  0,   0,   192, 128, 0,   3,   1,   17,  5,   130, 25,  1,
+    0,   0,   16,  0,   0,   132, 128, 0,   2,   1,   17,  5,   130, 31,  1,
+    0,   0,   8,   0,   0,   130, 0,   12,  1,   17,  3,   136, 3,   129, 19,
+    136, 91,  1,   17,  3,   136, 3,   25,  1,   1,   17,  4,   136, 3,   26,
+    1,   137, 116, 1,   17,  3,   136, 2,   129, 53,  136, 3,   1,   17,  3,
+    136, 2,   72,  1,   1,   17,  3,   136, 2,   129, 29,  1,   1,   17,  3,
+    136, 106, 129, 11,  1,   1,   17,  4,   136, 3,   129, 65,  1,   8,   1,
+    17,  3,   136, 3,   129, 13,  1,   1,   17,  6,   136, 3,   33,  137, 62,
+    129, 67,  1,   10,  1,   17,  4,   136, 3,   129, 1,   8,   1,   1,   17,
+    4,   136, 3,   129, 5,   129, 2,   1,   1,   17,  2,   137, 117, 1,   1,
+    17,  2,   136, 4,   1,   1,   17,  8,   136, 3,   129, 64,  136, 4,   136,
+    4,   137, 42,  137, 42,  39,  1,   1,   17,  2,   138, 34,  1,   1,   17,
+    3,   136, 0,   129, 66,  137, 44,  1,   17,  3,   136, 1,   129, 67,  137,
+    45,  1,   17,  3,   136, 1,   59,  136, 5,   1,   17,  3,   136, 1,   60,
+    1,   1,   17,  3,   136, 1,   129, 66,  1,   1,   17,  4,   136, 1,   6,
+    1,   138, 43,  1,   17,  6,   136, 1,   129, 72,  6,   5,   136, 7,   1,
+    1,   17,  2,   138, 42,  1,   1,   17,  3,   136, 86,  129, 43,  136, 2,
+    1,   17,  2,   137, 93,  2,   1,   17,  2,   137, 107, 3,   1,   17,  3,
+    136, 4,   104, 1,   1,   17,  3,   136, 4,   129, 47,  1,   1,   17,  3,
+    136, 4,   106, 1,   1,   17,  6,   136, 4,   107, 6,   129, 49,  5,   1,
+    1,   18,  2,   1,   129, 76,  1,   18,  2,   129, 52,  1,   1,   17,  3,
+    136, 95,  129, 57,  136, 6,   1,   17,  3,   136, 6,   111, 1,   1,   17,
+    3,   136, 6,   129, 59,  136, 8,   1,   17,  3,   136, 6,   113, 1,   1,
+    17,  2,   137, 105, 14,  1,   17,  2,   137, 119, 15,  1,   17,  3,   136,
+    16,  116, 1,   1,   17,  3,   136, 16,  129, 64,  1,   1,   17,  3,   136,
+    16,  118, 1,   1,   17,  7,   136, 11,  8,   129, 66,  5,   119, 1,   6,
+    1,   18,  2,   1,   129, 88,  1,   17,  2,   138, 63,  1,   1,   18,  2,
+    129, 70,  1,   1,   17,  3,   136, 29,  14,  136, 11,  1,   17,  4,   136,
+    10,  15,  1,   136, 11,  1,   18,  2,   18,  1,   1,   18,  2,   129, 69,
+    1,   1,   17,  3,   136, 12,  5,   136, 14,  1,   17,  3,   136, 12,  6,
+    1,   1,   17,  2,   136, 12,  1,   1,   18,  2,   11,  1,   1,   17,  2,
+    138, 73,  1,   1,   18,  2,   129, 80,  1,   1,   17,  2,   138, 9,   7,
+    1,   17,  4,   135, 72,  8,   1,   129, 117, 1,   17,  2,   138, 11,  3,
+    1,   17,  5,   135, 73,  4,   129, 119, 1,   10,  1,   17,  2,   135, 70,
+    135, 71,  1,   17,  2,   138, 38,  1,   1,   17,  2,   135, 71,  1,   1,
+    18,  2,   1,   90,  1,   17,  3,   137, 110, 130, 0,   135, 27,  1,   17,
+    4,   135, 24,  129, 127, 130, 15,  1,   1,   17,  2,   135, 23,  135, 24,
+    1,   17,  2,   138, 47,  1,   1,   17,  2,   135, 23,  135, 24,  1,   17,
+    3,   135, 23,  5,   1,   1,   17,  2,   138, 47,  1,   1,   17,  3,   135,
+    127, 14,  138, 77,  1,   17,  2,   135, 25,  1,   1,   17,  3,   135, 25,
+    9,   1,   1,   17,  2,   135, 25,  7,   1,   17,  7,   135, 25,  130, 9,
+    130, 24,  2,   5,   10,  1,   1,   17,  2,   138, 95,  1,   1,   17,  3,
+    138, 102, 0,   13,  0,   1,   2,   3,   36,  66,  97,  100, 32,  118, 101,
+    99,  116, 111, 114, 32,  110, 111, 100, 101, 32,  105, 110, 32,  100, 105,
+    115, 112, 97,  116, 99,  104, 45,  49,  58,  32,  116, 121, 112, 101, 32,
+    2,   3,   27,  76,  101, 97,  102, 32,  118, 101, 99,  116, 111, 114, 32,
+    105, 110, 32,  100, 105, 115, 112, 97,  116, 99,  104, 45,  50,  58,  32,
+    2,   3,   35,  66,  97,  100, 32,  118, 101, 99,  116, 111, 114, 32,  110,
+    111, 100, 101, 32,  105, 110, 32,  100, 105, 115, 112, 97,  116, 99,  104,
+    45,  50,  58,  32,  111, 98,  106, 32,  2,   3,   24,  118, 101, 99,  45,
+    108, 101, 97,  102, 45,  111, 102, 58,  32,  98,  97,  100, 32,  105, 110,
+    100, 101, 120, 58,  32,  2,   3,   29,  118, 101, 99,  116, 111, 114, 45,
+    108, 101, 110, 103, 116, 104, 58,  32,  110, 111, 116, 32,  97,  32,  118,
+    101, 99,  116, 111, 114, 58,  32,  1,   17,  4,   134, 87,  130, 17,  5,
+    0,   0,   159, 127, 1,   17,  4,   134, 87,  130, 18,  4,   5,   1,   17,
+    2,   138, 25,  2,   1,   17,  2,   138, 26,  3,   1,   17,  6,   134, 89,
+    3,   2,   4,   0,   0,   160, 0,   1,   1,   17,  2,   138, 107, 1,   1,
+    17,  2,   136, 97,  5,   1,   17,  3,   134, 89,  2,   1,   1,   17,  6,
+    134, 87,  130, 25,  10,  1,   7,   0,   0,   160, 0,   1,   17,  6,   134,
+    87,  130, 26,  10,  139, 18,  139, 78,  28,  1,   17,  2,   138, 70,  134,
+    83,  1,   17,  2,   135, 98,  1,   1,   17,  3,   134, 84,  36,  1,   1,
+    17,  2,   138, 115, 1,   1,   17,  3,   134, 84,  34,  134, 85,  1,   17,
+    4,   134, 84,  41,  1,   0,   0,   160, 0,   1,   17,  3,   134, 84,  3,
+    1,   1,   17,  3,   134, 84,  9,   1,   1,   17,  4,   134, 84,  9,   135,
+    94,  1,   2,   3,   17,  104, 111, 119, 32,  100, 111, 32,  105, 32,  105,
+    116, 101, 114, 97,  116, 101, 32,  1,   17,  2,   133, 16,  135, 68,  1,
+    17,  3,   133, 16,  138, 74,  1,   1,   1,   2,   0,   0,   0,   0,   13,
+    0,   1,   1,   2,   1,   0,   13,  0,   1,   17,  3,   133, 7,   1,   133,
+    8,   1,   17,  4,   133, 6,   138, 8,   1,   133, 7,   1,   17,  4,   133,
+    6,   2,   138, 79,  1,   1,   17,  2,   139, 1,   1,   1,   17,  4,   133,
+    7,   130, 45,  9,   10,  1,   17,  4,   133, 7,   134, 103, 1,   35,  1,
+    17,  3,   133, 7,   135, 73,  1,   1,   17,  3,   138, 121, 138, 84,  1,
+    1,   17,  2,   138, 68,  5,   1,   17,  3,   133, 9,   2,   1,   1,   17,
+    2,   139, 16,  139, 17,  1,   17,  2,   139, 16,  1,   1,   17,  2,   139,
+    15,  139, 16,  1,   17,  2,   139, 16,  139, 15,  1,   17,  3,   139, 18,
+    0,   13,  1,   130, 64,  2,   3,   29,  115, 116, 114, 105, 110, 103, 45,
+    108, 101, 110, 103, 116, 104, 58,  32,  110, 111, 116, 32,  97,  32,  115,
+    116, 114, 105, 110, 103, 58,  32,  2,   3,   24,  115, 116, 114, 45,  105,
+    116, 101, 114, 58,  32,  110, 111, 116, 32,  97,  32,  115, 116, 114, 105,
+    110, 103, 58,  32,  2,   3,   25,  115, 116, 114, 45,  105, 116, 101, 114,
+    114, 58,  32,  110, 111, 116, 32,  97,  32,  115, 116, 114, 105, 110, 103,
+    58,  32,  2,   3,   23,  70,  97,  105, 108, 101, 100, 32,  116, 111, 32,
+    109, 97,  107, 101, 32,  115, 116, 114, 105, 110, 103, 58,  32,  1,   1,
+    2,   0,   0,   0,   0,   13,  0,   2,   3,   68,  105, 109, 112, 108, 101,
+    109, 101, 110, 116, 97,  116, 105, 111, 110, 32,  114, 101, 115, 116, 114,
+    105, 99,  116, 105, 111, 110, 58,  32,  97,  100, 100, 32,  109, 111, 114,
+    101, 32,  118, 97,  108, 117, 101, 115, 32,  116, 111, 32,  99,  111, 110,
+    116, 105, 110, 117, 97,  116, 105, 111, 110, 32,  104, 97,  110, 100, 108,
+    105, 110, 103, 2,   16,  3,   0,   2,   50,  2,   16,  11,  2,   3,   0,
+    6,   50,  4,   5,   6,   24,  6,   61,  2,   16,  10,  2,   2,   0,   5,
+    62,  4,   5,   24,  5,   61,  2,   16,  13,  2,   5,   0,   8,   63,  4,
+    5,   6,   7,   8,   24,  8,   61,  1,   17,  3,   139, 17,  2,   139, 18,
+    1,   17,  2,   139, 20,  1,   1,   17,  2,   139, 18,  3,   1,   17,  3,
+    139, 18,  7,   8,   1,   17,  2,   139, 18,  1,   2,   16,  3,   0,   2,
+    49,  1,   17,  3,   139, 18,  1,   139, 19,  1,   17,  3,   139, 18,  139,
+    32,  1,   1,   17,  3,   139, 16,  4,   139, 17,  1,   17,  2,   139, 16,
+    1,   1,   17,  2,   139, 16,  2,   1,   17,  2,   139, 16,  3,   1,   17,
+    2,   139, 16,  4,   1,   17,  2,   139, 16,  5,   1,   17,  2,   139, 16,
+    6,   1,   17,  2,   139, 16,  6,   1,   17,  3,   139, 16,  8,   1,   1,
+    17,  2,   131, 61,  9,   1,   17,  2,   139, 16,  10,  1,   17,  2,   139,
+    16,  11,  1,   17,  5,   139, 13,  2,   139, 15,  8,   139, 14,  1,   17,
+    2,   139, 13,  1,   1,   17,  4,   139, 13,  4,   139, 18,  1,   1,   17,
+    3,   139, 12,  13,  139, 117, 1,   17,  4,   139, 10,  2,   139, 12,  139,
+    11,  1,   17,  3,   139, 10,  12,  1,   1,   17,  2,   139, 8,   139, 9,
+    1,   17,  2,   139, 11,  1,   1,   17,  2,   139, 9,   139, 8,   1,   17,
+    3,   139, 8,   2,   1,   1,   17,  3,   139, 8,   23,  1,   1,   17,  3,
+    139, 8,   24,  1,   1,   17,  3,   139, 61,  0,   13,  0,   130, 107, 1,
+    18,  3,   48,  130, 112, 130, 112, 1,   18,  3,   49,  130, 112, 130, 113,
+    1,   18,  3,   50,  130, 114, 130, 113, 1,   18,  3,   51,  130, 114, 130,
+    114, 1,   17,  3,   139, 9,   139, 11,  139, 10,  1,   17,  2,   139, 57,
+    1,   1,   17,  2,   139, 9,   139, 10,  1,   17,  2,   139, 21,  1,   1,
+    17,  2,   139, 10,  139, 63,  1,   17,  2,   139, 10,  1,   1,   17,  2,
+    139, 10,  1,   1,   17,  2,   139, 25,  1,   1,   17,  2,   139, 10,  139,
+    11,  1,   17,  2,   139, 30,  1,   1,   17,  2,   139, 10,  139, 11,  1,
+    17,  2,   139, 29,  1,   1,   17,  2,   139, 11,  139, 71,  1,   17,  2,
+    139, 11,  1,   1,   17,  2,   139, 74,  1,   1,   17,  2,   139, 75,  139,
+    12,  1,   17,  2,   139, 74,  139, 75,  1,   17,  2,   139, 77,  1,   1,
+    17,  2,   139, 12,  1,   1,   17,  2,   139, 12,  1,   1,   17,  3,   139,
+    12,  139, 31,  1,   1,   17,  2,   139, 77,  1,   1,   17,  3,   139, 13,
+    5,   1,   1,   17,  2,   139, 83,  139, 13,  1,   17,  3,   139, 90,  0,
+    13,  0,   1,   1,   17,  3,   139, 12,  1,   139, 13,  1,   17,  4,   139,
+    12,  2,   139, 15,  1,   1,   17,  2,   139, 12,  1,   1,   17,  2,   139,
+    11,  139, 12,  1,   17,  3,   139, 11,  18,  1,   1,   17,  2,   139, 11,
+    1,   1,   17,  4,   139, 11,  82,  1,   79,  1,   17,  4,   139, 9,   8,
+    139, 101, 139, 10,  1,   17,  2,   139, 9,   1,   1,   17,  4,   139, 6,
+    10,  139, 22,  139, 7,   1,   17,  2,   139, 6,   1,   1,   17,  3,   135,
+    97,  135, 99,  135, 98,  1,   17,  5,   131, 109, 131, 113, 131, 112, 131,
+    111, 131, 110, 1,   17,  5,   131, 110, 131, 109, 131, 108, 131, 107, 131,
+    106, 1,   17,  2,   131, 106, 2,   1,   17,  2,   131, 107, 2,   1,   17,
+    3,   131, 83,  131, 85,  131, 84,  1,   17,  2,   139, 11,  4,   1,   17,
+    3,   131, 109, 6,   1,   1,   17,  3,   131, 108, 7,   1,   1,   17,  3,
+    131, 53,  8,   1,   1,   17,  2,   139, 15,  8,   1,   17,  3,   131, 113,
+    10,  1,   1,   17,  3,   131, 113, 11,  1,   1,   17,  4,   131, 56,  8,
+    4,   1,   1,   17,  2,   139, 19,  12,  1,   17,  3,   132, 88,  12,  1,
+    1,   17,  5,   131, 58,  11,  3,   13,  1,   1,   17,  3,   131, 58,  12,
+    1,   1,   17,  2,   131, 117, 17,  1,   17,  3,   131, 59,  2,   1,   1,
+    17,  2,   139, 25,  18,  1,   17,  3,   131, 123, 20,  1,   1,   17,  3,
+    131, 120, 21,  1,   1,   17,  3,   131, 62,  22,  1,   1,   17,  2,   139,
+    29,  22,  1,   17,  3,   131, 127, 24,  1,   1,   17,  3,   131, 123, 25,
+    1,   1,   17,  4,   131, 65,  22,  4,   1,   1,   17,  3,   131, 65,  23,
+    1,   1,   17,  2,   132, 0,   28,  1,   17,  3,   131, 126, 2,   1,   1,
+    17,  2,   139, 36,  29,  1,   17,  2,   139, 36,  30,  1,   17,  4,   132,
+    0,   31,  2,   1,   1,   17,  2,   139, 39,  4,   1,   17,  2,   139, 39,
+    16,  1,   17,  4,   132, 3,   35,  2,   1,   1,   17,  4,   132, 3,   35,
+    4,   1,   1,   17,  2,   139, 92,  1,   1,   17,  2,   139, 44,  37,  1,
+    17,  2,   139, 44,  38,  1,   17,  4,   132, 8,   39,  2,   1,   1,   17,
+    2,   139, 47,  41,  1,   17,  2,   139, 47,  42,  1,   17,  4,   132, 11,
+    43,  2,   1,   1,   17,  3,   131, 122, 4,   1,   1,   17,  2,   139, 100,
+    1,   1,   17,  3,   132, 11,  132, 12,  132, 12,  1,   17,  2,   132, 11,
+    1,   1,   17,  2,   139, 42,  46,  1,   17,  3,   132, 12,  12,  1,   1,
+    17,  2,   139, 52,  139, 53,  1,   17,  4,   132, 13,  139, 55,  139, 54,
+    1,   1,   17,  2,   132, 13,  1,   1,   17,  2,   139, 108, 1,   1,   17,
+    2,   139, 56,  139, 57,  1,   17,  4,   132, 15,  139, 58,  139, 59,  1,
+    1,   17,  2,   132, 17,  1,   1,   17,  2,   139, 112, 1,   1,   17,  3,
+    139, 57,  5,   139, 53,  1,   17,  2,   139, 60,  10,  1,   17,  3,   132,
+    19,  94,  1,   1,   17,  3,   139, 60,  8,   139, 61,  1,   17,  2,   139,
+    68,  33,  1,   17,  2,   139, 69,  62,  1,   17,  3,   132, 13,  35,  1,
+    1,   17,  3,   132, 13,  62,  1,   1,   17,  3,   132, 13,  66,  1,   1,
+    17,  2,   139, 73,  66,  1,   17,  3,   132, 17,  39,  1,   1,   17,  3,
+    132, 17,  66,  1,   1,   17,  3,   132, 17,  70,  1,   1,   17,  3,   132,
+    17,  5,   1,   1,   17,  4,   132, 17,  69,  10,  1,   1,   17,  2,   139,
+    78,  72,  1,   17,  5,   132, 18,  70,  2,   72,  1,   1,   17,  3,   132,
+    18,  71,  1,   1,   17,  2,   139, 81,  58,  1,   17,  2,   139, 83,  76,
+    1,   17,  3,   132, 53,  78,  1,   1,   17,  3,   132, 21,  61,  1,   1,
+    17,  3,   132, 21,  77,  1,   1,   17,  2,   139, 87,  80,  1,   17,  3,
+    132, 57,  82,  1,   1,   17,  3,   132, 25,  65,  1,   1,   17,  3,   132,
+    25,  81,  1,   1,   17,  3,   132, 25,  5,   1,   1,   17,  4,   132, 31,
+    83,  10,  1,   1,   17,  2,   139, 93,  86,  1,   17,  5,   132, 27,  84,
+    2,   86,  1,   1,   17,  3,   132, 27,  85,  1,   1,   17,  3,   132, 26,
+    132, 27,  132, 27,  1,   17,  3,   132, 27,  132, 26,  132, 26,  1,   17,
+    2,   139, 98,  17,  1,   17,  3,   132, 26,  93,  1,   1,   17,  2,   132,
+    3,   1,   1,   17,  2,   139, 101, 94,  1,   17,  3,   132, 71,  96,  1,
+    1,   17,  3,   132, 29,  97,  1,   1,   17,  2,   132, 6,   1,   1,   17,
+    2,   132, 6,   1,   1,   17,  3,   132, 6,   6,   1,   1,   17,  3,   136,
+    89,  97,  1,   1,   17,  2,   132, 33,  1,   1,   17,  3,   132, 33,  13,
+    1,   1,   17,  2,   139, 109, 103, 1,   17,  2,   132, 34,  1,   1,   17,
+    4,   132, 34,  15,  3,   1,   1,   17,  2,   139, 113, 106, 1,   17,  2,
+    132, 35,  1,   1,   17,  2,   139, 115, 108, 1,   17,  3,   132, 43,  109,
+    1,   1,   17,  2,   132, 16,  1,   1,   17,  2,   139, 118, 111, 1,   17,
+    3,   132, 88,  112, 1,   1,   17,  3,   132, 46,  113, 1,   1,   17,  2,
+    132, 19,  1,   1,   17,  2,   132, 19,  1,   1,   17,  3,   132, 19,  6,
+    1,   1,   17,  3,   136, 106, 114, 1,   1,   17,  2,   132, 50,  1,   1,
+    17,  3,   132, 50,  30,  1,   1,   17,  4,   132, 47,  13,  30,  1,   1,
+    17,  4,   132, 47,  118, 16,  1,   1,   17,  3,   132, 47,  119, 1,   1,
+    17,  2,   140, 93,  1,   1,   17,  3,   132, 48,  36,  124, 1,   17,  3,
+    132, 48,  122, 1,   1,   17,  3,   132, 50,  52,  126, 1,   17,  3,   132,
+    49,  124, 1,   1,   17,  4,   132, 49,  5,   3,   1,   1,   17,  3,   132,
+    49,  132, 64,  1,   1,   17,  2,   140, 100, 1,   1,   17,  2,   136, 8,
+    129, 2,   1,   17,  3,   136, 0,   129, 1,   1,   1,   17,  3,   139, 31,
+    3,   1,   2,   3,   9,   66,  97,  100, 32,  109, 97,  116, 104, 58,  2,
+    3,   10,  98,  97,  100, 32,  109, 97,  116, 104, 58,  32,  2,   3,   12,
+    66,  97,  100, 32,  110, 117, 109, 98,  101, 114, 58,  32,  1,   17,  3,
+    140, 113, 0,   0,   0,   132, 31,  1,   17,  3,   140, 112, 0,   32,  0,
+    132, 31,  1,   40,  2,   0,   0,   1,   0,   13,  0,   1,   40,  2,   0,
+    0,   0,   1,   1,   17,  3,   140, 4,   129, 77,  7,   1,   17,  4,   140,
+    4,   140, 7,   140, 6,   4,   1,   17,  2,   140, 113, 140, 4,   1,   17,
+    2,   140, 72,  140, 4,   1,   17,  5,   140, 4,   4,   141, 85,  1,   140,
+    25,  1,   17,  4,   140, 4,   5,   141, 87,  3,   1,   17,  2,   140, 4,
+    2,   1,   17,  3,   140, 2,   129, 84,  13,  1,   17,  7,   140, 1,   0,
+    0,   135, 255, 255, 127, 9,   140, 2,   10,  8,   141, 64,  1,   17,  2,
+    140, 116, 1,   1,   17,  3,   140, 0,   12,  140, 1,   1,   17,  2,   140,
+    122, 1,   1,   17,  5,   140, 1,   14,  1,   140, 3,   140, 3,   1,   17,
+    2,   140, 82,  1,   1,   17,  2,   140, 1,   140, 2,   1,   17,  2,   140,
+    84,  1,   1,   17,  3,   140, 2,   140, 21,  19,  1,   17,  3,   140, 2,
+    2,   1,   1,   17,  4,   140, 2,   3,   140, 6,   140, 6,   1,   17,  2,
+    140, 91,  1,   1,   17,  3,   140, 3,   23,  140, 25,  1,   17,  3,   140,
+    3,   2,   1,   1,   17,  3,   140, 3,   19,  1,   1,   17,  3,   140, 3,
+    26,  25,  1,   17,  2,   140, 32,  140, 29,  1,   17,  2,   140, 33,  140,
+    30,  1,   17,  2,   140, 34,  140, 31,  1,   17,  12,  140, 6,   5,   14,
+    3,   10,  16,  2,   12,  1,   30,  4,   29,  1,   18,  2,   1,   21,  1,
+    17,  2,   140, 37,  140, 34,  1,   17,  2,   140, 38,  140, 35,  1,   17,
+    2,   140, 39,  140, 36,  1,   17,  12,  140, 9,   19,  3,   10,  21,  2,
+    15,  17,  1,   9,   35,  34,  1,   18,  2,   1,   26,  1,   17,  2,   140,
+    106, 140, 10,  1,   17,  2,   141, 18,  140, 10,  1,   17,  2,   140, 10,
+    2,   1,   17,  5,   140, 10,  37,  141, 79,  2,   1,   1,   17,  2,   140,
+    9,   140, 10,  1,   17,  2,   140, 111, 1,   1,   17,  2,   140, 10,  1,
+    1,   17,  2,   141, 24,  140, 10,  1,   17,  3,   140, 28,  140, 47,  45,
+    1,   17,  3,   140, 29,  140, 48,  46,  1,   17,  3,   140, 12,  4,   1,
+    1,   17,  2,   140, 77,  5,   1,   17,  11,  140, 13,  46,  141, 126, 18,
+    140, 38,  6,   4,   45,  5,   2,   1,   1,   17,  2,   141, 30,  1,   1,
+    17,  2,   140, 14,  140, 39,  1,   17,  2,   140, 118, 1,   1,   17,  2,
+    141, 33,  140, 15,  1,   17,  2,   140, 59,  140, 56,  1,   17,  3,   140,
+    20,  2,   1,   1,   17,  2,   140, 85,  3,   1,   17,  2,   140, 62,  140,
+    59,  1,   17,  2,   140, 63,  140, 60,  1,   17,  4,   140, 20,  28,  140,
+    48,  0,   0,   135, 255, 255, 127, 1,   17,  12,  140, 20,  57,  142, 8,
+    8,   5,   4,   60,  7,   3,   2,   1,   0,   0,   135, 255, 255, 127, 1,
+    17,  2,   141, 41,  1,   1,   17,  2,   140, 20,  140, 21,  1,   17,  2,
+    141, 43,  1,   1,   17,  2,   140, 21,  140, 52,  1,   17,  2,   141, 45,
+    1,   1,   17,  2,   140, 21,  140, 22,  1,   17,  2,   141, 47,  1,   1,
+    17,  3,   140, 77,  1,   140, 22,  1,   17,  4,   140, 22,  66,  142, 12,
+    6,   1,   17,  4,   140, 22,  67,  141, 61,  5,   1,   17,  4,   140, 22,
+    68,  142, 12,  3,   1,   17,  3,   140, 22,  140, 60,  140, 60,  1,   17,
+    2,   141, 11,  1,   1,   17,  2,   140, 22,  140, 65,  1,   17,  2,   140,
+    22,  140, 63,  1,   17,  7,   140, 22,  140, 25,  40,  45,  2,   140, 64,
+    1,   1,   17,  2,   141, 15,  1,   1,   17,  2,   140, 120, 42,  1,   17,
+    3,   140, 24,  6,   1,   1,   17,  2,   140, 24,  1,   1,   17,  2,   141,
+    61,  1,   1,   17,  2,   140, 24,  44,  1,   17,  2,   141, 59,  1,   1,
+    17,  3,   140, 23,  1,   140, 24,  1,   17,  3,   140, 23,  140, 28,  1,
+    1,   17,  3,   140, 23,  3,   1,   1,   17,  3,   140, 26,  4,   140, 27,
+    1,   17,  3,   140, 26,  140, 31,  1,   1,   17,  3,   140, 26,  6,   1,
+    1,   17,  4,   140, 26,  140, 33,  4,   1,   1,   17,  2,   140, 32,  1,
+    1,   17,  2,   140, 100, 15,  1,   17,  3,   140, 28,  32,  1,   1,   17,
+    3,   140, 28,  17,  1,   1,   17,  3,   140, 28,  64,  1,   1,   17,  3,
+    140, 28,  60,  1,   1,   17,  2,   140, 28,  1,   1,   17,  3,   140, 28,
+    62,  1,   1,   17,  3,   140, 28,  63,  1,   1,   17,  2,   140, 28,  1,
+    1,   17,  3,   140, 28,  1,   20,  1,   17,  4,   140, 28,  29,  11,  1,
+    1,   17,  2,   141, 83,  1,   1,   17,  2,   140, 109, 140, 106, 1,   17,
+    2,   140, 110, 140, 107, 1,   17,  2,   140, 111, 140, 108, 1,   17,  2,
+    140, 112, 140, 109, 1,   17,  2,   140, 113, 140, 110, 1,   17,  3,   140,
+    92,  140, 111, 109, 1,   17,  3,   140, 93,  140, 112, 110, 1,   17,  3,
+    140, 94,  140, 113, 111, 1,   17,  13,  140, 37,  109, 142, 33,  9,   8,
+    39,  7,   6,   5,   4,   3,   2,   1,   1,   17,  2,   141, 93,  1,   1,
+    17,  3,   140, 37,  83,  140, 38,  1,   17,  2,   141, 53,  1,   1,   17,
+    4,   140, 38,  85,  104, 140, 40,  1,   17,  2,   141, 55,  1,   1,   17,
+    3,   140, 39,  3,   0,   0,   131, 255, 255, 127, 1,   17,  3,   140, 39,
+    2,   4,   1,   17,  7,   140, 39,  0,   0,   135, 255, 255, 127, 89,  2,
+    84,  1,   140, 44,  1,   17,  2,   141, 59,  1,   1,   17,  4,   140, 40,
+    130, 68,  142, 31,  124, 1,   17,  3,   140, 40,  111, 140, 47,  1,   17,
+    3,   140, 40,  2,   1,   1,   17,  3,   140, 40,  94,  1,   1,   17,  2,
+    141, 64,  1,   1,   17,  3,   140, 41,  91,  140, 116, 1,   17,  3,   140,
+    41,  67,  1,   1,   17,  3,   140, 62,  98,  1,   1,   17,  4,   140, 42,
+    69,  1,   4,   1,   17,  3,   140, 42,  10,  1,   1,   17,  2,   140, 42,
+    1,   1,   17,  2,   140, 42,  129, 1,   1,   17,  3,   140, 42,  2,   1,
+    1,   17,  3,   140, 41,  129, 3,   141, 124, 1,   17,  3,   140, 41,  4,
+    1,   1,   17,  3,   140, 41,  129, 5,   1,   1,   17,  3,   140, 41,  129,
+    6,   141, 127, 1,   17,  3,   140, 41,  129, 7,   1,   1,   17,  3,   140,
+    105, 8,   1,   1,   17,  3,   140, 47,  129, 9,   142, 2,   1,   17,  3,
+    140, 45,  129, 10,  142, 3,   1,   17,  3,   140, 45,  129, 11,  1,   1,
+    17,  3,   140, 47,  129, 12,  142, 5,   1,   17,  3,   140, 46,  129, 13,
+    141, 53,  1,   17,  3,   140, 51,  14,  1,   1,   17,  3,   140, 48,  129,
+    15,  141, 55,  1,   17,  16,  140, 47,  129, 17,  142, 29,  129, 16,  11,
+    8,   108, 7,   5,   142, 9,   4,   2,   1,   16,  140, 48,  141, 56,  1,
+    17,  3,   140, 46,  27,  140, 47,  1,   17,  3,   140, 46,  119, 1,   1,
+    17,  2,   142, 3,   1,   1,   17,  3,   140, 47,  121, 141, 119, 1,   17,
+    4,   140, 47,  92,  1,   2,   1,   17,  3,   140, 47,  33,  1,   1,   17,
+    2,   140, 47,  1,   1,   17,  2,   142, 8,   141, 0,   1,   17,  2,   140,
+    46,  1,   1,   17,  2,   142, 6,   1,   1,   17,  3,   140, 44,  129, 0,
+    140, 45,  1,   17,  4,   140, 44,  140, 47,  99,  1,   1,   17,  4,   140,
+    44,  3,   92,  1,   1,   17,  2,   140, 50,  1,   1,   40,  2,   0,   0,
+    0,   0,   13,  0,   1,   17,  3,   140, 46,  114, 141, 25,  1,   17,  3,
+    140, 46,  115, 1,   1,   17,  5,   140, 46,  97,  1,   4,   3,   1,   17,
+    3,   140, 46,  98,  1,   1,   17,  2,   142, 20,  1,   1,   17,  2,   140,
+    47,  129, 37,  1,   17,  2,   141, 47,  1,   1,   17,  2,   140, 48,  1,
+    1,   17,  2,   141, 49,  3,   1,   17,  2,   140, 50,  1,   1,   17,  5,
+    140, 50,  6,   129, 42,  3,   1,   1,   17,  2,   142, 27,  1,   1,   17,
+    2,   141, 77,  1,   1,   17,  3,   140, 52,  129, 18,  1,   1,   17,  3,
+    140, 52,  23,  1,   1,   17,  2,   140, 52,  129, 51,  1,   17,  3,   140,
+    52,  141, 54,  129, 52,  1,   17,  3,   140, 89,  129, 13,  1,   1,   17,
+    2,   141, 96,  4,   1,   17,  3,   140, 87,  129, 51,  1,   1,   17,  2,
+    141, 85,  50,  1,   17,  2,   141, 99,  51,  1,   17,  13,  140, 57,  129,
+    55,  142, 103, 129, 54,  3,   2,   129, 18,  140, 93,  5,   1,   8,   140,
+    93,  7,   1,   17,  2,   141, 64,  129, 55,  1,   17,  3,   140, 93,  33,
+    1,   1,   17,  3,   140, 93,  129, 57,  1,   1,   17,  2,   141, 67,  129,
+    58,  1,   17,  3,   141, 28,  36,  1,   1,   17,  2,   140, 62,  129, 60,
+    1,   17,  2,   140, 63,  129, 61,  1,   17,  2,   141, 108, 39,  1,   17,
+    13,  140, 63,  129, 64,  142, 96,  129, 63,  6,   4,   129, 27,  3,   2,
+    1,   40,  140, 64,  140, 64,  2,   3,   33,  117, 116, 102, 56,  32,  101,
+    110, 99,  111, 100, 101, 58,  32,  99,  111, 100, 101, 32,  112, 111, 105,
+    110, 116, 32,  116, 111, 111, 32,  104, 105, 103, 104, 32,  2,   3,   21,
+    108, 105, 115, 116, 45,  114, 101, 102, 58,  32,  111, 117, 116, 32,  111,
+    102, 32,  108, 105, 115, 116, 2,   3,   30,  108, 105, 115, 116, 45,  115,
+    101, 116, 58,  32,  111, 117, 116, 32,  111, 102, 32,  108, 105, 115, 116,
+    32,  115, 101, 116, 116, 105, 110, 103, 32,  2,   3,   28,  108, 105, 115,
+    116, 45,  100, 101, 108, 58,  32,  111, 117, 116, 32,  111, 102, 32,  108,
+    105, 115, 116, 44,  32,  108, 101, 102, 116, 32,  2,   3,   29,  108, 101,
+    100, 110, 58,  32,  111, 117, 116, 32,  111, 102, 32,  108, 105, 115, 116,
+    44,  32,  114, 101, 109, 97,  105, 110, 105, 110, 103, 32,  2,   3,   24,
+    108, 105, 110, 115, 58,  32,  111, 117, 116, 32,  111, 102, 32,  108, 105,
+    115, 116, 44,  32,  108, 101, 102, 116, 32,  2,   3,   10,  98,  97,  100,
+    32,  105, 111, 116, 97,  58,  32,  1,   17,  5,   140, 68,  131, 21,  6,
+    129, 44,  141, 64,  1,   17,  2,   142, 56,  1,   1,   17,  2,   140, 69,
+    142, 56,  1,   17,  5,   140, 69,  131, 24,  8,   129, 47,  1,   1,   17,
+    2,   142, 17,  1,   1,   17,  2,   140, 70,  142, 59,  1,   17,  5,   140,
+    70,  131, 27,  10,  129, 50,  1,   1,   17,  2,   142, 62,  1,   1,   17,
+    2,   140, 75,  142, 62,  1,   17,  5,   140, 72,  131, 30,  12,  129, 53,
+    1,   1,   17,  2,   142, 23,  1,   1,   17,  2,   140, 78,  142, 65,  1,
+    17,  5,   140, 73,  131, 33,  14,  129, 56,  1,   1,   17,  2,   142, 26,
+    1,   1,   17,  2,   140, 74,  129, 53,  1,   17,  3,   140, 74,  131, 7,
+    1,   1,   17,  2,   140, 81,  142, 70,  1,   17,  3,   140, 75,  129, 61,
+    1,   1,   17,  2,   142, 73,  1,   1,   17,  3,   140, 76,  129, 63,  141,
+    83,  1,   17,  2,   142, 75,  1,   1,   17,  2,   140, 77,  142, 75,  1,
+    17,  3,   140, 77,  129, 61,  1,   1,   17,  3,   140, 77,  129, 91,  1,
+    1,   17,  2,   142, 37,  1,   1,   17,  2,   140, 81,  142, 79,  1,   17,
+    3,   140, 81,  129, 65,  1,   1,   17,  3,   140, 81,  129, 93,  1,   1,
+    17,  2,   142, 41,  1,   1,   17,  4,   140, 82,  131, 50,  30,  143, 58,
+    1,   17,  2,   140, 82,  2,   1,   17,  5,   140, 82,  129, 98,  2,   129,
+    97,  1,   1,   17,  2,   140, 84,  8,   1,   17,  4,   140, 83,  129, 101,
+    2,   1,   1,   17,  3,   140, 83,  129, 100, 1,   1,   17,  6,   140, 82,
+    131, 6,   142, 18,  142, 18,  129, 79,  141, 34,  1,   17,  2,   140, 82,
+    1,   2,   3,   17,  100, 105, 118, 105, 115, 105, 111, 110, 32,  98,  121,
+    32,  122, 101, 114, 111, 32,  1,   17,  2,   142, 27,  129, 106, 1,   17,
+    3,   140, 84,  129, 1,   1,   1,   17,  2,   142, 29,  129, 108, 1,   17,
+    2,   140, 85,  129, 109, 1,   17,  6,   140, 85,  129, 4,   3,   2,   1,
+    129, 110, 1,   17,  3,   140, 85,  51,  141, 107, 1,   17,  2,   142, 99,
+    1,   1,   17,  2,   140, 86,  0,   0,   132, 128, 128, 0,   1,   17,  3,
+    134, 117, 0,   0,   1,   0,   0,   2,   1,   17,  3,   134, 118, 0,   0,
+    3,   0,   0,   8,   1,   17,  3,   134, 119, 0,   0,   5,   0,   0,   32,
+    1,   17,  5,   134, 117, 2,   0,   0,   2,   0,   0,   4,   3,   1,   17,
+    3,   134, 121, 0,   0,   7,   0,   0,   129, 0,   1,   17,  3,   134, 122,
+    0,   0,   9,   0,   0,   132, 0,   1,   17,  5,   134, 120, 2,   0,   0,
+    6,   0,   0,   64,  4,   1,   17,  3,   134, 124, 0,   0,   11,  0,   0,
+    144, 0,   1,   17,  3,   134, 125, 0,   0,   13,  0,   0,   192, 0,   1,
+    17,  5,   134, 123, 2,   0,   0,   10,  0,   0,   136, 0,   4,   1,   17,
+    5,   134, 124, 4,   0,   0,   4,   0,   0,   16,  7,   1,   17,  3,   135,
+    0,   0,   0,   15,  0,   0,   130, 128, 0,   1,   17,  3,   135, 1,   0,
+    0,   17,  0,   0,   136, 128, 0,   1,   17,  5,   134, 127, 2,   0,   0,
+    14,  0,   0,   129, 128, 0,   5,   1,   17,  3,   135, 3,   0,   0,   19,
+    0,   0,   160, 128, 0,   1,   17,  3,   135, 4,   0,   0,   21,  0,   0,
+    129, 128, 128, 0,   1,   17,  3,   135, 5,   0,   0,   23,  0,   0,   132,
+    128, 128, 0,   1,   17,  5,   135, 3,   3,   0,   0,   18,  0,   0,   144,
+    128, 0,   5,   1,   17,  5,   135, 4,   2,   0,   0,   22,  0,   0,   130,
+    128, 128, 0,   3,   1,   17,  5,   135, 5,   6,   0,   0,   12,  0,   0,
+    160, 0,   10,  1,   17,  5,   135, 6,   2,   0,   0,   20,  0,   0,   192,
+    128, 0,   3,   1,   17,  5,   135, 2,   1,   0,   0,   16,  0,   0,   132,
+    128, 0,   2,   1,   17,  5,   135, 8,   1,   0,   0,   8,   0,   0,   130,
+    0,   12,  1,   17,  3,   140, 108, 129, 108, 141, 68,  1,   17,  3,   140,
+    108, 25,  1,   1,   17,  4,   140, 108, 26,  1,   142, 93,  1,   17,  3,
+    140, 107, 130, 15,  140, 108, 1,   17,  3,   140, 107, 129, 26,  1,   1,
+    17,  3,   140, 107, 129, 118, 1,   1,   17,  3,   141, 83,  129, 100, 1,
+    1,   17,  4,   140, 108, 130, 115, 1,   8,   1,   17,  3,   140, 108, 129,
+    102, 1,   1,   17,  6,   140, 108, 33,  142, 39,  130, 117, 1,   10,  1,
+    17,  4,   140, 108, 129, 85,  8,   1,   1,   17,  4,   140, 108, 129, 94,
+    129, 86,  1,   1,   17,  2,   142, 94,  1,   1,   17,  2,   140, 109, 1,
+    1,   17,  8,   140, 108, 130, 26,  140, 109, 140, 109, 142, 19,  142, 19,
+    39,  1,   1,   17,  2,   143, 11,  1,   1,   17,  3,   140, 105, 130, 28,
+    142, 21,  1,   17,  3,   140, 106, 130, 29,  142, 22,  1,   17,  3,   140,
+    106, 115, 140, 110, 1,   17,  3,   140, 106, 116, 1,   1,   17,  3,   140,
+    106, 130, 28,  1,   1,   17,  4,   140, 106, 6,   1,   143, 20,  1,   17,
+    6,   140, 106, 130, 34,  6,   5,   140, 112, 1,   1,   17,  2,   143, 19,
+    1,   1,   17,  3,   141, 63,  130, 4,   140, 107, 1,   17,  2,   142, 70,
+    2,   1,   17,  2,   142, 84,  3,   1,   17,  3,   140, 109, 129, 58,  1,
+    1,   17,  3,   140, 109, 130, 8,   1,   1,   17,  3,   140, 109, 129, 60,
+    1,   1,   17,  6,   140, 109, 129, 61,  6,   130, 10,  5,   1,   1,   18,
+    2,   1,   130, 37,  1,   18,  2,   130, 13,  1,   1,   17,  3,   141, 72,
+    130, 18,  140, 111, 1,   17,  3,   140, 111, 129, 65,  1,   1,   17,  3,
+    140, 111, 130, 20,  140, 113, 1,   17,  3,   140, 111, 129, 67,  1,   1,
+    17,  2,   142, 82,  14,  1,   17,  2,   142, 96,  15,  1,   17,  3,   140,
+    121, 129, 70,  1,   1,   17,  3,   140, 121, 130, 25,  1,   1,   17,  3,
+    140, 121, 129, 72,  1,   1,   17,  7,   140, 116, 8,   130, 27,  5,   129,
+    73,  1,   6,   1,   18,  2,   1,   130, 49,  1,   17,  2,   143, 40,  1,
+    1,   18,  2,   130, 31,  1,   1,   17,  6,   140, 117, 130, 59,  144, 13,
+    140, 118, 140, 118, 130, 57,  1,   17,  2,   143, 43,  1,   1,   17,  3,
+    141, 8,   16,  140, 118, 1,   17,  4,   140, 117, 17,  1,   140, 118, 1,
+    18,  2,   20,  1,   1,   18,  2,   130, 32,  1,   1,   17,  3,   140, 119,
+    7,   140, 121, 1,   17,  3,   140, 119, 8,   1,   1,   17,  2,   140, 119,
+    1,   1,   18,  2,   13,  1,   1,   17,  2,   143, 52,  1,   1,   18,  2,
+    130, 43,  1,   1,   17,  3,   141, 97,  26,  141, 0,   1,   17,  2,   140,
+    123, 1,   1,   17,  2,   140, 123, 1,   1,   17,  3,   140, 123, 16,  1,
+    1,   17,  2,   140, 123, 1,   1,   17,  2,   142, 126, 141, 5,   1,   17,
+    2,   140, 124, 41,  1,   17,  2,   143, 0,   141, 7,   1,   17,  2,   142,
+    124, 43,  1,   17,  2,   141, 102, 1,   1,   17,  2,   143, 3,   141, 10,
+    1,   17,  2,   141, 1,   46,  1,   17,  2,   143, 5,   141, 12,  1,   17,
+    2,   141, 3,   48,  1,   17,  2,   143, 7,   141, 14,  1,   17,  2,   141,
+    5,   50,  1,   17,  2,   143, 9,   141, 16,  1,   17,  2,   141, 7,   52,
+    1,   17,  15,  141, 7,   129, 107, 14,  13,  12,  11,  9,   8,   7,   6,
+    5,   4,   3,   2,   1,   1,   17,  2,   143, 73,  1,   1,   17,  2,   141,
+    8,   141, 20,  1,   17,  3,   142, 28,  22,  1,   1,   17,  3,   141, 9,
+    3,   1,   1,   17,  3,   141, 9,   4,   1,   1,   17,  2,   141, 9,   1,
+    1,   17,  3,   141, 9,   32,  1,   1,   17,  3,   141, 9,   7,   1,   1,
+    17,  3,   141, 9,   8,   1,   1,   17,  3,   141, 20,  35,  1,   1,   17,
+    3,   141, 10,  10,  1,   1,   17,  2,   141, 18,  141, 30,  1,   17,  3,
+    141, 11,  12,  1,   1,   17,  2,   141, 11,  1,   1,   17,  3,   141, 11,
+    14,  1,   1,   17,  2,   141, 22,  141, 34,  1,   17,  3,   141, 12,  36,
+    1,   1,   17,  3,   141, 16,  17,  1,   1,   17,  2,   141, 16,  1,   1,
+    17,  3,   141, 14,  19,  1,   1,   17,  3,   141, 69,  46,  1,   1,   17,
+    3,   141, 15,  21,  1,   1,   17,  3,   141, 15,  22,  142, 104, 1,   17,
+    2,   143, 30,  77,  1,   17,  2,   141, 86,  78,  1,   17,  12,  141, 17,
+    132, 64,  129, 6,   144, 70,  25,  15,  11,  4,   3,   2,   1,   79,  1,
+    17,  2,   143, 99,  1,   1,   17,  2,   141, 17,  141, 71,  1,   17,  3,
+    141, 17,  143, 52,  1,   1,   17,  2,   143, 102, 1,   1,   17,  3,   141,
+    17,  142, 47,  143, 51,  1,   17,  3,   141, 19,  143, 55,  1,   1,   17,
+    2,   143, 63,  1,   1,   17,  2,   141, 19,  141, 77,  1,   17,  3,   141,
+    19,  1,   143, 106, 1,   17,  3,   141, 19,  143, 59,  1,   1,   17,  2,
+    143, 109, 1,   1,   17,  3,   141, 15,  143, 97,  143, 109, 1,   17,  3,
+    141, 15,  143, 62,  1,   1,   17,  2,   143, 108, 1,   1,   17,  2,   141,
+    15,  143, 100, 1,   17,  3,   141, 15,  143, 65,  1,   1,   17,  2,   143,
+    111, 1,   2,   3,   17,  78,  111, 32,  97,  114, 103, 117, 109, 101, 110,
+    116, 115, 32,  102, 111, 114, 32,  1,   17,  2,   141, 17,  143, 116, 1,
+    17,  2,   141, 17,  1,   1,   17,  2,   143, 77,  1,   1,   17,  3,   141,
+    18,  143, 119, 143, 119, 1,   17,  2,   141, 18,  1,   1,   17,  2,   143,
+    80,  1,   1,   17,  2,   143, 62,  143, 122, 1,   17,  3,   141, 20,  2,
+    1,   1,   17,  2,   143, 125, 1,   1,   17,  4,   141, 20,  143, 125, 7,
+    141, 21,  1,   17,  2,   143, 88,  1,   1,   17,  3,   141, 21,  3,   143,
+    9,   1,   17,  2,   144, 1,   1,   1,   17,  2,   141, 22,  1,   1,   17,
+    3,   141, 22,  4,   1,   1,   17,  2,   141, 22,  1,   1,   17,  3,   141,
+    102, 132, 70,  60,  1,   17,  3,   141, 22,  129, 37,  141, 23,  1,   17,
+    3,   141, 22,  129, 38,  141, 24,  1,   17,  2,   143, 23,  129, 39,  1,
+    17,  2,   143, 23,  94,  1,   17,  3,   143, 23,  129, 41,  1,   1,   17,
+    2,   143, 73,  92,  1,   17,  2,   141, 22,  1,   1,   17,  3,   141, 22,
+    129, 44,  1,   1,   17,  3,   141, 21,  132, 79,  141, 22,  1,   17,  3,
+    142, 69,  2,   143, 71,  1,   17,  3,   141, 22,  130, 16,  1,   1,   17,
+    5,   141, 22,  132, 78,  3,   1,   131, 38,  1,   17,  2,   141, 20,  141,
+    21,  1,   17,  4,   141, 20,  2,   6,   142, 4,   1,   17,  2,   141, 19,
+    141, 20,  1,   17,  5,   141, 19,  129, 52,  2,   96,  1,   1,   17,  6,
+    141, 19,  141, 26,  129, 53,  4,   143, 56,  1,   1,   17,  2,   143, 109,
+    1,   1,   17,  2,   143, 86,  105, 1,   17,  4,   141, 21,  106, 1,   132,
+    90,  1,   17,  2,   143, 88,  101, 1,   17,  5,   141, 22,  102, 132, 92,
+    1,   108, 1,   17,  2,   143, 90,  83,  1,   17,  4,   141, 23,  84,  132,
+    94,  1,   1,   17,  2,   143, 92,  59,  1,   17,  4,   141, 24,  60,  26,
+    1,   1,   17,  2,   141, 23,  141, 24,  1,   17,  2,   143, 119, 1,   1,
+    17,  2,   141, 24,  1,   1,   18,  2,   1,   129, 66,  1,   18,  2,   2,
+    28,  1,   18,  2,   3,   27,  1,   17,  4,   141, 27,  132, 103, 133, 4,
+    50,  1,   18,  3,   1,   33,  0,   13,  1,   1,   18,  3,   2,   33,  0,
+    13,  1,   1,   17,  3,   141, 25,  131, 11,  143, 75,  1,   17,  3,   141,
+    25,  13,  142, 114, 1,   17,  3,   141, 25,  131, 13,  1,   1,   17,  4,
+    141, 25,  15,  3,   1,   1,   17,  3,   141, 25,  130, 124, 1,   1,   17,
+    2,   144, 4,   1,   1,   17,  2,   141, 26,  1,   1,   17,  2,   141, 27,
+    2,   1,   17,  2,   141, 27,  18,  1,   17,  2,   142, 88,  1,   1,   17,
+    2,   141, 29,  20,  1,   17,  2,   142, 90,  1,   1,   17,  10,  141, 30,
+    24,  26,  6,   5,   131, 69,  3,   1,   131, 70,  145, 0,   1,   17,  2,
+    144, 54,  1,   1,   17,  3,   141, 18,  18,  0,   0,   128, 255, 255, 127,
+    1,   17,  3,   141, 17,  131, 7,   141, 18,  1,   17,  3,   143, 16,  1,
+    141, 17,  1,   17,  3,   141, 17,  2,   1,   1,   17,  3,   141, 17,  131,
+    29,  1,   1,   17,  3,   143, 102, 4,   1,   1,   17,  3,   141, 18,  131,
+    31,  1,   1,   17,  5,   141, 18,  133, 28,  130, 14,  131, 32,  1,   1,
+    17,  3,   141, 17,  7,   141, 18,  1,   17,  3,   143, 106, 8,   1,   1,
+    17,  3,   141, 18,  131, 35,  1,   1,   17,  6,   141, 18,  31,  4,   0,
+    0,   129, 128, 128, 0,   131, 36,  1,   1,   17,  3,   141, 17,  11,  141,
+    18,  1,   17,  6,   141, 17,  33,  2,   0,   0,   132, 128, 0,   131, 38,
+    1,   1,   17,  4,   141, 17,  34,  1,   0,   0,   144, 0,   1,   17,  3,
+    141, 17,  35,  1,   1,   17,  3,   143, 98,  133, 41,  141, 15,  1,   17,
+    2,   144, 30,  141, 15,  1,   17,  2,   141, 15,  1,   1,   17,  3,   144,
+    62,  3,   1,   1,   17,  4,   141, 15,  133, 41,  133, 62,  4,   1,   17,
+    2,   141, 14,  141, 15,  1,   17,  2,   144, 38,  1,   1,   17,  2,   141,
+    14,  141, 15,  1,   17,  3,   141, 14,  8,   1,   1,   17,  2,   144, 38,
+    1,   1,   17,  3,   141, 118, 56,  144, 68,  1,   17,  2,   141, 16,  1,
+    1,   17,  3,   141, 16,  12,  1,   1,   17,  2,   141, 16,  7,   1,   17,
+    7,   141, 16,  133, 51,  133, 71,  2,   5,   10,  1,   1,   17,  2,   144,
+    86,  1,   1,   17,  3,   144, 93,  0,   13,  0,   1,   1,   17,  2,   141,
+    17,  141, 18,  1,   17,  2,   144, 47,  1,   1,   17,  2,   141, 18,  141,
+    20,  1,   17,  2,   144, 49,  1,   1,   17,  3,   142, 1,   65,  144, 79,
+    1,   17,  2,   141, 20,  1,   1,   17,  2,   143, 122, 3,   1,   17,  2,
+    143, 123, 6,   1,   17,  3,   141, 22,  69,  1,   1,   17,  9,   141, 22,
+    133, 63,  133, 82,  26,  144, 84,  4,   3,   22,  1,   1,   17,  2,   144,
+    98,  1,   1,   17,  3,   144, 105, 0,   13,  0,   1,   1,   17,  2,   144,
+    0,   123, 1,   17,  3,   141, 25,  2,   1,   1,   17,  3,   144, 37,  1,
+    32,  1,   17,  3,   144, 5,   2,   136, 29,  1,   17,  4,   141, 26,  133,
+    41,  141, 27,  79,  1,   17,  4,   141, 26,  133, 31,  1,   30,  1,   17,
+    4,   141, 25,  133, 43,  141, 26,  81,  1,   17,  4,   141, 25,  133, 33,
+    1,   32,  1,   17,  4,   141, 25,  133, 34,  1,   144, 104, 1,   17,  3,
+    141, 25,  130, 18,  1,   1,   17,  3,   141, 25,  130, 19,  1,   1,   17,
+    3,   141, 25,  130, 20,  1,   1,   17,  5,   141, 25,  87,  7,   131, 82,
+    1,   1,   17,  3,   141, 25,  77,  1,   1,   17,  3,   141, 25,  130, 44,
+    1,   1,   17,  2,   144, 111, 1,   1,   17,  3,   141, 25,  133, 82,  133,
+    100, 1,   17,  4,   141, 25,  133, 33,  141, 27,  1,   1,   17,  2,   144,
+    15,  3,   1,   17,  3,   141, 26,  133, 35,  1,   1,   17,  2,   141, 24,
+    84,  1,   17,  3,   141, 23,  86,  141, 24,  1,   17,  3,   141, 23,  97,
+    1,   1,   17,  5,   141, 23,  68,  1,   6,   141, 29,  1,   17,  5,   141,
+    23,  141, 29,  89,  4,   1,   1,   17,  7,   141, 23,  8,   6,   0,   0,
+    160, 0,   141, 31,  144, 76,  1,   1,   17,  2,   143, 34,  1,   1,   17,
+    2,   141, 24,  1,   1,   17,  2,   141, 22,  144, 9,   1,   17,  3,   141,
+    21,  129, 86,  141, 22,  1,   17,  3,   141, 21,  144, 81,  1,   1,   17,
+    4,   141, 21,  1,   129, 88,  141, 24,  1,   17,  5,   141, 21,  144, 83,
+    4,   142, 103, 1,   1,   17,  3,   141, 21,  144, 84,  1,   1,   17,  2,
+    145, 6,   1,   1,   17,  2,   144, 69,  1,   1,   17,  3,   143, 60,  49,
+    1,   1,   17,  3,   141, 24,  50,  1,   1,   17,  3,   142, 21,  129, 95,
+    1,   1,   17,  3,   141, 25,  64,  1,   1,   17,  3,   144, 72,  65,  1,
+    1,   17,  4,   141, 25,  40,  141, 26,  133, 124, 1,   17,  4,   141, 25,
+    136, 68,  72,  1,   2,   3,   0,   1,   18,  2,   134, 21,  0,   0,   32,
+    1,   17,  2,   144, 106, 1,   1,   18,  2,   134, 11,  1,   1,   17,  3,
+    141, 16,  45,  141, 17,  1,   17,  3,   141, 16,  2,   1,   1,   17,  4,
+    141, 16,  9,   1,   6,   2,   3,   9,   109, 99,  112, 47,  108, 105, 110,
+    107, 115, 2,   3,   9,   109, 99,  112, 47,  98,  114, 101, 97,  107, 2,
+    3,   18,  115, 116, 111, 112, 112, 105, 110, 103, 32,  111, 110, 32,  115,
+    105, 103, 110, 97,  108, 2,   3,   5,   35,  116, 114, 117, 101, 2,   3,
+    6,   35,  102, 97,  108, 115, 101, 2,   3,   11,  35,  60,  102, 117, 110,
+    99,  116, 105, 111, 110, 62,  2,   3,   6,   35,  60,  87,  84,  70,  62,
+    1,   17,  3,   145, 35,  0,   13,  4,   136, 81,  1,   17,  3,   145, 34,
+    0,   0,   0,   136, 81,  1,   1,   2,   0,   12,  2,   0,   13,  0,   1,
+    1,   2,   0,   12,  1,   1,   1,   1,   2,   0,   12,  0,   1,   1,   17,
+    3,   145, 40,  1,   133, 87,  1,   17,  3,   145, 41,  0,   0,   19,  136,
+    88,  1,   17,  2,   144, 125, 141, 25,  1,   17,  2,   141, 25,  1,   1,
+    17,  2,   141, 25,  1,   1,   17,  2,   145, 35,  1,   1,   17,  2,   144,
+    65,  5,   1,   17,  2,   144, 66,  6,   1,   17,  4,   141, 28,  6,   2,
+    1,   1,   17,  2,   141, 66,  4,   2,   3,   36,  66,  97,  100, 32,  118,
+    101, 99,  116, 111, 114, 32,  110, 111, 100, 101, 32,  105, 110, 32,  100,
+    105, 115, 112, 97,  116, 99,  104, 45,  49,  58,  32,  116, 121, 112, 101,
+    32,  2,   3,   27,  76,  101, 97,  102, 32,  118, 101, 99,  116, 111, 114,
+    32,  105, 110, 32,  100, 105, 115, 112, 97,  116, 99,  104, 45,  50,  58,
+    32,  2,   3,   35,  66,  97,  100, 32,  118, 101, 99,  116, 111, 114, 32,
+    110, 111, 100, 101, 32,  105, 110, 32,  100, 105, 115, 112, 97,  116, 99,
+    104, 45,  50,  58,  32,  111, 98,  106, 32,  2,   3,   39,  98,  97,  100,
+    32,  118, 101, 99,  116, 111, 114, 32,  110, 111, 100, 101, 32,  105, 110,
+    32,  118, 101, 99,  45,  114, 101, 102, 45,  100, 105, 103, 105, 116, 58,
+    32,  116, 121, 112, 101, 32,  2,   3,   23,  118, 101, 99,  116, 111, 114,
+    45,  114, 101, 102, 58,  32,  98,  97,  100, 32,  105, 110, 100, 101, 120,
+    58,  32,  2,   3,   24,  118, 101, 99,  45,  108, 101, 97,  102, 45,  111,
+    102, 58,  32,  98,  97,  100, 32,  105, 110, 100, 101, 120, 58,  32,  2,
+    3,   29,  118, 101, 99,  116, 111, 114, 45,  108, 101, 110, 103, 116, 104,
+    58,  32,  110, 111, 116, 32,  97,  32,  118, 101, 99,  116, 111, 114, 58,
+    32,  1,   17,  4,   141, 36,  134, 17,  7,   0,   0,   159, 127, 1,   17,
+    4,   141, 36,  134, 18,  6,   7,   1,   17,  2,   144, 102, 2,   1,   17,
+    2,   144, 103, 3,   1,   17,  6,   141, 38,  3,   2,   4,   0,   0,   160,
+    0,   1,   1,   17,  2,   145, 56,  1,   1,   17,  5,   141, 39,  134, 23,
+    10,  0,   0,   159, 127, 0,   0,   160, 0,   1,   17,  2,   145, 58,  1,
+    1,   17,  2,   143, 48,  1,   1,   17,  3,   141, 41,  8,   1,   1,   17,
+    3,   141, 41,  5,   1,   1,   17,  3,   141, 41,  4,   0,   0,   159, 127,
+    1,   17,  8,   141, 41,  134, 29,  15,  2,   11,  1,   5,   0,   0,   160,
+    0,   1,   17,  2,   143, 53,  12,  1,   17,  3,   141, 45,  9,   1,   1,
+    17,  6,   141, 43,  134, 32,  17,  1,   14,  0,   0,   160, 0,   1,   17,
+    6,   141, 43,  134, 33,  17,  145, 102, 146, 34,  124, 1,   17,  2,   145,
+    26,  141, 39,  1,   17,  2,   142, 54,  1,   1,   17,  3,   141, 40,  129,
+    43,  1,   1,   17,  2,   145, 71,  1,   1,   17,  3,   141, 40,  129, 37,
+    141, 41,  1,   17,  4,   141, 40,  129, 48,  1,   0,   0,   160, 0,   1,
+    17,  3,   141, 40,  3,   1,   1,   17,  3,   141, 40,  9,   1,   1,   17,
+    4,   141, 40,  9,   142, 50,  1,   1,   17,  2,   141, 38,  142, 115, 1,
+    17,  3,   141, 38,  129, 51,  1,   1,   17,  2,   145, 37,  1,   1,   17,
+    3,   141, 39,  129, 53,  144, 114, 1,   17,  2,   141, 39,  1,   1,   17,
+    2,   145, 40,  1,   1,   17,  2,   142, 68,  1,   1,   17,  4,   141, 41,
+    129, 13,  1,   5,   1,   17,  2,   145, 85,  1,   1,   17,  4,   141, 42,
+    129, 59,  144, 95,  0,   0,   160, 0,   1,   17,  3,   141, 53,  2,   1,
+    1,   17,  3,   141, 43,  22,  1,   1,   17,  2,   145, 89,  1,   1,   17,
+    2,   145, 24,  1,   1,   17,  2,   145, 25,  2,   1,   17,  4,   141, 46,
+    129, 65,  2,   1,   1,   17,  4,   141, 46,  132, 44,  1,   0,   0,   159,
+    127, 1,   17,  3,   145, 82,  27,  1,   1,   17,  2,   144, 123, 129, 118,
+    1,   17,  3,   142, 20,  2,   1,   1,   17,  4,   141, 49,  54,  1,   137,
+    23,  1,   17,  2,   145, 19,  134, 16,  1,   17,  4,   141, 50,  124, 1,
+    71,  1,   17,  2,   141, 49,  141, 50,  1,   17,  5,   141, 49,  72,  2,
+    71,  1,   1,   17,  2,   141, 51,  141, 49,  1,   17,  5,   141, 49,  141,
+    94,  2,   129, 29,  1,   1,   17,  2,   141, 47,  141, 48,  1,   17,  2,
+    141, 46,  141, 47,  1,   17,  4,   141, 46,  134, 43,  2,   1,   1,   17,
+    3,   141, 46,  131, 18,  1,   1,   17,  5,   141, 46,  142, 53,  5,   129,
+    37,  1,   1,   17,  2,   141, 52,  141, 56,  1,   17,  2,   141, 51,  141,
+    52,  1,   17,  4,   141, 51,  134, 48,  2,   1,   1,   17,  3,   141, 51,
+    131, 23,  1,   1,   17,  5,   141, 50,  145, 114, 5,   129, 42,  1,   1,
+    17,  4,   141, 50,  142, 59,  1,   87,  1,   17,  2,   141, 60,  141, 50,
+    1,   17,  6,   141, 49,  19,  143, 87,  73,  1,   141, 50,  1,   17,  5,
+    141, 49,  134, 21,  3,   141, 107, 1,   1,   17,  4,   141, 49,  141, 90,
+    1,   97,  1,   17,  2,   145, 40,  134, 37,  1,   17,  3,   145, 39,  129,
+    17,  1,   1,   17,  6,   141, 51,  141, 120, 3,   95,  96,  1,   1,   17,
+    2,   141, 65,  141, 64,  1,   17,  3,   141, 50,  141, 51,  1,   1,   17,
+    3,   141, 50,  145, 75,  1,   1,   17,  5,   141, 50,  141, 117, 4,   141,
+    54,  1,   1,   17,  4,   141, 50,  145, 77,  1,   129, 24,  1,   17,  4,
+    141, 50,  142, 68,  1,   129, 104, 1,   17,  3,   141, 50,  142, 115, 1,
+    1,   17,  2,   146, 1,   1,   1,   17,  2,   141, 49,  142, 23,  1,   17,
+    5,   141, 49,  134, 77,  146, 3,   145, 82,  1,   1,   17,  2,   141, 49,
+    120, 1,   17,  5,   141, 49,  145, 84,  2,   142, 74,  1,   1,   17,  3,
+    141, 49,  142, 75,  1,   1,   17,  2,   146, 7,   1,   2,   3,   7,   10,
+    32,  32,  32,  32,  32,  32,  2,   3,   49,  69,  82,  82,  79,  82,  58,
+    32,  102, 100, 32,  114, 101, 97,  100, 32,  119, 105, 116, 104, 32,  116,
+    105, 109, 101, 111, 117, 116, 32,  104, 97,  100, 32,  110, 111, 32,  109,
+    97,  116, 99,  104, 105, 110, 103, 32,  97,  108, 97,  114, 109, 2,   3,
+    11,  32,  45,  32,  102, 111, 117, 110, 100, 32,  105, 116, 2,   3,   23,
+    119, 97,  107, 101, 117, 112, 58,  32,  117, 110, 107, 110, 111, 119, 110,
+    32,  119, 97,  107, 101, 117, 112, 32,  2,   3,   23,  98,  97,  100, 32,
+    109, 117, 120, 101, 114, 32,  109, 101, 115, 115, 97,  103, 101, 32,  102,
+    114, 111, 109, 32,  2,   3,   22,  110, 111, 116, 32,  115, 117, 114, 101,
+    32,  104, 111, 119, 32,  116, 111, 32,  97,  108, 97,  114, 109, 32,  1,
+    1,   2,   0,   0,   10,  0,   13,  0,   1,   1,   2,   0,   0,   10,  0,
+    13,  0,   1,   1,   2,   0,   0,   10,  0,   13,  0,   1,   1,   2,   0,
+    13,  0,   0,   13,  0,   1,   17,  3,   144, 69,  134, 62,  146, 27,  1,
+    17,  3,   141, 61,  134, 63,  1,   1,   17,  2,   141, 61,  1,   1,   17,
+    4,   141, 58,  4,   1,   141, 59,  1,   17,  2,   141, 57,  129, 8,   1,
+    17,  3,   146, 11,  142, 92,  1,   1,   17,  3,   143, 117, 1,   141, 57,
+    1,   17,  3,   141, 56,  2,   141, 57,  1,   17,  3,   144, 9,   3,   1,
+    1,   17,  5,   141, 57,  4,   141, 61,  3,   1,   1,   17,  2,   141, 57,
+    1,   1,   17,  2,   141, 65,  0,   0,   14,  1,   17,  2,   141, 66,  0,
+    0,   88,  1,   17,  2,   141, 59,  4,   1,   17,  4,   141, 53,  2,   141,
+    57,  141, 54,  1,   17,  3,   141, 57,  4,   1,   1,   17,  3,   141, 57,
+    3,   1,   1,   17,  3,   141, 55,  8,   1,   1,   17,  2,   141, 72,  0,
+    0,   129, 1,   1,   17,  2,   141, 51,  10,  1,   17,  2,   146, 43,  141,
+    51,  1,   17,  2,   146, 44,  141, 51,  1,   17,  2,   145, 102, 1,   1,
+    17,  2,   141, 51,  1,   1,   17,  2,   145, 104, 3,   1,   17,  4,   141,
+    52,  4,   1,   141, 54,  1,   17,  3,   141, 52,  3,   1,   1,   17,  2,
+    145, 107, 6,   1,   17,  3,   141, 53,  8,   1,   1,   17,  2,   145, 109,
+    8,   1,   17,  4,   141, 54,  10,  1,   141, 59,  1,   17,  4,   141, 54,
+    5,   3,   1,   1,   17,  3,   141, 54,  11,  141, 61,  1,   17,  3,   141,
+    54,  2,   1,   1,   17,  2,   146, 52,  1,   1,   17,  3,   141, 54,  144,
+    60,  146, 52,  1,   17,  2,   146, 15,  1,   1,   17,  2,   145, 117, 17,
+    1,   17,  2,   145, 105, 18,  1,   17,  4,   141, 57,  2,   3,   1,   1,
+    17,  2,   145, 120, 19,  1,   17,  2,   145, 108, 20,  1,   17,  4,   141,
+    59,  2,   6,   1,   1,   17,  4,   141, 59,  4,   1,   146, 71,  1,   17,
+    2,   141, 64,  1,   1,   17,  2,   141, 59,  141, 60,  1,   17,  2,   146,
+    25,  1,   1,   17,  3,   141, 60,  1,   145, 99,  1,   17,  4,   141, 59,
+    141, 60,  2,   145, 100, 1,   17,  4,   141, 59,  2,   1,   146, 77,  1,
+    17,  2,   141, 59,  1,   1,   17,  2,   145, 94,  134, 113, 1,   17,  4,
+    142, 94,  2,   1,   143, 78,  1,   17,  2,   141, 58,  36,  1,   17,  5,
+    141, 58,  135, 24,  147, 21,  146, 123, 1,   1,   17,  3,   142, 35,  129,
+    39,  1,   1,   17,  7,   141, 59,  135, 26,  142, 67,  147, 23,  146, 125,
+    129, 32,  144, 45,  1,   17,  3,   141, 59,  2,   1,   1,   17,  2,   141,
+    59,  1,   1,   17,  2,   146, 77,  1,   1,   17,  3,   141, 58,  1,   141,
+    59,  1,   17,  3,   145, 121, 129, 44,  1,   1,   17,  2,   146, 1,   3,
+    1,   17,  3,   146, 0,   129, 46,  1,   1,   17,  5,   141, 61,  0,   0,
+    160, 0,   134, 126, 3,   1,   1,   17,  2,   146, 44,  1,   1,   17,  2,
+    141, 62,  1,   1,   17,  5,   141, 62,  135, 14,  1,   84,  71,  1,   17,
+    3,   141, 62,  3,   0,   12,  1,   1,   17,  7,   141, 62,  2,   0,   12,
+    1,   135, 16,  1,   86,  72,  1,   17,  2,   141, 66,  5,   1,   17,  5,
+    141, 63,  135, 18,  1,   88,  73,  1,   17,  3,   141, 63,  55,  0,   12,
+    1,   1,   17,  3,   141, 63,  1,   83,  1,   17,  3,   144, 41,  2,   1,
+    1,   17,  3,   141, 59,  135, 11,  146, 21,  1,   17,  2,   144, 87,  1,
+    1,   17,  6,   141, 60,  10,  141, 65,  0,   12,  2,   86,  146, 94,  1,
+    17,  2,   146, 96,  1,   1,   17,  5,   141, 60,  12,  0,   12,  2,   87,
+    141, 61,  1,   17,  3,   141, 60,  135, 7,   1,   1,   17,  3,   141, 59,
+    3,   146, 40,  1,   17,  10,  141, 59,  146, 127, 135, 64,  141, 61,  146,
+    123, 1,   15,  141, 61,  0,   12,  2,   89,  1,   17,  3,   141, 59,  135,
+    65,  141, 62,  1,   17,  3,   141, 62,  4,   146, 43,  1,   17,  3,   141,
+    60,  135, 67,  1,   1,   17,  3,   141, 60,  135, 68,  1,   1,   17,  3,
+    141, 60,  11,  1,   1,   17,  5,   141, 60,  12,  6,   5,   1,   1,   17,
+    2,   141, 60,  146, 106, 1,   17,  3,   141, 60,  130, 73,  1,   1,   17,
+    2,   146, 67,  1,   1,   17,  3,   141, 126, 132, 72,  0,   0,   189, 132,
+    64,  1,   17,  3,   146, 63,  74,  1,   1,   17,  3,   141, 127, 76,  1,
+    1,   17,  3,   141, 63,  4,   146, 54,  1,   17,  3,   143, 87,  130, 89,
+    1,   1,   17,  3,   141, 65,  6,   146, 56,  1,   17,  3,   143, 89,  130,
+    91,  1,   1,   17,  12,  141, 66,  147, 16,  147, 12,  5,   3,   147, 40,
+    147, 10,  1,   32,  141, 78,  0,   12,  2,   105, 1,   17,  5,   141, 64,
+    135, 97,  141, 66,  12,  141, 65,  1,   17,  3,   141, 64,  141, 70,  1,
+    1,   17,  2,   141, 64,  1,   1,   17,  5,   141, 64,  135, 84,  1,   4,
+    141, 68,  1,   17,  2,   141, 64,  1,   1,   17,  4,   141, 64,  135, 81,
+    135, 82,  1,   1,   17,  3,   141, 62,  30,  141, 63,  1,   17,  4,   141,
+    62,  135, 89,  141, 65,  147, 18,  1,   17,  3,   146, 22,  130, 87,  0,
+    0,   135, 255, 255, 127, 1,   17,  3,   145, 112, 130, 100, 1,   1,   17,
+    5,   141, 64,  135, 107, 141, 76,  22,  141, 75,  1,   17,  3,   141, 74,
+    141, 80,  1,   1,   17,  4,   141, 65,  135, 74,  3,   1,   1,   17,  5,
+    141, 65,  135, 94,  1,   14,  141, 78,  1,   17,  13,  141, 65,  147, 25,
+    135, 96,  141, 72,  147, 27,  8,   147, 26,  47,  7,   0,   12,  2,   119,
+    135, 90,  1,   1,   17,  3,   141, 65,  130, 98,  1,   1,   17,  3,   143,
+    102, 135, 78,  1,   1,   17,  5,   141, 66,  135, 80,  12,  23,  1,   1,
+    17,  2,   146, 94,  1,   1,   17,  2,   141, 67,  1,   1,   17,  3,   142,
+    26,  135, 92,  1,   1,   17,  3,   141, 68,  147, 88,  1,   1,   17,  2,
+    141, 68,  135, 116, 1,   17,  3,   142, 28,  2,   1,   2,   19,  129, 0,
+    0,   0,   0,   0,   0,   0,   0,   0,   0,   8,   8,   8,   8,   8,   0,
+    0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,
+    0,   0,   8,   1,   16,  0,   1,   1,   1,   0,   0,   0,   1,   3,   0,
+    3,   2,   1,   6,   6,   6,   6,   6,   6,   6,   6,   6,   6,   1,   0,
+    1,   1,   1,   1,   1,   5,   37,  5,   37,  69,  5,   1,   1,   65,  1,
+    1,   1,   1,   1,   33,  1,   1,   1,   1,   1,   1,   1,   1,   33,  1,
+    1,   0,   16,  0,   1,   1,   0,   21,  53,  5,   37,  69,  5,   1,   1,
+    65,  1,   1,   1,   1,   17,  33,  1,   1,   17,  1,   17,  1,   1,   1,
+    33,  1,   1,   0,   16,  0,   1,   0,   2,   3,   12,  101, 110, 100, 32,
+    111, 102, 32,  105, 110, 112, 117, 116, 2,   3,   16,  116, 114, 97,  105,
+    108, 105, 110, 103, 32,  103, 97,  114, 98,  97,  103, 101, 1,   17,  2,
+    146, 103, 141, 72,  1,   17,  2,   141, 72,  146, 52,  1,   17,  5,   141,
+    72,  2,   4,   146, 98,  1,   1,   17,  2,   146, 106, 1,   1,   17,  2,
+    141, 73,  145, 35,  1,   17,  3,   141, 73,  5,   147, 39,  1,   17,  3,
+    141, 73,  2,   1,   1,   17,  5,   141, 73,  7,   9,   146, 103, 1,   1,
+    17,  2,   147, 32,  1,   1,   17,  2,   147, 22,  1,   1,   17,  2,   141,
+    79,  145, 41,  1,   17,  4,   141, 76,  1,   11,  147, 45,  1,   17,  5,
+    141, 76,  12,  14,  146, 108, 1,   1,   17,  2,   147, 37,  1,   1,   17,
+    2,   147, 27,  1,   1,   17,  2,   146, 113, 141, 78,  1,   17,  2,   141,
+    77,  141, 78,  1,   17,  2,   144, 22,  1,   1,   17,  2,   139, 54,  147,
+    34,  1,   17,  2,   147, 36,  1,   1,   17,  3,   141, 75,  1,   146, 72,
+    1,   17,  2,   141, 75,  1,   1,   17,  3,   141, 79,  135, 83,  141, 80,
+    1,   17,  3,   141, 76,  2,   1,   1,   17,  2,   141, 80,  1,   1,   17,
+    2,   147, 42,  1,   1,   17,  3,   147, 49,  0,   13,  0,   1,   1,   17,
+    2,   141, 79,  141, 87,  1,   17,  3,   141, 79,  2,   1,   1,   17,  2,
+    141, 79,  1,   1,   17,  2,   146, 42,  1,   1,   17,  2,   139, 76,  141,
+    74,  1,   17,  3,   139, 75,  32,  33,  1,   17,  2,   139, 75,  1,   1,
+    17,  4,   139, 75,  139, 78,  131, 64,  1,   1,   17,  2,   139, 75,  1,
+    1,   17,  3,   139, 75,  5,   1,   2,   3,   17,  104, 111, 119, 32,  100,
+    111, 32,  105, 32,  105, 116, 101, 114, 97,  116, 101, 32,  1,   17,  2,
+    141, 79,  144, 1,   1,   17,  3,   141, 79,  147, 7,   1,   1,   17,  2,
+    147, 18,  1,   1,   17,  2,   141, 76,  141, 77,  1,   17,  4,   141, 76,
+    1,   135, 43,  141, 79,  1,   17,  3,   141, 76,  147, 11,  1,   1,   17,
+    2,   147, 68,  1,   1,   17,  2,   141, 76,  141, 77,  1,   17,  3,   141,
+    75,  141, 76,  147, 21,  1,   17,  2,   141, 75,  1,   1,   1,   2,   0,
+    0,   0,   0,   13,  0,   1,   1,   2,   1,   0,   13,  0,   1,   17,  3,
+    141, 76,  1,   141, 77,  1,   17,  4,   141, 73,  136, 34,  14,  129, 120,
+    1,   17,  4,   141, 73,  143, 41,  1,   130, 110, 1,   17,  3,   141, 73,
+    144, 11,  1,   1,   17,  3,   147, 59,  147, 22,  1,   1,   17,  2,   147,
+    6,   5,   1,   17,  3,   141, 75,  2,   1,   1,   17,  2,   141, 58,  60,
+    1,   17,  3,   141, 57,  1,   141, 58,  1,   17,  2,   141, 57,  131, 51,
+    1,   17,  2,   141, 57,  1,   1,   17,  3,   141, 57,  131, 49,  1,   1,
+    17,  3,   141, 57,  136, 16,  1,   1,   18,  3,   51,  50,  0,   0,   43,
+    1,   18,  3,   52,  51,  0,   0,   45,  1,   17,  2,   142, 0,   0,   0,
+    43,  1,   18,  3,   50,  2,   1,   1,   18,  3,   51,  4,   1,   1,   17,
+    3,   141, 61,  6,   141, 126, 1,   17,  2,   141, 82,  1,   1,   17,  3,
+    144, 46,  40,  1,   1,   17,  3,   144, 47,  62,  1,   1,   17,  3,   141,
+    64,  14,  1,   1,   17,  2,   146, 85,  1,   1,   17,  3,   141, 65,  131,
+    64,  142, 4,   1,   17,  2,   141, 88,  1,   1,   17,  3,   141, 127, 3,
+    1,   1,   17,  3,   141, 121, 10,  1,   1,   17,  2,   146, 90,  1,   1,
+    17,  3,   141, 126, 131, 42,  142, 9,   1,   17,  2,   141, 93,  1,   1,
+    17,  3,   141, 71,  3,   1,   1,   17,  2,   141, 95,  1,   1,   17,  3,
+    141, 72,  69,  1,   1,   17,  3,   141, 72,  67,  1,   1,   17,  3,   141,
+    72,  70,  1,   1,   17,  5,   141, 72,  147, 106, 136, 92,  131, 76,  142,
+    16,  1,   17,  3,   142, 7,   20,  1,   1,   17,  2,   141, 93,  142, 18,
+    1,   17,  3,   144, 79,  131, 77,  1,   1,   17,  3,   141, 75,  131, 82,
+    1,   1,   17,  2,   141, 95,  1,   1,   17,  3,   141, 76,  7,   1,   1,
+    17,  2,   141, 97,  1,   1,   17,  3,   142, 101, 131, 80,  142, 24,  1,
+    17,  3,   145, 88,  131, 58,  1,   1,   17,  3,   141, 79,  133, 43,  1,
+    1,   17,  3,   141, 79,  35,  1,   1,   17,  2,   141, 111, 1,   1,   17,
+    3,   144, 75,  73,  1,   1,   17,  3,   144, 76,  91,  1,   1,   17,  3,
+    141, 91,  43,  1,   1,   17,  2,   141, 115, 1,   1,   17,  3,   141, 84,
+    89,  1,   1,   17,  4,   141, 84,  87,  11,  1,   1,   17,  3,   141, 84,
+    90,  1,   1,   17,  2,   141, 115, 1,   1,   17,  3,   141, 85,  34,  1,
+    1,   17,  3,   141, 119, 21,  1,   1,   17,  2,   146, 121, 1,   1,   17,
+    2,   141, 85,  74,  1,   17,  3,   144, 8,   2,   1,   1,   17,  2,   147,
+    50,  1,   1,   17,  2,   141, 87,  2,   1,   17,  4,   141, 87,  131, 28,
+    2,   1,   1,   17,  2,   141, 87,  136, 107, 1,   17,  5,   141, 87,  129,
+    48,  1,   0,   12,  2,   130, 109, 2,   3,   4,   114, 118, 97,  108, 2,
+    3,   49,  115, 121, 115, 99,  97,  108, 108, 32,  49,  52,  32,  45,  32,
+    109, 101, 109, 108, 105, 109, 105, 116, 32,  101, 120, 99,  101, 101, 100,
+    101, 100, 44,  32,  100, 114, 111, 112, 112, 105, 110, 103, 32,  97,  32,
+    116, 104, 114, 101, 97,  100, 1,   17,  3,   141, 82,  135, 118, 141, 85,
+    1,   17,  2,   141, 82,  147, 65,  1,   17,  3,   141, 84,  135, 124, 141,
+    87,  1,   17,  8,   141, 83,  143, 51,  3,   129, 122, 135, 125, 2,   143,
+    50,  1,   1,   17,  3,   142, 111, 147, 91,  1,   1,   17,  3,   141, 84,
+    135, 125, 1,   1,   17,  3,   141, 83,  1,   141, 84,  1,   17,  2,   143,
+    118, 1,   1,   17,  2,   141, 84,  136, 0,   1,   17,  4,   140, 6,   136,
+    1,   1,   130, 123, 1,   17,  2,   141, 84,  3,   1,   17,  3,   141, 84,
+    135, 44,  1,   1,   17,  4,   141, 84,  136, 6,   1,   130, 126, 1,   17,
+    3,   144, 120, 135, 46,  1,   1,   17,  6,   140, 10,  135, 47,  141, 89,
+    136, 6,   1,   131, 0,   1,   17,  3,   141, 86,  6,   1,   1,   17,  2,
+    141, 86,  148, 23,  1,   17,  2,   148, 25,  1,   1,   17,  2,   141, 87,
+    3,   1,   17,  3,   141, 87,  2,   1,   1,   17,  3,   141, 87,  3,   1,
+    1,   17,  2,   141, 86,  141, 87,  1,   17,  2,   148, 30,  1,   1,   17,
+    3,   141, 86,  8,   148, 114, 1,   17,  3,   141, 86,  9,   148, 113, 1,
+    17,  4,   141, 86,  136, 15,  1,   27,  1,   17,  2,   141, 86,  147, 90,
+    1,   17,  3,   141, 90,  12,  149, 0,   1,   17,  3,   141, 87,  136, 18,
+    141, 103, 1,   17,  2,   141, 87,  148, 124, 1,   17,  5,   141, 87,  136,
+    95,  2,   143, 77,  1,   1,   17,  4,   141, 87,  136, 23,  1,   130, 22,
+    1,   17,  3,   141, 87,  136, 113, 148, 49,  1,   17,  2,   141, 87,  1,
+    1,   17,  2,   141, 87,  147, 98,  1,   17,  3,   145, 101, 136, 89,  1,
+    1,   17,  3,   141, 88,  136, 98,  1,   1,   17,  4,   141, 88,  137, 35,
+    1,   139, 95,  1,   17,  3,   141, 88,  136, 100, 1,   1,   17,  4,   141,
+    88,  137, 37,  1,   139, 97,  1,   17,  2,   141, 98,  148, 127, 1,   17,
+    4,   141, 88,  36,  141, 89,  1,   1,   17,  5,   141, 88,  136, 34,  142,
+    92,  131, 27,  45,  1,   17,  3,   141, 88,  136, 97,  1,   1,   17,  5,
+    141, 87,  136, 34,  141, 119, 131, 29,  142, 2,   1,   17,  7,   140, 2,
+    136, 35,  141, 120, 142, 2,   136, 39,  141, 120, 147, 109, 1,   17,  3,
+    141, 88,  130, 33,  1,   1,   17,  4,   141, 88,  136, 39,  1,   130, 38,
+    1,   17,  4,   141, 88,  33,  149, 9,   148, 123, 1,   17,  4,   141, 88,
+    129, 93,  1,   50,  1,   17,  2,   141, 88,  148, 121, 1,   17,  4,   141,
+    88,  31,  148, 120, 1,   1,   17,  2,   141, 110, 148, 115, 1,   17,  2,
+    141, 89,  1,   1,   17,  3,   141, 89,  147, 118, 1,   1,   17,  2,   141,
+    113, 148, 116, 1,   17,  2,   141, 90,  147, 120, 1,   17,  3,   145, 38,
+    35,  1,   1,   17,  4,   141, 91,  3,   136, 112, 1,   1,   17,  2,   141,
+    90,  141, 91,  1,   17,  3,   141, 90,  137, 5,   1,   1,   17,  4,   141,
+    89,  137, 6,   1,   141, 90,  1,   17,  5,   141, 89,  136, 52,  142, 9,
+    64,  147, 126, 1,   17,  2,   141, 121, 148, 113, 1,   17,  2,   141, 90,
+    1,   1,   17,  5,   141, 90,  135, 98,  142, 12,  148, 114, 148, 1,   1,
+    17,  4,   141, 90,  135, 99,  1,   148, 117, 1,   17,  4,   141, 90,  136,
+    59,  1,   148, 118, 1,   17,  4,   141, 90,  136, 60,  1,   148, 117, 1,
+    17,  5,   141, 89,  136, 59,  142, 16,  131, 55,  148, 5,   1,   17,  3,
+    141, 89,  136, 60,  1,   1,   17,  3,   141, 89,  137, 4,   1,   1,   17,
+    3,   141, 89,  136, 64,  1,   1,   17,  4,   140, 68,  136, 65,  1,   131,
+    59,  1,   17,  2,   140, 100, 148, 10,  1,   17,  2,   140, 100, 1,   1,
+    2,   24,  142, 12,  53,  51,  50,  49,  45,  43,  37,  35,  33,  141, 120,
+    32,  29,  27,  25,  22,  18,  15,  14,  12,  8,   141, 97,  3,   1,   1,
+    17,  3,   141, 93,  136, 69,  79,  1,   17,  3,   141, 92,  136, 118, 141,
+    93,  1,   17,  3,   144, 103, 144, 90,  1,   1,   17,  2,   148, 88,  1,
+    1,   17,  4,   141, 93,  136, 75,  141, 94,  149, 2,   1,   17,  3,   141,
+    93,  136, 72,  1,   1,   17,  3,   141, 93,  132, 66,  1,   1,   17,  3,
+    141, 93,  136, 76,  1,   1,   17,  4,   141, 93,  136, 77,  1,   149, 6,
+    1,   17,  4,   141, 93,  6,   1,   149, 3,   1,   17,  3,   141, 93,  132,
+    24,  1,   1,   17,  3,   144, 102, 145, 41,  1,   1,   17,  2,   142, 19,
+    149, 8,   1,   17,  2,   141, 116, 1,   1,   17,  4,   141, 96,  136, 81,
+    142, 38,  149, 12,  1,   17,  2,   142, 22,  149, 12,  1,   17,  2,   141,
+    97,  17,  1,   17,  3,   141, 97,  137, 82,  1,   1,   17,  4,   141, 97,
+    18,  7,   1,   1,   17,  6,   140, 90,  136, 86,  5,   149, 19,  4,   1,
+    1,   2,   24,  142, 33,  74,  72,  71,  70,  66,  64,  58,  56,  54,  142,
+    13,  53,  50,  48,  46,  43,  39,  36,  35,  1,   7,   141, 118, 24,  22,
+    1,   17,  2,   141, 102, 1,   1,   17,  5,   141, 100, 22,  137, 87,  1,
+    0,   0,   206, 16,  1,   17,  2,   141, 100, 1,   1,   17,  3,   144, 117,
+    136, 80,  1,   1,   17,  2,   148, 7,   137, 71,  1,   17,  2,   141, 98,
+    1,   1,   17,  3,   141, 98,  129, 99,  1,   1,   17,  7,   141, 98,  4,
+    149, 70,  130, 96,  131, 90,  108, 1,   1,   17,  2,   148, 11,  130, 77,
+    1,   17,  3,   144, 2,   130, 79,  1,   1,   17,  3,   144, 4,   134, 78,
+    0,   0,   189, 132, 64,  1,   17,  3,   144, 4,   2,   1,   1,   40,  2,
+    0,   0,   2,   0,   13,  0,   1,   40,  2,   0,   0,   130, 233, 171, 36,
+    1,   1,   40,  2,   0,   0,   131, 185, 187, 41,  1,   1,   40,  2,   0,
+    0,   132, 241, 227, 71,  1,   2,   3,   16,  98,  97,  100, 32,  114, 97,
+    110, 100, 32,  108, 105, 109, 105, 116, 58,  32,  2,   3,   19,  114, 97,
+    110, 100, 45,  101, 108, 101, 109, 58,  32,  119, 104, 97,  116, 32,  98,
+    101, 32,  2,   3,   22,  114, 110, 100, 45,  114, 97,  110, 103, 101, 58,
+    32,  98,  97,  100, 32,  114, 97,  110, 103, 101, 58,  32,  1,   17,  2,
+    148, 125, 141, 90,  1,   17,  2,   141, 90,  1,   1,   17,  2,   148, 123,
+    1,   1,   17,  2,   141, 91,  0,   0,   129, 191, 159, 25,  1,   17,  2,
+    148, 87,  1,   1,   17,  4,   141, 91,  1,   141, 92,  0,   0,   132, 128,
+    128, 9,   1,   17,  4,   143, 98,  132, 102, 1,   10,  1,   17,  4,   141,
+    91,  3,   141, 92,  0,   0,   132, 128, 128, 9,   1,   17,  4,   141, 91,
+    4,   141, 95,  0,   0,   132, 128, 128, 9,   1,   17,  7,   141, 91,  5,
+    141, 96,  0,   0,   132, 128, 128, 9,   2,   0,   0,   129, 191, 159, 25,
+    1,   1,   17,  8,   141, 91,  132, 110, 4,   6,   141, 97,  0,   0,   132,
+    128, 128, 9,   133, 92,  1,   1,   17,  2,   141, 91,  146, 44,  1,   17,
+    3,   143, 41,  2,   1,   1,   17,  2,   149, 6,   1,   1,   17,  3,   146,
+    91,  135, 11,  141, 93,  1,   17,  4,   141, 93,  132, 111, 1,   0,   0,
+    135, 255, 255, 127, 1,   17,  3,   141, 93,  133, 39,  1,   1,   17,  2,
+    148, 76,  1,   1,   17,  6,   141, 93,  0,   0,   135, 255, 255, 127, 133,
+    41,  141, 94,  132, 118, 1,   1,   17,  3,   141, 93,  17,  149, 25,  1,
+    17,  3,   141, 94,  18,  149, 26,  1,   17,  7,   141, 93,  5,   2,   3,
+    1,   133, 44,  141, 94,  1,   17,  2,   141, 93,  1,   1,   17,  5,   141,
+    93,  137, 114, 26,  1,   7,   1,   17,  3,   141, 93,  131, 86,  149, 30,
+    1,   17,  3,   147, 45,  2,   1,   1,   17,  5,   141, 94,  137, 117, 28,
+    131, 84,  1,   1,   17,  3,   141, 93,  132, 127, 141, 94,  1,   17,  3,
+    147, 48,  5,   1,   1,   17,  5,   141, 94,  144, 126, 3,   132, 83,  1,
+    1,   17,  3,   141, 99,  134, 99,  149, 36,  1,   17,  3,   147, 51,  8,
+    1,   1,   17,  5,   141, 97,  145, 102, 3,   134, 87,  1,   1,   17,  3,
+    141, 97,  148, 109, 1,   1,   17,  3,   141, 97,  135, 109, 149, 40,  1,
+    17,  3,   141, 97,  12,  1,   1,   17,  3,   145, 125, 135, 120, 1,   1,
+    17,  3,   141, 98,  133, 7,   1,   1,   17,  3,   141, 97,  133, 10,  145,
+    66,  1,   17,  3,   141, 97,  130, 102, 1,   1,   17,  3,   141, 97,  133,
+    2,   1,   1,   17,  4,   141, 97,  141, 101, 18,  1,   1,   17,  5,   141,
+    97,  130, 97,  149, 48,  148, 118, 1,   1,   17,  2,   147, 76,  1,   1,
+    17,  3,   141, 98,  130, 117, 142, 19,  1,   17,  4,   141, 98,  141, 105,
+    133, 17,  1,   1,   17,  2,   141, 98,  3,   1,   17,  5,   141, 98,  148,
+    123, 2,   133, 19,  1,   1,   17,  5,   141, 98,  130, 103, 149, 54,  134,
+    2,   1,   1,   17,  2,   147, 82,  1,   1,   17,  3,   141, 99,  1,   144,
+    58,  1,   17,  3,   141, 99,  14,  147, 96,  1,   17,  3,   141, 99,  29,
+    1,   1,   17,  3,   141, 99,  134, 7,   1,   1,   17,  3,   141, 117, 133,
+    26,  149, 60,  1,   17,  3,   147, 75,  32,  1,   1,   17,  5,   141, 101,
+    138, 19,  57,  133, 26,  1,   1,   17,  3,   141, 101, 133, 19,  1,   1,
+    17,  3,   141, 100, 133, 81,  141, 101, 1,   17,  4,   141, 98,  137, 110,
+    147, 70,  140, 111, 1,   17,  4,   141, 98,  137, 127, 141, 100, 1,   1,
+    17,  3,   146, 31,  137, 99,  1,   1,   17,  4,   141, 99,  138, 50,  1,
+    140, 115, 1,   17,  4,   143, 46,  138, 50,  1,   140, 112, 1,   17,  3,
+    141, 100, 138, 5,   1,   1,   17,  2,   149, 23,  1,   1,   17,  3,   141,
+    101, 1,   149, 21,  1,   17,  4,   141, 101, 133, 60,  1,   141, 108, 1,
+    17,  4,   141, 101, 137, 124, 1,   10,  1,   17,  2,   149, 24,  1,   1,
+    17,  2,   141, 102, 1,   1,   17,  3,   142, 6,   133, 33,  149, 77,  1,
+    17,  4,   141, 102, 49,  141, 103, 1,   2,   3,   6,   112, 99,  97,  112,
+    110, 103, 1,   4,   1,   1,   2,   3,   9,   103, 101, 110, 101, 114, 97,
+    116, 111, 114, 1,   4,   1,   1,   1,   42,  2,   0,   0,   4,   0,   0,
+    5,   1,   17,  2,   148, 103, 137, 61,  2,   16,  3,   0,   2,   48,  1,
+    17,  4,   1,   137, 59,  133, 52,  2,   1,   17,  3,   148, 91,  137, 62,
+    1,   1,   17,  3,   147, 109, 133, 52,  148, 88,  2,   16,  3,   0,   2,
+    47,  1,   17,  3,   1,   141, 8,   2,   1,   17,  2,   149, 82,  1,   1,
+    17,  2,   149, 17,  133, 47,  1,   17,  3,   148, 8,   141, 12,  1,   1,
+    17,  3,   145, 90,  141, 13,  1,   1,   17,  3,   147, 53,  133, 59,  148,
+    95,  2,   16,  3,   0,   2,   46,  1,   17,  4,   1,   141, 15,  2,   138,
+    30,  2,   16,  3,   0,   2,   45,  1,   17,  3,   1,   133, 55,  2,   1,
+    17,  3,   145, 107, 138, 35,  1,   1,   17,  2,   149, 92,  1,   1,   17,
+    2,   149, 27,  141, 19,  1,   17,  2,   143, 47,  1,   1,   17,  4,   145,
+    58,  133, 68,  1,   0,   0,   144, 0,   2,   16,  3,   0,   2,   44,  1,
+    17,  3,   1,   132, 62,  2,   1,   17,  4,   141, 83,  135, 23,  1,   0,
+    0,   144, 0,   1,   17,  2,   149, 20,  141, 25,  2,   16,  3,   0,   2,
+    43,  1,   17,  6,   1,   135, 28,  3,   0,   0,   144, 0,   132, 66,  2,
+    2,   16,  3,   0,   2,   42,  1,   17,  4,   1,   133, 68,  2,   0,   0,
+    144, 0,   2,   16,  3,   0,   2,   41,  1,   17,  4,   1,   135, 35,  147,
+    76,  2,   1,   40,  2,   0,   0,   129, 0,   0,   13,  0,   1,   40,  2,
+    0,   0,   0,   1,   1,   40,  2,   0,   0,   127, 0,   13,  0,   1,   40,
+    2,   0,   0,   135, 255, 255, 127, 1,   1,   40,  2,   0,   0,   1,   4,
+    1,   40,  2,   0,   0,   130, 0,   0,   13,  0,   1,   40,  2,   0,   0,
+    0,   1,   1,   40,  2,   0,   0,   129, 127, 0,   13,  0,   1,   40,  2,
+    0,   0,   135, 255, 255, 127, 1,   1,   40,  2,   0,   0,   1,   4,   1,
+    40,  2,   0,   0,   130, 128, 0,   0,   13,  0,   1,   40,  2,   0,   0,
+    0,   1,   1,   40,  2,   0,   0,   0,   1,   1,   40,  2,   0,   0,   129,
+    255, 127, 0,   13,  0,   1,   40,  2,   0,   0,   135, 255, 255, 127, 1,
+    1,   40,  2,   0,   0,   135, 255, 255, 127, 1,   1,   40,  2,   0,   0,
+    1,   5,   1,   40,  2,   0,   0,   132, 128, 0,   0,   13,  0,   1,   40,
+    2,   0,   0,   0,   1,   1,   40,  2,   0,   0,   0,   1,   1,   40,  2,
+    0,   0,   131, 255, 127, 0,   13,  0,   1,   40,  2,   0,   0,   135, 255,
+    255, 127, 1,   1,   40,  2,   0,   0,   135, 255, 255, 127, 1,   1,   40,
+    2,   0,   0,   1,   5,   1,   40,  2,   0,   0,   129, 0,   0,   13,  0,
+    1,   40,  2,   0,   0,   0,   1,   1,   40,  2,   0,   0,   0,   1,   1,
+    40,  2,   0,   0,   0,   1,   1,   40,  2,   0,   0,   0,   1,   1,   40,
+    2,   0,   0,   0,   1,   1,   40,  2,   0,   0,   127, 0,   13,  0,   1,
+    40,  2,   0,   0,   135, 255, 255, 127, 1,   1,   40,  2,   0,   0,   135,
+    255, 255, 127, 1,   1,   40,  2,   0,   0,   135, 255, 255, 127, 1,   1,
+    40,  2,   0,   0,   135, 255, 255, 127, 1,   1,   40,  2,   0,   0,   135,
+    255, 255, 127, 1,   1,   40,  2,   0,   0,   1,   8,   1,   40,  2,   0,
+    0,   130, 0,   0,   13,  0,   1,   40,  2,   0,   0,   0,   1,   1,   40,
+    2,   0,   0,   0,   1,   1,   40,  2,   0,   0,   0,   1,   1,   40,  2,
+    0,   0,   0,   1,   1,   40,  2,   0,   0,   0,   1,   1,   40,  2,   0,
+    0,   129, 127, 0,   13,  0,   1,   40,  2,   0,   0,   135, 255, 255, 127,
+    1,   1,   40,  2,   0,   0,   135, 255, 255, 127, 1,   1,   40,  2,   0,
+    0,   135, 255, 255, 127, 1,   1,   40,  2,   0,   0,   135, 255, 255, 127,
+    1,   1,   40,  2,   0,   0,   135, 255, 255, 127, 1,   1,   40,  2,   0,
+    0,   1,   8,   1,   11,  33,  2,   8,   1,   15,  21,  14,  28,  31,  27,
+    35,  38,  34,  42,  44,  41,  47,  49,  46,  0,   0,   131, 255, 127, 0,
+    0,   132, 128, 0,   0,   0,   132, 128, 1,   0,   0,   129, 255, 127, 0,
+    0,   130, 128, 0,   0,   0,   130, 128, 1,   0,   0,   129, 127, 0,   0,
+    130, 0,   0,   0,   130, 1,   0,   0,   127, 0,   0,   129, 0,   0,   0,
+    129, 1,   0,   0,   1,   0,   0,   2,   0,   0,   3,   1,   17,  3,   142,
+    101, 134, 4,   150, 38,  1,   17,  3,   142, 96,  134, 3,   150, 39,  1,
+    17,  3,   142, 103, 134, 4,   150, 40,  1,   17,  3,   148, 55,  129, 12,
+    1,   2,   16,  3,   0,   2,   40,  1,   17,  2,   1,   150, 43,  2,   16,
+    3,   0,   2,   39,  1,   17,  4,   1,   134, 9,   134, 11,  2,   2,   16,
+    3,   0,   2,   38,  1,   17,  3,   1,   129, 18,  2,   2,   16,  3,   0,
+    2,   37,  1,   17,  3,   1,   118, 2,   2,   16,  3,   0,   2,   36,  1,
+    17,  13,  1,   134, 17,  150, 51,  134, 15,  150, 51,  129, 12,  14,  13,
+    12,  134, 13,  10,  116, 2,   2,   16,  3,   0,   2,   35,  1,   17,  3,
+    1,   129, 24,  2,   1,   17,  2,   149, 107, 141, 99,  1,   17,  2,   143,
+    15,  1,   1,   17,  3,   149, 4,   141, 102, 1,   2,   16,  3,   0,   2,
+    34,  1,   17,  3,   1,   141, 105, 2,   1,   17,  2,   150, 8,   1,   1,
+    17,  2,   149, 113, 141, 105, 1,   17,  2,   147, 17,  1,   2,   16,  3,
+    0,   2,   33,  1,   17,  3,   1,   141, 109, 2,   1,   17,  2,   150, 51,
+    1,   1,   17,  2,   149, 84,  138, 38,  1,   17,  3,   148, 14,  141, 111,
+    1,   2,   16,  3,   0,   2,   32,  1,   17,  3,   1,   138, 43,  2,   1,
+    17,  3,   143, 49,  141, 116, 1,   1,   17,  3,   143, 32,  141, 116, 1,
+    2,   16,  3,   0,   2,   31,  1,   17,  3,   1,   141, 119, 2,   1,   17,
+    3,   142, 54,  139, 1,   1,   2,   16,  3,   0,   2,   30,  1,   17,  3,
+    1,   129, 36,  150, 70,  2,   16,  3,   0,   2,   29,  1,   17,  3,   1,
+    129, 38,  2,   1,   17,  3,   148, 125, 129, 39,  1,   1,   17,  2,   149,
+    119, 141, 124, 2,   16,  3,   0,   2,   28,  1,   17,  3,   1,   141, 126,
+    2,   2,   16,  3,   0,   2,   27,  1,   17,  3,   1,   138, 58,  2,   2,
+    16,  3,   0,   2,   26,  1,   17,  3,   1,   138, 50,  2,   1,   17,  3,
+    149, 120, 13,  1,   1,   17,  3,   146, 88,  142, 5,   1,   1,   17,  3,
+    149, 122, 15,  1,   1,   17,  3,   146, 86,  142, 8,   1,   2,   16,  3,
+    0,   2,   25,  1,   17,  3,   1,   142, 8,   147, 96,  2,   16,  3,   0,
+    2,   24,  1,   17,  3,   1,   142, 10,  2,   2,   16,  3,   0,   2,   23,
+    1,   17,  3,   1,   142, 12,  147, 109, 1,   17,  3,   2,   142, 13,  147,
+    101, 2,   16,  3,   0,   2,   22,  1,   17,  4,   1,   142, 16,  3,   2,
+    2,   16,  3,   0,   2,   21,  1,   17,  3,   1,   134, 117, 2,   2,   16,
+    3,   0,   2,   20,  1,   17,  4,   1,   142, 20,  9,   2,   1,   17,  3,
+    148, 59,  39,  150, 35,  2,   16,  3,   0,   2,   19,  1,   17,  4,   1,
+    41,  2,   3,   2,   16,  3,   0,   2,   18,  1,   17,  3,   1,   132, 91,
+    2,   1,   17,  3,   145, 89,  134, 72,  149, 43,  2,   16,  3,   0,   2,
+    17,  1,   17,  4,   1,   32,  136, 31,  2,   2,   16,  3,   0,   2,   16,
+    1,   17,  5,   1,   34,  139, 40,  2,   23,  2,   16,  3,   0,   2,   15,
+    1,   17,  4,   1,   129, 85,  2,   36,  2,   16,  3,   0,   2,   14,  1,
+    17,  3,   1,   134, 72,  2,   2,   16,  3,   0,   2,   13,  1,   17,  3,
+    1,   0,   0,   134, 141, 32,  2,   1,   17,  3,   143, 76,  142, 36,  1,
+    2,   16,  3,   0,   2,   12,  1,   17,  3,   1,   142, 38,  2,   1,   17,
+    3,   142, 107, 15,  1,   2,   16,  3,   0,   2,   11,  1,   17,  3,   1,
+    65,  150, 124, 2,   16,  3,   0,   2,   10,  1,   17,  3,   1,   4,   2,
+    2,   3,   5,   98,  121, 116, 101, 115, 1,   4,   1,   1,   1,   1,   2,
+    0,   0,   0,   0,   13,  0,   1,   1,   2,   0,   0,   0,   1,   1,   1,
+    2,   0,   0,   0,   1,   1,   1,   2,   0,   0,   6,   1,   2,   16,  3,
+    0,   2,   9,   1,   17,  3,   150, 21,  132, 118, 2,   2,   16,  3,   0,
+    2,   8,   1,   17,  3,   1,   136, 54,  2,   1,   17,  3,   148, 77,  133,
+    31,  1,   2,   16,  3,   0,   2,   7,   2,   16,  3,   0,   2,   6,   1,
+    17,  3,   1,   134, 91,  151, 12,  1,   17,  4,   146, 105, 129, 112, 1,
+    0,   0,   160, 0,   2,   16,  3,   0,   2,   5,   2,   16,  3,   0,   2,
+    4,   2,   16,  3,   0,   2,   3,   2,   16,  3,   0,   2,   2,   2,   16,
+    3,   0,   2,   1,   2,   16,  3,   0,   2,   0,   1,   17,  2,   150, 60,
+    142, 65,  1,   17,  3,   146, 1,   142, 66,  149, 84,  2,   16,  3,   0,
+    1,   255, 1,   17,  4,   1,   142, 64,  3,   2,   1,   17,  2,   150, 101,
+    1,   2,   3,   8,   111, 110, 99,  101, 45,  100, 101, 99,  2,   3,   8,
+    109, 97,  110, 121, 45,  100, 101, 99,  2,   3,   5,   98,  117, 114, 115,
+    116, 1,   4,   1,   3,   1,   4,   1,   3,   1,   4,   1,   3,   1,   17,
+    2,   147, 22,  22,  1,   17,  3,   150, 70,  140, 11,  1,   1,   17,  4,
+    148, 59,  142, 76,  1,   129, 81,  1,   17,  3,   148, 38,  135, 0,   148,
+    39,  2,   16,  3,   0,   1,   254, 1,   17,  3,   1,   142, 82,  2,   2,
+    16,  3,   0,   1,   253, 1,   17,  3,   1,   142, 85,  2,   2,   16,  3,
+    0,   1,   252, 2,   16,  3,   0,   1,   251, 1,   17,  2,   1,   2,   2,
+    16,  3,   0,   1,   250, 1,   17,  4,   1,   142, 88,  5,   2,   2,   16,
+    3,   0,   1,   249, 1,   17,  5,   1,   139, 20,  12,  129, 91,  2,   2,
+    16,  3,   0,   1,   248, 1,   17,  3,   1,   139, 111, 2,   2,   16,  3,
+    0,   1,   247, 1,   17,  3,   1,   142, 92,  2,   2,   16,  3,   0,   1,
+    246, 1,   17,  4,   1,   130, 22,  2,   148, 65,  2,   16,  3,   0,   1,
+    245, 1,   17,  3,   1,   139, 76,  2,   2,   16,  3,   0,   1,   244, 1,
+    17,  2,   1,   2,   2,   16,  3,   0,   1,   243, 1,   17,  3,   1,   135,
+    74,  2,   2,   16,  3,   0,   1,   242, 1,   17,  3,   1,   130, 30,  2,
+    1,   17,  2,   150, 113, 135, 70,  2,   16,  3,   0,   1,   241, 1,   17,
+    3,   1,   142, 107, 2,   2,   16,  3,   0,   1,   240, 1,   17,  3,   1,
+    5,   2,   2,   16,  3,   0,   1,   239, 1,   17,  5,   1,   139, 39,  2,
+    152, 30,  38,  1,   17,  2,   150, 120, 135, 77,  2,   16,  3,   0,   1,
+    238, 1,   17,  3,   1,   142, 114, 2,   2,   16,  3,   0,   1,   237, 1,
+    17,  4,   1,   129, 121, 2,   129, 116, 2,   16,  3,   0,   1,   236, 1,
+    17,  3,   1,   14,  2,   2,   16,  3,   0,   1,   235, 1,   17,  5,   1,
+    139, 48,  2,   152, 39,  46,  1,   17,  2,   151, 28,  1,   1,   17,  2,
+    151, 2,   135, 87,  2,   16,  3,   0,   1,   234, 1,   17,  3,   1,   135,
+    45,  144, 48,  2,   16,  3,   0,   1,   233, 1,   17,  4,   1,   142, 126,
+    4,   2,   2,   16,  3,   0,   1,   232, 1,   17,  3,   1,   135, 39,  2,
+    2,   16,  3,   0,   1,   231, 1,   17,  4,   1,   130, 7,   2,   130, 2,
+    2,   16,  3,   0,   1,   230, 1,   17,  2,   1,   2,   1,   17,  3,   25,
+    29,  1,   1,   17,  5,   24,  139, 62,  1,   152, 53,  59,  2,   16,  3,
+    0,   1,   229, 2,   16,  3,   0,   1,   228, 1,   17,  3,   1,   129, 119,
+    2,   2,   16,  3,   0,   1,   227, 1,   17,  3,   1,   130, 65,  2,   1,
+    42,  2,   0,   0,   11,  0,   0,   20,  2,   3,   8,   109, 117, 116, 97,
+    45,  110, 117, 109, 2,   3,   9,   98,  121, 116, 101, 45,  100, 114, 111,
+    112, 2,   3,   8,   98,  121, 116, 101, 45,  105, 110, 99,  2,   3,   8,
+    98,  121, 116, 101, 45,  100, 101, 99,  2,   3,   11,  98,  121, 116, 101,
+    45,  105, 110, 115, 101, 114, 116, 2,   3,   11,  98,  121, 116, 101, 45,
+    114, 101, 112, 101, 97,  116, 2,   3,   11,  98,  121, 116, 101, 45,  114,
+    97,  110, 100, 111, 109, 2,   3,   9,   98,  121, 116, 101, 45,  112, 101,
+    114, 109, 2,   3,   9,   102, 117, 115, 101, 45,  116, 104, 105, 115, 2,
+    3,   9,   102, 117, 115, 101, 45,  110, 101, 120, 116, 2,   3,   8,   102,
+    117, 115, 101, 45,  111, 108, 100, 2,   3,   10,  115, 101, 113, 45,  114,
+    101, 112, 101, 97,  116, 2,   3,   11,  115, 101, 100, 45,  115, 101, 113,
+    45,  100, 101, 108, 2,   3,   8,   108, 105, 110, 101, 45,  100, 101, 108,
+    2,   3,   12,  108, 105, 110, 101, 45,  100, 101, 108, 45,  115, 101, 113,
+    2,   3,   8,   108, 105, 110, 101, 45,  100, 117, 112, 2,   3,   10,  108,
+    105, 110, 101, 45,  99,  108, 111, 110, 101, 2,   3,   11,  108, 105, 110,
+    101, 45,  114, 101, 112, 101, 97,  116, 2,   3,   9,   108, 105, 110, 101,
+    45,  115, 119, 97,  112, 2,   3,   9,   108, 105, 110, 101, 45,  112, 101,
+    114, 109, 2,   3,   8,   108, 105, 115, 116, 45,  105, 110, 115, 2,   3,
+    12,  108, 105, 115, 116, 45,  114, 101, 112, 108, 97,  99,  101, 2,   3,
+    10,  117, 116, 102, 56,  45,  119, 105, 100, 101, 110, 2,   3,   11,  117,
+    116, 102, 56,  45,  105, 110, 115, 101, 114, 116, 2,   3,   13,  116, 114,
+    101, 101, 45,  115, 119, 97,  112, 45,  111, 110, 101, 2,   3,   13,  116,
+    114, 101, 101, 45,  115, 119, 97,  112, 45,  116, 119, 111, 2,   3,   8,
+    116, 114, 101, 101, 45,  100, 101, 108, 2,   3,   8,   116, 114, 101, 101,
+    45,  100, 117, 112, 2,   3,   12,  116, 114, 101, 101, 45,  115, 116, 117,
+    116, 116, 101, 114, 2,   3,   4,   116, 101, 120, 116, 2,   3,   9,   100,
+    101, 108, 105, 109, 105, 116, 101, 100, 2,   3,   37,  115, 116, 114, 105,
+    110, 103, 45,  102, 108, 97,  116, 116, 101, 110, 58,  32,  119, 104, 97,
+    116, 32,  107, 105, 110, 100, 32,  111, 102, 32,  110, 111, 100, 101, 32,
+    105, 115, 32,  2,   3,   23,  115, 116, 114, 105, 110, 103, 45,  109, 117,
+    116, 97,  116, 101, 58,  32,  119, 104, 97,  116, 32,  105, 115, 32,  2,
+    3,   9,   97,  98,  45,  115, 116, 114, 105, 110, 103, 1,   4,   1,   34,
+    1,   4,   1,   34,  1,   4,   1,   34,  1,   4,   1,   34,  1,   4,   1,
+    34,  1,   4,   1,   34,  1,   4,   1,   34,  1,   4,   1,   34,  1,   4,
+    1,   34,  1,   4,   1,   34,  1,   4,   1,   34,  1,   4,   1,   34,  1,
+    4,   1,   34,  1,   4,   1,   34,  1,   4,   1,   34,  1,   4,   1,   34,
+    1,   4,   1,   34,  1,   4,   1,   34,  1,   4,   1,   34,  1,   4,   1,
+    34,  1,   4,   1,   34,  1,   4,   1,   34,  1,   4,   1,   34,  1,   4,
+    1,   34,  1,   4,   1,   34,  1,   4,   1,   34,  1,   4,   1,   34,  1,
+    4,   1,   34,  1,   4,   1,   34,  1,   4,   1,   34,  1,   4,   1,   34,
+    1,   4,   1,   32,  1,   17,  2,   151, 87,  143, 79,  1,   17,  2,   144,
+    123, 1,   1,   17,  3,   150, 112, 143, 82,  1,   2,   16,  3,   0,   1,
+    226, 1,   17,  3,   1,   143, 85,  2,   1,   17,  2,   151, 116, 1,   1,
+    17,  3,   144, 103, 137, 97,  152, 40,  1,   17,  3,   150, 55,  131, 12,
+    1,   2,   16,  3,   0,   1,   225, 1,   17,  3,   1,   137, 92,  2,   1,
+    17,  3,   150, 78,  140, 81,  152, 44,  2,   16,  3,   0,   1,   224, 1,
+    17,  3,   1,   137, 90,  2,   2,   16,  3,   0,   1,   223, 1,   17,  3,
+    1,   137, 76,  2,   1,   17,  3,   149, 125, 131, 20,  1,   2,   16,  3,
+    0,   1,   222, 1,   17,  3,   1,   136, 15,  2,   2,   16,  3,   0,   1,
+    221, 1,   17,  3,   1,   131, 24,  2,   2,   16,  3,   0,   1,   220, 1,
+    17,  3,   1,   137, 3,   2,   1,   17,  3,   144, 114, 137, 105, 1,   1,
+    17,  2,   151, 97,  143, 102, 2,   16,  3,   0,   1,   219, 1,   17,  3,
+    1,   143, 106, 2,   2,   16,  3,   0,   1,   218, 1,   17,  4,   1,   22,
+    152, 61,  2,   1,   17,  3,   150, 76,  131, 33,  1,   1,   17,  3,   21,
+    137, 112, 1,   2,   16,  3,   0,   1,   217, 1,   17,  3,   1,   143, 110,
+    151, 0,   2,   16,  3,   0,   1,   216, 1,   17,  3,   1,   136, 31,  2,
+    1,   17,  2,   152, 17,  1,   1,   17,  2,   150, 75,  1,   2,   16,  3,
+    0,   1,   215, 1,   17,  3,   1,   143, 118, 2,   2,   16,  3,   0,   1,
+    214, 1,   17,  4,   1,   34,  152, 73,  2,   2,   16,  3,   0,   1,   213,
+    1,   17,  3,   1,   136, 26,  2,   2,   16,  3,   0,   1,   212, 1,   17,
+    3,   1,   131, 18,  2,   1,   17,  3,   150, 92,  131, 49,  1,   1,   17,
+    3,   37,  138, 0,   1,   1,   17,  3,   147, 120, 138, 3,   152, 80,  1,
+    17,  3,   129, 65,  138, 16,  1,   1,   17,  3,   129, 65,  131, 53,  1,
+    1,   17,  3,   148, 116, 131, 54,  1,   1,   17,  3,   42,  138, 5,   1,
+    1,   17,  2,   152, 10,  144, 2,   1,   17,  3,   150, 100, 144, 3,   1,
+    1,   17,  3,   148, 88,  141, 19,  1,   1,   17,  3,   147, 96,  144, 7,
+    1,   1,   17,  3,   152, 68,  141, 23,  1,   1,   17,  4,   30,  51,  152,
+    90,  1,   1,   17,  3,   150, 105, 131, 62,  1,   2,   16,  3,   0,   1,
+    211, 1,   17,  3,   1,   136, 57,  2,   2,   16,  3,   0,   1,   210, 1,
+    17,  3,   1,   136, 51,  2,   1,   17,  3,   145, 26,  138, 17,  1,   1,
+    17,  3,   151, 3,   141, 6,   152, 97,  1,   17,  3,   150, 46,  141, 7,
+    1,   2,   16,  3,   0,   1,   209, 1,   17,  3,   1,   138, 16,  2,   1,
+    17,  3,   151, 45,  131, 25,  1,   2,   16,  3,   0,   1,   208, 1,   17,
+    3,   1,   138, 21,  2,   1,   17,  3,   150, 21,  138, 20,  1,   2,   16,
+    3,   0,   1,   207, 1,   17,  3,   1,   138, 24,  2,   2,   16,  3,   0,
+    1,   206, 1,   17,  3,   1,   136, 59,  2,   2,   16,  3,   0,   1,   205,
+    1,   17,  3,   1,   136, 62,  2,   2,   16,  3,   0,   1,   204, 1,   17,
+    3,   1,   131, 53,  2,   2,   16,  3,   0,   1,   203, 1,   17,  3,   1,
+    131, 51,  2,   1,   17,  3,   65,  136, 79,  1,   1,   17,  3,   150, 64,
+    131, 87,  1,   2,   16,  3,   0,   1,   202, 1,   17,  3,   1,   136, 82,
+    2,   2,   16,  3,   0,   1,   201, 1,   17,  3,   1,   136, 76,  2,   1,
+    17,  3,   145, 51,  138, 42,  1,   1,   17,  2,   152, 47,  144, 39,  1,
+    17,  3,   151, 38,  144, 41,  1,   2,   16,  3,   0,   1,   200, 1,   17,
+    3,   1,   138, 60,  2,   2,   16,  3,   0,   1,   199, 1,   17,  4,   1,
+    88,  152, 127, 2,   2,   16,  3,   0,   1,   198, 1,   17,  3,   1,   136,
+    95,  2,   2,   16,  3,   0,   1,   197, 1,   17,  3,   1,   138, 66,  2,
+    2,   16,  3,   0,   1,   196, 1,   17,  3,   1,   131, 104, 2,   2,   16,
+    3,   0,   1,   195, 1,   17,  3,   1,   136, 91,  2,   1,   17,  3,   149,
+    96,  144, 53,  149, 103, 1,   17,  3,   150, 66,  144, 54,  1,   2,   16,
+    3,   0,   1,   194, 1,   17,  3,   1,   144, 57,  2,   2,   16,  3,   0,
+    1,   193, 1,   17,  3,   1,   138, 76,  2,   1,   17,  3,   149, 105, 136,
+    108, 1,   2,   16,  3,   0,   1,   192, 1,   17,  3,   1,   144, 63,  2,
+    2,   16,  3,   0,   1,   191, 1,   17,  4,   1,   131, 117, 11,  2,   2,
+    16,  3,   0,   1,   190, 1,   17,  3,   1,   136, 104, 2,   2,   16,  3,
+    0,   1,   189, 1,   17,  3,   1,   144, 69,  2,   1,   17,  2,   152, 103,
+    1,   1,   17,  3,   150, 95,  138, 87,  153, 24,  1,   17,  3,   145, 119,
+    144, 71,  1,   1,   17,  3,   151, 40,  131, 125, 1,   1,   17,  3,   145,
+    85,  144, 74,  1,   2,   16,  3,   0,   1,   188, 1,   17,  2,   1,   144,
+    74,  2,   16,  3,   0,   1,   187, 1,   17,  4,   1,   120, 152, 91,  2,
+    2,   16,  3,   0,   1,   186, 1,   17,  3,   1,   132, 4,   2,   2,   16,
+    3,   0,   1,   185, 1,   17,  3,   1,   8,   2,   2,   16,  3,   0,   1,
+    184, 1,   17,  3,   1,   14,  2,   2,   16,  3,   0,   1,   183, 1,   17,
+    3,   1,   138, 88,  2,   1,   17,  2,   152, 93,  144, 85,  1,   17,  3,
+    147, 34,  144, 87,  1,   1,   17,  4,   12,  129, 3,   152, 102, 1,   1,
+    17,  3,   11,  132, 14,  1,   1,   17,  3,   10,  17,  1,   1,   17,  3,
+    9,   22,  1,   1,   17,  3,   8,   138, 95,  1,   2,   3,   11,  111, 112,
+    101, 110, 45,  115, 105, 110, 103, 108, 101, 2,   3,   3,   98,  117, 103,
+    2,   3,   36,  98,  117, 103, 32,  45,  32,  101, 118, 101, 114, 121, 116,
+    104, 105, 110, 103, 32,  115, 104, 111, 117, 108, 100, 32,  98,  101, 32,
+    112, 97,  114, 115, 101, 97,  98,  108, 101, 2,   3,   16,  119, 104, 97,
+    116, 32,  102, 105, 110, 101, 32,  110, 111, 100, 101, 58,  32,  2,   3,
+    16,  119, 104, 97,  116, 32,  102, 105, 110, 101, 32,  110, 111, 100, 101,
+    58,  32,  1,   17,  3,   145, 59,  0,   13,  2,   0,   0,   48,  1,   17,
+    3,   145, 60,  0,   13,  2,   0,   0,   50,  1,   17,  3,   145, 61,  0,
+    13,  2,   0,   0,   52,  1,   17,  5,   145, 59,  2,   0,   13,  2,   0,
+    0,   49,  3,   1,   17,  3,   145, 63,  0,   13,  2,   0,   0,   54,  1,
+    17,  3,   145, 59,  0,   13,  2,   0,   0,   57,  1,   17,  4,   145, 64,
+    1,   0,   13,  2,   0,   0,   56,  1,   17,  5,   145, 58,  1,   0,   13,
+    2,   0,   0,   55,  3,   1,   17,  5,   145, 64,  1,   0,   13,  2,   0,
+    0,   53,  6,   1,   17,  5,   145, 65,  1,   0,   13,  2,   0,   0,   51,
+    6,   1,   18,  3,   133, 121, 133, 120, 1,   1,   18,  2,   133, 118, 1,
+    1,   18,  3,   133, 121, 2,   1,   1,   18,  3,   133, 122, 1,   133, 127,
+    1,   18,  2,   133, 112, 1,   2,   3,   19,  116, 97,  103, 45,  105, 110,
+    102, 111, 58,  32,  98,  97,  100, 32,  110, 111, 100, 101, 32,  2,   3,
+    7,   87,  84,  78,  32,  73,  83,  32,  2,   3,   3,   63,  63,  63,  2,
+    3,   7,   87,  84,  78,  32,  73,  83,  32,  2,   3,   3,   63,  63,  63,
+    2,   3,   7,   120, 112, 45,  115, 119, 97,  112, 2,   3,   36,  103, 101,
+    110, 101, 114, 97,  116, 101, 45,  110, 111, 100, 101, 58,  32,  117, 110,
+    101, 120, 112, 101, 99,  116, 101, 100, 32,  110, 111, 100, 101, 32,  116,
+    121, 112, 101, 32,  2,   3,   9,   120, 112, 45,  105, 110, 115, 101, 114,
+    116, 2,   3,   6,   120, 112, 45,  100, 117, 112, 2,   3,   7,   120, 112,
+    45,  112, 117, 109, 112, 2,   3,   9,   120, 112, 45,  114, 101, 112, 101,
+    97,  116, 1,   4,   1,   31,  1,   4,   1,   7,   1,   4,   1,   6,   1,
+    4,   1,   6,   1,   4,   1,   6,   1,   4,   1,   6,   1,   17,  2,   153,
+    9,   145, 1,   1,   17,  3,   150, 43,  145, 2,   1,   1,   17,  3,   149,
+    86,  145, 4,   1,   2,   16,  3,   0,   1,   182, 1,   17,  4,   1,   145,
+    5,   145, 7,   2,   1,   17,  3,   153, 12,  153, 31,  1,   1,   17,  3,
+    152, 111, 142, 10,  1,   1,   18,  3,   134, 53,  134, 52,  0,   0,   32,
+    1,   18,  3,   134, 54,  134, 53,  0,   0,   10,  1,   18,  3,   134, 51,
+    2,   1,   1,   18,  4,   134, 45,  1,   134, 44,  0,   13,  0,   1,   18,
+    3,   134, 57,  134, 56,  0,   0,   34,  1,   18,  3,   134, 58,  134, 57,
+    0,   0,   39,  1,   18,  3,   134, 55,  2,   1,   2,   16,  3,   0,   1,
+    181, 1,   17,  2,   1,   137, 55,  2,   16,  3,   0,   1,   180, 1,   17,
+    4,   1,   137, 56,  2,   137, 57,  2,   16,  3,   0,   1,   179, 1,   17,
+    4,   1,   137, 58,  2,   137, 59,  2,   16,  3,   0,   1,   178, 1,   17,
+    3,   1,   137, 60,  2,   1,   18,  3,   134, 73,  134, 72,  1,   1,   18,
+    2,   134, 52,  1,   1,   17,  3,   148, 89,  142, 17,  148, 12,  2,   16,
+    3,   0,   1,   177, 1,   17,  3,   1,   145, 27,  2,   1,   17,  2,   147,
+    94,  1,   2,   16,  3,   0,   1,   176, 1,   17,  3,   1,   134, 73,  2,
+    1,   17,  2,   147, 101, 1,   1,   17,  3,   150, 65,  134, 63,  1,   2,
+    16,  3,   0,   1,   175, 1,   17,  3,   1,   145, 34,  148, 21,  1,   17,
+    3,   147, 109, 134, 89,  1,   1,   17,  2,   148, 11,  1,   1,   17,  3,
+    147, 108, 134, 80,  1,   1,   17,  4,   150, 78,  134, 78,  6,   1,   1,
+    17,  2,   153, 10,  142, 101, 1,   17,  3,   150, 120, 145, 38,  1,   2,
+    16,  3,   0,   1,   174, 1,   17,  4,   1,   134, 90,  4,   2,   1,   17,
+    2,   152, 112, 1,   1,   17,  3,   148, 20,  145, 44,  148, 31,  1,   17,
+    2,   147, 115, 1,   1,   17,  3,   147, 109, 3,   1,   1,   17,  3,   148,
+    24,  33,  1,   1,   18,  3,   134, 89,  1,   24,  1,   17,  3,   148, 113,
+    145, 49,  148, 36,  2,   16,  3,   0,   1,   173, 1,   17,  3,   1,   44,
+    2,   1,   17,  2,   147, 122, 1,   1,   17,  3,   147, 120, 5,   147, 126,
+    1,   17,  3,   148, 0,   43,  1,   1,   17,  2,   148, 30,  1,   2,   16,
+    3,   0,   1,   172, 1,   17,  3,   1,   134, 100, 2,   1,   17,  4,   150,
+    98,  134, 98,  6,   1,   2,   16,  3,   0,   1,   171, 1,   17,  3,   1,
+    134, 102, 2,   1,   17,  3,   148, 1,   50,  1,   1,   17,  3,   148, 8,
+    38,  1,   1,   17,  3,   148, 40,  52,  1,   2,   16,  3,   0,   1,   170,
+    2,   16,  3,   0,   1,   169, 1,   17,  2,   1,   2,   1,   17,  2,   148,
+    14,  154, 26,  1,   17,  2,   148, 43,  1,   2,   16,  3,   0,   1,   168,
+    1,   17,  3,   1,   134, 113, 2,   1,   17,  2,   148, 18,  76,  1,   17,
+    2,   148, 47,  1,   2,   16,  3,   0,   1,   167, 1,   17,  3,   1,   134,
+    117, 2,   1,   17,  2,   148, 50,  1,   1,   17,  3,   147, 110, 134, 119,
+    1,   2,   16,  3,   0,   1,   166, 1,   17,  5,   1,   134, 118, 12,  8,
+    2,   1,   17,  3,   148, 53,  68,  1,   1,   17,  2,   148, 22,  1,   1,
+    17,  4,   148, 18,  134, 112, 1,   18,  1,   17,  3,   148, 59,  58,  1,
+    1,   17,  2,   148, 27,  148, 28,  2,   16,  3,   0,   1,   165, 1,   17,
+    2,   1,   154, 45,  1,   17,  2,   148, 28,  1,   2,   16,  3,   0,   1,
+    164, 1,   17,  3,   1,   135, 3,   2,   1,   17,  3,   148, 29,  78,  1,
+    1,   17,  3,   148, 36,  66,  1,   1,   17,  2,   148, 66,  1,   1,   17,
+    3,   147, 126, 135, 7,   1,   1,   17,  5,   148, 16,  135, 5,   10,  1,
+    11,  1,   17,  2,   148, 69,  1,   2,   16,  3,   0,   1,   163, 1,   17,
+    3,   1,   135, 11,  2,   2,   16,  3,   0,   1,   162, 2,   16,  3,   0,
+    1,   161, 1,   17,  2,   1,   131, 54,  1,   17,  2,   148, 75,  1,   1,
+    17,  3,   153, 89,  135, 4,   1,   1,   17,  4,   148, 43,  135, 22,  1,
+    5,   1,   17,  2,   147, 125, 131, 58,  1,   17,  2,   153, 112, 145, 104,
+    2,   16,  3,   0,   1,   160, 1,   17,  5,   1,   131, 61,  145, 106, 3,
+    2,   2,   16,  3,   0,   1,   159, 1,   17,  3,   1,   145, 104, 2,   1,
+    17,  3,   148, 85,  1,   148, 96,  1,   17,  3,   148, 50,  8,   1,   1,
+    17,  3,   148, 88,  135, 37,  1,   1,   18,  3,   135, 25,  16,  1,   1,
+    18,  4,   135, 19,  1,   135, 18,  0,   13,  0,   2,   16,  3,   0,   1,
+    158, 1,   17,  5,   1,   135, 8,   2,   129, 22,  129, 21,  1,   17,  3,
+    152, 27,  145, 117, 153, 71,  2,   16,  3,   0,   1,   157, 1,   17,  3,
+    1,   142, 48,  2,   2,   16,  3,   0,   1,   156, 1,   17,  4,   1,   142,
+    50,  145, 122, 2,   1,   17,  2,   154, 67,  1,   1,   17,  2,   153, 96,
+    142, 50,  1,   17,  2,   146, 31,  1,   1,   17,  3,   150, 64,  145, 125,
+    1,   1,   17,  3,   131, 61,  142, 55,  1,   1,   17,  3,   147, 55,  146,
+    0,   1,   2,   16,  3,   0,   1,   155, 1,   17,  4,   1,   142, 56,  146,
+    2,   2,   2,   16,  3,   0,   1,   154, 1,   17,  2,   1,   2,   2,   16,
+    3,   0,   1,   153, 1,   17,  3,   1,   2,   154, 6,   1,   17,  3,   152,
+    101, 12,  1,   1,   17,  3,   147, 24,  146, 6,   154, 89,  2,   16,  3,
+    0,   1,   152, 1,   17,  2,   1,   2,   2,   16,  3,   0,   1,   151, 1,
+    17,  3,   1,   146, 11,  2,   2,   16,  3,   0,   1,   150, 1,   17,  2,
+    1,   2,   2,   16,  3,   0,   1,   149, 1,   17,  3,   1,   146, 16,  2,
+    1,   17,  2,   154, 47,  1,   2,   16,  3,   0,   1,   148, 1,   17,  2,
+    1,   143, 52,  2,   16,  3,   0,   1,   147, 1,   17,  2,   1,   154, 106,
+    1,   17,  3,   153, 9,   146, 20,  154, 103, 1,   17,  3,   147, 70,  146,
+    22,  1,   1,   17,  3,   152, 119, 17,  1,   1,   17,  3,   147, 36,  146,
+    25,  1,   2,   16,  3,   0,   1,   146, 1,   17,  4,   1,   10,  6,   2,
+    1,   17,  2,   8,   129, 31,  1,   17,  3,   153, 16,  146, 27,  154, 110,
+    1,   17,  3,   147, 77,  146, 29,  1,   1,   17,  3,   152, 126, 24,  1,
+    1,   17,  3,   147, 43,  146, 32,  1,   1,   17,  4,   7,   16,  5,   1,
+    2,   16,  3,   0,   1,   145, 1,   17,  2,   1,   154, 121, 1,   17,  2,
+    18,  143, 69,  2,   16,  3,   0,   1,   144, 1,   17,  12,  1,   131, 119,
+    154, 123, 31,  11,  129, 41,  5,   154, 124, 3,   136, 23,  2,   129, 69,
+    2,   16,  3,   0,   1,   143, 1,   17,  6,   1,   136, 25,  21,  129, 70,
+    146, 34,  2,   1,   17,  3,   147, 57,  146, 39,  154, 122, 1,   17,  2,
+    150, 88,  1,   2,   16,  3,   0,   1,   142, 1,   17,  3,   1,   146, 43,
+    2,   2,   16,  3,   0,   1,   141, 1,   17,  2,   1,   2,   2,   16,  3,
+    0,   1,   140, 1,   17,  5,   1,   151, 65,  8,   146, 48,  2,   2,   16,
+    3,   0,   1,   139, 1,   17,  3,   1,   154, 73,  2,   1,   17,  2,   154,
+    123, 1,   1,   17,  2,   154, 58,  146, 50,  2,   16,  3,   0,   1,   138,
+    1,   17,  4,   1,   146, 53,  2,   132, 7,   2,   16,  3,   0,   1,   137,
+    1,   17,  5,   1,   132, 9,   143, 46,  2,   146, 54,  2,   16,  3,   0,
+    1,   136, 1,   17,  3,   1,   146, 52,  2,   2,   16,  3,   0,   1,   135,
+    1,   17,  5,   1,   132, 13,  146, 58,  146, 60,  2,   2,   16,  3,   0,
+    1,   134, 1,   17,  3,   1,   146, 56,  2,   2,   16,  3,   0,   1,   133,
+    1,   17,  3,   1,   143, 65,  2,   1,   17,  3,   152, 104, 146, 63,  154,
+    18,  2,   16,  3,   0,   1,   132, 1,   17,  4,   1,   146, 66,  154, 80,
+    2,   1,   17,  3,   152, 107, 146, 66,  154, 21,  2,   16,  3,   0,   1,
+    131, 1,   17,  6,   1,   155, 27,  146, 64,  3,   146, 69,  2,   2,   16,
+    3,   0,   1,   130, 1,   17,  3,   1,   146, 66,  2,   2,   16,  3,   0,
+    1,   129, 1,   17,  3,   1,   146, 74,  2,   1,   17,  2,   153, 12,  1,
+    1,   17,  3,   152, 115, 146, 74,  154, 29,  1,   17,  3,   152, 116, 146,
+    75,  154, 30,  1,   17,  3,   152, 117, 146, 76,  154, 31,  2,   16,  3,
+    0,   1,   128, 1,   17,  4,   1,   146, 78,  154, 33,  155, 55,  2,   16,
+    3,   0,   1,   127, 1,   17,  4,   1,   146, 81,  4,   2,   1,   17,  3,
+    152, 122, 146, 81,  154, 36,  2,   16,  3,   0,   1,   126, 1,   17,  10,
+    1,   132, 38,  146, 84,  9,   155, 42,  8,   155, 43,  10,  3,   2,   2,
+    16,  3,   0,   1,   125, 1,   17,  3,   1,   146, 81,  2,   2,   16,  3,
+    0,   1,   124, 1,   17,  4,   1,   143, 77,  146, 89,  2,   1,   17,  2,
+    155, 34,  1,   2,   16,  3,   0,   1,   123, 1,   17,  2,   1,   2,   1,
+    17,  2,   154, 65,  143, 19,  1,   17,  2,   154, 66,  143, 20,  1,   17,
+    3,   152, 124, 146, 93,  1,   2,   16,  3,   0,   1,   122, 1,   17,  3,
+    1,   146, 96,  2,   2,   16,  3,   0,   1,   121, 1,   17,  5,   1,   146,
+    97,  6,   146, 99,  2,   2,   16,  3,   0,   1,   120, 1,   17,  3,   1,
+    143, 29,  2,   1,   17,  2,   153, 72,  129, 117, 1,   17,  3,   152, 33,
+    146, 101, 154, 56,  2,   16,  3,   0,   1,   119, 1,   17,  3,   1,   139,
+    24,  2,   2,   16,  3,   0,   1,   118, 1,   17,  3,   1,   141, 51,  2,
+    2,   16,  3,   0,   1,   117, 1,   17,  3,   1,   146, 107, 2,   1,   17,
+    3,   153, 108, 1,   155, 63,  1,   17,  3,   152, 61,  133, 11,  1,   1,
+    17,  2,   154, 51,  1,   1,   17,  2,   154, 85,  143, 43,  1,   17,  3,
+    153, 15,  146, 112, 1,   1,   17,  2,   154, 84,  3,   2,   16,  3,   0,
+    1,   116, 1,   17,  3,   1,   135, 58,  2,   1,   17,  3,   155, 14,  138,
+    63,  1,   1,   17,  2,   154, 91,  143, 45,  2,   16,  3,   0,   1,   115,
+    1,   17,  4,   1,   146, 120, 3,   2,   1,   17,  3,   154, 108, 20,  1,
+    1,   17,  3,   148, 38,  146, 122, 1,   1,   17,  3,   151, 74,  146, 124,
+    1,   2,   16,  3,   0,   1,   114, 1,   17,  4,   1,   144, 7,   12,  2,
+    2,   16,  3,   0,   1,   113, 1,   17,  3,   1,   143, 56,  2,   2,   16,
+    3,   0,   1,   112, 1,   17,  3,   1,   29,  2,   2,   16,  3,   0,   1,
+    111, 1,   17,  2,   1,   2,   2,   16,  3,   0,   1,   110, 1,   17,  13,
+    1,   132, 87,  155, 91,  4,   155, 92,  130, 9,   155, 109, 144, 15,  2,
+    155, 78,  136, 121, 0,   12,  2,   130, 20,  2,   16,  3,   0,   1,   109,
+    1,   17,  3,   1,   147, 2,   2,   2,   16,  3,   0,   1,   108, 1,   17,
+    4,   1,   144, 19,  155, 82,  2,   2,   16,  3,   0,   1,   107, 1,   17,
+    3,   1,   2,   148, 54,  2,   16,  3,   0,   1,   106, 1,   17,  3,   1,
+    50,  2,   1,   17,  3,   153, 110, 92,  1,   1,   17,  3,   155, 3,   80,
+    1,   2,   16,  3,   0,   1,   105, 1,   17,  3,   1,   129, 29,  2,   2,
+    16,  3,   0,   1,   104, 1,   17,  2,   1,   147, 18,  2,   16,  3,   0,
+    1,   103, 1,   17,  2,   1,   147, 20,  1,   17,  3,   154, 20,  144, 13,
+    1,   2,   16,  3,   0,   1,   102, 1,   17,  4,   1,   144, 15,  5,   2,
+    1,   17,  2,   149, 50,  1,   2,   16,  3,   0,   1,   101, 1,   17,  3,
+    1,   147, 27,  2,   2,   16,  3,   0,   1,   100, 1,   17,  3,   1,   147,
+    30,  2,   1,   17,  2,   155, 103, 1,   2,   16,  3,   0,   1,   99,  1,
+    17,  2,   1,   147, 31,  1,   17,  3,   154, 31,  144, 24,  1,   1,   17,
+    3,   154, 2,   4,   1,   2,   16,  3,   0,   1,   98,  1,   17,  3,   1,
+    147, 35,  2,   1,   17,  2,   6,   147, 36,  1,   17,  3,   154, 36,  144,
+    29,  1,   1,   17,  3,   154, 7,   9,   1,   2,   16,  3,   0,   1,   97,
+    1,   17,  3,   1,   147, 40,  2,   2,   16,  3,   0,   1,   96,  1,   17,
+    3,   1,   147, 42,  2,   1,   17,  3,   9,   147, 43,  1,   1,   17,  2,
+    14,  147, 44,  1,   17,  3,   148, 20,  147, 45,  1,   1,   17,  3,   154,
+    45,  144, 38,  1,   2,   16,  3,   0,   1,   95,  1,   17,  3,   1,   147,
+    48,  2,   1,   17,  2,   148, 25,  144, 84,  1,   17,  4,   149, 109, 137,
+    35,  1,   0,   12,  2,   1,   17,  4,   149, 110, 147, 51,  1,   130, 64,
+    1,   17,  3,   154, 51,  147, 52,  1,   1,   17,  2,   155, 27,  18,  1,
+    17,  2,   147, 90,  1,   1,   17,  2,   129, 39,  144, 90,  1,   17,  4,
+    149, 115, 137, 41,  1,   0,   12,  2,   1,   17,  4,   149, 116, 147, 57,
+    1,   130, 72,  1,   17,  3,   154, 57,  147, 58,  1,   2,   16,  3,   0,
+    1,   94,  1,   17,  16,  1,   133, 15,  144, 52,  156, 37,  12,  6,   156,
+    19,  25,  130, 65,  17,  156, 20,  156, 39,  155, 15,  147, 60,  2,   130,
+    74,  2,   16,  3,   0,   1,   93,  1,   17,  6,   1,   147, 62,  10,  130,
+    74,  147, 58,  2,   2,   16,  3,   0,   1,   92,  1,   17,  5,   1,   152,
+    83,  2,   144, 67,  156, 10,  2,   16,  3,   0,   1,   91,  1,   17,  3,
+    1,   144, 79,  2,   1,   17,  2,   150, 109, 1,   2,   16,  3,   0,   1,
+    90,  1,   17,  3,   1,   144, 80,  156, 15,  2,   16,  3,   0,   1,   89,
+    1,   17,  6,   1,   156, 50,  153, 116, 156, 48,  144, 82,  156, 17,  1,
+    17,  3,   148, 118, 147, 68,  1,   2,   16,  3,   0,   1,   88,  1,   17,
+    3,   1,   147, 74,  2,   2,   16,  3,   0,   1,   87,  1,   17,  2,   1,
+    2,   2,   16,  3,   0,   1,   86,  1,   17,  4,   1,   155, 103, 9,   2,
+    2,   16,  3,   0,   1,   85,  1,   17,  3,   1,   147, 78,  130, 85,  2,
+    16,  3,   0,   1,   84,  1,   17,  4,   1,   147, 80,  2,   156, 59,  2,
+    16,  3,   0,   1,   83,  1,   17,  4,   1,   147, 82,  2,   156, 43,  2,
+    16,  3,   0,   1,   82,  1,   17,  3,   1,   147, 82,  2,   1,   18,  2,
+    9,   1,   1,   17,  3,   151, 50,  147, 86,  156, 65,  1,   17,  3,   4,
+    147, 85,  1,   1,   18,  2,   12,  1,   1,   18,  2,   13,  156, 40,  1,
+    17,  3,   13,  147, 90,  156, 69,  1,   17,  4,   10,  147, 91,  1,   133,
+    48,  1,   17,  3,   9,   147, 90,  1,   1,   18,  2,   17,  1,   2,   16,
+    3,   0,   1,   81,  1,   17,  3,   1,   144, 97,  156, 39,  1,   17,  2,
+    149, 119, 156, 75,  2,   16,  3,   0,   1,   80,  1,   17,  5,   1,   156,
+    77,  144, 100, 2,   156, 42,  2,   16,  3,   0,   1,   79,  1,   17,  3,
+    1,   147, 98,  2,   2,   16,  3,   0,   1,   78,  1,   17,  2,   1,   2,
+    2,   16,  3,   0,   1,   77,  1,   17,  4,   1,   156, 3,   9,   2,   1,
+    17,  2,   155, 78,  144, 126, 2,   16,  3,   0,   1,   76,  2,   16,  3,
+    0,   1,   75,  1,   17,  4,   1,   4,   155, 125, 2,   2,   16,  3,   0,
+    1,   74,  1,   17,  3,   1,   134, 119, 2,   2,   16,  3,   0,   1,   73,
+    1,   17,  4,   1,   147, 115, 7,   2,   1,   17,  3,   149, 40,  145, 6,
+    1,   2,   16,  3,   0,   1,   72,  1,   17,  3,   1,   30,  2,   1,   17,
+    2,   155, 126, 135, 34,  1,   17,  3,   152, 73,  144, 38,  1,   2,   16,
+    3,   0,   1,   71,  1,   17,  3,   151, 98,  147, 122, 155, 11,  1,   17,
+    3,   149, 44,  147, 122, 1,   1,   17,  3,   151, 100, 147, 124, 155, 13,
+    1,   17,  3,   149, 46,  147, 124, 1,   1,   17,  3,   153, 44,  147, 125,
+    1,   2,   16,  3,   0,   1,   70,  1,   17,  3,   1,   148, 1,   2,   2,
+    16,  3,   0,   1,   69,  1,   17,  2,   1,   2,   2,   16,  3,   0,   1,
+    68,  1,   17,  5,   1,   148, 5,   9,   148, 4,   2,   1,   17,  3,   150,
+    37,  144, 110, 1,   1,   17,  3,   151, 98,  148, 6,   1,   2,   16,  3,
+    0,   1,   67,  1,   17,  5,   1,   148, 9,   2,   148, 8,   155, 25,  2,
+    16,  3,   0,   1,   66,  1,   17,  3,   1,   135, 63,  2,   2,   16,  3,
+    0,   1,   65,  1,   17,  4,   1,   144, 55,  19,  2,   1,   17,  2,   150,
+    33,  156, 117, 2,   16,  3,   0,   1,   64,  1,   17,  9,   1,   156, 121,
+    156, 101, 131, 19,  148, 14,  2,   145, 54,  131, 24,  156, 97,  2,   16,
+    3,   0,   1,   63,  1,   17,  3,   1,   5,   2,   2,   16,  3,   0,   1,
+    62,  1,   17,  3,   1,   144, 76,  2,   1,   17,  3,   153, 63,  28,  1,
+    2,   16,  3,   0,   1,   61,  1,   17,  4,   1,   43,  156, 36,  149, 75,
+    2,   16,  3,   0,   1,   60,  1,   17,  3,   1,   4,   2,   1,   17,  3,
+    154, 55,  135, 68,  1,   2,   16,  3,   0,   1,   59,  1,   17,  3,   1,
+    63,  2,   1,   17,  3,   39,  60,  1,   2,   16,  3,   0,   1,   58,  1,
+    17,  2,   1,   157, 8,   2,   16,  3,   0,   1,   57,  1,   17,  4,   1,
+    53,  156, 46,  2,   2,   16,  3,   0,   1,   56,  1,   17,  3,   1,   135,
+    77,  2,   1,   17,  3,   46,  75,  1,   2,   16,  3,   0,   1,   55,  1,
+    17,  3,   1,   140, 85,  156, 119, 2,   16,  3,   0,   1,   54,  1,   17,
+    5,   1,   143, 71,  155, 121, 135, 92,  2,   2,   16,  3,   0,   1,   53,
+    1,   17,  4,   1,   148, 38,  0,   0,   129, 128, 0,   2,   2,   16,  3,
+    0,   1,   52,  1,   17,  3,   1,   148, 40,  2,   1,   17,  3,   152, 124,
+    141, 15,  1,   2,   16,  3,   0,   1,   51,  1,   17,  2,   1,   2,   1,
+    17,  3,   152, 23,  148, 47,  155, 64,  1,   17,  3,   152, 24,  148, 48,
+    155, 65,  2,   16,  3,   0,   1,   50,  1,   17,  3,   1,   148, 51,  2,
+    2,   16,  3,   0,   1,   49,  1,   17,  3,   1,   141, 23,  2,   1,   17,
+    4,   134, 34,  148, 54,  6,   1,   2,   16,  3,   0,   1,   48,  1,   17,
+    4,   1,   76,  156, 9,   149, 108, 2,   16,  3,   0,   1,   47,  1,   17,
+    6,   1,   78,  156, 71,  149, 110, 140, 103, 2,   2,   16,  3,   0,   1,
+    46,  1,   17,  2,   1,   2,   2,   16,  3,   0,   1,   45,  1,   17,  3,
+    1,   15,  2,   2,   16,  3,   0,   1,   44,  1,   17,  3,   1,   135, 106,
+    2,   1,   17,  2,   156, 34,  145, 125, 1,   17,  3,   154, 16,  148, 62,
+    1,   2,   16,  3,   0,   1,   43,  1,   17,  4,   1,   145, 51,  4,   2,
+    2,   16,  3,   0,   1,   42,  1,   17,  3,   1,   101, 2,   2,   16,  3,
+    0,   1,   41,  1,   17,  3,   1,   18,  2,   2,   16,  3,   0,   1,   40,
+    1,   17,  4,   151, 8,   141, 14,  2,   1,   2,   16,  3,   0,   1,   39,
+    1,   17,  3,   1,   112, 2,   2,   16,  3,   0,   1,   38,  1,   17,  4,
+    1,   140, 123, 156, 31,  157, 55,  2,   16,  3,   0,   1,   37,  1,   17,
+    3,   1,   157, 33,  2,   1,   17,  3,   151, 57,  34,  1,   1,   17,  4,
+    60,  102, 156, 95,  150, 6,   2,   16,  3,   0,   1,   36,  1,   17,  3,
+    1,   3,   2,   1,   17,  3,   51,  135, 127, 1,   1,   17,  3,   96,  125,
+    1,   2,   16,  3,   0,   1,   35,  1,   17,  11,  1,   97,  131, 90,  52,
+    131, 88,  12,  131, 87,  2,   131, 86,  59,  131, 89,  2,   16,  3,   0,
+    1,   34,  1,   17,  3,   1,   136, 14,  2,   2,   16,  3,   0,   1,   33,
+    2,   16,  3,   0,   1,   32,  1,   17,  2,   1,   2,   2,   16,  3,   0,
+    1,   31,  1,   17,  3,   1,   5,   2,   1,   17,  2,   156, 126, 1,   2,
+    16,  3,   0,   1,   30,  2,   16,  3,   0,   1,   29,  1,   17,  3,   1,
+    148, 98,  2,   2,   16,  3,   0,   1,   28,  2,   16,  3,   0,   1,   27,
+    1,   17,  3,   154, 29,  135, 96,  1,   1,   17,  3,   155, 23,  135, 70,
+    1,   1,   17,  3,   150, 21,  148, 103, 1,   2,   16,  3,   0,   1,   26,
+    1,   17,  2,   1,   2,   2,   16,  3,   0,   1,   25,  1,   17,  3,   1,
+    129, 39,  2,   2,   16,  3,   0,   1,   24,  1,   17,  4,   1,   10,  14,
+    2,   2,   16,  3,   0,   1,   23,  1,   17,  3,   1,   13,  2,   2,   16,
+    3,   0,   1,   22,  1,   17,  3,   1,   129, 96,  2,   1,   17,  3,   150,
+    43,  139, 90,  1,   2,   16,  3,   0,   1,   21,  1,   17,  3,   1,   148,
+    117, 2,   1,   17,  2,   152, 31,  1,   1,   18,  4,   2,   0,   13,  1,
+    0,   13,  1,   1,   2,   16,  3,   0,   1,   20,  2,   16,  3,   0,   1,
+    19,  1,   17,  3,   1,   141, 92,  2,   2,   16,  3,   0,   1,   18,  2,
+    16,  3,   0,   1,   17,  1,   17,  4,   1,   136, 0,   2,   133, 111, 1,
+    17,  3,   155, 100, 141, 45,  156, 79,  2,   16,  3,   0,   1,   16,  1,
+    17,  3,   1,   148, 127, 2,   2,   16,  3,   0,   1,   15,  1,   17,  3,
+    1,   149, 2,   2,   2,   16,  3,   0,   1,   14,  1,   17,  3,   1,   149,
+    4,   2,   1,   17,  2,   157, 74,  1,   1,   17,  2,   156, 103, 140, 43,
+    1,   17,  2,   156, 104, 140, 44,  2,   16,  3,   0,   1,   13,  1,   17,
+    6,   1,   3,   156, 90,  149, 7,   2,   156, 90,  2,   16,  3,   0,   1,
+    12,  1,   17,  3,   1,   149, 5,   2,   2,   16,  3,   0,   1,   11,  1,
+    17,  4,   1,   141, 58,  157, 58,  2,   2,   16,  3,   0,   1,   10,  1,
+    17,  2,   1,   141, 60,  1,   17,  3,   155, 72,  141, 63,  156, 32,  1,
+    17,  3,   156, 42,  141, 64,  1,   2,   16,  3,   0,   1,   9,   1,   17,
+    3,   1,   141, 62,  2,   2,   16,  3,   0,   1,   8,   1,   17,  3,   1,
+    149, 20,  2,   1,   17,  3,   154, 53,  7,   1,   2,   16,  3,   0,   1,
+    7,   1,   17,  3,   1,   149, 24,  2,   1,   17,  2,   155, 0,   1,   1,
+    17,  2,   157, 32,  149, 24,  1,   17,  2,   150, 68,  1,   1,   17,  3,
+    156, 57,  149, 27,  1,   1,   17,  3,   135, 53,  149, 29,  1,   1,   17,
+    2,   157, 60,  1,   1,   17,  3,   154, 89,  149, 29,  157, 44,  2,   16,
+    3,   0,   1,   6,   1,   17,  3,   1,   149, 33,  2,   1,   17,  2,   150,
+    87,  1,   2,   16,  3,   0,   1,   5,   2,   16,  3,   0,   1,   4,   1,
+    17,  3,   1,   139, 108, 2,   2,   16,  3,   0,   1,   3,   1,   17,  3,
+    1,   139, 110, 2,   2,   16,  3,   0,   1,   2,   1,   17,  3,   1,   11,
+    157, 54,  2,   16,  3,   0,   1,   1,   1,   17,  5,   1,   135, 71,  4,
+    141, 88,  2,   2,   16,  3,   0,   1,   0,   1,   17,  2,   1,   2,   2,
+    16,  3,   0,   0,   255, 1,   17,  5,   1,   149, 46,  13,  141, 94,  2,
+    2,   16,  3,   0,   0,   254, 1,   17,  5,   1,   136, 101, 130, 86,  24,
+    2,   1,   17,  2,   157, 80,  1,   2,   16,  3,   0,   0,   253, 1,   17,
+    3,   1,   157, 82,  157, 82,  2,   16,  3,   0,   0,   252, 1,   17,  2,
+    1,   157, 84,  2,   16,  3,   0,   0,   251, 1,   17,  2,   1,   157, 86,
+    2,   16,  3,   0,   0,   250, 1,   17,  7,   1,   136, 110, 6,   136, 52,
+    4,   134, 9,   2,   1,   17,  3,   155, 69,  136, 26,  1,   2,   16,  3,
+    0,   0,   249, 1,   17,  3,   1,   149, 60,  2,   2,   16,  3,   0,   0,
+    248, 1,   17,  3,   1,   58,  2,   2,   16,  3,   0,   0,   247, 1,   17,
+    3,   1,   15,  2,   1,   17,  3,   154, 97,  140, 41,  1,   2,   16,  3,
+    0,   0,   246, 1,   17,  3,   1,   149, 68,  2,   1,   17,  2,   157, 99,
+    1,   2,   16,  3,   0,   0,   245, 1,   17,  2,   1,   157, 101, 2,   16,
+    3,   0,   0,   244, 1,   17,  4,   1,   136, 67,  2,   134, 23,  1,   17,
+    3,   155, 122, 149, 72,  1,   2,   16,  3,   0,   0,   243, 1,   17,  3,
+    1,   149, 75,  2,   2,   16,  3,   0,   0,   242, 1,   17,  4,   1,   65,
+    2,   157, 86,  2,   16,  3,   0,   0,   241, 1,   17,  3,   1,   149, 80,
+    2,   2,   16,  3,   0,   0,   240, 1,   17,  3,   1,   88,  2,   2,   16,
+    3,   0,   0,   239, 1,   17,  3,   1,   137, 8,   2,   1,   17,  3,   18,
+    149, 85,  1,   1,   17,  2,   157, 116, 1,   1,   17,  2,   17,  157, 117,
+    1,   17,  4,   16,  136, 82,  1,   134, 37,  1,   17,  3,   156, 9,   149,
+    87,  1,   1,   17,  3,   15,  149, 89,  1,   1,   17,  2,   157, 84,  149,
+    89,  2,   16,  3,   0,   0,   238, 1,   17,  3,   1,   144, 116, 2,   1,
+    17,  3,   135, 29,  142, 13,  1,   1,   17,  4,   18,  82,  5,   1,   1,
+    17,  3,   17,  149, 96,  1,   1,   17,  3,   16,  103, 1,   1,   17,  3,
+    15,  137, 22,  1,   1,   17,  3,   32,  149, 99,  1,   1,   17,  2,   158,
+    2,   1,   1,   17,  2,   31,  158, 3,   1,   17,  4,   30,  136, 96,  1,
+    134, 50,  1,   17,  3,   156, 23,  149, 101, 1,   1,   17,  3,   29,  149,
+    103, 1,   1,   17,  2,   157, 98,  149, 103, 2,   16,  3,   0,   0,   237,
+    1,   17,  3,   1,   142, 24,  2,   2,   16,  3,   0,   0,   236, 1,   17,
+    3,   1,   143, 10,  2,   1,   17,  4,   33,  97,  6,   1,   1,   17,  3,
+    32,  149, 111, 1,   1,   17,  3,   31,  118, 1,   1,   17,  3,   30,  137,
+    37,  1,   1,   17,  3,   47,  149, 114, 1,   1,   17,  2,   158, 17,  1,
+    1,   17,  2,   46,  158, 18,  1,   17,  4,   45,  136, 111, 1,   134, 66,
+    1,   17,  3,   156, 38,  149, 116, 1,   1,   17,  3,   44,  149, 118, 1,
+    1,   17,  2,   157, 113, 149, 118, 2,   16,  3,   0,   0,   235, 1,   17,
+    3,   1,   145, 15,  2,   2,   16,  3,   0,   0,   234, 1,   17,  4,   1,
+    111, 5,   2,   2,   16,  3,   0,   0,   233, 1,   17,  3,   1,   149, 126,
+    2,   2,   16,  3,   0,   0,   232, 1,   17,  3,   1,   145, 31,  2,   2,
+    16,  3,   0,   0,   231, 1,   17,  3,   1,   129, 8,   2,   2,   16,  3,
+    0,   0,   230, 1,   17,  3,   1,   137, 56,  2,   1,   17,  3,   50,  137,
+    57,  1,   1,   17,  3,   67,  150, 6,   1,   1,   17,  2,   158, 37,  1,
+    1,   17,  2,   66,  158, 38,  1,   17,  4,   65,  137, 3,   1,   134, 84,
+    1,   17,  3,   156, 58,  150, 8,   1,   1,   17,  3,   64,  150, 10,  1,
+    1,   17,  2,   158, 18,  150, 10,  2,   16,  3,   0,   0,   229, 1,   17,
+    3,   1,   150, 12,  2,   1,   17,  4,   20,  129, 2,   4,   1,   2,   16,
+    3,   0,   0,   228, 1,   17,  3,   1,   150, 17,  2,   2,   16,  3,   0,
+    0,   227, 1,   17,  3,   1,   137, 71,  2,   1,   17,  3,   67,  129, 26,
+    1,   1,   17,  3,   66,  137, 73,  1,   1,   17,  3,   83,  150, 22,  1,
+    1,   17,  2,   158, 53,  1,   2,   16,  3,   0,   0,   226, 1,   17,  4,
+    1,   145, 56,  157, 106, 137, 77,  2,   16,  3,   0,   0,   225, 1,   17,
+    5,   1,   137, 79,  143, 56,  2,   0,   0,   136, 128, 0,   2,   16,  3,
+    0,   0,   224, 1,   17,  3,   1,   137, 81,  2,   1,   17,  2,   129, 112,
+    1,   2,   16,  3,   0,   0,   223, 1,   17,  3,   1,   150, 30,  157, 48,
+    2,   16,  3,   0,   0,   222, 1,   17,  3,   1,   142, 79,  2,   1,   17,
+    2,   158, 65,  1,   1,   17,  2,   94,  158, 66,  1,   17,  4,   93,  137,
+    31,  1,   134, 111, 1,   17,  3,   156, 86,  150, 36,  1,   1,   17,  3,
+    92,  150, 38,  1,   1,   17,  2,   158, 12,  5,   2,   16,  3,   0,   0,
+    221, 1,   17,  3,   1,   150, 40,  2,   1,   17,  4,   48,  129, 30,  4,
+    1,   1,   17,  3,   28,  150, 44,  1,   2,   16,  3,   0,   0,   220, 1,
+    17,  3,   1,   16,  2,   1,   17,  3,   94,  129, 53,  1,   1,   17,  3,
+    93,  137, 100, 1,   1,   17,  3,   110, 150, 49,  1,   1,   17,  2,   158,
+    80,  1,   1,   17,  2,   109, 158, 81,  1,   17,  4,   108, 137, 46,  1,
+    134, 125, 1,   17,  3,   156, 101, 150, 51,  1,   1,   17,  3,   107, 150,
+    53,  1,   2,   16,  3,   0,   0,   219, 1,   17,  2,   1,   150, 54,  1,
+    17,  4,   62,  129, 44,  3,   1,   1,   17,  3,   42,  150, 58,  1,   1,
+    17,  3,   41,  137, 111, 1,   1,   17,  3,   107, 129, 66,  1,   1,   17,
+    3,   106, 137, 113, 1,   1,   17,  3,   123, 150, 62,  1,   1,   17,  2,
+    158, 93,  1,   1,   17,  2,   122, 158, 94,  1,   17,  4,   121, 137, 59,
+    1,   135, 9,   1,   17,  3,   156, 114, 150, 64,  1,   1,   17,  3,   120,
+    150, 66,  1,   2,   16,  3,   0,   0,   218, 1,   17,  2,   1,   147, 59,
+    1,   17,  3,   156, 100, 137, 75,  1,   1,   17,  3,   154, 42,  144, 68,
+    1,   2,   16,  3,   0,   0,   217, 1,   17,  3,   1,   144, 72,  2,   2,
+    16,  3,   0,   0,   216, 1,   17,  3,   1,   137, 93,  2,   1,   17,  3,
+    63,  150, 74,  1,   2,   16,  3,   0,   0,   215, 1,   17,  4,   1,   129,
+    65,  11,  2,   2,   16,  3,   0,   0,   214, 1,   17,  3,   1,   150, 80,
+    2,   1,   17,  3,   129, 0,   129, 87,  1,   1,   17,  3,   127, 138, 6,
+    1,   1,   17,  3,   129, 16,  150, 83,  1,   1,   17,  2,   158, 114, 1,
+    1,   17,  2,   129, 15,  158, 115, 1,   17,  4,   129, 14,  137, 80,  1,
+    135, 29,  1,   17,  3,   157, 7,   137, 54,  1,   2,   16,  3,   0,   0,
+    213, 1,   17,  3,   1,   150, 88,  2,   2,   16,  3,   0,   0,   212, 1,
+    17,  3,   1,   129, 94,  2,   2,   16,  3,   0,   0,   211, 1,   17,  3,
+    1,   136, 48,  2,   1,   17,  3,   155, 125, 141, 69,  1,   1,   17,  3,
+    129, 28,  150, 95,  1,   1,   17,  2,   158, 126, 1,   1,   17,  3,   154,
+    30,  150, 95,  157, 113, 1,   17,  3,   136, 16,  150, 98,  1,   1,   17,
+    3,   158, 1,   150, 98,  1,   2,   16,  3,   0,   0,   210, 1,   17,  5,
+    1,   147, 89,  158, 101, 150, 100, 2,   2,   16,  3,   0,   0,   209, 1,
+    17,  5,   1,   147, 91,  158, 103, 150, 102, 2,   1,   17,  2,   158, 87,
+    1,   1,   17,  2,   129, 35,  159, 7,   1,   17,  4,   129, 34,  137, 100,
+    1,   135, 48,  2,   16,  3,   0,   0,   208, 1,   17,  3,   1,   137, 75,
+    2,   1,   17,  3,   19,  129, 112, 1,   2,   16,  3,   0,   0,   207, 1,
+    17,  3,   1,   136, 66,  2,   1,   17,  3,   129, 127, 136, 67,  1,   2,
+    16,  3,   0,   0,   206, 1,   17,  3,   1,   141, 89,  2,   1,   17,  3,
+    156, 125, 143, 85,  1,   1,   17,  3,   134, 59,  150, 116, 1,   2,   16,
+    3,   0,   0,   205, 1,   17,  3,   1,   150, 117, 2,   1,   17,  3,   156,
+    22,  15,  1,   1,   17,  3,   156, 23,  141, 95,  1,   2,   16,  3,   0,
+    0,   204, 1,   17,  3,   1,   150, 122, 2,   1,   17,  2,   159, 25,  1,
+    2,   16,  3,   0,   0,   203, 1,   17,  2,   1,   153, 111, 2,   16,  3,
+    0,   0,   202, 1,   17,  4,   1,   137, 121, 158, 31,  135, 68,  1,   17,
+    3,   157, 48,  137, 95,  1,   1,   17,  3,   157, 11,  137, 96,  1,   1,
+    17,  3,   151, 53,  151, 1,   1,   2,   16,  3,   0,   0,   201, 1,   17,
+    2,   1,   2,   2,   16,  3,   0,   0,   200, 1,   17,  3,   1,   151, 6,
+    2,   2,   16,  3,   0,   0,   199, 1,   17,  3,   1,   130, 11,  2,   2,
+    16,  3,   0,   0,   198, 1,   17,  3,   1,   138, 62,  2,   2,   16,  3,
+    0,   0,   197, 1,   17,  3,   1,   136, 95,  2,   2,   16,  3,   0,   0,
+    196, 1,   17,  3,   1,   136, 97,  2,   1,   17,  3,   151, 119, 147, 120,
+    1,   2,   16,  3,   0,   0,   195, 1,   17,  3,   1,   141, 120, 2,   1,
+    17,  3,   153, 49,  147, 123, 1,   1,   17,  3,   153, 50,  141, 122, 1,
+    2,   16,  3,   0,   0,   194, 1,   17,  3,   1,   151, 21,  2,   1,   17,
+    2,   156, 82,  1,   2,   16,  3,   0,   0,   193, 1,   17,  4,   1,   151,
+    24,  27,  2,   1,   17,  2,   159, 31,  151, 23,  1,   17,  3,   158, 22,
+    151, 25,  1,   1,   17,  2,   159, 20,  151, 25,  1,   17,  2,   129, 86,
+    159, 58,  1,   17,  4,   129, 85,  138, 23,  1,   135, 97,  2,   16,  3,
+    0,   0,   192, 1,   17,  4,   1,   142, 68,  4,   2,   2,   16,  3,   0,
+    0,   191, 1,   17,  2,   1,   151, 31,  2,   16,  3,   0,   0,   190, 1,
+    17,  4,   1,   148, 44,  4,   2,   2,   16,  3,   0,   0,   189, 1,   17,
+    3,   1,   145, 20,  2,   2,   16,  3,   0,   0,   188, 1,   17,  5,   1,
+    151, 38,  142, 76,  13,  2,   1,   17,  3,   136, 116, 130, 46,  1,   2,
+    16,  3,   0,   0,   187, 1,   17,  3,   1,   143, 74,  2,   2,   16,  3,
+    0,   0,   186, 1,   17,  3,   1,   138, 66,  2,   1,   17,  3,   152, 101,
+    142, 82,  1,   1,   17,  2,   159, 39,  151, 40,  1,   17,  3,   152, 87,
+    151, 47,  1,   2,   16,  3,   0,   0,   185, 1,   17,  4,   1,   148, 47,
+    4,   2,   2,   16,  3,   0,   0,   184, 1,   17,  3,   1,   145, 34,  2,
+    1,   17,  2,   159, 45,  151, 46,  1,   17,  3,   152, 93,  151, 53,  1,
+    2,   16,  3,   0,   0,   183, 1,   17,  4,   1,   148, 53,  4,   2,   2,
+    16,  3,   0,   0,   182, 1,   17,  3,   1,   145, 40,  2,   2,   16,  3,
+    0,   0,   181, 1,   17,  3,   1,   151, 59,  2,   1,   17,  2,   159, 53,
+    151, 54,  1,   17,  3,   152, 101, 151, 61,  1,   2,   16,  3,   0,   0,
+    180, 1,   17,  4,   1,   148, 61,  4,   2,   2,   16,  3,   0,   0,   179,
+    1,   17,  3,   1,   145, 48,  2,   2,   16,  3,   0,   0,   178, 1,   17,
+    3,   1,   138, 85,  2,   2,   16,  3,   0,   0,   177, 1,   17,  3,   1,
+    143, 116, 2,   2,   16,  3,   0,   0,   176, 1,   17,  3,   1,   138, 89,
+    2,   2,   16,  3,   0,   0,   175, 1,   17,  4,   1,   143, 118, 2,   159,
+    103, 2,   16,  3,   0,   0,   174, 1,   17,  3,   1,   143, 112, 2,   2,
+    16,  3,   0,   0,   173, 1,   17,  3,   1,   151, 77,  2,   1,   17,  2,
+    159, 108, 1,   1,   17,  2,   159, 85,  151, 77,  1,   17,  3,   158, 76,
+    151, 79,  1,   1,   17,  2,   130, 11,  159, 111, 1,   17,  4,   130, 10,
+    138, 76,  1,   136, 21,  2,   16,  3,   0,   0,   172, 1,   17,  5,   1,
+    151, 83,  142, 121, 4,   2,   1,   17,  3,   130, 4,   130, 91,  1,   1,
+    17,  3,   158, 111, 135, 111, 1,   1,   17,  3,   156, 118, 142, 62,  1,
+    1,   17,  3,   130, 21,  151, 88,  1,   1,   17,  2,   159, 119, 1,   2,
+    16,  3,   0,   0,   171, 1,   17,  2,   159, 60,  148, 79,  1,   17,  3,
+    159, 21,  151, 90,  1,   1,   17,  3,   157, 23,  151, 91,  131, 99,  1,
+    17,  3,   159, 80,  148, 82,  1,   2,   16,  3,   0,   0,   170, 1,   17,
+    6,   1,   148, 84,  4,   151, 94,  2,   159, 74,  1,   17,  4,   160, 17,
+    142, 72,  7,   1,   1,   17,  3,   153, 121, 130, 93,  153, 9,   2,   16,
+    3,   0,   0,   169, 1,   17,  3,   1,   151, 100, 2,   1,   17,  3,   157,
+    122, 4,   1,   1,   17,  3,   159, 76,  148, 103, 148, 92,  2,   16,  3,
+    0,   0,   168, 1,   17,  2,   1,   160, 6,   2,   16,  3,   0,   0,   167,
+    1,   17,  3,   1,   138, 100, 2,   1,   17,  3,   158, 27,  138, 74,  1,
+    1,   17,  3,   130, 33,  151, 107, 1,   1,   17,  3,   155, 41,  7,   1,
+    2,   16,  3,   0,   0,   166, 1,   17,  3,   1,   160, 13,  2,   1,   17,
+    3,   153, 40,  11,  1,   2,   16,  3,   0,   0,   165, 1,   17,  3,   1,
+    151, 114, 2,   1,   17,  3,   157, 42,  138, 109, 131, 14,  1,   17,  3,
+    158, 36,  138, 83,  1,   1,   17,  3,   130, 42,  151, 116, 1,   1,   17,
+    3,   153, 35,  16,  1,   2,   16,  3,   0,   0,   164, 1,   17,  2,   1,
+    2,   2,   16,  3,   0,   0,   163, 1,   17,  3,   1,   131, 22,  2,   1,
+    17,  3,   152, 99,  22,  1,   2,   16,  3,   0,   0,   162, 1,   17,  3,
+    1,   151, 125, 2,   2,   16,  3,   0,   0,   161, 1,   17,  2,   1,   2,
+    1,   18,  3,   14,  136, 38,  136, 66,  1,   17,  2,   160, 31,  1,   1,
+    18,  3,   16,  136, 27,  136, 67,  1,   17,  2,   160, 33,  1,   1,   18,
+    3,   18,  136, 22,  136, 68,  1,   17,  2,   160, 35,  1,   1,   18,  3,
+    20,  136, 3,   136, 69,  1,   17,  2,   160, 37,  1,   1,   18,  3,   22,
+    136, 10,  136, 70,  1,   17,  2,   160, 39,  1,   1,   18,  3,   24,  135,
+    123, 136, 71,  1,   17,  2,   160, 41,  1,   1,   18,  3,   26,  135, 100,
+    136, 72,  1,   17,  2,   160, 43,  1,   1,   1,   2,   0,   0,   0,   0,
+    13,  0,   1,   18,  3,   16,  135, 57,  136, 74,  1,   18,  5,   19,  135,
+    58,  2,   1,   136, 75,  1,   1,   2,   0,   0,   0,   0,   13,  0,   1,
+    18,  3,   19,  135, 53,  136, 76,  1,   18,  5,   22,  135, 54,  2,   1,
+    136, 77,  1,   1,   2,   0,   0,   129, 46,  0,   13,  0,   1,   1,   2,
+    0,   0,   129, 0,   1,   1,   1,   2,   0,   0,   129, 98,  1,   1,   1,
+    2,   0,   0,   129, 45,  0,   13,  0,   1,   1,   2,   0,   0,   129, 0,
+    1,   1,   1,   2,   0,   0,   129, 98,  1,   1,   1,   2,   0,   0,   129,
+    14,  0,   13,  0,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,
+    0,   0,   129, 97,  1,   1,   1,   2,   0,   0,   129, 32,  0,   13,  0,
+    1,   1,   2,   0,   0,   129, 1,   1,   1,   1,   2,   0,   0,   129, 98,
+    1,   1,   1,   2,   0,   0,   129, 62,  0,   13,  0,   1,   1,   2,   0,
+    0,   129, 59,  1,   1,   1,   2,   0,   0,   129, 111, 1,   1,   1,   2,
+    0,   0,   129, 63,  0,   13,  0,   1,   1,   2,   0,   0,   129, 63,  1,
+    1,   1,   2,   0,   0,   129, 111, 1,   1,   1,   2,   0,   0,   129, 45,
+    0,   13,  0,   1,   1,   2,   0,   0,   129, 63,  1,   1,   1,   2,   0,
+    0,   129, 96,  1,   1,   1,   2,   0,   0,   129, 45,  0,   13,  0,   1,
+    1,   2,   0,   0,   129, 58,  1,   1,   1,   2,   0,   0,   129, 109, 1,
+    1,   1,   2,   0,   0,   129, 45,  0,   13,  0,   1,   1,   2,   0,   0,
+    129, 42,  1,   1,   1,   2,   0,   0,   129, 109, 1,   1,   1,   2,   0,
+    0,   129, 63,  0,   13,  0,   1,   1,   2,   0,   0,   129, 35,  1,   1,
+    1,   2,   0,   0,   129, 111, 1,   1,   1,   2,   0,   0,   129, 15,  0,
+    13,  0,   1,   1,   2,   0,   0,   129, 60,  1,   1,   1,   2,   0,   0,
+    129, 111, 1,   1,   1,   2,   0,   0,   129, 22,  0,   13,  0,   1,   1,
+    2,   0,   0,   129, 31,  1,   1,   1,   2,   0,   0,   129, 29,  1,   1,
+    1,   2,   0,   0,   129, 112, 1,   1,   1,   2,   0,   0,   129, 31,  0,
+    13,  0,   1,   1,   2,   0,   0,   129, 67,  1,   1,   1,   2,   0,   0,
+    129, 58,  0,   13,  0,   1,   1,   2,   0,   0,   129, 55,  1,   1,   1,
+    2,   0,   0,   129, 111, 1,   1,   1,   2,   0,   0,   129, 16,  0,   13,
+    0,   1,   1,   2,   0,   0,   129, 78,  1,   1,   1,   2,   0,   0,   129,
+    2,   0,   13,  0,   1,   1,   2,   0,   0,   129, 62,  1,   1,   1,   2,
+    0,   0,   129, 97,  1,   1,   1,   2,   0,   0,   129, 44,  0,   13,  0,
+    1,   1,   2,   0,   0,   129, 44,  1,   1,   1,   2,   0,   0,   129, 111,
+    1,   1,   1,   2,   0,   0,   129, 32,  0,   13,  0,   1,   1,   2,   0,
+    0,   129, 5,   1,   1,   1,   2,   0,   0,   129, 29,  1,   1,   1,   2,
+    0,   0,   129, 112, 1,   1,   1,   2,   0,   0,   129, 62,  0,   13,  0,
+    1,   1,   2,   0,   0,   129, 63,  1,   1,   1,   2,   0,   0,   129, 15,
+    1,   1,   1,   2,   0,   0,   129, 116, 1,   1,   1,   2,   0,   0,   129,
+    63,  0,   13,  0,   1,   1,   2,   0,   0,   129, 63,  1,   1,   1,   2,
+    0,   0,   129, 111, 1,   1,   1,   2,   0,   0,   129, 0,   0,   13,  0,
+    1,   1,   2,   0,   0,   129, 0,   1,   1,   1,   2,   0,   0,   129, 16,
+    1,   1,   1,   2,   0,   0,   129, 112, 1,   1,   1,   2,   0,   0,   129,
+    63,  0,   13,  0,   1,   1,   2,   0,   0,   129, 59,  1,   1,   1,   2,
+    0,   0,   129, 111, 1,   1,   1,   2,   0,   0,   129, 127, 0,   13,  0,
+    1,   1,   2,   0,   0,   129, 126, 1,   1,   1,   2,   0,   0,   129, 126,
+    0,   13,  0,   1,   1,   2,   0,   0,   129, 127, 1,   1,   1,   2,   0,
+    0,   129, 127, 0,   13,  0,   1,   1,   2,   0,   0,   129, 127, 1,   1,
+    1,   2,   0,   0,   0,   1,   1,   1,   2,   0,   0,   0,   1,   1,   1,
+    2,   0,   0,   0,   0,   13,  0,   1,   1,   2,   0,   0,   0,   1,   1,
+    1,   2,   0,   0,   129, 127, 1,   1,   1,   2,   0,   0,   129, 127, 1,
+    1,   1,   2,   0,   0,   56,  0,   13,  0,   1,   1,   2,   0,   0,   118,
+    1,   1,   1,   2,   0,   0,   47,  1,   1,   1,   2,   0,   0,   43,  1,
+    1,   1,   2,   0,   0,   57,  0,   13,  0,   1,   1,   2,   0,   0,   118,
+    1,   1,   1,   2,   0,   0,   47,  1,   1,   1,   2,   0,   0,   43,  1,
+    1,   1,   2,   0,   0,   43,  0,   13,  0,   1,   1,   2,   0,   0,   118,
+    1,   1,   1,   2,   0,   0,   47,  1,   1,   1,   2,   0,   0,   43,  1,
+    1,   1,   2,   0,   0,   47,  0,   13,  0,   1,   1,   2,   0,   0,   118,
+    1,   1,   1,   2,   0,   0,   47,  1,   1,   1,   2,   0,   0,   43,  1,
+    1,   1,   2,   0,   0,   76,  0,   13,  0,   1,   1,   2,   0,   0,   100,
+    1,   1,   1,   2,   0,   0,   129, 119, 1,   1,   1,   2,   0,   0,   115,
+    0,   13,  0,   1,   1,   2,   0,   0,   102, 1,   1,   1,   2,   0,   0,
+    115, 1,   1,   1,   2,   0,   0,   129, 93,  1,   1,   1,   2,   0,   0,
+    129, 127, 0,   13,  0,   1,   1,   2,   0,   0,   129, 126, 1,   1,   1,
+    2,   0,   0,   14,  1,   1,   1,   2,   0,   0,   40,  0,   13,  0,   1,
+    1,   2,   0,   0,   129, 110, 1,   1,   1,   2,   0,   0,   129, 123, 1,
+    1,   1,   2,   0,   0,   129, 127, 0,   13,  0,   1,   1,   2,   0,   0,
+    40,  1,   1,   1,   2,   0,   0,   129, 110, 1,   1,   1,   2,   0,   0,
+    129, 123, 1,   1,   1,   2,   0,   0,   51,  0,   13,  0,   1,   1,   2,
+    0,   0,   129, 21,  1,   1,   1,   2,   0,   0,   49,  1,   1,   1,   2,
+    0,   0,   129, 4,   1,   1,   1,   2,   0,   0,   129, 41,  0,   13,  0,
+    1,   1,   2,   0,   0,   129, 18,  1,   1,   1,   2,   0,   0,   129, 31,
+    1,   1,   1,   2,   0,   0,   129, 112, 1,   1,   1,   2,   0,   0,   129,
+    0,   0,   13,  0,   1,   1,   2,   0,   0,   129, 57,  1,   1,   1,   2,
+    0,   0,   129, 96,  1,   1,   1,   2,   0,   0,   129, 1,   0,   13,  0,
+    1,   1,   2,   0,   0,   129, 57,  1,   1,   1,   2,   0,   0,   129, 96,
+    1,   1,   1,   2,   0,   0,   129, 2,   0,   13,  0,   1,   1,   2,   0,
+    0,   129, 57,  1,   1,   1,   2,   0,   0,   129, 96,  1,   1,   1,   2,
+    0,   0,   129, 3,   0,   13,  0,   1,   1,   2,   0,   0,   129, 57,  1,
+    1,   1,   2,   0,   0,   129, 96,  1,   1,   1,   2,   0,   0,   129, 4,
+    0,   13,  0,   1,   1,   2,   0,   0,   129, 57,  1,   1,   1,   2,   0,
+    0,   129, 96,  1,   1,   1,   2,   0,   0,   129, 32,  0,   13,  0,   1,
+    1,   2,   0,   0,   129, 0,   1,   1,   1,   2,   0,   0,   129, 32,  1,
+    1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 33,
+    0,   13,  0,   1,   1,   2,   0,   0,   129, 0,   1,   1,   1,   2,   0,
+    0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,
+    0,   0,   129, 34,  0,   13,  0,   1,   1,   2,   0,   0,   129, 0,   1,
+    1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115,
+    1,   1,   1,   2,   0,   0,   129, 35,  0,   13,  0,   1,   1,   2,   0,
+    0,   129, 0,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,
+    0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 36,  0,   13,  0,
+    1,   1,   2,   0,   0,   129, 0,   1,   1,   1,   2,   0,   0,   129, 32,
+    1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129,
+    37,  0,   13,  0,   1,   1,   2,   0,   0,   129, 0,   1,   1,   1,   2,
+    0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,
+    2,   0,   0,   129, 38,  0,   13,  0,   1,   1,   2,   0,   0,   129, 0,
+    1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129,
+    115, 1,   1,   1,   2,   0,   0,   129, 39,  0,   13,  0,   1,   1,   2,
+    0,   0,   129, 0,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,
+    2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 40,  0,   13,
+    0,   1,   1,   2,   0,   0,   129, 0,   1,   1,   1,   2,   0,   0,   129,
+    32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,
+    129, 41,  0,   13,  0,   1,   1,   2,   0,   0,   129, 0,   1,   1,   1,
+    2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,
+    1,   2,   0,   0,   129, 42,  0,   13,  0,   1,   1,   2,   0,   0,   129,
+    0,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,
+    129, 115, 1,   1,   1,   2,   0,   0,   129, 43,  0,   13,  0,   1,   1,
+    2,   0,   0,   129, 0,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,
+    1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 44,  0,
+    13,  0,   1,   1,   2,   0,   0,   129, 0,   1,   1,   1,   2,   0,   0,
+    129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,
+    0,   129, 45,  0,   13,  0,   1,   1,   2,   0,   0,   129, 0,   1,   1,
+    1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,
+    1,   1,   2,   0,   0,   129, 46,  0,   13,  0,   1,   1,   2,   0,   0,
+    129, 0,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,
+    0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 47,  0,   13,  0,   1,
+    1,   2,   0,   0,   129, 0,   1,   1,   1,   2,   0,   0,   129, 32,  1,
+    1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 48,
+    0,   13,  0,   1,   1,   2,   0,   0,   129, 0,   1,   1,   1,   2,   0,
+    0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,
+    0,   0,   129, 49,  0,   13,  0,   1,   1,   2,   0,   0,   129, 0,   1,
+    1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115,
+    1,   1,   1,   2,   0,   0,   129, 50,  0,   13,  0,   1,   1,   2,   0,
+    0,   129, 0,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,
+    0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 51,  0,   13,  0,
+    1,   1,   2,   0,   0,   129, 0,   1,   1,   1,   2,   0,   0,   129, 32,
+    1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129,
+    52,  0,   13,  0,   1,   1,   2,   0,   0,   129, 0,   1,   1,   1,   2,
+    0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,
+    2,   0,   0,   129, 53,  0,   13,  0,   1,   1,   2,   0,   0,   129, 0,
+    1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129,
+    115, 1,   1,   1,   2,   0,   0,   129, 54,  0,   13,  0,   1,   1,   2,
+    0,   0,   129, 0,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,
+    2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 55,  0,   13,
+    0,   1,   1,   2,   0,   0,   129, 0,   1,   1,   1,   2,   0,   0,   129,
+    32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,
+    129, 56,  0,   13,  0,   1,   1,   2,   0,   0,   129, 0,   1,   1,   1,
+    2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,
+    1,   2,   0,   0,   129, 57,  0,   13,  0,   1,   1,   2,   0,   0,   129,
+    0,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,
+    129, 115, 1,   1,   1,   2,   0,   0,   129, 58,  0,   13,  0,   1,   1,
+    2,   0,   0,   129, 0,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,
+    1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 59,  0,
+    13,  0,   1,   1,   2,   0,   0,   129, 0,   1,   1,   1,   2,   0,   0,
+    129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,
+    0,   129, 60,  0,   13,  0,   1,   1,   2,   0,   0,   129, 0,   1,   1,
+    1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,
+    1,   1,   2,   0,   0,   129, 61,  0,   13,  0,   1,   1,   2,   0,   0,
+    129, 0,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,
+    0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 62,  0,   13,  0,   1,
+    1,   2,   0,   0,   129, 0,   1,   1,   1,   2,   0,   0,   129, 32,  1,
+    1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 63,
+    0,   13,  0,   1,   1,   2,   0,   0,   129, 0,   1,   1,   1,   2,   0,
+    0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,
+    0,   0,   129, 0,   0,   13,  0,   1,   1,   2,   0,   0,   129, 1,   1,
+    1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115,
+    1,   1,   1,   2,   0,   0,   129, 1,   0,   13,  0,   1,   1,   2,   0,
+    0,   129, 1,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,
+    0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 2,   0,   13,  0,
+    1,   1,   2,   0,   0,   129, 1,   1,   1,   1,   2,   0,   0,   129, 32,
+    1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129,
+    3,   0,   13,  0,   1,   1,   2,   0,   0,   129, 1,   1,   1,   1,   2,
+    0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,
+    2,   0,   0,   129, 4,   0,   13,  0,   1,   1,   2,   0,   0,   129, 1,
+    1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129,
+    115, 1,   1,   1,   2,   0,   0,   129, 5,   0,   13,  0,   1,   1,   2,
+    0,   0,   129, 1,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,
+    2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 6,   0,   13,
+    0,   1,   1,   2,   0,   0,   129, 1,   1,   1,   1,   2,   0,   0,   129,
+    32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,
+    129, 7,   0,   13,  0,   1,   1,   2,   0,   0,   129, 1,   1,   1,   1,
+    2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,
+    1,   2,   0,   0,   129, 8,   0,   13,  0,   1,   1,   2,   0,   0,   129,
+    1,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,
+    129, 115, 1,   1,   1,   2,   0,   0,   129, 9,   0,   13,  0,   1,   1,
+    2,   0,   0,   129, 1,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,
+    1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 10,  0,
+    13,  0,   1,   1,   2,   0,   0,   129, 1,   1,   1,   1,   2,   0,   0,
+    129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,
+    0,   129, 11,  0,   13,  0,   1,   1,   2,   0,   0,   129, 1,   1,   1,
+    1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,
+    1,   1,   2,   0,   0,   129, 12,  0,   13,  0,   1,   1,   2,   0,   0,
+    129, 1,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,
+    0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 13,  0,   13,  0,   1,
+    1,   2,   0,   0,   129, 1,   1,   1,   1,   2,   0,   0,   129, 32,  1,
+    1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 14,
+    0,   13,  0,   1,   1,   2,   0,   0,   129, 1,   1,   1,   1,   2,   0,
+    0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,
+    0,   0,   129, 15,  0,   13,  0,   1,   1,   2,   0,   0,   129, 1,   1,
+    1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115,
+    1,   1,   1,   2,   0,   0,   129, 16,  0,   13,  0,   1,   1,   2,   0,
+    0,   129, 1,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,
+    0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 17,  0,   13,  0,
+    1,   1,   2,   0,   0,   129, 1,   1,   1,   1,   2,   0,   0,   129, 32,
+    1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129,
+    18,  0,   13,  0,   1,   1,   2,   0,   0,   129, 1,   1,   1,   1,   2,
+    0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,
+    2,   0,   0,   129, 19,  0,   13,  0,   1,   1,   2,   0,   0,   129, 1,
+    1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129,
+    115, 1,   1,   1,   2,   0,   0,   129, 20,  0,   13,  0,   1,   1,   2,
+    0,   0,   129, 1,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,
+    2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 21,  0,   13,
+    0,   1,   1,   2,   0,   0,   129, 1,   1,   1,   1,   2,   0,   0,   129,
+    32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,
+    129, 22,  0,   13,  0,   1,   1,   2,   0,   0,   129, 1,   1,   1,   1,
+    2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,
+    1,   2,   0,   0,   129, 23,  0,   13,  0,   1,   1,   2,   0,   0,   129,
+    1,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,
+    129, 115, 1,   1,   1,   2,   0,   0,   129, 24,  0,   13,  0,   1,   1,
+    2,   0,   0,   129, 1,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,
+    1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 25,  0,
+    13,  0,   1,   1,   2,   0,   0,   129, 1,   1,   1,   1,   2,   0,   0,
+    129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,
+    0,   129, 26,  0,   13,  0,   1,   1,   2,   0,   0,   129, 1,   1,   1,
+    1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,
+    1,   1,   2,   0,   0,   129, 27,  0,   13,  0,   1,   1,   2,   0,   0,
+    129, 1,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,
+    0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 28,  0,   13,  0,   1,
+    1,   2,   0,   0,   129, 1,   1,   1,   1,   2,   0,   0,   129, 32,  1,
+    1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 29,
+    0,   13,  0,   1,   1,   2,   0,   0,   129, 1,   1,   1,   1,   2,   0,
+    0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,
+    0,   0,   129, 30,  0,   13,  0,   1,   1,   2,   0,   0,   129, 1,   1,
+    1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115,
+    1,   1,   1,   2,   0,   0,   129, 31,  0,   13,  0,   1,   1,   2,   0,
+    0,   129, 1,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,
+    0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 32,  0,   13,  0,
+    1,   1,   2,   0,   0,   129, 1,   1,   1,   1,   2,   0,   0,   129, 32,
+    1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129,
+    33,  0,   13,  0,   1,   1,   2,   0,   0,   129, 1,   1,   1,   1,   2,
+    0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,
+    2,   0,   0,   129, 34,  0,   13,  0,   1,   1,   2,   0,   0,   129, 1,
+    1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129,
+    115, 1,   1,   1,   2,   0,   0,   129, 35,  0,   13,  0,   1,   1,   2,
+    0,   0,   129, 1,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,
+    2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 36,  0,   13,
+    0,   1,   1,   2,   0,   0,   129, 1,   1,   1,   1,   2,   0,   0,   129,
+    32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,
+    129, 37,  0,   13,  0,   1,   1,   2,   0,   0,   129, 1,   1,   1,   1,
+    2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,
+    1,   2,   0,   0,   129, 38,  0,   13,  0,   1,   1,   2,   0,   0,   129,
+    1,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,
+    129, 115, 1,   1,   1,   2,   0,   0,   129, 39,  0,   13,  0,   1,   1,
+    2,   0,   0,   129, 1,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,
+    1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 40,  0,
+    13,  0,   1,   1,   2,   0,   0,   129, 1,   1,   1,   1,   2,   0,   0,
+    129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,
+    0,   129, 41,  0,   13,  0,   1,   1,   2,   0,   0,   129, 1,   1,   1,
+    1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,
+    1,   1,   2,   0,   0,   129, 42,  0,   13,  0,   1,   1,   2,   0,   0,
+    129, 1,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,
+    0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 43,  0,   13,  0,   1,
+    1,   2,   0,   0,   129, 1,   1,   1,   1,   2,   0,   0,   129, 32,  1,
+    1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 44,
+    0,   13,  0,   1,   1,   2,   0,   0,   129, 1,   1,   1,   1,   2,   0,
+    0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,
+    0,   0,   129, 45,  0,   13,  0,   1,   1,   2,   0,   0,   129, 1,   1,
+    1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115,
+    1,   1,   1,   2,   0,   0,   129, 46,  0,   13,  0,   1,   1,   2,   0,
+    0,   129, 1,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,
+    0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 47,  0,   13,  0,
+    1,   1,   2,   0,   0,   129, 1,   1,   1,   1,   2,   0,   0,   129, 32,
+    1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129,
+    48,  0,   13,  0,   1,   1,   2,   0,   0,   129, 1,   1,   1,   1,   2,
+    0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,
+    2,   0,   0,   129, 49,  0,   13,  0,   1,   1,   2,   0,   0,   129, 1,
+    1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129,
+    115, 1,   1,   1,   2,   0,   0,   129, 50,  0,   13,  0,   1,   1,   2,
+    0,   0,   129, 1,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,
+    2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 51,  0,   13,
+    0,   1,   1,   2,   0,   0,   129, 1,   1,   1,   1,   2,   0,   0,   129,
+    32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,
+    129, 52,  0,   13,  0,   1,   1,   2,   0,   0,   129, 1,   1,   1,   1,
+    2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,
+    1,   2,   0,   0,   129, 53,  0,   13,  0,   1,   1,   2,   0,   0,   129,
+    1,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,
+    129, 115, 1,   1,   1,   2,   0,   0,   129, 54,  0,   13,  0,   1,   1,
+    2,   0,   0,   129, 1,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,
+    1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 55,  0,
+    13,  0,   1,   1,   2,   0,   0,   129, 1,   1,   1,   1,   2,   0,   0,
+    129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,
+    0,   129, 56,  0,   13,  0,   1,   1,   2,   0,   0,   129, 1,   1,   1,
+    1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,
+    1,   1,   2,   0,   0,   129, 57,  0,   13,  0,   1,   1,   2,   0,   0,
+    129, 1,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,
+    0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 58,  0,   13,  0,   1,
+    1,   2,   0,   0,   129, 1,   1,   1,   1,   2,   0,   0,   129, 32,  1,
+    1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 59,
+    0,   13,  0,   1,   1,   2,   0,   0,   129, 1,   1,   1,   1,   2,   0,
+    0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,
+    0,   0,   129, 60,  0,   13,  0,   1,   1,   2,   0,   0,   129, 1,   1,
+    1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115,
+    1,   1,   1,   2,   0,   0,   129, 61,  0,   13,  0,   1,   1,   2,   0,
+    0,   129, 1,   1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,
+    0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129, 62,  0,   13,  0,
+    1,   1,   2,   0,   0,   129, 1,   1,   1,   1,   2,   0,   0,   129, 32,
+    1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,   2,   0,   0,   129,
+    63,  0,   13,  0,   1,   1,   2,   0,   0,   129, 1,   1,   1,   1,   2,
+    0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 115, 1,   1,   1,
+    2,   0,   0,   129, 1,   0,   13,  0,   1,   1,   2,   0,   0,   129, 0,
+    1,   1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129,
+    115, 1,   1,   1,   2,   0,   0,   129, 32,  0,   13,  0,   1,   1,   2,
+    0,   0,   129, 62,  1,   1,   1,   2,   0,   0,   129, 111, 1,   1,   1,
+    2,   0,   0,   129, 36,  0,   13,  0,   1,   1,   2,   0,   0,   129, 5,
+    1,   1,   1,   2,   0,   0,   129, 99,  1,   1,   1,   2,   0,   0,   129,
+    37,  0,   13,  0,   1,   1,   2,   0,   0,   129, 1,   1,   1,   1,   2,
+    0,   0,   129, 98,  1,   1,   1,   2,   0,   0,   129, 38,  0,   13,  0,
+    1,   1,   2,   0,   0,   129, 1,   1,   1,   1,   2,   0,   0,   129, 98,
+    1,   1,   1,   2,   0,   0,   129, 39,  0,   13,  0,   1,   1,   2,   0,
+    0,   129, 1,   1,   1,   1,   2,   0,   0,   129, 98,  1,   1,   1,   2,
+    0,   0,   129, 40,  0,   13,  0,   1,   1,   2,   0,   0,   129, 1,   1,
+    1,   1,   2,   0,   0,   129, 98,  1,   1,   1,   2,   0,   0,   129, 41,
+    0,   13,  0,   1,   1,   2,   0,   0,   129, 1,   1,   1,   1,   2,   0,
+    0,   129, 98,  1,   1,   1,   2,   0,   0,   129, 31,  0,   13,  0,   1,
+    1,   2,   0,   0,   129, 5,   1,   1,   1,   2,   0,   0,   129, 97,  1,
+    1,   1,   2,   0,   0,   129, 32,  0,   13,  0,   1,   1,   2,   0,   0,
+    129, 5,   1,   1,   1,   2,   0,   0,   129, 97,  1,   1,   1,   2,   0,
+    0,   129, 15,  0,   13,  0,   1,   1,   2,   0,   0,   129, 77,  1,   1,
+    1,   2,   0,   0,   129, 16,  0,   13,  0,   1,   1,   2,   0,   0,   129,
+    55,  1,   1,   1,   2,   0,   0,   129, 111, 1,   1,   1,   2,   0,   0,
+    129, 48,  0,   13,  0,   1,   1,   2,   0,   0,   129, 74,  1,   1,   1,
+    2,   0,   0,   129, 49,  0,   13,  0,   1,   1,   2,   0,   0,   129, 74,
+    1,   1,   1,   2,   0,   0,   129, 50,  0,   13,  0,   1,   1,   2,   0,
+    0,   129, 74,  1,   1,   1,   2,   0,   0,   129, 51,  0,   13,  0,   1,
+    1,   2,   0,   0,   129, 74,  1,   1,   1,   2,   0,   0,   129, 52,  0,
+    13,  0,   1,   1,   2,   0,   0,   129, 74,  1,   1,   1,   2,   0,   0,
+    129, 53,  0,   13,  0,   1,   1,   2,   0,   0,   129, 74,  1,   1,   1,
+    2,   0,   0,   129, 54,  0,   13,  0,   1,   1,   2,   0,   0,   129, 74,
+    1,   1,   1,   2,   0,   0,   129, 55,  0,   13,  0,   1,   1,   2,   0,
+    0,   129, 74,  1,   1,   1,   2,   0,   0,   129, 56,  0,   13,  0,   1,
+    1,   2,   0,   0,   129, 74,  1,   1,   1,   2,   0,   0,   129, 48,  0,
+    13,  0,   1,   1,   2,   0,   0,   129, 61,  1,   1,   1,   2,   0,   0,
+    129, 111, 1,   1,   1,   2,   0,   0,   129, 16,  0,   13,  0,   1,   1,
+    2,   0,   0,   129, 75,  1,   1,   1,   2,   0,   0,   129, 17,  0,   13,
+    0,   1,   1,   2,   0,   0,   129, 75,  1,   1,   1,   2,   0,   0,   129,
+    55,  0,   13,  0,   1,   1,   2,   0,   0,   129, 66,  1,   1,   1,   2,
+    0,   0,   129, 5,   0,   13,  0,   1,   1,   2,   0,   0,   129, 77,  1,
+    1,   1,   2,   0,   0,   129, 12,  0,   13,  0,   1,   1,   2,   0,   0,
+    129, 0,   1,   1,   1,   2,   0,   0,   129, 98,  1,   1,   1,   2,   0,
+    0,   129, 13,  0,   13,  0,   1,   1,   2,   0,   0,   129, 0,   1,   1,
+    1,   2,   0,   0,   129, 98,  1,   1,   1,   2,   0,   0,   129, 42,  0,
+    13,  0,   1,   1,   2,   0,   0,   129, 0,   1,   1,   1,   2,   0,   0,
+    129, 98,  1,   1,   1,   2,   0,   0,   129, 43,  0,   13,  0,   1,   1,
+    2,   0,   0,   129, 0,   1,   1,   1,   2,   0,   0,   129, 98,  1,   1,
+    1,   2,   0,   0,   129, 44,  0,   13,  0,   1,   1,   2,   0,   0,   129,
+    0,   1,   1,   1,   2,   0,   0,   129, 98,  1,   1,   1,   2,   0,   0,
+    129, 45,  0,   13,  0,   1,   1,   2,   0,   0,   129, 0,   1,   1,   1,
+    2,   0,   0,   129, 98,  1,   1,   1,   2,   0,   0,   129, 46,  0,   13,
+    0,   1,   1,   2,   0,   0,   129, 0,   1,   1,   1,   2,   0,   0,   129,
+    98,  1,   1,   1,   2,   0,   0,   129, 14,  0,   13,  0,   1,   1,   2,
+    0,   0,   129, 0,   1,   1,   1,   2,   0,   0,   129, 98,  1,   1,   1,
+    2,   0,   0,   129, 15,  0,   13,  0,   1,   1,   2,   0,   0,   129, 0,
+    1,   1,   1,   2,   0,   0,   129, 98,  1,   1,   1,   2,   0,   0,   129,
+    0,   0,   13,  0,   1,   1,   2,   0,   0,   129, 0,   1,   1,   1,   2,
+    0,   0,   129, 99,  1,   1,   1,   2,   0,   0,   129, 31,  0,   13,  0,
+    1,   1,   2,   0,   0,   129, 1,   1,   1,   1,   2,   0,   0,   129, 98,
+    1,   1,   1,   2,   0,   0,   129, 47,  0,   13,  0,   1,   1,   2,   0,
+    0,   129, 0,   1,   1,   1,   2,   0,   0,   129, 98,  1,   1,   1,   2,
+    0,   0,   129, 41,  0,   13,  0,   1,   1,   2,   0,   0,   129, 0,   1,
+    1,   1,   2,   0,   0,   129, 98,  1,   1,   1,   2,   0,   0,   129, 40,
+    0,   13,  0,   1,   1,   2,   0,   0,   129, 0,   1,   1,   1,   2,   0,
+    0,   129, 98,  1,   1,   1,   2,   0,   0,   129, 0,   0,   13,  0,   1,
+    1,   2,   0,   0,   129, 0,   1,   1,   1,   2,   0,   0,   129, 98,  1,
+    1,   1,   2,   0,   0,   129, 1,   0,   13,  0,   1,   1,   2,   0,   0,
+    129, 0,   1,   1,   1,   2,   0,   0,   129, 98,  1,   1,   1,   2,   0,
+    0,   129, 2,   0,   13,  0,   1,   1,   2,   0,   0,   129, 0,   1,   1,
+    1,   2,   0,   0,   129, 98,  1,   1,   1,   2,   0,   0,   129, 3,   0,
+    13,  0,   1,   1,   2,   0,   0,   129, 0,   1,   1,   1,   2,   0,   0,
+    129, 98,  1,   1,   1,   2,   0,   0,   129, 4,   0,   13,  0,   1,   1,
+    2,   0,   0,   129, 0,   1,   1,   1,   2,   0,   0,   129, 98,  1,   1,
+    1,   2,   0,   0,   129, 5,   0,   13,  0,   1,   1,   2,   0,   0,   129,
+    0,   1,   1,   1,   2,   0,   0,   129, 98,  1,   1,   1,   2,   0,   0,
+    129, 6,   0,   13,  0,   1,   1,   2,   0,   0,   129, 0,   1,   1,   1,
+    2,   0,   0,   129, 98,  1,   1,   1,   2,   0,   0,   129, 7,   0,   13,
+    0,   1,   1,   2,   0,   0,   129, 0,   1,   1,   1,   2,   0,   0,   129,
+    98,  1,   1,   1,   2,   0,   0,   129, 8,   0,   13,  0,   1,   1,   2,
+    0,   0,   129, 0,   1,   1,   1,   2,   0,   0,   129, 98,  1,   1,   1,
+    2,   0,   0,   129, 9,   0,   13,  0,   1,   1,   2,   0,   0,   129, 0,
+    1,   1,   1,   2,   0,   0,   129, 98,  1,   1,   1,   2,   0,   0,   129,
+    10,  0,   13,  0,   1,   1,   2,   0,   0,   129, 0,   1,   1,   1,   2,
+    0,   0,   129, 98,  1,   1,   1,   2,   0,   0,   129, 14,  0,   13,  0,
+    1,   1,   2,   0,   0,   129, 32,  1,   1,   1,   2,   0,   0,   129, 97,
+    1,   1,   1,   2,   0,   0,   129, 0,   0,   13,  0,   1,   1,   2,   0,
+    0,   129, 26,  1,   1,   1,   2,   0,   0,   129, 97,  1,   1,   1,   2,
+    0,   0,   129, 32,  0,   13,  0,   1,   1,   2,   0,   0,   129, 66,  1,
+    1,   1,   2,   0,   0,   9,   0,   13,  0,   1,   1,   2,   0,   0,   10,
+    0,   13,  0,   1,   1,   2,   0,   0,   11,  0,   13,  0,   1,   1,   2,
+    0,   0,   12,  0,   13,  0,   1,   1,   2,   0,   0,   13,  0,   13,  0,
+    1,   2,   129, 69,  133, 31,  133, 28,  133, 25,  133, 22,  133, 19,  133,
+    16,  133, 13,  133, 10,  133, 7,   133, 4,   133, 1,   132, 125, 132, 123,
+    132, 120, 132, 118, 132, 115, 132, 112, 132, 108, 132, 104, 132, 101, 132,
+    97,  132, 94,  132, 92,  132, 90,  132, 86,  132, 82,  132, 78,  132, 74,
+    132, 70,  132, 66,  132, 63,  132, 59,  132, 56,  132, 53,  132, 49,  132,
+    45,  132, 41,  132, 38,  132, 35,  132, 32,  132, 29,  132, 26,  132, 22,
+    132, 18,  132, 14,  132, 10,  132, 6,   132, 2,   131, 126, 131, 122, 131,
+    118, 131, 114, 131, 110, 131, 106, 131, 102, 131, 98,  131, 94,  131, 90,
+    131, 86,  131, 82,  131, 78,  131, 74,  131, 70,  131, 66,  131, 62,  131,
+    58,  131, 54,  131, 50,  131, 46,  131, 42,  131, 38,  131, 34,  131, 30,
+    131, 26,  131, 22,  131, 18,  131, 14,  131, 10,  131, 6,   131, 2,   130,
+    126, 130, 122, 130, 118, 130, 114, 130, 110, 130, 106, 130, 102, 130, 98,
+    130, 94,  130, 90,  130, 86,  130, 82,  130, 78,  130, 74,  130, 70,  130,
+    66,  130, 62,  130, 58,  130, 54,  130, 50,  130, 46,  130, 42,  130, 38,
+    130, 34,  130, 30,  130, 26,  130, 22,  130, 18,  130, 14,  130, 10,  130,
+    6,   130, 2,   129, 126, 129, 122, 129, 118, 129, 114, 129, 110, 129, 106,
+    129, 102, 129, 98,  129, 94,  129, 90,  129, 86,  129, 82,  129, 78,  129,
+    74,  129, 70,  129, 66,  129, 62,  129, 58,  129, 54,  129, 50,  129, 46,
+    129, 42,  129, 38,  129, 34,  129, 30,  129, 26,  129, 22,  129, 19,  129,
+    16,  129, 13,  129, 10,  129, 7,   129, 4,   129, 1,   126, 123, 121, 118,
+    116, 114, 112, 110, 108, 106, 104, 102, 100, 97,  95,  93,  91,  89,  86,
+    83,  80,  77,  74,  71,  68,  65,  62,  59,  56,  53,  50,  47,  44,  41,
+    38,  35,  32,  29,  26,  23,  20,  17,  14,  11,  8,   6,   5,   4,   3,
+    2,   1,   1,   17,  2,   135, 112, 165, 84,  1,   17,  4,   135, 111, 144,
+    49,  1,   141, 112, 1,   17,  3,   163, 104, 157, 54,  1,   1,   17,  3,
+    135, 110, 157, 56,  1,   2,   16,  3,   0,   0,   160, 1,   17,  2,   1,
+    157, 57,  1,   17,  3,   164, 117, 157, 58,  1,   2,   16,  3,   0,   0,
+    159, 1,   17,  4,   1,   152, 84,  2,   157, 60,  2,   16,  3,   0,   0,
+    158, 1,   17,  3,   1,   152, 87,  2,   1,   17,  4,   135, 116, 136, 52,
+    8,   1,   1,   17,  3,   135, 115, 157, 66,  1,   1,   17,  3,   135, 114,
+    136, 73,  1,   1,   17,  3,   135, 113, 144, 120, 1,   1,   17,  3,   136,
+    2,   157, 69,  1,   1,   17,  2,   165, 100, 1,   1,   17,  2,   136, 1,
+    165, 101, 1,   17,  4,   136, 0,   144, 66,  1,   142, 0,   1,   17,  3,
+    163, 121, 157, 71,  1,   1,   17,  3,   135, 127, 157, 73,  1,   1,   17,
+    2,   165, 81,  154, 65,  1,   17,  3,   135, 63,  157, 74,  1,   1,   17,
+    4,   135, 82,  136, 64,  3,   1,   1,   17,  3,   135, 62,  157, 78,  1,
+    2,   16,  3,   0,   0,   157, 1,   17,  4,   1,   144, 122, 2,   27,  1,
+    17,  3,   136, 0,   136, 87,  1,   1,   17,  3,   135, 127, 145, 6,   1,
+    1,   17,  3,   136, 16,  157, 83,  1,   1,   17,  2,   165, 114, 1,   1,
+    17,  3,   158, 40,  0,   0,   125, 0,   0,   123, 1,   17,  4,   158, 45,
+    1,   0,   0,   93,  0,   0,   91,  1,   17,  3,   158, 47,  0,   0,   34,
+    0,   0,   34,  1,   17,  3,   158, 48,  0,   0,   41,  0,   0,   40,  1,
+    17,  5,   158, 41,  1,   0,   0,   39,  0,   0,   39,  2,   1,   17,  5,
+    158, 47,  4,   0,   0,   62,  0,   0,   60,  1,   1,   17,  3,   159, 114,
+    154, 79,  165, 91,  1,   17,  3,   161, 18,  154, 82,  159, 113, 1,   17,
+    3,   163, 123, 157, 91,  1,   1,   17,  3,   161, 27,  157, 92,  164, 110,
+    2,   16,  3,   0,   0,   156, 1,   17,  5,   1,   154, 84,  3,   157, 94,
+    2,   2,   16,  3,   0,   0,   155, 1,   17,  4,   1,   157, 96,  164, 114,
+    2,   2,   16,  3,   0,   0,   154, 1,   17,  8,   1,   154, 88,  159, 121,
+    157, 98,  9,   154, 28,  2,   10,  1,   17,  2,   166, 3,   1,   2,   16,
+    3,   0,   0,   153, 1,   17,  2,   159, 29,  165, 56,  2,   16,  3,   0,
+    0,   152, 1,   17,  3,   1,   157, 103, 2,   2,   16,  3,   0,   0,   151,
+    1,   17,  4,   1,   157, 106, 164, 22,  2,   1,   17,  3,   158, 72,  166,
+    3,   1,   1,   17,  3,   7,   157, 109, 1,   1,   17,  2,   161, 22,  1,
+    1,   17,  3,   158, 127, 151, 127, 166, 64,  1,   17,  3,   164, 79,  145,
+    36,  1,   2,   16,  3,   0,   0,   150, 1,   17,  3,   1,   151, 116, 2,
+    1,   17,  3,   162, 67,  5,   1,   1,   17,  2,   165, 122, 157, 114, 1,
+    17,  2,   159, 30,  1,   1,   17,  3,   165, 19,  157, 117, 1,   2,   16,
+    3,   0,   0,   149, 1,   17,  2,   1,   2,   2,   16,  3,   0,   0,   148,
+    1,   17,  3,   1,   157, 122, 2,   2,   16,  3,   0,   0,   147, 1,   17,
+    3,   1,   157, 124, 2,   2,   16,  3,   0,   0,   146, 1,   17,  3,   1,
+    166, 21,  2,   1,   17,  2,   166, 29,  1,   1,   17,  2,   166, 6,   157,
+    126, 1,   17,  2,   160, 26,  1,   1,   17,  3,   159, 51,  158, 1,   1,
+    1,   17,  2,   166, 9,   158, 1,   1,   17,  2,   160, 29,  1,   1,   17,
+    3,   159, 54,  158, 4,   1,   2,   16,  3,   0,   0,   145, 1,   17,  2,
+    1,   2,   1,   17,  2,   166, 14,  158, 6,   1,   17,  2,   160, 34,  1,
+    1,   17,  3,   159, 59,  158, 9,   1,   1,   17,  2,   159, 73,  1,   2,
+    16,  3,   0,   0,   144, 1,   17,  4,   1,   158, 13,  6,   2,   2,   16,
+    3,   0,   0,   143, 1,   17,  5,   1,   158, 15,  13,  154, 71,  2,   1,
+    17,  3,   159, 67,  166, 39,  1,   2,   16,  3,   0,   0,   142, 1,   17,
+    3,   1,   158, 18,  2,   1,   17,  3,   164, 2,   166, 42,  1,   1,   17,
+    2,   166, 92,  1,   1,   17,  3,   163, 79,  158, 19,  165, 102, 1,   17,
+    3,   164, 77,  158, 22,  1,   1,   17,  2,   166, 29,  155, 13,  1,   17,
+    3,   164, 54,  158, 22,  1,   1,   17,  3,   163, 83,  158, 23,  165, 106,
+    2,   16,  3,   0,   0,   141, 1,   17,  5,   1,   155, 15,  3,   158, 25,
+    2,   2,   16,  3,   0,   0,   140, 1,   17,  3,   1,   56,  2,   1,   17,
+    3,   143, 76,  158, 29,  1,   2,   16,  3,   0,   0,   139, 1,   17,  5,
+    1,   158, 31,  10,  158, 32,  2,   2,   16,  3,   0,   0,   138, 1,   17,
+    4,   1,   154, 90,  2,   72,  1,   17,  4,   139, 75,  155, 23,  158, 35,
+    1,   2,   16,  3,   0,   0,   137, 1,   17,  2,   1,   2,   1,   17,  3,
+    164, 28,  137, 33,  1,   2,   16,  3,   0,   0,   136, 1,   17,  2,   1,
+    165, 121, 1,   17,  3,   164, 96,  158, 40,  1,   2,   16,  3,   0,   0,
+    135, 1,   17,  4,   1,   158, 41,  158, 43,  2,   1,   17,  3,   70,  166,
+    67,  1,   1,   17,  2,   166, 117, 1,   2,   16,  3,   0,   0,   134, 1,
+    17,  2,   1,   166, 77,  1,   17,  3,   165, 73,  145, 15,  1,   1,   17,
+    3,   162, 115, 158, 48,  1,   2,   16,  3,   0,   0,   133, 1,   17,  3,
+    1,   6,   2,   2,   16,  3,   0,   0,   132, 1,   17,  3,   1,   54,  2,
+    2,   16,  3,   0,   0,   131, 1,   17,  3,   1,   68,  2,   1,   17,  3,
+    160, 65,  18,  1,   1,   17,  3,   159, 113, 149, 32,  1,   2,   16,  3,
+    0,   0,   130, 1,   17,  3,   1,   158, 59,  2,   2,   16,  3,   0,   0,
+    129, 1,   17,  2,   1,   166, 91,  2,   16,  3,   0,   0,   128, 1,   17,
+    4,   1,   145, 57,  4,   2,   2,   16,  3,   0,   0,   127, 1,   17,  3,
+    1,   155, 110, 2,   1,   17,  2,   134, 91,  166, 96,  1,   17,  4,   158,
+    124, 145, 61,  1,   142, 122, 1,   17,  3,   165, 93,  145, 35,  1,   1,
+    17,  3,   163, 7,   158, 68,  1,   1,   17,  3,   20,  25,  1,   1,   17,
+    2,   166, 77,  158, 69,  1,   17,  3,   161, 18,  158, 71,  1,   2,   16,
+    3,   0,   0,   126, 1,   17,  4,   1,   75,  4,   2,   1,   17,  3,   142,
+    18,  155, 90,  1,   2,   16,  3,   0,   0,   125, 1,   17,  3,   1,   158,
+    77,  2,   2,   16,  3,   0,   0,   124, 1,   17,  3,   1,   145, 84,  2,
+    2,   16,  3,   0,   0,   123, 1,   17,  4,   1,   145, 106, 2,   166, 111,
+    2,   16,  3,   0,   0,   122, 1,   17,  3,   1,   145, 73,  2,   1,   17,
+    3,   160, 2,   152, 86,  1,   1,   17,  3,   162, 48,  103, 1,   1,   17,
+    3,   164, 3,   48,  1,   1,   17,  3,   160, 118, 149, 62,  1,   1,   17,
+    2,   28,  166, 118, 2,   16,  3,   0,   0,   121, 1,   17,  4,   1,   158,
+    90,  3,   2,   2,   16,  3,   0,   0,   120, 1,   17,  3,   1,   156, 9,
+    2,   1,   17,  2,   166, 123, 1,   1,   17,  2,   134, 119, 166, 124, 1,
+    17,  4,   159, 24,  145, 89,  1,   143, 21,  1,   17,  3,   165, 121, 145,
+    63,  1,   1,   17,  3,   163, 35,  158, 96,  1,   1,   17,  3,   48,  53,
+    1,   1,   17,  3,   165, 19,  79,  1,   1,   17,  3,   161, 3,   155, 15,
+    1,   1,   17,  3,   164, 111, 158, 99,  1,   1,   17,  3,   144, 45,  158,
+    100, 1,   2,   16,  3,   0,   0,   119, 1,   17,  4,   1,   158, 102, 2,
+    162, 96,  2,   16,  3,   0,   0,   118, 1,   17,  4,   1,   158, 104, 2,
+    162, 98,  2,   16,  3,   0,   0,   117, 1,   17,  3,   1,   155, 123, 2,
+    1,   17,  3,   33,  158, 109, 1,   1,   17,  4,   30,  146, 7,   1,   167,
+    12,  2,   16,  3,   0,   0,   116, 1,   17,  3,   1,   145, 102, 2,   1,
+    17,  3,   162, 76,  129, 3,   1,   1,   17,  3,   164, 31,  76,  1,   1,
+    17,  3,   161, 18,  149, 90,  1,   1,   17,  2,   56,  167, 18,  1,   17,
+    4,   28,  158, 117, 2,   1,   1,   17,  3,   27,  156, 35,  1,   1,   17,
+    2,   167, 21,  1,   1,   17,  2,   165, 112, 158, 119, 1,   18,  3,   56,
+    143, 46,  1,   1,   17,  2,   167, 24,  1,   1,   17,  2,   166, 116, 158,
+    121, 1,   17,  3,   167, 56,  158, 124, 1,   1,   18,  3,   60,  143, 49,
+    1,   1,   17,  2,   167, 28,  1,   1,   17,  2,   167, 5,   158, 125, 1,
+    17,  3,   165, 124, 158, 127, 1,   1,   17,  2,   140, 120, 1,   2,   16,
+    3,   0,   0,   115, 1,   17,  3,   1,   151, 48,  2,   2,   16,  3,   0,
+    0,   114, 1,   17,  3,   1,   129, 6,   2,   2,   16,  3,   0,   0,   113,
+    1,   17,  3,   1,   151, 44,  2,   1,   17,  2,   167, 38,  1,   2,   16,
+    3,   0,   0,   112, 1,   17,  2,   1,   146, 52,  1,   17,  3,   163, 91,
+    129, 29,  1,   2,   16,  3,   0,   0,   111, 1,   17,  5,   1,   159, 12,
+    166, 94,  159, 13,  160, 55,  1,   17,  3,   165, 43,  3,   1,   2,   16,
+    3,   0,   0,   110, 1,   17,  3,   1,   159, 16,  2,   1,   17,  2,   167,
+    89,  1,   1,   17,  2,   135, 43,  167, 48,  1,   17,  4,   159, 76,  146,
+    13,  1,   143, 70,  1,   17,  3,   166, 45,  145, 115, 1,   1,   17,  3,
+    163, 87,  159, 20,  1,   1,   17,  3,   100, 105, 1,   1,   17,  2,   167,
+    29,  159, 21,  1,   17,  3,   166, 20,  159, 23,  1,   2,   16,  3,   0,
+    0,   109, 1,   17,  3,   1,   18,  2,   2,   16,  3,   0,   0,   108, 1,
+    17,  5,   1,   167, 58,  129, 29,  6,   2,   2,   16,  3,   0,   0,   107,
+    1,   17,  3,   1,   146, 52,  2,   1,   17,  3,   81,  14,  1,   1,   17,
+    3,   165, 80,  146, 37,  1,   1,   17,  3,   162, 124, 129, 51,  1,   1,
+    17,  3,   164, 79,  124, 1,   1,   17,  3,   161, 66,  150, 10,  1,   1,
+    17,  2,   104, 167, 66,  1,   17,  4,   76,  159, 37,  2,   1,   1,   17,
+    3,   75,  156, 83,  1,   1,   17,  2,   167, 69,  1,   2,   16,  3,   0,
+    0,   106, 2,   16,  3,   0,   0,   105, 2,   16,  3,   0,   0,   104, 1,
+    17,  3,   1,   151, 79,  2,   2,   16,  3,   0,   0,   103, 1,   17,  3,
+    1,   151, 81,  2,   2,   16,  3,   0,   0,   102, 1,   17,  3,   1,   151,
+    84,  2,   1,   17,  3,   166, 22,  151, 93,  167, 1,   2,   16,  3,   0,
+    0,   101, 1,   17,  3,   1,   159, 49,  2,   1,   17,  3,   167, 37,  4,
+    1,   2,   16,  3,   0,   0,   100, 1,   17,  3,   1,   159, 53,  2,   2,
+    16,  3,   0,   0,   99,  1,   17,  2,   1,   2,   1,   17,  2,   167, 49,
+    159, 54,  1,   17,  3,   166, 24,  159, 55,  1,   2,   16,  3,   0,   0,
+    98,  1,   17,  3,   1,   156, 47,  2,   2,   16,  3,   0,   0,   97,  2,
+    16,  3,   0,   0,   96,  2,   16,  3,   0,   0,   95,  1,   17,  2,   167,
+    32,  156, 51,  1,   17,  4,   145, 3,   5,   1,   143, 114, 2,   16,  3,
+    0,   0,   94,  2,   16,  3,   0,   0,   93,  1,   17,  3,   1,   159, 65,
+    2,   1,   17,  3,   164, 109, 159, 66,  3,   2,   16,  3,   0,   0,   92,
+    1,   17,  4,   1,   159, 68,  2,   143, 120, 2,   16,  3,   0,   0,   91,
+    1,   17,  3,   1,   156, 60,  2,   2,   16,  3,   0,   0,   90,  1,   17,
+    5,   1,   159, 73,  7,   2,   143, 123, 2,   16,  3,   0,   0,   89,  1,
+    17,  3,   1,   156, 64,  2,   2,   16,  3,   0,   0,   88,  2,   16,  3,
+    0,   0,   87,  1,   17,  3,   1,   159, 77,  2,   2,   16,  3,   0,   0,
+    86,  1,   17,  3,   1,   159, 79,  4,   2,   16,  3,   0,   0,   85,  1,
+    17,  3,   1,   159, 83,  2,   2,   16,  3,   0,   0,   84,  1,   17,  3,
+    1,   159, 83,  8,   2,   16,  3,   0,   0,   83,  1,   17,  3,   1,   159,
+    85,  2,   1,   17,  3,   6,   156, 103, 1,   2,   16,  3,   0,   0,   82,
+    1,   17,  5,   1,   159, 89,  7,   156, 103, 2,   1,   17,  3,   160, 66,
+    44,  1,   2,   16,  3,   0,   0,   81,  1,   17,  5,   1,   159, 92,  14,
+    156, 108, 2,   2,   16,  3,   0,   0,   80,  1,   17,  4,   1,   36,  30,
+    144, 17,  1,   17,  3,   16,  159, 94,  19,  1,   17,  3,   15,  159, 97,
+    1,   2,   16,  3,   0,   0,   79,  1,   17,  5,   1,   156, 89,  4,   159,
+    98,  2,   2,   16,  3,   0,   0,   78,  1,   17,  6,   1,   159, 100, 25,
+    8,   54,  2,   2,   16,  3,   0,   0,   77,  1,   17,  5,   1,   156, 93,
+    39,  159, 103, 2,   1,   17,  2,   167, 73,  156, 92,  2,   16,  3,   0,
+    0,   76,  2,   16,  3,   0,   0,   75,  1,   17,  3,   1,   159, 105, 2,
+    1,   17,  3,   37,  159, 108, 1,   2,   16,  3,   0,   0,   74,  1,   17,
+    6,   1,   51,  45,  144, 32,  159, 109, 2,   1,   17,  3,   161, 39,  64,
+    1,   2,   16,  3,   0,   0,   73,  2,   16,  3,   0,   0,   72,  1,   17,
+    3,   1,   159, 112, 2,   2,   16,  3,   0,   0,   71,  1,   17,  3,   1,
+    159, 116, 2,   2,   16,  3,   0,   0,   70,  1,   17,  3,   1,   159, 118,
+    2,   2,   16,  3,   0,   0,   69,  1,   17,  5,   1,   159, 120, 9,   159,
+    119, 2,   1,   17,  3,   161, 49,  81,  1,   2,   16,  3,   0,   0,   68,
+    1,   17,  6,   1,   64,  19,  144, 45,  159, 123, 2,   1,   17,  2,   167,
+    93,  156, 112, 1,   17,  3,   19,  159, 123, 161, 4,   1,   17,  3,   55,
+    159, 126, 1,   2,   16,  3,   0,   0,   67,  2,   16,  3,   0,   0,   66,
+    1,   17,  6,   1,   160, 0,   3,   70,  2,   168, 92,  2,   16,  3,   0,
+    0,   65,  1,   17,  7,   1,   156, 119, 72,  7,   168, 94,  76,  2,   2,
+    16,  3,   0,   0,   64,  1,   17,  7,   1,   73,  72,  71,  30,  10,  2,
+    1,   17,  2,   168, 12,  160, 4,   1,   17,  3,   166, 102, 156, 125, 1,
+    2,   16,  3,   0,   0,   63,  1,   17,  9,   1,   168, 100, 156, 127, 144,
+    58,  160, 7,   2,   144, 59,  157, 47,  144, 91,  1,   17,  3,   141, 77,
+    160, 4,   1,   1,   17,  3,   167, 113, 157, 12,  1,   2,   16,  3,   0,
+    0,   62,  1,   17,  2,   1,   168, 104, 1,   17,  3,   165, 120, 160, 8,
+    1,   2,   16,  3,   0,   0,   61,  1,   17,  3,   1,   160, 16,  2,   1,
+    17,  3,   168, 77,  154, 19,  1,   1,   1,   2,   0,   0,   110, 0,   13,
+    0,   1,   1,   2,   0,   0,   37,  1,   1,   1,   2,   0,   0,   110, 0,
+    13,  0,   1,   1,   2,   0,   0,   37,  1,   1,   1,   2,   0,   0,   115,
+    0,   13,  0,   1,   1,   2,   0,   0,   37,  1,   1,   1,   2,   0,   0,
+    100, 0,   13,  0,   1,   1,   2,   0,   0,   37,  1,   1,   1,   2,   0,
+    0,   112, 0,   13,  0,   1,   1,   2,   0,   0,   37,  1,   1,   1,   2,
+    0,   0,   120, 0,   13,  0,   1,   1,   2,   0,   0,   35,  1,   1,   1,
+    2,   0,   0,   37,  1,   1,   1,   2,   0,   0,   48,  0,   13,  0,   1,
+    1,   2,   0,   0,   92,  1,   1,   1,   2,   0,   0,   110, 0,   13,  0,
+    1,   1,   2,   0,   0,   37,  1,   1,   1,   2,   0,   0,   100, 1,   1,
+    1,   2,   0,   0,   37,  1,   1,   1,   2,   0,   0,   97,  1,   1,   1,
+    2,   0,   0,   97,  1,   1,   1,   2,   0,   0,   97,  1,   1,   1,   2,
+    0,   0,   97,  1,   1,   1,   2,   0,   0,   96,  0,   13,  0,   1,   1,
+    2,   0,   0,   99,  1,   1,   1,   2,   0,   0,   108, 1,   1,   1,   2,
+    0,   0,   97,  1,   1,   1,   2,   0,   0,   99,  1,   1,   1,   2,   0,
+    0,   120, 1,   1,   1,   2,   0,   0,   96,  1,   1,   1,   2,   0,   0,
+    99,  0,   13,  0,   1,   1,   2,   0,   0,   108, 1,   1,   1,   2,   0,
+    0,   97,  1,   1,   1,   2,   0,   0,   99,  1,   1,   1,   2,   0,   0,
+    120, 1,   1,   1,   2,   0,   0,   59,  1,   1,   1,   2,   0,   0,   41,
+    0,   13,  0,   1,   1,   2,   0,   0,   99,  1,   1,   1,   2,   0,   0,
+    108, 1,   1,   1,   2,   0,   0,   97,  1,   1,   1,   2,   0,   0,   99,
+    1,   1,   1,   2,   0,   0,   120, 1,   1,   1,   2,   0,   0,   40,  1,
+    1,   1,   2,   0,   0,   36,  1,   1,   1,   2,   0,   0,   99,  0,   13,
+    0,   1,   1,   2,   0,   0,   108, 1,   1,   1,   2,   0,   0,   97,  1,
+    1,   1,   2,   0,   0,   99,  1,   1,   1,   2,   0,   0,   120, 1,   1,
+    1,   2,   0,   0,   33,  1,   1,   1,   2,   0,   0,   99,  0,   13,  0,
+    1,   1,   2,   0,   0,   108, 1,   1,   1,   2,   0,   0,   97,  1,   1,
+    1,   2,   0,   0,   99,  1,   1,   1,   2,   0,   0,   120, 1,   1,   1,
+    2,   0,   0,   34,  1,   1,   1,   2,   0,   0,   99,  0,   13,  0,   1,
+    1,   2,   0,   0,   108, 1,   1,   1,   2,   0,   0,   97,  1,   1,   1,
+    2,   0,   0,   99,  1,   1,   1,   2,   0,   0,   120, 1,   1,   1,   2,
+    0,   0,   39,  1,   1,   1,   2,   0,   0,   48,  0,   13,  0,   1,   1,
+    2,   0,   0,   48,  1,   1,   1,   2,   0,   0,   120, 1,   1,   1,   2,
+    0,   0,   92,  1,   1,   1,   2,   0,   0,   110, 0,   13,  0,   1,   1,
+    2,   0,   0,   92,  1,   1,   1,   2,   0,   0,   114, 1,   1,   1,   2,
+    0,   0,   92,  1,   1,   1,   2,   0,   0,   114, 0,   13,  0,   1,   1,
+    2,   0,   0,   92,  1,   1,   1,   2,   0,   0,   110, 0,   13,  0,   1,
+    1,   2,   0,   0,   92,  1,   1,   1,   2,   0,   0,   97,  0,   13,  0,
+    1,   1,   2,   0,   0,   48,  1,   1,   1,   2,   0,   0,   120, 1,   1,
+    1,   2,   0,   0,   92,  1,   1,   1,   2,   0,   0,   100, 0,   13,  0,
+    1,   1,   2,   0,   0,   48,  1,   1,   1,   2,   0,   0,   120, 1,   1,
+    1,   2,   0,   0,   92,  1,   1,   1,   2,   0,   0,   78,  0,   13,  0,
+    1,   1,   2,   0,   0,   97,  1,   1,   1,   2,   0,   0,   78,  1,   1,
+    1,   2,   0,   0,   102, 0,   13,  0,   1,   1,   2,   0,   0,   110, 1,
+    1,   1,   2,   0,   0,   105, 1,   1,   1,   2,   0,   0,   43,  1,   1,
+    1,   2,   0,   0,   72,  0,   13,  0,   1,   1,   2,   0,   0,   84,  1,
+    1,   1,   2,   0,   0,   65,  1,   1,   1,   2,   0,   0,   80,  1,   1,
+    1,   2,   0,   0,   36,  1,   1,   1,   2,   0,   0,   33,  0,   13,  0,
+    1,   1,   2,   0,   0,   33,  1,   1,   1,   2,   0,   0,   36,  1,   1,
+    1,   2,   0,   0,   33,  0,   13,  0,   1,   1,   2,   0,   0,   33,  1,
+    1,   1,   2,   0,   0,   59,  0,   13,  0,   1,   1,   2,   0,   0,   48,
+    1,   1,   1,   2,   0,   0,   48,  1,   1,   1,   2,   0,   0,   48,  1,
+    1,   1,   2,   0,   0,   35,  1,   1,   1,   2,   0,   0,   38,  1,   1,
+    1,   2,   0,   0,   48,  0,   13,  0,   1,   1,   2,   0,   0,   48,  1,
+    1,   1,   2,   0,   0,   48,  1,   1,   1,   2,   0,   0,   48,  1,   1,
+    1,   2,   0,   0,   117, 1,   1,   1,   2,   0,   0,   92,  1,   1,   1,
+    2,   0,   0,   38,  0,   13,  0,   1,   1,   2,   0,   0,   36,  1,   1,
+    1,   2,   0,   0,   43,  0,   13,  0,   1,   1,   2,   0,   0,   36,  1,
+    1,   1,   2,   0,   0,   96,  0,   13,  0,   1,   1,   2,   0,   0,   36,
+    1,   1,   1,   2,   0,   0,   39,  0,   13,  0,   1,   1,   2,   0,   0,
+    36,  1,   1,   1,   2,   0,   0,   49,  0,   13,  0,   1,   1,   2,   0,
+    0,   36,  1,   1,   1,   2,   1,   0,   13,  0,   1,   1,   2,   4,   1,
+    1,   1,   2,   7,   1,   1,   1,   2,   10,  1,   1,   1,   2,   13,  1,
+    1,   1,   2,   16,  1,   1,   1,   2,   23,  1,   1,   1,   2,   30,  1,
+    1,   1,   2,   33,  1,   1,   1,   2,   37,  1,   1,   1,   2,   43,  1,
+    1,   1,   2,   48,  1,   1,   1,   2,   52,  1,   1,   1,   2,   57,  1,
+    1,   1,   2,   62,  1,   1,   1,   2,   65,  1,   1,   1,   2,   68,  1,
+    1,   1,   2,   73,  1,   1,   1,   2,   78,  1,   1,   1,   2,   85,  1,
+    1,   1,   2,   92,  1,   1,   1,   2,   99,  1,   1,   1,   2,   108, 1,
+    1,   1,   2,   115, 1,   1,   1,   2,   123, 1,   1,   1,   2,   129, 4,
+    1,   1,   1,   2,   129, 7,   1,   1,   1,   2,   129, 11,  1,   1,   1,
+    2,   129, 14,  1,   1,   1,   2,   129, 17,  1,   1,   1,   2,   129, 20,
+    1,   1,   1,   2,   129, 23,  1,   1,   17,  4,   162, 103, 155, 59,  169,
+    124, 1,   2,   16,  3,   0,   0,   60,  1,   17,  3,   1,   148, 97,  2,
+    2,   16,  3,   0,   0,   59,  1,   17,  3,   166, 102, 158, 37,  168, 63,
+    2,   16,  3,   0,   0,   58,  1,   17,  3,   1,   153, 94,  2,   2,   16,
+    3,   0,   0,   57,  1,   17,  3,   1,   6,   2,   2,   16,  3,   0,   0,
+    56,  1,   17,  4,   1,   153, 100, 7,   2,   2,   16,  3,   0,   0,   55,
+    1,   17,  3,   1,   148, 107, 2,   1,   17,  2,   169, 62,  161, 54,  1,
+    17,  2,   165, 103, 1,   2,   16,  3,   0,   0,   54,  1,   17,  3,   1,
+    161, 58,  2,   2,   16,  3,   0,   0,   53,  1,   17,  3,   1,   169, 84,
+    2,   1,   17,  3,   162, 111, 161, 61,  1,   1,   17,  3,   142, 34,  161,
+    63,  1,   1,   17,  2,   170, 8,   1,   2,   16,  3,   0,   0,   52,  1,
+    17,  10,  1,   0,   0,   128, 255, 127, 0,   0,   129, 128, 0,   0,   0,
+    129, 255, 127, 0,   0,   130, 128, 0,   0,   0,   131, 255, 127, 0,   0,
+    132, 128, 0,   148, 118, 168, 58,  0,   0,   136, 0,   2,   16,  3,   0,
+    0,   51,  1,   17,  3,   1,   148, 120, 2,   2,   16,  3,   0,   0,   50,
+    1,   17,  3,   1,   161, 68,  169, 23,  1,   17,  2,   170, 15,  1,   1,
+    17,  2,   144, 125, 158, 62,  2,   16,  3,   0,   0,   49,  1,   17,  4,
+    1,   155, 81,  170, 27,  2,   2,   16,  3,   0,   0,   48,  1,   17,  3,
+    1,   21,  2,   1,   17,  3,   168, 44,  149, 1,   1,   1,   17,  2,   145,
+    3,   14,  1,   17,  4,   6,   155, 86,  170, 32,  1,   1,   17,  3,   5,
+    25,  1,   1,   17,  3,   168, 48,  149, 5,   1,   1,   17,  2,   145, 7,
+    11,  2,   16,  3,   0,   0,   47,  1,   17,  4,   1,   155, 91,  170, 37,
+    2,   1,   17,  3,   167, 114, 149, 9,   1,   2,   16,  3,   0,   0,   46,
+    1,   17,  3,   1,   155, 89,  2,   1,   17,  3,   168, 75,  158, 78,  170,
+    41,  2,   16,  3,   0,   0,   45,  1,   17,  8,   1,   155, 92,  13,  9,
+    22,  3,   161, 88,  2,   2,   16,  3,   0,   0,   44,  1,   17,  3,   1,
+    149, 16,  2,   2,   16,  3,   0,   0,   43,  1,   17,  4,   1,   155, 107,
+    170, 47,  146, 16,  2,   16,  3,   0,   0,   42,  1,   17,  4,   1,   155,
+    109, 170, 49,  146, 17,  2,   16,  3,   0,   0,   41,  1,   17,  9,   1,
+    146, 20,  6,   4,   170, 61,  146, 19,  2,   159, 8,   146, 51,  2,   16,
+    3,   0,   0,   40,  1,   17,  3,   1,   161, 94,  2,   2,   16,  3,   0,
+    0,   39,  1,   17,  3,   1,   155, 118, 2,   2,   16,  3,   0,   0,   38,
+    1,   17,  3,   1,   149, 28,  2,   1,   17,  2,   170, 7,   1,   1,   17,
+    2,   140, 36,  170, 8,   1,   17,  4,   140, 35,  148, 101, 1,   146, 27,
+    1,   17,  3,   168, 28,  148, 75,  1,   1,   17,  3,   140, 34,  161, 108,
+    1,   1,   17,  3,   139, 22,  129, 99,  1,   1,   17,  3,   140, 30,  140,
+    114, 1,   2,   16,  3,   0,   0,   37,  1,   17,  4,   1,   170, 15,  8,
+    2,   1,   17,  3,   168, 37,  129, 97,  1,   1,   17,  3,   167, 18,  129,
+    110, 1,   1,   17,  3,   167, 19,  152, 91,  1,   1,   17,  3,   140, 50,
+    161, 117, 1,   1,   17,  2,   170, 20,  1,   2,   16,  3,   0,   0,   36,
+    1,   17,  2,   1,   154, 24,  2,   16,  3,   0,   0,   35,  1,   17,  3,
+    1,   154, 27,  2,   2,   16,  3,   0,   0,   34,  1,   17,  3,   1,   154,
+    43,  2,   1,   17,  4,   163, 60,  158, 123, 170, 78,  161, 124, 1,   17,
+    4,   165, 88,  154, 66,  1,   148, 113, 2,   16,  3,   0,   0,   33,  1,
+    17,  4,   1,   154, 68,  2,   148, 115, 1,   17,  3,   163, 11,  161, 127,
+    170, 82,  1,   17,  3,   168, 97,  149, 54,  1,   1,   17,  3,   168, 32,
+    154, 46,  1,   2,   16,  3,   0,   0,   32,  1,   17,  3,   1,   161, 127,
+    2,   2,   16,  3,   0,   0,   31,  1,   17,  3,   1,   162, 1,   2,   1,
+    17,  4,   166, 84,  158, 115, 8,   1,   2,   16,  3,   0,   0,   30,  1,
+    17,  2,   170, 16,  152, 75,  1,   17,  3,   169, 7,   162, 11,  1,   1,
+    17,  2,   139, 16,  3,   1,   17,  3,   168, 61,  159, 3,   1,   2,   16,
+    3,   0,   0,   29,  1,   17,  4,   1,   162, 14,  2,   170, 54,  2,   16,
+    3,   0,   0,   28,  1,   17,  4,   1,   162, 17,  6,   2,   2,   16,  3,
+    0,   0,   27,  1,   17,  3,   1,   170, 42,  2,   2,   16,  3,   0,   0,
+    26,  1,   17,  3,   1,   162, 19,  2,   2,   16,  3,   0,   0,   25,  1,
+    17,  3,   1,   27,  2,   2,   16,  3,   0,   0,   24,  1,   17,  2,   1,
+    2,   2,   16,  3,   0,   0,   23,  1,   17,  4,   1,   18,  162, 27,  2,
+    2,   16,  3,   0,   0,   22,  1,   17,  2,   1,   2,   2,   16,  3,   0,
+    0,   21,  1,   17,  5,   1,   22,  170, 90,  23,  2,   2,   16,  3,   0,
+    0,   20,  1,   17,  3,   1,   170, 56,  2,   2,   16,  3,   0,   0,   19,
+    1,   17,  2,   1,   2,   1,   17,  2,   167, 96,  1,   2,   16,  3,   0,
+    0,   18,  1,   17,  2,   170, 44,  162, 36,  1,   17,  2,   166, 85,  1,
+    1,   17,  3,   167, 124, 154, 85,  1,   1,   17,  3,   167, 88,  154, 88,
+    1,   1,   17,  3,   5,   152, 86,  1,   1,   17,  2,   170, 115, 1,   1,
+    17,  3,   168, 68,  162, 42,  170, 125, 1,   17,  3,   170, 32,  153, 82,
+    1,   1,   17,  3,   146, 80,  3,   1,   2,   16,  3,   0,   0,   17,  1,
+    17,  2,   1,   2,   2,   16,  3,   0,   0,   16,  1,   17,  3,   1,   154,
+    95,  2,   2,   16,  3,   0,   0,   15,  1,   17,  3,   1,   154, 99,  2,
+    2,   16,  3,   0,   0,   14,  1,   17,  3,   1,   154, 87,  2,   2,   16,
+    3,   0,   0,   13,  1,   17,  3,   1,   147, 124, 2,   2,   16,  3,   0,
+    0,   12,  1,   17,  3,   1,   154, 94,  2,   1,   17,  2,   170, 89,  1,
+    2,   3,   2,   102, 116, 2,   3,   2,   102, 111, 2,   3,   2,   102, 110,
+    2,   3,   3,   110, 117, 109, 2,   3,   2,   116, 100, 2,   3,   3,   116,
+    114, 50,  2,   3,   3,   116, 115, 49,  2,   3,   2,   116, 114, 2,   3,
+    3,   116, 115, 50,  2,   3,   2,   108, 100, 2,   3,   3,   108, 100, 115,
+    2,   3,   3,   108, 114, 50,  2,   3,   2,   108, 105, 2,   3,   2,   108,
+    115, 2,   3,   2,   108, 112, 2,   3,   2,   108, 114, 2,   3,   3,   108,
+    105, 115, 2,   3,   3,   108, 114, 115, 2,   3,   2,   115, 114, 2,   3,
+    2,   115, 100, 2,   3,   2,   98,  100, 2,   3,   2,   98,  102, 2,   3,
+    2,   98,  105, 2,   3,   2,   98,  114, 2,   3,   2,   98,  112, 2,   3,
+    3,   98,  101, 105, 2,   3,   3,   98,  101, 100, 2,   3,   3,   98,  101,
+    114, 2,   3,   2,   117, 119, 2,   3,   2,   117, 105, 2,   3,   2,   120,
+    112, 2,   3,   2,   97,  98,  1,   2,   4,   0,   0,   8,   0,   0,   2,
+    139, 124, 32,  1,   1,   2,   1,   0,   13,  0,   1,   2,   4,   0,   0,
+    2,   0,   0,   2,   139, 70,  33,  1,   1,   2,   1,   2,   1,   2,   4,
+    0,   0,   9,   0,   0,   1,   139, 101, 34,  1,   1,   2,   1,   2,   1,
+    2,   4,   0,   0,   2,   0,   0,   5,   141, 29,  35,  1,   1,   2,   1,
+    2,   1,   2,   4,   0,   0,   7,   0,   0,   1,   131, 106, 36,  1,   1,
+    2,   1,   2,   1,   2,   4,   0,   0,   4,   0,   0,   1,   131, 104, 37,
+    1,   1,   2,   1,   2,   1,   2,   4,   0,   0,   5,   0,   0,   1,   132,
+    11,  38,  1,   1,   2,   1,   2,   1,   2,   4,   0,   0,   5,   0,   0,
+    1,   131, 67,  39,  1,   1,   2,   1,   2,   1,   2,   4,   0,   0,   8,
+    0,   0,   1,   131, 117, 40,  1,   1,   2,   1,   2,   1,   2,   4,   0,
+    0,   6,   0,   0,   1,   138, 109, 41,  1,   1,   2,   1,   2,   1,   2,
+    4,   0,   0,   8,   0,   0,   1,   138, 109, 42,  1,   1,   2,   1,   2,
+    1,   2,   4,   0,   0,   2,   0,   0,   1,   138, 109, 43,  1,   1,   2,
+    1,   2,   1,   2,   4,   0,   0,   4,   0,   0,   1,   138, 109, 44,  1,
+    1,   2,   1,   2,   1,   2,   4,   0,   0,   7,   0,   0,   1,   138, 107,
+    45,  1,   1,   2,   1,   2,   1,   2,   4,   0,   0,   2,   0,   0,   1,
+    138, 107, 46,  1,   1,   2,   1,   2,   1,   2,   4,   0,   0,   6,   0,
+    0,   1,   138, 113, 47,  1,   1,   2,   1,   2,   1,   2,   4,   0,   0,
+    5,   0,   0,   1,   138, 108, 48,  1,   1,   2,   1,   2,   1,   2,   4,
+    0,   0,   9,   0,   0,   1,   138, 107, 49,  1,   1,   2,   1,   2,   1,
+    2,   4,   0,   0,   2,   0,   0,   1,   139, 50,  50,  1,   1,   2,   1,
+    2,   1,   2,   4,   0,   0,   3,   0,   0,   1,   139, 41,  51,  1,   1,
+    2,   1,   2,   1,   2,   4,   0,   0,   7,   0,   0,   1,   141, 46,  52,
+    1,   1,   2,   1,   2,   1,   2,   4,   0,   0,   2,   0,   0,   1,   140,
+    127, 53,  1,   1,   2,   1,   2,   1,   2,   4,   0,   0,   3,   0,   0,
+    1,   140, 113, 54,  1,   1,   2,   1,   2,   1,   2,   4,   0,   0,   2,
+    0,   0,   1,   140, 88,  55,  1,   1,   2,   1,   2,   1,   2,   4,   0,
+    0,   4,   0,   0,   1,   140, 56,  56,  1,   1,   2,   1,   2,   1,   2,
+    4,   0,   0,   5,   0,   0,   1,   141, 42,  57,  1,   1,   2,   1,   2,
+    1,   2,   4,   0,   0,   2,   0,   0,   1,   141, 29,  58,  1,   1,   2,
+    1,   2,   1,   2,   4,   0,   0,   2,   0,   0,   1,   140, 83,  59,  1,
+    1,   2,   1,   2,   1,   2,   4,   0,   0,   8,   0,   0,   1,   133, 78,
+    60,  1,   1,   2,   1,   2,   1,   2,   4,   0,   0,   5,   0,   0,   2,
+    133, 66,  61,  1,   1,   2,   1,   2,   1,   2,   4,   0,   0,   2,   0,
+    0,   9,   142, 33,  62,  1,   1,   2,   1,   2,   1,   2,   4,   0,   0,
+    2,   0,   0,   1,   129, 36,  63,  1,   1,   2,   1,   2,   1,   18,  3,
+    121, 1,   120, 1,   1,   2,   0,   0,   1,   148, 44,  1,   1,   2,   0,
+    0,   2,   148, 35,  1,   1,   2,   0,   0,   1,   148, 23,  1,   1,   2,
+    1,   0,   13,  0,   1,   1,   2,   4,   1,   1,   1,   2,   4,   1,   1,
+    18,  3,   148, 22,  0,   0,   4,   1,   1,   2,   3,   0,   13,  1,   0,
+    0,   192, 0,   0,   0,   0,   1,   17,  2,   168, 94,  148, 94,  1,   17,
+    3,   168, 36,  155, 83,  1,   1,   17,  3,   164, 50,  154, 44,  1,   2,
+    16,  3,   0,   0,   11,  1,   17,  4,   1,   160, 50,  171, 54,  2,   2,
+    16,  3,   0,   0,   10,  1,   17,  3,   1,   163, 42,  2,   1,   17,  3,
+    167, 14,  163, 44,  1,   1,   17,  3,   171, 69,  160, 33,  1,   1,   17,
+    3,   171, 70,  156, 6,   1,   2,   16,  3,   0,   0,   9,   1,   17,  3,
+    1,   13,  2,   2,   16,  3,   0,   0,   8,   2,   16,  3,   0,   0,   7,
+    1,   17,  3,   1,   3,   2,   2,   16,  3,   0,   0,   6,   1,   17,  3,
+    1,   160, 85,  172, 6,   2,   16,  3,   0,   0,   5,   1,   17,  2,   1,
+    2,   2,   16,  3,   0,   0,   4,   1,   17,  3,   1,   6,   2,   1,   17,
+    3,   148, 124, 127, 1,   1,   17,  3,   165, 82,  160, 91,  172, 12,  1,
+    17,  3,   164, 98,  163, 58,  1,   2,   16,  3,   0,   0,   3,   1,   17,
+    3,   1,   158, 85,  2,   2,   16,  3,   0,   0,   2,   1,   17,  4,   1,
+    150, 126, 6,   2,   2,   16,  3,   0,   0,   1,   1,   17,  3,   1,   156,
+    95,  2,   2,   16,  3,   0,   0,   0,   1,   17,  3,   1,   151, 23,  2,
+    1,   17,  2,   166, 38,  1,   1,   18,  4,   2,   42,  34,  1,   1,   18,
+    2,   151, 30,  1,   0};
+/* Owl Lisp runtime */
+
+#include <signal.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <errno.h>
+#include <time.h>
+#include <inttypes.h>
+#include <fcntl.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <dirent.h>
+#include <string.h>
+#include <netinet/in.h>
+#include <sys/select.h>
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include <termios.h>
+#include <stdio.h>
+#include <netdb.h>
+
+#include "./radamsa.h"
+
+#ifndef EMULTIHOP
+  #define EMULTIHOP -1
+#endif
+#ifndef ENODATA
+  #define ENODATA -1
+#endif
+#ifndef ENOLINK
+  #define ENOLINK -1
+#endif
+#ifndef ENOSR
+  #define ENOSR -1
+#endif
+#ifndef ENOSTR
+  #define ENOSTR -1
+#endif
+#ifndef ENOTRECOVERABLE
+  #define ENOTRECOVERABLE -1
+#endif
+#ifndef EOWNERDEAD
+  #define EOWNERDEAD -1
+#endif
+#ifndef ETIME
+  #define ETIME -1
+#endif
+#ifndef F_DUPFD_CLOEXEC
+  #define F_DUPFD_CLOEXEC -1
+#endif
+#ifndef O_CLOEXEC
+  #define O_CLOEXEC 0
+#endif
+#ifndef O_EXEC
+  #define O_EXEC 0
+#endif
+#ifndef O_NOFOLLOW
+  #define O_NOFOLLOW 0
+#endif
+#ifndef O_RSYNC
+  #define O_RSYNC 0
+#endif
+#ifndef O_DSYNC
+  #define O_DSYNC 0
+#endif
+#ifndef O_SEARCH
+  #define O_SEARCH 0
+#endif
+#ifndef O_TTY_INIT
+  #define O_TTY_INIT 0
+#endif
+#ifdef __APPLE__
+  #define st_atim st_atimespec
+  #define st_mtim st_mtimespec
+  #define st_ctim st_ctimespec
+#endif
+
+typedef unsigned int uint;
+typedef uint8_t      byte;
+typedef uintptr_t    word;                                     /* heap cell */
+typedef uint32_t     hval;                                    /* heap value */
+typedef intptr_t     wdiff;
+
+/*** Macros ***/
+
+#define IPOS 8                               /* offset of immediate payload */
+#define SPOS 16           /* offset of size bits in header immediate values */
+#define TPOS 2                             /* offset of type bits in header */
+#define V(ob) (*(word *)(ob))
+#define W ((uint)sizeof(word))
+#define LDW ((W >> 3) + 2)        /* poor man's log2(W), valid for 4, 8, 16 */
+#define NWORDS \
+  1024 * 1024 * 8         /* static malloc'd heap size if used as a library */
+#define FBITS 24             /* bits in fixnum, on the way to 24 and beyond */
+#define FMAX                                                       \
+  ((1 << FBITS) - 1)  /* maximum fixnum (and most negative fixnum) \
+                       */
+#define MAXOBJ 0xffff                /* max words in tuple including header */
+#define MAXPAYL                                                \
+  ((MAXOBJ - 1) * W) /* maximum payload in an allocated object \
+                      */
+#define RAWBIT 2048
+#define FPOS                                                       \
+  (SPOS - LDW) /* offset of the fractional part in the header size \
+                */
+#define payl_len(hdr) (((hval)hdr >> FPOS) - W - (W - 1))
+#define make_immediate(value, type) ((hval)(value) << IPOS | (type) << TPOS | 2)
+#define make_header(size, type) ((hval)(size) << SPOS | (type) << TPOS | 2)
+#define BOOL(cval) ((cval) ? ITRUE : IFALSE)
+#define immval(desc) ((hval)(desc) >> IPOS)
+#define fixnump(desc) (((desc)&255) == 2)
+#define NR \
+  98     /* FIXME: should be ~32, see owl/register.scm:/define.n-registers/ */
+#define header(x) V(x)
+#define is_type(x, t) (((x) & (63 << TPOS | 2)) == ((t) << TPOS | 2))
+#define objsize(x) ((hval)(x) >> SPOS)
+#define immediatep(x) ((word)(x)&2)
+#define allocp(x) (!immediatep(x))
+#define rawp(hdr) ((hdr)&RAWBIT)
+#define NEXT(n) \
+  ip += n;      \
+  continue
+#define PAIRHDR make_header(3, 1)
+#define NUMHDR \
+  make_header(3, 40)    /* <- on the way to 40, see type-int+ in defmac.scm */
+#define NUMNHDR make_header(3, 41)
+#define pairp(ob) (allocp(ob) && V(ob) == PAIRHDR)
+#define cons(a, d) mkpair(PAIRHDR, a, d)
+#define INULL make_immediate(0, 13)
+#define IFALSE make_immediate(1, 13)
+#define ITRUE make_immediate(2, 13)
+#define IEMPTY make_immediate(3, 13)                            /* empty ff */
+#define IEOF make_immediate(4, 13)
+#define IHALT make_immediate(5, 13)
+#define TNUM 0
+#define TTUPLE 2
+#define TSTRING 3
+#define TPORT 12
+#define TTHREAD 31
+#define TNUMN 32
+#define TBVEC 19
+#define TBYTECODE 16
+#define TPROC 17
+#define TCLOS 18
+#define F(value) make_immediate(value, TNUM)
+#define stringp(ob) \
+  (allocp(ob) && (V(ob) & make_header(0, 63)) == make_header(0, TSTRING))
+#define FLAG 1
+#define cont(n) V((word)(n) & ~FLAG)
+#define flag(n) ((word)(n) ^ FLAG)
+#define flagged(n) ((word)(n)&FLAG)
+#define flagged_or_raw(n) ((word)(n) & (RAWBIT | FLAG))
+#define TBIT 1024
+#define teardown_needed(hdr) ((word)(hdr)&TBIT)
+#define A0 R[*ip]
+#define A1 R[ip[1]]
+#define A2 R[ip[2]]
+#define A3 R[ip[3]]
+#define A4 R[ip[4]]
+#define A5 R[ip[5]]
+#define G(ptr, n) (((word *)(ptr))[n])
+#define TICKS 10000              /* # of function calls in a thread quantum */
+#define allocate(size, to) (to = fp, fp += size)
+#define error(opcode, a, b) \
+  do {                      \
+                            \
+    R[4] = F(opcode);       \
+    R[5] = (word)(a);       \
+    R[6] = (word)(b);       \
+    goto invoke_mcp;        \
+                            \
+  } while (0)
+
+#define assert(exp, val, code) \
+  if (!(exp)) error(code, val, ITRUE)
+#define assert_not(exp, val, code) \
+  if (exp) error(code, val, ITRUE)
+#define MEMPAD (NR + 2) * 8         /* space at end of heap for starting GC */
+#define MINGEN 1024 * 32    /* minimum generation size before doing full GC */
+#define INITCELLS 100000
+
+/*** Globals and Prototypes ***/
+
+extern char **environ;
+
+/* memstart <= genstart <= memend */
+static word *genstart;
+static word *memstart;
+static word *memend;
+static hval  max_heap_mb;                            /* max heap size in MB */
+static int
+                      breaked; /* set in signal handler, passed over to owl in thread switch */
+static word           state; /* IFALSE | previous program state across runs */
+static const byte *   hp;
+static word *         fp;
+static byte *         file_heap;
+static struct termios tsettings;
+static uint64_t       nalloc;
+static size_t         maxheap;
+
+/*** Garbage Collector, based on "Efficient Garbage Compaction Algorithm" by
+ * Johannes Martin (1982) ***/
+
+static __inline__ void rev(word pos) {
+
+  word val = V(pos);
+  word next = cont(val);
+  V(pos) = next;
+  cont(val) = (pos | FLAG) ^ (val & FLAG);
+
+}
+
+static __inline__ word *chase(word *pos) {
+
+  word val = cont(pos);
+  while (allocp(val) && flagged(val)) {
+
+    pos = (word *)val;
+    val = cont(pos);
+
+  }
+
+  return pos;
+
+}
+
+static void mark(word *pos, word *end) {
+
+  while (pos != end) {
+
+    word val = *pos;
+    if (allocp(val) && val >= (word)genstart) {
+
+      if (flagged(val)) {
+
+        pos = (word *)flag(chase((word *)val));
+
+      } else {
+
+        word hdr = header(val);
+        rev((word)pos);
+        if (!flagged_or_raw(hdr)) pos = (word *)val + objsize(hdr);
+
+      }
+
+    }
+
+    --pos;
+
+  }
+
+}
+
+static word *compact() {
+
+  word *new = genstart;
+  word *old = new;
+  word *end = memend - 1;
+  while (old < end) {
+
+    word val = *old;
+    if (flagged(val)) {
+
+      hval h;
+      *new = val;
+      do {                                                      /* unthread */
+        rev((word) new);
+
+      } while (flagged(*new));
+
+      h = objsize(*new);
+      if (old == new) {
+
+        old += h;
+        new += h;
+
+      } else {
+
+        while (--h)
+          *++new = *++old;
+        old++;
+        new ++;
+
+      }
+
+    } else {
+
+      /* if (teardown_needed(val))
+         printf("gc: would teardown\n"); */
+      old += objsize(val);
+
+    }
+
+  }
+
+  return new;
+
+}
+
+static void fix_pointers(word *pos, wdiff delta) {
+
+  for (;;) {
+
+    word hdr = *pos;
+    hval n = objsize(hdr);
+    if (hdr == 0)    /* end marker reached. only dragons beyond this point. */
+      return;
+    if (rawp(hdr)) {
+
+      pos += n;                               /* no pointers in raw objects */
+
+    } else {
+
+      for (++pos; --n; ++pos) {
+
+        word val = *pos;
+        if (allocp(val)) *pos = val + delta;
+
+      }
+
+    }
+
+  }
+
+}
+
+/* emulate sbrk with malloc'd memory, because sbrk is no longer properly
+ * supported */
+/* n-cells-wanted → heap-delta (to be added to pointers), updates memstart and
+ * memend */
+static wdiff adjust_heap(wdiff cells) {
+
+  word *old = memstart;
+  word  nwords = memend - memstart + MEMPAD;      /* MEMPAD is after memend */
+  word  new_words =
+      nwords +
+      (cells > 0xffffff ? 0xffffff : cells);     /* limit heap growth speed */
+  if (((cells > 0) && (new_words * W < nwords * W)) ||
+      ((cells < 0) && (new_words * W > nwords * W)))
+    return 0; /* don't try to adjust heap, if the size_t would overflow in
+                 realloc */
+  memstart = realloc(memstart, new_words * W);
+  if (memstart == old) {                         /* whee, no heap slide \o/ */
+    memend = memstart + new_words - MEMPAD;     /* leave MEMPAD words alone */
+    return 0;
+
+  } else if (memstart) {       /* d'oh! we need to O(n) all the pointers... */
+
+    wdiff delta = (word)memstart - (word)old;
+    memend = memstart + new_words - MEMPAD;     /* leave MEMPAD words alone */
+    fix_pointers(memstart, delta);
+    return delta;
+
+  } else {
+
+    breaked |= 8;            /* will be passed over to mcp at thread switch */
+    return 0;
+
+  }
+
+}
+
+/* input desired allocation size and (the only) pointer to root object
+   return a pointer to the same object after heap compaction, possible heap size
+   change and relocation */
+static word *gc(int size, word *regs) {
+
+  word *root;
+  word *realend = memend;
+  wdiff nfree;
+  fp = regs + objsize(*regs);
+  root = fp + 1;
+  *root = (word)regs;
+  memend = fp;
+  nalloc += fp - genstart;
+  mark(root, fp);
+  fp = compact();
+  regs = (word *)*root;
+  memend = realend;
+  nfree = (word)memend - (word)regs;
+  if (genstart == memstart) {
+
+    word heapsize = (word)memend - (word)memstart;
+    word nused = heapsize - nfree;
+    if (maxheap < nused) maxheap = nused;
+    if (heapsize / (1024 * 1024) > max_heap_mb)
+      breaked |= 8;          /* will be passed over to mcp at thread switch */
+    nfree -= size * W + MEMPAD;     /* how much really could be snipped off */
+    if (nfree < (heapsize / 5) || nfree < 0) {
+
+      /* increase heap size if less than 20% is free by ~10% of heap size
+       * (growth usually implies more growth) */
+      regs[objsize(*regs)] =
+          0;      /* use an invalid descriptor to denote end live heap data */
+      regs = (word *)((word)regs + adjust_heap(size * W + nused / 10 + 4096));
+      nfree = memend - regs;
+      if (nfree <= size)
+        breaked |= 8; /* will be passed over to mcp at thread switch. may cause
+                         owl<->gc loop if handled poorly on lisp side! */
+
+    } else if (nfree > (heapsize / 3)) {
+
+      /* decrease heap size if more than 33% is free by 10% of the free space */
+      wdiff dec = -(nfree / 10);
+      wdiff new = nfree - dec;
+      if (new > size * W * 2 + MEMPAD) {
+
+        regs[objsize(*regs)] = 0;                               /* as above */
+        regs = (word *)((word)regs + adjust_heap(dec + MEMPAD * W));
+        heapsize = (word)memend - (word)memstart;
+        nfree = (word)memend - (word)regs;
+
+      }
+
+    }
+
+    genstart = regs;                         /* always start new generation */
+
+  } else if (nfree < MINGEN || nfree < size * W * 2) {
+
+    genstart = memstart;                           /* start full generation */
+    return gc(size, regs);
+
+  } else {
+
+    genstart = regs;                                /* start new generation */
+
+  }
+
+  return regs;
+
+}
+
+/*** OS Interaction and Helpers ***/
+
+// static void signal_handler(int signal) {
+
+//   switch (signal) {
+
+//      case SIGINT:
+//         breaked |= 2;
+//         break;
+//      case SIGPIPE:
+//         break;                   /* can cause loop when reporting errors */
+//      default:
+//         breaked |= 4;
+//   }
+//}
+
+/* list length, no overflow or valid termination checks */
+static uint llen(word *ptr) {
+
+  uint len = 0;
+  while (pairp(ptr)) {
+
+    len++;
+    ptr = (word *)ptr[2];
+
+  }
+
+  return len;
+
+}
+
+/*
+static void set_signal_handler(void) {
+
+   struct sigaction sa;
+   sa.sa_handler = signal_handler;
+   sigemptyset(&sa.sa_mask);
+   sa.sa_flags = SA_RESTART;
+   sigaction(SIGINT, &sa, NULL);
+   sigaction(SIGPIPE, &sa, NULL);
+
+}
+
+*/
+static word mkpair(word h, word a, word d) {
+
+  word *pair;
+  allocate(3, pair);
+  pair[0] = h;
+  pair[1] = a;
+  pair[2] = d;
+  return (word)pair;
+
+}
+
+/* recursion depth does not exceed two */
+static word mkint(uint64_t x) {
+
+  return mkpair(NUMHDR, F(x), x > FMAX ? mkint(x >> FBITS) : INULL);
+
+}
+
+/* make a raw object to hold len bytes (compute size, advance fp, clear padding)
+ */
+static word mkraw(uint type, hval len) {
+
+  word *ob;
+  byte *end;
+  hval  hdr = (W + len + W - 1) << FPOS | RAWBIT | make_header(0, type);
+  uint  pads = -len % W;
+  allocate(objsize(hdr), ob);
+  *ob = hdr;
+  end = (byte *)ob + W + len;
+  while (pads--)
+    *end++ = 0;                                  /* clear the padding bytes */
+  return (word)ob;
+
+}
+
+/*** Primops called from VM and generated C-code ***/
+
+static hval prim_connect(word *host, word port, word type) {
+
+  int                sock;
+  byte *             ip = (byte *)host + W;
+  unsigned long      ipfull;
+  struct sockaddr_in addr;
+  char               udp = (immval(type) == 1);
+  port = immval(port);
+  if ((sock = socket(PF_INET, (udp ? SOCK_DGRAM : SOCK_STREAM),
+                     (udp ? IPPROTO_UDP : 0))) == -1)
+    return IFALSE;
+  if (udp) return make_immediate(sock, TPORT);
+  if (!allocp(host))                                       /* bad host type */
+    return IFALSE;
+  addr.sin_family = AF_INET;
+  addr.sin_port = htons(port);
+  addr.sin_addr.s_addr = (in_addr_t)host[1];
+  ipfull = ip[0] << 24 | ip[1] << 16 | ip[2] << 8 | ip[3];
+  addr.sin_addr.s_addr = htonl(ipfull);
+  if (connect(sock, (struct sockaddr *)&addr, sizeof(struct sockaddr_in)) < 0) {
+
+    close(sock);
+    return IFALSE;
+
+  }
+
+  return make_immediate(sock, TPORT);
+
+}
+
+static word prim_less(word a, word b) {
+
+  if (immediatep(a))
+    return immediatep(b) ? BOOL(a < b) : ITRUE;              /* imm < alloc */
+  else
+    return immediatep(b) ? IFALSE : BOOL(a < b);             /* alloc > imm */
+
+}
+
+static word prim_ref(word pword, hval pos) {
+
+  hval hdr;
+  if (immediatep(pword)) return IFALSE;
+  hdr = header(pword);
+  pos = immval(pos);
+  if (rawp(hdr)) {           /* raw data is #[hdrbyte{W} b0 .. bn 0{0,W-1}] */
+    if (payl_len(hdr) <= pos) return IFALSE;
+    return F(((byte *)pword)[W + pos]);
+
+  }
+
+  if (!pos || objsize(hdr) <=
+                  pos)  /* tuples are indexed from 1 (probably later 0-255) */
+    return IFALSE;
+  return G(pword, pos);
+
+}
+
+static int64_t cnum(word a) {
+
+  uint64_t x;
+  if (allocp(a)) {
+
+    word *p = (word *)a;
+    uint  shift = 0;
+    x = 0;
+    do {
+
+      x |= (uint64_t)immval(p[1]) << shift;
+      shift += FBITS;
+      p = (word *)p[2];
+
+    } while (shift < 64 && allocp(p));
+
+    return header(a) == NUMNHDR ? -x : x;
+
+  }
+
+  x = immval(a);
+  return is_type(a, TNUMN) ? -x : x;
+
+}
+
+static word onum(int64_t n, uint s) {
+
+  word h = NUMHDR, t = TNUM;
+  if (s && n < 0) {
+
+    h = NUMNHDR;
+    t = TNUMN;
+    n = -n;
+
+  }
+
+  if (n > FMAX) {
+
+    word p = mkint(n);
+    header(p) = h;
+    return p;
+
+  }
+
+  return make_immediate(n, t);
+
+}
+
+static word prim_set(word wptr, hval pos, word val) {
+
+  word *ob = (word *)wptr;
+  hval  hdr, p;
+  word *new;
+  pos = immval(pos);
+  if (immediatep(ob)) return IFALSE;
+  hdr = *ob;
+  if (rawp(hdr) || (hdr = objsize(hdr)) < pos) return IFALSE;
+  allocate(hdr, new);
+  for (p = 0; p <= hdr; ++p)
+    new[p] = (pos == p && p) ? val : ob[p];
+  return (word) new;
+
+}
+
+static void setdown(void) {
+
+  tcsetattr(0, TCSANOW, &tsettings);               /* return stdio settings */
+
+}
+
+static word do_poll(word, word, word);
+
+/* system- and io primops */
+static word prim_sys(word op, word a, word b, word c) {
+
+  switch (immval(op)) {
+
+    case 0: {                       /* clock_gettime clock_id → nanoseconds */
+      struct timespec ts;
+      if (clock_gettime(cnum(a), &ts) != -1)
+        return onum(ts.tv_sec * INT64_C(1000000000) + ts.tv_nsec, 1);
+      return IFALSE;
+
+    }
+
+    case 1:                             /* open path flags mode → port | #f */
+      if (stringp(a)) {
+
+        int fd = open((const char *)a + W, cnum(b), immval(c));
+        if (fd != -1) return make_immediate(fd, TPORT);
+
+      }
+
+      return IFALSE;
+    case 2:
+      return BOOL(close(immval(a)) == 0);
+    case 3: {                  /* 3 = sopen port 0=tcp|1=udp -> False | fd  */
+      int                port = immval(a);
+      int                type = immval(b);
+      int                s;
+      int                opt = 1;                                   /* TRUE */
+      char               udp = (type == 1);
+      struct sockaddr_in myaddr;
+      myaddr.sin_family = AF_INET;
+      myaddr.sin_port = htons(port);
+      myaddr.sin_addr.s_addr = INADDR_ANY;
+      s = socket(AF_INET, (udp ? SOCK_DGRAM : SOCK_STREAM),
+                 (udp ? IPPROTO_UDP : 0));
+      if (s < 0) return IFALSE;
+      if (type != 1) {
+
+        if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (char *)&opt,
+                       sizeof(opt)) ||
+            bind(s, (struct sockaddr *)&myaddr, sizeof(myaddr)) != 0 ||
+            listen(s, SOMAXCONN) != 0) {
+
+          close(s);
+          return IFALSE;
+
+        }
+
+      } else {
+
+        if (bind(s, (struct sockaddr *)&myaddr, sizeof(myaddr)) != 0) {
+
+          close(s);
+          return IFALSE;
+
+        }
+
+      }
+
+      return make_immediate(s, TPORT);
+
+    }
+
+    case 4: {                    /* 4 = accept port -> rval=False|(ip . fd) */
+      int                sock = immval(a);
+      struct sockaddr_in addr;
+      socklen_t          len = sizeof(addr);
+      int                fd;
+      word               ipa;
+      fd = accept(sock, (struct sockaddr *)&addr, &len);
+      if (fd < 0) return IFALSE;
+      ipa = mkraw(TBVEC, 4);
+      memcpy((word *)ipa + 1, &addr.sin_addr, 4);
+      return cons(ipa, make_immediate(fd, TPORT));
+
+    }
+
+    case 5:                               /* read fd len -> bvec | EOF | #f */
+      if (is_type(a, TPORT)) {
+
+        size_t       len = memend - fp;
+        const size_t max = len > MAXOBJ ? MAXPAYL : (len - 1) * W;
+        len = cnum(b);
+        len = read(immval(a), fp + 1, len < max ? len : max);
+        if (len == 0) return IEOF;
+        if (len != (size_t)-1) return mkraw(TBVEC, len);
+
+      }
+
+      return IFALSE;
+    case 6:
+      setdown();
+      exit(immval(a));                                    /* stop the press */
+    case 7:                                     /* set memory limit (in mb) */
+      max_heap_mb = immval(a);
+      return a;
+    case 8: {                                    /* return system constants */
+      static const word sysconst[] = {
+
+        S_IFMT,
+        W,
+        S_IFBLK,
+        S_IFCHR,
+        S_IFIFO,
+        S_IFREG,
+        S_IFDIR,
+        S_IFLNK,
+        S_IFSOCK,
+        E2BIG,
+        EACCES,
+        EADDRINUSE,
+        EADDRNOTAVAIL,
+        EAFNOSUPPORT,
+        EAGAIN,
+        EALREADY,
+        EBADF,
+        EBADMSG,
+        EBUSY,
+        ECANCELED,
+        ECHILD,
+        ECONNABORTED,
+        ECONNREFUSED,
+        ECONNRESET,
+        EDEADLK,
+        EDESTADDRREQ,
+        EDOM,
+        EDQUOT,
+        EEXIST,
+        EFAULT,
+        EFBIG,
+        EHOSTUNREACH,
+        EIDRM,
+        EILSEQ,
+        EINPROGRESS,
+        EINTR,
+        EINVAL,
+        EIO,
+        EISCONN,
+        EISDIR,
+        ELOOP,
+        EMFILE,
+        EMLINK,
+        EMSGSIZE,
+        EMULTIHOP,
+        ENAMETOOLONG,
+        ENETDOWN,
+        ENETRESET,
+        ENETUNREACH,
+        ENFILE,
+        ENOBUFS,
+        ENODATA,
+        ENODEV,
+        ENOENT,
+        ENOEXEC,
+        ENOLCK,
+        ENOLINK,
+        ENOMEM,
+        ENOMSG,
+        ENOPROTOOPT,
+        ENOSPC,
+        ENOSR,
+        ENOSTR,
+        ENOSYS,
+        ENOTCONN,
+        ENOTDIR,
+        ENOTEMPTY,
+        ENOTRECOVERABLE,
+        ENOTSOCK,
+        ENOTSUP,
+        ENOTTY,
+        ENXIO,
+        EOPNOTSUPP,
+        EOVERFLOW,
+        EOWNERDEAD,
+        EPERM,
+        EPIPE,
+        EPROTO,
+        EPROTONOSUPPORT,
+        EPROTOTYPE,
+        ERANGE,
+        EROFS,
+        ESPIPE,
+        ESRCH,
+        ESTALE,
+        ETIME,
+        ETIMEDOUT,
+        ETXTBSY,
+        EWOULDBLOCK,
+        EXDEV,
+        SEEK_SET,
+        SEEK_CUR,
+        SEEK_END,
+        O_EXEC,
+        O_RDONLY,
+        O_RDWR,
+        O_SEARCH,
+        O_WRONLY,
+        O_APPEND,
+        O_CLOEXEC,
+        O_CREAT,
+#if defined O_DIRECTORY
+        O_DIRECTORY,
+#endif
+        O_DSYNC,
+        O_EXCL,
+        O_NOCTTY,
+        O_NOFOLLOW,
+        O_NONBLOCK,
+        O_RSYNC,
+        O_SYNC,
+        O_TRUNC,
+        O_TTY_INIT,
+        O_ACCMODE,
+        FD_CLOEXEC,
+        F_DUPFD,
+        F_DUPFD_CLOEXEC,
+        F_GETFD,
+        F_SETFD,
+        F_GETFL,
+        F_SETFL,
+#if !defined __HAIKU__
+        F_GETOWN,
+        F_SETOWN,
+#endif
+        F_GETLK,
+        F_SETLK,
+        F_SETLKW,
+        F_RDLCK,
+        F_UNLCK,
+        F_WRLCK,
+        CLOCK_MONOTONIC,
+        CLOCK_PROCESS_CPUTIME_ID,
+        CLOCK_REALTIME,
+        CLOCK_THREAD_CPUTIME_ID
+
+      };
+
+      return onum(sysconst[immval(a) % (sizeof sysconst / W)], 0);
+
+    }
+
+    case 9:                                     /* return process variables */
+      return onum(a == F(0)
+                      ? errno
+                      : a == F(1)
+                            ? (uintptr_t)environ
+                            : a == F(8) ? nalloc + fp - memstart
+                                        : /* total allocated objects so far */
+                                  a == F(9)
+                                      ? maxheap
+                                      :  /* maximum heap size in a major gc */
+                                      max_heap_mb,
+                  0);
+    case 10: { /* receive-udp-packet sock → (ip-bvec . payload-bvec)| #false */
+      struct sockaddr_in si_other;
+      socklen_t          slen = sizeof(si_other);
+      word               bvec, ipa;
+      int                recvd;
+      recvd = recvfrom(immval(a), fp + 1, 65528, 0,
+                       (struct sockaddr *)&si_other, &slen);
+      if (recvd < 0) return IFALSE;
+      bvec = mkraw(TBVEC, recvd);
+      ipa = mkraw(TBVEC, 4);
+      memcpy((word *)ipa + 1, &si_other.sin_addr, 4);
+      return cons(ipa, bvec);
+
+    }
+
+    case 11:                          /* open-dir path → dirobjptr | #false */
+      if (stringp(a)) {
+
+        DIR *dirp = opendir((const char *)a + W);
+        if (dirp != NULL) return onum((intptr_t)dirp, 1);
+
+      }
+
+      return IFALSE;
+    case 12: {                                   /* read-dir dirp → pointer */
+      struct dirent *ent;
+      errno = 0;
+      ent = readdir((DIR *)(intptr_t)cnum(a));
+      return onum(ent != NULL ? (uintptr_t)&ent->d_name : 0, 0);
+
+    }
+
+    case 13:                                       /* close-dir dirp → bool */
+      return BOOL(closedir((DIR *)(intptr_t)cnum(a)) == 0);
+    case 14:                                   /* strerror errnum → pointer */
+      return onum((uintptr_t)strerror(immval(a)), 0);
+    case 15:                           /* fcntl port cmd arg → integer | #f */
+      if (is_type(a, TPORT)) {
+
+        int res = fcntl(immval(a), cnum(b), (intptr_t)cnum(c));
+        if (res != -1) return onum(res, 1);
+
+      }
+
+      return IFALSE;
+    case 16:                                        /* getenv key → pointer */
+      return onum(stringp(a) ? (uintptr_t)getenv((const char *)a + W) : 0, 0);
+    case 17: {                                     /* exec[v] path argl ret */
+      char * path = (char *)a + W;
+      int    nargs = llen((word *)b);
+      char **argp, **args = realloc(NULL, (nargs + 1) * sizeof(char *));
+      if (args == NULL) return IFALSE;
+      for (argp = args; nargs--; ++argp) {
+
+        *argp = (char *)G(b, 1) + W;
+        b = G(b, 2);
+
+      }
+
+      *argp = NULL;
+      execv(path, args);                     /* may return -1 and set errno */
+      free(args);
+      return IFALSE;
+
+    }
+
+    case 18: { /* fork → #f: failed, 0: we're in child process, integer: we're
+                  in parent process */
+      pid_t pid = fork();
+      return pid != -1 ? onum(pid, 1) : IFALSE;
+
+    }
+
+    case 19: {                                    /* wait <pid> <respair> _ */
+      pid_t pid = a != IFALSE ? cnum(a) : -1;
+      int   status;
+      word *r = (word *)b;
+      pid = waitpid(pid, &status, WNOHANG | WUNTRACED);      /* |WCONTINUED */
+      if (pid == -1) return IFALSE;                                /* error */
+      if (pid == 0) return ITRUE;                /* no changes, would block */
+      if (WIFEXITED(status)) {
+
+        r[1] = F(1);
+        r[2] = F(WEXITSTATUS(status));
+
+      } else if (WIFSIGNALED(status)) {
+
+        r[1] = F(2);
+        r[2] = F(WTERMSIG(status));
+
+      } else if (WIFSTOPPED(status)) {
+
+        r[1] = F(3);
+        r[2] = F(WSTOPSIG(status));
+        /*} else if (WIFCONTINUED(status)) {
+
+           r[1] = F(4);
+           r[2] = F(1); */
+
+      } else {
+
+        r = (word *)IFALSE;
+
+      }
+
+      return (word)r;
+
+    }
+
+    case 20:                                           /* chdir path → bool */
+      return BOOL(stringp(a) && chdir((char *)a + W) == 0);
+    case 21:                                      /* kill pid signal → bool */
+      return BOOL(kill(cnum(a), immval(b)) == 0);
+    case 22:                                          /* unlink path → bool */
+      return BOOL(stringp(a) && unlink((char *)a + W) == 0);
+    case 23:                                           /* rmdir path → bool */
+      return BOOL(stringp(a) && rmdir((char *)a + W) == 0);
+    case 24:                         /* mknod path (type . mode) dev → bool */
+      if (stringp(a) && pairp(b)) {
+
+        const char * path = (const char *)a + W;
+        const mode_t type = cnum(G(b, 1)), mode = immval(G(b, 2));
+        if ((type == S_IFDIR ? mkdir(path, mode)
+                             : mknod(path, type | mode, cnum(c))) == 0)
+          return ITRUE;
+
+      }
+
+      return IFALSE;
+    case 25:                      /* lseek port offset whence → offset | #f */
+      if (is_type(a, TPORT)) {
+
+        off_t o = lseek(immval(a), cnum(b), cnum(c));
+        if (o != -1) return onum(o, 1);
+
+      }
+
+      return IFALSE;
+    case 26:
+      if (a != IFALSE) {
+
+        static struct termios old;
+        tcgetattr(0, &old);
+        old.c_iflag &=
+            ~(IGNBRK | BRKINT | PARMRK | ISTRIP | INLCR | IGNCR | ICRNL | IXON);
+        old.c_oflag &= ~OPOST;
+        old.c_lflag &= ~(ECHO | ECHONL | ICANON | ISIG | IEXTEN);
+        old.c_cflag &= ~(CSIZE | PARENB);
+        old.c_cflag |= CS8;
+        return BOOL(tcsetattr(0, TCSANOW, &old) == 0);
+
+      }
+
+      return BOOL(tcsetattr(0, TCSANOW, &tsettings) == 0);
+    case 27: {                           /* sendmsg sock (port . ipv4) bvec */
+      int                sock = immval(a);
+      int                port;
+      struct sockaddr_in peer;
+      byte *             ip, *data = (byte *)c + W;
+      size_t             len = payl_len(header(c));
+      port = immval(G(b, 1));
+      ip = (byte *)G(b, 2) + W;
+      peer.sin_family = AF_INET;
+      peer.sin_port = htons(port);
+      peer.sin_addr.s_addr =
+          htonl(ip[0] << 24 | ip[1] << 16 | ip[2] << 8 | ip[3]);
+      return BOOL(sendto(sock, data, len, 0, (struct sockaddr *)&peer,
+                         sizeof(peer)) != -1);
+
+    }
+
+    case 28: /* setenv <owl-raw-bvec-or-ascii-leaf-string>
+                <owl-raw-bvec-or-ascii-leaf-string-or-#f> */
+      if (stringp(a) && (b == IFALSE || stringp(b))) {
+
+        const char *name = (const char *)a + W;
+        if ((b != IFALSE ? setenv(name, (const char *)b + W, 1)
+                         : unsetenv(name)) == 0)
+          return ITRUE;
+
+      }
+
+      return IFALSE;
+    case 29:
+      return prim_connect((word *)a, b, c);
+    case 30:                        /* dup2 old-port new-fd → new-port | #f */
+      if (is_type(a, TPORT)) {
+
+        int fd = dup2(immval(a), immval(b));
+        if (fd != -1) return make_immediate(fd, TPORT);
+
+      }
+
+      return IFALSE;
+    case 31: {                     /* pipe → '(read-port . write-port) | #f */
+      int fd[2];
+      if (pipe(fd) != 0) return IFALSE;
+      return cons(make_immediate(fd[0], TPORT), make_immediate(fd[1], TPORT));
+
+    }
+
+    case 32:                                       /* rename src dst → bool */
+      return BOOL(stringp(a) && stringp(b) &&
+                  rename((char *)a + W, (char *)b + W) == 0);
+    case 33:                                         /* link src dst → bool */
+      return BOOL(stringp(a) && stringp(b) &&
+                  link((char *)a + W, (char *)b + W) == 0);
+    case 34:                                      /* symlink src dst → bool */
+      return BOOL(stringp(a) && stringp(b) &&
+                  symlink((char *)a + W, (char *)b + W) == 0);
+    case 35:                          /* readlink path → raw-sting | #false */
+      if (stringp(a)) {
+
+        size_t len = memend - fp;
+        size_t max = len > MAXOBJ ? MAXPAYL + 1 : (len - 1) * W;
+        /* the last byte is temporarily used to check, if the string fits */
+        len = readlink((const char *)a + W, (char *)fp + W, max);
+        if (len != (size_t)-1 && len != max) return mkraw(TSTRING, len);
+
+      }
+
+      return IFALSE;
+    case 36:                                 /* getcwd → raw-sting | #false */
+    {
+
+      size_t len = memend - fp;
+      size_t max = len > MAXOBJ ? MAXPAYL + 1 : (len - 1) * W;
+      /* the last byte is temporarily used for the terminating '\0' */
+      if (getcwd((char *)fp + W, max) != NULL)
+        return mkraw(TSTRING, strnlen((char *)fp + W, max - 1));
+
+    }
+
+      return IFALSE;
+    case 37:                                           /* umask mask → mask */
+      return F(umask(immval(a)));
+    case 38:                                  /* stat fd|path follow → list */
+      if (immediatep(a) || stringp(a)) {
+
+        struct stat st;
+        int         flg = b != IFALSE ? 0 : AT_SYMLINK_NOFOLLOW;
+        if ((allocp(a) ? fstatat(AT_FDCWD, (char *)a + W, &st, flg)
+                       : fstat(immval(a), &st)) == 0) {
+
+          word lst = INULL;
+          lst = cons(onum(st.st_blocks, 1), lst);
+          lst = cons(onum(st.st_blksize, 1), lst);
+          lst = cons(
+              onum(st.st_ctim.tv_sec * INT64_C(1000000000) + st.st_atim.tv_nsec,
+                   1),
+              lst);
+          lst = cons(
+              onum(st.st_mtim.tv_sec * INT64_C(1000000000) + st.st_atim.tv_nsec,
+                   1),
+              lst);
+          lst = cons(
+              onum(st.st_atim.tv_sec * INT64_C(1000000000) + st.st_atim.tv_nsec,
+                   1),
+              lst);
+          lst = cons(onum(st.st_size, 1), lst);
+          lst = cons(onum(st.st_rdev, 0), lst);
+          lst = cons(onum(st.st_gid, 0), lst);
+          lst = cons(onum(st.st_uid, 0), lst);
+          lst = cons(onum(st.st_nlink, 0), lst);
+          lst = cons(onum(st.st_mode, 0), lst);
+          lst = cons(onum(st.st_ino, 0), lst);
+          lst = cons(onum(st.st_dev, 1), lst);
+          return lst;
+
+        }
+
+      }
+
+      return INULL;
+    case 39:                            /* chmod fd|path mode follow → bool */
+      if ((immediatep(a) || stringp(a)) && fixnump(b)) {
+
+        mode_t mod = immval(b);
+        int    flg = c != IFALSE ? 0 : AT_SYMLINK_NOFOLLOW;
+        if ((allocp(a) ? fchmodat(AT_FDCWD, (char *)a + W, mod, flg)
+                       : fchmod(immval(a), mod)) == 0)
+          return ITRUE;
+
+      }
+
+      return IFALSE;
+    case 40:                     /* chown fd|path (uid . gid) follow → bool */
+      if ((immediatep(a) || stringp(a)) && pairp(b)) {
+
+        uid_t uid = cnum(G(b, 1));
+        gid_t gid = cnum(G(b, 2));
+        int   flg = c != IFALSE ? 0 : AT_SYMLINK_NOFOLLOW;
+        if ((allocp(a) ? fchownat(AT_FDCWD, (char *)a + W, uid, gid, flg)
+                       : fchown(immval(a), uid, gid)) == 0)
+          return ITRUE;
+
+      }
+
+      return IFALSE;
+    case 41: {                                     /* peek mem nbytes → num */
+      const word p = cnum(a);
+      return onum(
+          b == F(1) ? *(uint8_t *)p
+                    : b == F(2) ? *(uint16_t *)p
+                                : b == F(4) ? *(uint32_t *)p
+                                            : b == F(8) ? *(uint64_t *)p : V(p),
+          0);
+
+    }
+
+    case 42:                        /* write fd data len | #f → nbytes | #f */
+      if (is_type(a, TPORT) && allocp(b)) {
+
+        size_t len, size = payl_len(header(b));
+        len = c != IFALSE ? cnum(c) : size;
+        if (len <= size) {
+
+          len = write(immval(a), (const word *)b + 1, len);
+          if (len != (size_t)-1) return onum(len, 0);
+
+        }
+
+      }
+
+      return IFALSE;
+    case 43:
+      return do_poll(a, b, c);
+    case 44: {
+
+      char *           host = (char *)(word *)a + W;
+      struct addrinfo *res;
+      int              nth = immval(b);
+      int              rv = getaddrinfo(host, NULL, NULL, &res);
+      if (rv == 0) {
+
+        word rv = IFALSE;
+        while (nth--) {
+
+          if (res) res = res->ai_next;
+          if (!res) return INULL;
+
+        }
+
+        if (res->ai_addr->sa_family == AF_INET6) {
+
+          char *n = (char *)&((struct sockaddr_in6 *)res->ai_addr)->sin6_addr;
+          rv = mkraw(TBVEC, 6);
+          memcpy((word *)rv + 1, n, 6);
+
+        } else if (res->ai_addr->sa_family == AF_INET) {
+
+          char *n = (char *)&((struct sockaddr_in *)res->ai_addr)->sin_addr;
+          rv = mkraw(TBVEC, 4);
+          memcpy((word *)rv + 1, n, 4);
+
+        }
+
+        freeaddrinfo(res);
+        return rv;
+
+      }
+
+      return IFALSE;
+
+    }
+
+    default:
+      return IFALSE;
+
+  }
+
+}
+
+static word prim_lraw(word wptr, word type) {
+
+  word *lst = (word *)wptr;
+  byte *pos;
+  word *ob, raw;
+  uint  len = 0;
+  for (ob = lst; pairp(ob); ob = (word *)ob[2])
+    len++;
+  if ((word)ob != INULL || len > MAXPAYL) return IFALSE;
+  raw = mkraw(immval(type), len);
+  pos = (byte *)raw + W;
+  for (ob = lst; (word)ob != INULL; ob = (word *)ob[2])
+    *pos++ = immval(ob[1]);
+  return raw;
+
+}
+
+/* TODO: implement this in owl */
+static word do_poll(word a, word b, word c) {
+
+  fd_set         rs, ws, es;
+  word *         cur;
+  hval           r1, r2;
+  int            nfds = 1;
+  struct timeval tv;
+  int            res;
+  FD_ZERO(&rs);
+  FD_ZERO(&ws);
+  FD_ZERO(&es);
+  for (cur = (word *)a; (word)cur != INULL; cur = (word *)cur[2]) {
+
+    int fd = immval(G(cur[1], 1));
+    FD_SET(fd, &rs);
+    FD_SET(fd, &es);
+    if (fd >= nfds) nfds = fd + 1;
+
+  }
+
+  for (cur = (word *)b; (word)cur != INULL; cur = (word *)cur[2]) {
+
+    int fd = immval(G(cur[1], 1));
+    FD_SET(fd, &ws);
+    FD_SET(fd, &es);
+    if (fd >= nfds) nfds = fd + 1;
+
+  }
+
+  if (c == IFALSE) {
+
+    res = select(nfds, &rs, &ws, &es, NULL);
+
+  } else {
+
+    hval ms = immval(c);
+    tv.tv_sec = ms / 1000;
+    tv.tv_usec = (ms % 1000) * 1000;
+    res = select(nfds, &rs, &ws, &es, &tv);
+
+  }
+
+  if (res < 1) {
+
+    r1 = IFALSE;
+    r2 = BOOL(res < 0);           /* 0 = timeout, otherwise error or signal */
+
+  } else {
+
+    int fd;                       /* something active, wake the first thing */
+    for (fd = 0;; ++fd) {
+
+      if (FD_ISSET(fd, &rs)) {
+
+        r1 = make_immediate(fd, TPORT);
+        r2 = F(1);
+        break;
+
+      } else if (FD_ISSET(fd, &ws)) {
+
+        r1 = make_immediate(fd, TPORT);
+        r2 = F(2);
+        break;
+
+      } else if (FD_ISSET(fd, &es)) {
+
+        r1 = make_immediate(fd, TPORT);
+        r2 = F(3);
+        break;
+
+      }
+
+    }
+
+  }
+
+  return cons(r1, r2);
+
+}
+
+static word vm(word *ob, word arg) {
+
+  byte *         ip;
+  uint           bank = 0;
+  uint           ticker = TICKS;
+  unsigned short acc;
+  uint           op;
+  word           R[NR];
+
+  static const uint16_t load_imms[] = {F(0), INULL, ITRUE, IFALSE};
+
+  /* clear blank regs */
+  for (acc = 1; acc != NR; ++acc)
+    R[acc] = INULL;
+  R[0] = IFALSE;
+  R[3] = IHALT;
+  R[4] = arg;
+  acc = 2;                                 /* boot always calls with 2 args */
+
+apply:  /* apply something at ob to values in regs, or maybe switch context */
+
+  if (allocp(ob)) {
+
+    hval hdr = *ob & 4095;           /* cut size out, take just header info */
+    if (hdr == make_header(0, TPROC)) {                             /* proc */
+      R[1] = (word)ob;
+      ob = (word *)ob[1];
+
+    } else if (hdr == make_header(0, TCLOS)) {                      /* clos */
+
+      R[1] = (word)ob;
+      ob = (word *)ob[1];
+      R[2] = (word)ob;
+      ob = (word *)ob[1];
+
+    } else if (!is_type(hdr,
+
+                        TBYTECODE)) {   /* not even code, extend bits later */
+      error(259, ob, INULL);
+
+    }
+
+    if (!ticker--) goto switch_thread;
+    ip = (byte *)ob + W;
+    goto invoke;
+
+  } else if ((word)ob == IHALT) {
+
+    /* it's the final continuation */
+    ob = (word *)R[0];
+    if (allocp(ob)) {
+
+      R[0] = IFALSE;
+      breaked = 0;
+      R[4] = R[3];
+      R[3] = F(2);
+      R[5] = IFALSE;
+      R[6] = IFALSE;
+      ticker = FMAX;
+      bank = 0;
+      acc = 4;
+      goto apply;
+
+    }
+
+    if (acc == 2)     /* update state when main program exits with 2 values */
+      state = R[4];
+    return R[3];
+
+  } else {
+
+    word *state;
+    allocate(acc + 1, state);
+    *state = make_header(acc + 1, TTUPLE);
+    memcpy(state + 1, R + 3, acc * W);                   /* first arg at R3 */
+    error(0, ob, state);                                    /* not callable */
+
+  }
+
+switch_thread:                                      /* enter mcp if present */
+  if (R[0] == IFALSE) {                                   /* no mcp, ignore */
+    ticker = TICKS;
+    goto apply;
+
+  } else {
+
+    /* save vm state and enter mcp cont at R0 */
+    word *state;
+    ticker = FMAX;
+    bank = 0;
+    acc = acc + 4;
+    R[acc] = (word)ob;
+    allocate(acc, state);
+    *state = make_header(acc, TTHREAD);
+    state[acc - 1] = R[acc];
+    memcpy(state + 1, R + 1, (acc - 2) * W);
+    ob = (word *)R[0];
+    R[0] = IFALSE;                                       /* remove mcp cont */
+    /* R3 marks the syscall to perform */
+    R[3] = breaked ? (breaked & 8 ? F(14) : F(10)) : F(1);
+    R[4] = (word)state;
+    R[5] = F(breaked);
+    R[6] = IFALSE;
+    acc = 4;
+    breaked = 0;
+    goto apply;
+
+  }
+
+invoke:                    /* nargs and regs ready, maybe gc and execute ob */
+  if (((word)fp) + 1024 * 64 >= ((word)memend)) {
+
+    *fp = make_header(NR + 2, 50);                /* hdr r_0 .. r_(NR-1) ob */
+    memcpy(fp + 1, R, NR * W);
+    fp[NR + 1] = (word)ob;
+    fp = gc(1024 * 64, fp);
+    ob = (word *)fp[NR + 1];
+    memcpy(R, fp + 1, NR * W);
+    ip = (byte *)ob + W;
+
+  }
+
+  for (;;) {
+
+    op = *ip++;
+    /* main dispatch */
+    switch (op & 63) {
+
+      case 0:
+        op = *ip << 8 | ip[1];
+        goto super_dispatch;
+      case 1:
+        A2 = G(A0, ip[1]);
+        NEXT(3);
+      case 2:                                          /* jmp-nargs a hi lo */
+        if (acc != *ip) ip += ip[1] << 8 | ip[2];
+        NEXT(3);
+      case 3:                                                       /* goto */
+        ob = (word *)A0;
+        acc = ip[1];
+        goto apply;
+      case 5:                                   /* mov2 from1 to1 from2 to2 */
+        A1 = A0;
+        A3 = A2;
+        NEXT(4);
+      case 6: {                                  /* opcodes 134, 6, 198, 70 */
+        word  size = *ip++, tmp;
+        word *ob;
+        tmp = R[op & 64 ? 1 : *ip++];
+        allocate(size, ob);
+        *ob = make_header(size, (op >> 7) + TPROC);
+        ob[1] = G(tmp, *ip++);
+        for (tmp = 2; tmp != size; ++tmp)
+          ob[tmp] = R[*ip++];
+        R[*ip++] = (word)ob;
+        NEXT(0);
+
+      }
+
+      case 7:                                                  /* eq? a b r */
+        A2 = BOOL(A0 == A1);
+        NEXT(3);
+      case 8:                                   /* jeq a b o, extended jump */
+        if (A0 == A1) ip += ip[3] << 8 | ip[2];
+        NEXT(4);
+      case 9:
+        A1 = A0;
+        NEXT(2);
+      case 10:   /* ldfix n to, encoding: nnnnnnnn nsoooooo (num-1/sign/op) */
+        A1 = ((hval)*ip << 9) + (op << 1) + F(1) - 20;
+        NEXT(2);
+      case 13:                                       /* ldi{2bit what} [to] */
+        A0 = load_imms[op >> 6];
+        NEXT(1);
+      case 15: {                                                /* type o r */
+        word ob = A0;
+        if (allocp(ob)) ob = V(ob);
+        A1 = F((hval)ob >> TPOS & 63);
+        NEXT(2);
+
+      }
+
+      case 16: /* jeqi[which] a lo hi */ /* FIXME: move this to op4 after fasl
+                                            update, and encode offset in
+                                            big-endian (like most other jump
+                                            instructions) */
+        if (A0 == load_imms[op >> 6]) ip += ip[2] << 8 | ip[1];
+        NEXT(3);
+      case 18:                                   /* fxand a b r, prechecked */
+        A2 = A0 & A1;
+        NEXT(3);
+      case 21: {            /* fx- a b r u, types prechecked, signs ignored */
+        hval r = immval(A0) - immval(A1);
+        A3 = F(r >> FBITS & 1);
+        A2 = F(r);
+        NEXT(4);
+
+      }
+
+      case 22: {            /* fx+ a b r o, types prechecked, signs ignored */
+        hval r = immval(A0) + immval(A1);
+        A3 = F(r >> FBITS);
+        A2 = F(r);
+        NEXT(4);
+
+      }
+
+      case 23: {                                      /* mkt t s f1 .. fs r */
+        word t = *ip++;
+        word s = *ip++ + 1; /* the argument is n-1 to allow making a 256-tuple
+                               with 255, and avoid 0-tuples */
+        word *ob;
+        uint  p;
+        allocate(s + 1, ob);                           /* s fields + header */
+        *ob = make_header(s + 1, t);
+        for (p = 0; p != s; ++p)
+          ob[p + 1] = R[ip[p]];
+        R[ip[p]] = (word)ob;
+        NEXT(s + 1);
+
+      }
+
+      case 24:                    /* ret val == implicit call r3 with 1 arg */
+        ob = (word *)R[3];
+        R[3] = A0;
+        acc = 1;
+        goto apply;
+      case 25: {                                    /* jmp-var-args a hi lo */
+        uint needed = *ip;
+        if (acc == needed) {
+
+          R[acc + 3] = INULL;                   /* add empty extra arg list */
+
+        } else if (acc > needed) {
+
+          word tail;                 /* TODO: no call overflow handling yet */
+          for (tail = INULL; acc > needed; --acc)
+            tail = cons(R[acc + 2], tail);
+          R[acc + 3] = tail;
+
+        } else {
+
+          ip += ip[1] << 8 | ip[2];
+
+        }
+
+        NEXT(3);
+
+      }
+
+      case 26: { /* fxqr ah al b qh ql r, b != 0, int32 / int16 -> int32, as
+                    fixnums */
+        uint64_t a = (uint64_t)immval(A0) << FBITS | immval(A1);
+        hval     b = immval(A2);
+        uint64_t q;
+        q = a / b;
+        A3 = F(q >> FBITS);
+        A4 = F(q);
+        A5 = F(a - q * b);
+        NEXT(6);
+
+      }
+
+      case 27:                                 /* syscall cont op arg1 arg2 */
+        ob = (word *)R[0];
+        R[0] = IFALSE;
+        R[3] = A1;
+        R[4] = A0;
+        R[5] = A2;
+        R[6] = A3;
+        acc = 4;
+        if (ticker > 10)
+          bank = ticker;    /* deposit remaining ticks for return to thread */
+        goto apply;
+      case 28: {                                            /* sizeb obj to */
+        word ob = A0;
+        if (immediatep(ob)) {
+
+          A1 = IFALSE;
+
+        } else {
+
+          word hdr = header(ob);
+          A1 = rawp(hdr) ? F(payl_len(hdr)) : IFALSE;
+
+        }
+
+        NEXT(2);
+
+      }
+
+      case 29:                                   /* fxior a b r, prechecked */
+        A2 = A0 | A1;
+        NEXT(3);
+      case 32: {                             /* bind tuple <n> <r0> .. <rn> */
+        word *tuple = (word *)R[*ip++];
+        word  hdr, pos = 1, n = *ip++ + 1;
+        assert(allocp(tuple), tuple, 32);
+        hdr = *tuple;
+        assert_not(rawp(hdr) || objsize(hdr) != n, tuple, 32);
+        while (--n)
+          R[*ip++] = tuple[pos++];
+        NEXT(0);
+
+      }
+
+      case 33:                                   /* fxxor a b r, prechecked */
+        A2 = A0 ^ (FMAX << IPOS & A1);            /* inherit A0's type info */
+        NEXT(3);
+      case 35: {                               /* listuple type size lst to */
+        uint  type = immval(A0);
+        hval  size = immval(A1) + 1;
+        word *lst = (word *)A2;
+        word *ob;
+        if (size < MAXOBJ) {
+
+          allocate(size, ob);
+          A3 = (word)ob;
+          *ob++ = make_header(size, type);
+          while (--size) {
+
+            assert(pairp(lst), lst, 35);
+            *ob++ = lst[1];
+            lst = (word *)lst[2];
+
+          }
+
+        } else {
+
+          A3 = IFALSE;
+
+        }
+
+        NEXT(4);
+
+      }
+
+      case 39: {                                             /* fx* a b l h */
+        uint64_t res = (uint64_t)immval(A0) * immval(A1);
+        A3 = F(res >> FBITS);
+        A2 = F(res);
+        NEXT(4);
+
+      }
+
+      case 41: {                                     /* car a r, or cdr d r */
+        word *ob = (word *)A0;
+        assert(pairp(ob), ob, op);
+        A1 = ob[op >> 6];
+        NEXT(2);
+
+      }
+
+      case 44:                                                /* less a b r */
+        A2 = prim_less(A0, A1);
+        NEXT(3);
+      case 45:                                               /* set t o v r */
+        A3 = prim_set(A0, A1, A2);
+        NEXT(4);
+      case 47:                                                 /* ref t o r */
+        A2 = prim_ref(A0, A1);
+        NEXT(3);
+      case 50: {                                       /* run thunk quantum */
+        word hdr;
+        ob = (word *)A0;
+        R[0] = R[3];
+        ticker = bank ? bank : immval(A1);
+        bank = 0;
+        assert(allocp(ob), ob, 50);
+        hdr = *ob;
+        if (is_type(hdr, TTHREAD)) {
+
+          hval pos = objsize(hdr) - 1;
+          word code = ob[pos];
+          acc = pos - 3;
+          while (--pos)
+            R[pos] = ob[pos];
+          ip = (byte *)code + W;
+
+        } else {
+
+          /* call a thunk with terminal continuation */
+          R[3] = IHALT;                  /* exit via R0 when the time comes */
+          acc = 1;
+          goto apply;
+
+        }
+
+        NEXT(0);
+
+      }
+
+      case 51:                                                /* cons a b r */
+        A2 = cons(A0, A1);
+        NEXT(3);
+      case 58: {                                          /* fx>> x n hi lo */
+        hval x = immval(A0);
+        uint n = immval(A1);
+        A2 = F(x >> n);
+        A3 = F(x << (FBITS - n));
+        NEXT(4);
+
+      }
+
+      case 59: /* lraw lst type r (FIXME: alloc amount testing compiler pass not
+                  in place yet) */
+        A2 = prim_lraw(A0, A1);
+        NEXT(3);
+      case 61: {                                             /* arity error */
+        word *t;
+        allocate(acc + 1, t);
+        *t = make_header(acc + 1, TTUPLE);
+        memcpy(t + 1, R + 3, acc * W);
+        error(61, ob, t);
+
+      }
+
+      case 62:                 /* set-ticker <val> <to> -> old ticker value */
+        /* ponder: it should be possible to remove this, if the only use is to
+         * yield control */
+        A1 = F(ticker);
+        ticker = immval(A0);
+        NEXT(2);
+      case 63:                             /* sys-prim op arg1 arg2 arg3 r1 */
+        A4 = prim_sys(A0, A1, A2, A3);
+        NEXT(5);
+      default:
+        error(256, F(op), IFALSE);           /* report unimplemented opcode */
+
+    }
+
+  }
+
+super_dispatch:                                   /* run macro instructions */
+  switch (op) {
+
+    case 0:
+      if (acc == 2) {
+
+        {
+
+          word *ob = (word *)R[4];
+          hval  hdr;
+          assert(allocp(R[4]), R[4], IFALSE);
+          hdr = *ob;
+          assert_not(rawp(hdr) || objsize(hdr) != 5, ob, IFALSE);
+          R[5] = ob[1];
+          R[6] = ob[2];
+          R[7] = ob[3];
+          R[8] = ob[4];
+
+        }
+
+        R[9] = G(R[2], 2);
+        R[10] = G(R[1], 2);
+        R[11] = G(R[1], 3);
+        R[12] = G(R[1], 4);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[3];
+        fp[7] = R[8];
+        fp[6] = R[12];
+        fp[5] = R[11];
+        fp[4] = R[10];
+        fp[3] = R[5];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 9;
+        ob = (word *)R[9];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        R[11] = G(R[1], 8);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[11];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 9;
+        R[13] = F(0);
+        R[8] = R[4];
+        R[4] = R[5];
+        R[5] = R[13];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 2:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 6);
+          R[10] = G(R[1], 8);
+          *fp = make_header(8, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[7] = R[10];
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 8;
+          R[12] = G(R[1], 7);
+          R[7] = R[4];
+          R[4] = R[12];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[1], 6);
+          R[5] = G(R[1], 7);
+          R[6] = G(R[1], 8);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[7] = (word)fp;
+          fp += 4;
+          R[8] = G(R[1], 4);
+          R[5] = G(R[1], 5);
+          R[6] = R[4];
+          R[3] = R[7];
+          R[4] = R[8];
+          ob = (word *)R[6];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 3:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 4;
+        R[7] = G(R[1], 2);
+        R[5] = 128 * 508 + 258;
+        R[9] = R[4];
+        R[3] = R[6];
+        R[4] = R[7];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 4:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[8] = (word)fp;
+        fp += 4;
+        R[9] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[11] = R[5];
+        R[7] = R[4];
+        R[4] = R[3];
+        R[3] = R[8];
+        R[5] = R[9];
+        ob = (word *)R[11];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 5:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        R[8] = G(R[1], 3);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[8];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 4;
+        R[10] = R[5];
+        R[5] = R[4];
+        R[6] = R[7];
+        R[4] = R[10];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 6:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 4;
+        R[7] = G(R[1], 2);
+        R[8] = R[4];
+        R[4] = R[7];
+        ob = (word *)R[8];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 7:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 2);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[1], 3);
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 4;
+        R[5] = R[6];
+        R[6] = R[7];
+        ob = (word *)R[8];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 8:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 2);
+        R[9] = R[6];
+        R[6] = R[5];
+        R[5] = R[4];
+        R[4] = R[7];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 9:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[2] = R[3];
+        R[8] = (word)fp;
+        fp += 3;
+        R[9] = IFALSE;
+        R[10] = R[7];
+        R[11] = R[6];
+        R[6] = R[5];
+        R[3] = R[8];
+        R[7] = R[9];
+        R[5] = R[11];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 10:
+      if (acc == 1) {
+
+        {
+
+          word *ob = (word *)R[3];
+          hval  hdr;
+          assert(allocp(R[3]), R[3], IFALSE);
+          hdr = *ob;
+          assert_not(rawp(hdr) || objsize(hdr) != 4, ob, IFALSE);
+          R[4] = ob[1];
+          R[5] = ob[2];
+          R[6] = ob[3];
+
+        }
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 3);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[8];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 5;
+        R[4] = G(R[1], 2);
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 11:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[8] = (word)fp;
+        fp += 5;
+        R[9] = G(R[2], 4);
+        R[5] = INULL;
+        R[11] = R[4];
+        R[6] = R[3];
+        R[3] = R[8];
+        R[4] = R[9];
+        ob = (word *)R[11];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 12:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 2);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[6] = R[3];
+        fp[5] = R[5];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 7;
+        R[5] = F(0);
+        R[4] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 13:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 6);
+          R[5] = G(R[1], 2);
+          R[6] = INULL;
+          R[7] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = G(R[1], 2);
+          R[7] = R[4];
+          R[4] = R[10];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 14:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[3];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 7;
+        R[8] = R[5];
+        R[5] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 15:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[3];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[10] = (word)fp;
+        fp += 8;
+        R[9] = R[4];
+        R[5] = R[3];
+        R[4] = R[8];
+        R[3] = R[10];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 16:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 8;
+        R[11] = G(R[1], 2);
+        R[8] = R[4];
+        R[5] = R[7];
+        R[4] = R[11];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 17:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 6);
+        R[7] = G(R[1], 7);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[8] = (word)fp;
+        fp += 5;
+        R[9] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[6] = R[3];
+        R[7] = R[4];
+        R[3] = R[8];
+        R[4] = R[9];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 18:
+      if (acc == 4) {
+
+        if (R[5] == F(0)) {
+
+          R[7] = INULL;
+          ob = (word *)R[3];
+          R[3] = R[7];
+          acc = 1;
+
+        } else {
+
+          R[7] = G(R[1], 2);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[5] = R[3];
+          fp[4] = R[6];
+          fp[3] = R[5];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 6;
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 19:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        R[8] = G(R[1], 3);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[5] = R[8];
+        fp[4] = R[6];
+        fp[3] = R[4];
+        fp[2] = R[7];
+        R[9] = (word)fp;
+        fp += 6;
+        R[4] = R[5];
+        R[5] = R[9];
+        ob = (word *)R[5];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 20:
+      if (acc == 3) {
+
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 2);
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 4);
+        R[10] = G(R[1], 5);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[10];
+        fp[7] = R[4];
+        fp[6] = R[9];
+        fp[5] = R[3];
+        fp[4] = R[5];
+        fp[3] = R[8];
+        fp[2] = R[7];
+        R[3] = (word)fp;
+        fp += 9;
+        ob = (word *)R[6];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 21:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 7);
+          if (R[4] == INULL) {
+
+            R[5] = G(R[1], 8);
+            R[6] = G(R[1], 6);
+            R[7] = G(R[1], 3);
+            R[8] = G(R[1], 5);
+            *fp = make_header(6, TPROC);
+            fp[1] = G(R[2], 2);
+            fp[5] = R[8];
+            fp[4] = R[7];
+            fp[3] = R[4];
+            fp[2] = R[6];
+            R[3] = (word)fp;
+            fp += 6;
+            R[4] = G(R[1], 2);
+            ob = (word *)R[5];
+            acc = 3;
+
+          } else {
+
+            R[5] = G(R[1], 5);
+            R[6] = G(R[1], 4);
+            *fp = make_header(4, TPROC);
+            fp[1] = G(R[2], 3);
+            fp[3] = R[6];
+            fp[2] = R[5];
+            R[3] = (word)fp;
+            fp += 4;
+            ob = (word *)R[4];
+            acc = 1;
+
+          }
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 5);
+          R[6] = G(R[1], 6);
+          R[7] = G(R[1], 7);
+          R[8] = G(R[1], 8);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = G(R[1], 3);
+          R[5] = G(R[1], 2);
+          R[8] = R[4];
+          R[4] = R[10];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 22:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[8] = (word)fp;
+        fp += 5;
+        R[9] = G(R[1], 2);
+        R[5] = INULL;
+        R[6] = R[3];
+        R[7] = R[8];
+        R[3] = R[9];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 23:
+      if (acc == 5) {
+
+        if (R[4] == INULL) {
+
+          R[8] = G(R[1], 4);
+          R[9] = G(R[1], 2);
+          R[10] = G(R[1], 3);
+          *fp = make_header(6, TPROC);
+          fp[1] = G(R[2], 2);
+          fp[5] = R[3];
+          fp[4] = R[6];
+          fp[3] = R[10];
+          fp[2] = R[9];
+          R[3] = (word)fp;
+          fp += 6;
+          R[4] = R[5];
+          R[5] = R[8];
+          ob = (word *)R[5];
+          acc = 3;
+
+        } else {
+
+          R[8] = G(R[2], 3);
+          R[9] = G(R[1], 2);
+          R[10] = G(R[1], 3);
+          R[11] = G(R[1], 4);
+          *fp = make_header(10, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[9] = R[7];
+          fp[8] = R[3];
+          fp[7] = R[11];
+          fp[6] = R[4];
+          fp[5] = R[10];
+          fp[4] = R[5];
+          fp[3] = R[6];
+          fp[2] = R[9];
+          R[3] = (word)fp;
+          fp += 10;
+          ob = (word *)R[8];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 24:
+      if (acc == 1) {
+
+        {
+
+          word *ob = (word *)R[3];
+          hval  hdr;
+          assert(allocp(R[3]), R[3], IFALSE);
+          hdr = *ob;
+          assert_not(rawp(hdr) || objsize(hdr) != 5, ob, IFALSE);
+          R[4] = ob[1];
+          R[5] = ob[2];
+          R[6] = ob[3];
+          R[7] = ob[4];
+
+        }
+
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        R[11] = G(R[1], 7);
+        R[12] = G(R[1], 8);
+        R[13] = G(R[1], 9);
+        *fp = make_header(11, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[10] = R[13];
+        fp[9] = R[12];
+        fp[8] = R[11];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[5];
+        fp[3] = R[7];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 11;
+        R[4] = G(R[1], 3);
+        R[16] = G(R[1], 2);
+        R[10] = R[6];
+        R[5] = R[9];
+        R[6] = R[16];
+        ob = (word *)R[10];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 25:
+      if (acc == 5) {
+
+        R[8] = G(R[2], 2);
+        R[9] = G(R[1], 3);
+        R[10] = G(R[1], 4);
+        R[11] = G(R[1], 5);
+        R[12] = G(R[1], 6);
+        R[13] = G(R[1], 7);
+        R[14] = G(R[1], 8);
+        R[15] = G(R[1], 9);
+        R[16] = G(R[1], 10);
+        *fp = make_header(14, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[13] = R[16];
+        fp[12] = R[15];
+        fp[11] = R[4];
+        fp[10] = R[5];
+        fp[9] = R[6];
+        fp[8] = R[14];
+        fp[7] = R[13];
+        fp[6] = R[12];
+        fp[5] = R[11];
+        fp[4] = R[10];
+        fp[3] = R[3];
+        fp[2] = R[9];
+        R[3] = (word)fp;
+        fp += 14;
+        R[4] = G(R[1], 2);
+        R[5] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 26:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        *fp = make_header(5, 2);
+        fp[1] = R[3];
+        fp[2] = R[4];
+        fp[3] = R[5];
+        fp[4] = R[6];
+        R[4] = (word)fp;
+        fp += 5;
+        R[8] = G(R[2], 2);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        R[11] = G(R[1], 8);
+        R[12] = G(R[1], 9);
+        R[13] = G(R[1], 10);
+        R[14] = G(R[1], 11);
+        R[15] = G(R[1], 12);
+        R[16] = G(R[1], 13);
+        *fp = make_header(10, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[9] = R[16];
+        fp[8] = R[15];
+        fp[7] = R[14];
+        fp[6] = R[13];
+        fp[5] = R[12];
+        fp[4] = R[11];
+        fp[3] = R[10];
+        fp[2] = R[9];
+        R[3] = (word)fp;
+        fp += 10;
+        R[5] = G(R[1], 5);
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 27:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        R[11] = G(R[1], 8);
+        R[12] = G(R[1], 9);
+        *fp = make_header(11, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[10] = R[12];
+        fp[9] = R[11];
+        fp[8] = R[3];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 11;
+        R[7] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 28:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        R[8] = G(R[1], 7);
+        R[9] = G(R[1], 8);
+        R[10] = G(R[1], 9);
+        R[11] = G(R[1], 10);
+        *fp = make_header(10, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[9] = R[11];
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[12] = (word)fp;
+        fp += 10;
+        if (R[3] == IFALSE) {
+
+          R[3] = IFALSE;
+          ob = (word *)R[12];
+          acc = 1;
+
+        } else {
+
+          R[13] = G(R[2], 2);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[12];
+          fp[2] = R[7];
+          R[3] = (word)fp;
+          fp += 4;
+          R[4] = G(R[1], 2);
+          ob = (word *)R[13];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 29:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 7);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 6);
+          R[10] = G(R[1], 8);
+          *fp = make_header(8, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[7] = R[10];
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 8;
+          R[12] = G(R[1], 2);
+          R[7] = R[4];
+          R[4] = R[12];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 6);
+          R[6] = G(R[1], 7);
+          R[7] = G(R[1], 8);
+          R[8] = G(R[1], 9);
+          *fp = make_header(6, TPROC);
+          fp[1] = G(R[2], 4);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = G(R[1], 2);
+          R[7] = R[4];
+          R[4] = R[10];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 30:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 5);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 2);
+        R[9] = R[4];
+        R[4] = R[5];
+        R[5] = R[6];
+        R[6] = R[7];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 31:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[3];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 5;
+        R[8] = 128 * 0 + 258;
+        R[4] = R[5];
+        R[5] = R[8];
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 32:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 6;
+        R[5] = 128 * 2 + 258;
+        R[10] = R[4];
+        R[4] = R[6];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 33:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 4;
+        R[8] = G(R[2], 4);
+        R[9] = R[5];
+        R[5] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 34:
+      if (acc == 3) {
+
+        if (R[5] == F(0)) {
+
+          ob = (word *)R[3];
+          R[3] = R[4];
+          acc = 1;
+
+        } else {
+
+          R[6] = G(R[1], 2);
+          *fp = make_header(3, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[2] = R[3];
+          R[3] = (word)fp;
+          fp += 3;
+          ob = (word *)R[6];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 35:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = 128 * 18 + 258;
+        R[8] = R[4];
+        R[5] = R[3];
+        R[3] = R[6];
+        R[4] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 36:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = 128 * 2 + 258;
+        R[8] = R[4];
+        R[9] = R[5];
+        R[5] = R[3];
+        R[4] = R[6];
+        R[3] = R[9];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 37:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 6);
+          R[5] = G(R[1], 7);
+          *fp = make_header(3, TPROC);
+          fp[1] = G(R[2], 2);
+          fp[2] = R[5];
+          R[6] = (word)fp;
+          fp += 3;
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 4);
+          R[9] = G(R[1], 5);
+          R[10] = 128 * 1 + 258;
+          R[11] = R[4];
+          R[3] = R[6];
+          R[4] = R[7];
+          R[5] = R[8];
+          R[6] = R[9];
+          R[7] = R[10];
+          ob = (word *)R[11];
+          acc = 5;
+
+        } else {
+
+          R[4] = G(R[2], 3);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 6);
+          R[8] = G(R[1], 7);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[9] = (word)fp;
+          fp += 6;
+          R[10] = G(R[1], 3);
+          R[5] = G(R[1], 2);
+          R[12] = R[4];
+          R[6] = R[3];
+          R[3] = R[9];
+          R[4] = R[10];
+          ob = (word *)R[12];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 38:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[3];
+        fp[4] = R[5];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 6;
+        R[5] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 39:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[4];
+        fp[4] = R[3];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 8;
+        R[9] = R[5];
+        R[5] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 40:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[11] = (word)fp;
+        fp += 9;
+        R[5] = 128 * 0 + 258;
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[11];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 41:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        if (R[3] == R[4]) {
+
+          R[5] = G(R[1], 2);
+          {
+
+            word *ob = (word *)R[5];
+            hval  hdr;
+            assert(allocp(R[5]), R[5], IFALSE);
+            hdr = *ob;
+            assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+            R[6] = ob[1];
+            R[7] = ob[2];
+
+          }
+
+          R[8] = G(R[2], 3);
+          R[9] = G(R[1], 6);
+          R[10] = G(R[1], 7);
+          R[11] = G(R[1], 8);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[4] = R[11];
+          fp[3] = R[10];
+          fp[2] = R[9];
+          R[3] = (word)fp;
+          fp += 5;
+          R[4] = G(R[1], 5);
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[5] = G(R[2], 5);
+          if (R[3] == R[5]) {
+
+            R[6] = G(R[1], 2);
+            {
+
+              word *ob = (word *)R[6];
+              hval  hdr;
+              assert(allocp(R[6]), R[6], IFALSE);
+              hdr = *ob;
+              assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+              R[7] = ob[1];
+              R[8] = ob[2];
+
+            }
+
+            R[7] = G(R[1], 4);
+            R[3] = G(R[1], 8);
+            R[4] = G(R[1], 5);
+            R[5] = G(R[1], 7);
+            R[6] = G(R[1], 3);
+            ob = (word *)R[7];
+            acc = 5;
+
+          } else {
+
+            R[6] = G(R[2], 6);
+            if (R[3] == R[6]) {
+
+              R[7] = G(R[1], 2);
+              {
+
+                word *ob = (word *)R[7];
+                hval  hdr;
+                assert(allocp(R[7]), R[7], IFALSE);
+                hdr = *ob;
+                assert_not(rawp(hdr) || objsize(hdr) != 5, ob, IFALSE);
+                R[8] = ob[1];
+                R[9] = ob[2];
+                R[10] = ob[3];
+                R[11] = ob[4];
+
+              }
+
+              R[12] = G(R[2], 3);
+              R[13] = G(R[1], 6);
+              R[14] = G(R[1], 7);
+              R[15] = G(R[1], 8);
+              *fp = make_header(7, TCLOS);
+              fp[1] = G(R[2], 7);
+              fp[6] = R[15];
+              fp[5] = R[14];
+              fp[4] = R[13];
+              fp[3] = R[9];
+              fp[2] = R[11];
+              R[3] = (word)fp;
+              fp += 7;
+              R[4] = G(R[1], 5);
+              R[5] = R[10];
+              ob = (word *)R[12];
+              acc = 3;
+
+            } else {
+
+              R[5] = G(R[1], 2);
+              R[8] = G(R[2], 8);
+              R[3] = G(R[1], 8);
+              R[4] = G(R[2], 9);
+              ob = (word *)R[8];
+              acc = 3;
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 42:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 4);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 2);
+        *fp = make_header(5, 2);
+        fp[1] = R[5];
+        fp[2] = R[6];
+        fp[3] = R[4];
+        fp[4] = R[7];
+        R[6] = (word)fp;
+        fp += 5;
+        R[9] = G(R[2], 2);
+        R[10] = G(R[1], 6);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[10];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 4;
+        R[4] = G(R[1], 5);
+        R[5] = G(R[1], 4);
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 43:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 4);
+        *fp = make_header(3, 2);
+        fp[1] = R[5];
+        fp[2] = R[4];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 4);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[8];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 4;
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        ob = (word *)R[7];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 44:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 4;
+        R[5] = 128 * 6 + 258;
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 45:
+      if (acc == 2) {
+
+        if (R[4] == F(0)) {
+
+          R[5] = G(R[2], 2);
+          R[4] = G(R[1], 2);
+          R[7] = G(R[1], 3);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[7];
+          fp[3] = R[4];
+          fp[2] = R[3];
+          R[3] = (word)fp;
+          fp += 5;
+          ob = (word *)R[5];
+          acc = 2;
+
+        } else {
+
+          R[5] = 128 * 0 + 258;
+          if (R[4] == R[5]) {
+
+            R[6] = G(R[2], 2);
+            R[4] = G(R[1], 2);
+            R[8] = G(R[1], 3);
+            *fp = make_header(5, TCLOS);
+            fp[1] = G(R[2], 4);
+            fp[4] = R[8];
+            fp[3] = R[4];
+            fp[2] = R[3];
+            R[3] = (word)fp;
+            fp += 5;
+            ob = (word *)R[6];
+            acc = 2;
+
+          } else {
+
+            R[6] = 128 * 2 + 258;
+            if (R[4] == R[6]) {
+
+              R[7] = G(R[2], 5);
+              R[8] = G(R[1], 2);
+              R[9] = G(R[1], 3);
+              *fp = make_header(4, TCLOS);
+              fp[1] = G(R[2], 6);
+              fp[3] = R[9];
+              fp[2] = R[8];
+              R[10] = (word)fp;
+              fp += 4;
+              R[4] = R[3];
+              R[3] = R[10];
+              ob = (word *)R[7];
+              acc = 2;
+
+            } else {
+
+              R[7] = G(R[2], 7);
+              R[8] = G(R[1], 2);
+              R[9] = G(R[1], 3);
+              *fp = make_header(5, TCLOS);
+              fp[1] = G(R[2], 8);
+              fp[4] = R[9];
+              fp[3] = R[3];
+              fp[2] = R[8];
+              R[3] = (word)fp;
+              fp += 5;
+              R[4] = F(0);
+              R[5] = INULL;
+              ob = (word *)R[7];
+              acc = 3;
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 46:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[4];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 6;
+        R[4] = R[6];
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 47:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[3];
+        R[7] = (word)fp;
+        fp += 4;
+        R[8] = G(R[1], 2);
+        R[9] = G(R[1], 4);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[2] = R[9];
+        R[6] = (word)fp;
+        fp += 3;
+        R[9] = R[5];
+        R[5] = R[4];
+        R[3] = R[7];
+        R[4] = R[8];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 48:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[4];
+        R[8] = (word)fp;
+        fp += 5;
+        R[4] = R[3];
+        R[3] = R[8];
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 49:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 4);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[3];
+        R[7] = (word)fp;
+        fp += 4;
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[2] = R[4];
+        R[6] = (word)fp;
+        fp += 3;
+        R[11] = R[5];
+        R[3] = R[7];
+        R[4] = R[8];
+        R[5] = R[9];
+        ob = (word *)R[11];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 50:
+      if (acc == 4) {
+
+        if (R[4] == F(0)) {
+
+          ob = (word *)R[3];
+          R[3] = R[5];
+          acc = 1;
+
+        } else {
+
+          R[7] = 128 * 0 + 258;
+          {
+
+            hval r = immval(R[4]) - immval(R[7]);
+            R[9] = F(r >> FBITS & 1);
+            R[8] = F(r);
+
+          }
+
+          R[10] = G(R[1], 2);
+          *fp = make_header(5, TPROC);
+          fp[1] = G(R[1], 3);
+          fp[4] = R[6];
+          fp[3] = R[3];
+          fp[2] = R[8];
+          R[3] = (word)fp;
+          fp += 5;
+          R[4] = 128 * 192 + 258;
+          ob = (word *)R[10];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 51:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[2] = R[3];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = 128 * 20 + 258;
+        R[8] = R[5];
+        R[3] = R[6];
+        R[5] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 52:
+      if (acc == 2) {
+
+        if (R[4] == F(0)) {
+
+          R[5] = G(R[1], 2);
+          R[4] = 128 * 252 + 258;
+          ob = (word *)R[5];
+          acc = 2;
+
+        } else {
+
+          R[5] = 128 * 0 + 258;
+          if (R[4] == R[5]) {
+
+            R[6] = G(R[1], 2);
+            R[4] = 128 * 254 + 258;
+            ob = (word *)R[6];
+            acc = 2;
+
+          } else {
+
+            R[6] = 128 * 2 + 258;
+            if (R[4] == R[6]) {
+
+              R[7] = G(R[1], 2);
+              R[4] = 128 * 508 + 258;
+              ob = (word *)R[7];
+              acc = 2;
+
+            } else {
+
+              R[7] = 128 * 4 + 258;
+              if (R[4] == R[7]) {
+
+                R[8] = G(R[1], 2);
+                R[4] = 128 * 510 + 258;
+                ob = (word *)R[8];
+                acc = 2;
+
+              } else {
+
+                R[8] = 128 * 6 + 258;
+                if (R[4] == R[8]) {
+
+                  R[9] = G(R[1], 2);
+                  R[4] = G(R[2], 2);
+                  ob = (word *)R[9];
+                  acc = 2;
+
+                } else {
+
+                  R[9] = 128 * 8 + 258;
+                  if (R[4] == R[9]) {
+
+                    R[10] = G(R[1], 2);
+                    R[4] = G(R[2], 3);
+                    ob = (word *)R[10];
+                    acc = 2;
+
+                  } else {
+
+                    R[10] = 128 * 10 + 258;
+                    if (R[4] == R[10]) {
+
+                      R[11] = G(R[1], 2);
+                      R[4] = G(R[2], 4);
+                      ob = (word *)R[11];
+                      acc = 2;
+
+                    } else {
+
+                      R[11] = 128 * 12 + 258;
+                      if (R[4] == R[11]) {
+
+                        R[12] = G(R[1], 2);
+                        R[4] = G(R[2], 5);
+                        ob = (word *)R[12];
+                        acc = 2;
+
+                      } else {
+
+                        R[12] = 128 * 14 + 258;
+                        if (R[4] == R[12]) {
+
+                          R[13] = G(R[1], 2);
+                          R[4] = G(R[2], 6);
+                          ob = (word *)R[13];
+                          acc = 2;
+
+                        } else {
+
+                          R[13] = 128 * 16 + 258;
+                          if (R[4] == R[13]) {
+
+                            R[14] = G(R[1], 2);
+                            R[4] = G(R[2], 7);
+                            ob = (word *)R[14];
+                            acc = 2;
+
+                          } else {
+
+                            R[14] = G(R[2], 8);
+                            R[15] = G(R[1], 2);
+                            *fp = make_header(3, TPROC);
+                            fp[1] = G(R[2], 9);
+                            fp[2] = R[15];
+                            R[16] = (word)fp;
+                            fp += 3;
+                            R[5] = G(R[2], 10);
+                            R[4] = R[3];
+                            R[3] = R[16];
+                            ob = (word *)R[14];
+                            acc = 3;
+
+                          }
+
+                        }
+
+                      }
+
+                    }
+
+                  }
+
+                }
+
+              }
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 53:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[7] = R[4];
+        R[4] = R[5];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 54:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[8] = (word)fp;
+        fp += 6;
+        if (R[3] == IFALSE) {
+
+          R[3] = G(R[1], 2);
+          ob = (word *)R[8];
+          acc = 1;
+
+        } else {
+
+          R[9] = G(R[2], 2);
+          R[4] = G(R[1], 2);
+          R[3] = R[8];
+          ob = (word *)R[9];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 55:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[2] = R[3];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = 128 * 38 + 258;
+        R[8] = R[5];
+        R[3] = R[6];
+        R[5] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 56:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 4);
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 2);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[5];
+        fp[3] = R[7];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 5;
+        R[5] = 128 * 0 + 258;
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 57:
+      if (acc == 5) {
+
+        if (R[5] == F(0)) {
+
+          R[7] = R[3];
+          R[3] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[8] = G(R[1], 2);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[5] = R[7];
+          fp[4] = R[3];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          ob = (word *)R[8];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 58:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 7;
+        R[4] = G(R[1], 2);
+        R[11] = 128 * 0 + 258;
+        R[8] = R[5];
+        R[5] = R[11];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 59:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[7] = INULL;
+        R[10] = R[6];
+        R[11] = R[5];
+        R[5] = R[3];
+        R[6] = R[7];
+        R[7] = R[4];
+        R[4] = R[10];
+        R[3] = R[11];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 60:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[2] = R[3];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = 128 * 62 + 258;
+        R[8] = R[5];
+        R[3] = R[6];
+        R[5] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 61:
+      if (acc == 1) {
+
+        if (R[3] == F(0)) {
+
+          R[4] = G(R[1], 3);
+          R[3] = IFALSE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[5];
+          fp[2] = R[3];
+          R[3] = (word)fp;
+          fp += 4;
+          R[7] = G(R[1], 2);
+          R[8] = R[4];
+          R[4] = R[7];
+          ob = (word *)R[8];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 62:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        if (R[4] == R[3]) {
+
+          R[5] = G(R[1], 3);
+          R[3] = IFALSE;
+          ob = (word *)R[5];
+          acc = 1;
+
+        } else {
+
+          R[5] = G(R[1], 3);
+          R[3] = G(R[1], 2);
+          ob = (word *)R[5];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 63:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        if (R[3] == R[4]) {
+
+          R[5] = G(R[1], 2);
+          {
+
+            word *ob = (word *)R[5];
+            hval  hdr;
+            assert(allocp(R[5]), R[5], IFALSE);
+            hdr = *ob;
+            assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+            R[6] = ob[1];
+            R[7] = ob[2];
+
+          }
+
+          R[8] = G(R[2], 3);
+          R[3] = G(R[1], 4);
+          R[5] = G(R[1], 3);
+          R[4] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[5] = G(R[2], 4);
+          if (R[3] == R[5]) {
+
+            R[6] = G(R[1], 2);
+            {
+
+              word *ob = (word *)R[6];
+              hval  hdr;
+              assert(allocp(R[6]), R[6], IFALSE);
+              hdr = *ob;
+              assert_not(rawp(hdr) || objsize(hdr) != 5, ob, IFALSE);
+              R[7] = ob[1];
+              R[8] = ob[2];
+              R[9] = ob[3];
+              R[10] = ob[4];
+
+            }
+
+            R[11] = G(R[2], 5);
+            R[12] = G(R[1], 4);
+            *fp = make_header(5, TCLOS);
+            fp[1] = G(R[2], 6);
+            fp[4] = R[12];
+            fp[3] = R[8];
+            fp[2] = R[9];
+            R[3] = (word)fp;
+            fp += 5;
+            R[5] = G(R[1], 3);
+            R[4] = R[10];
+            ob = (word *)R[11];
+            acc = 3;
+
+          } else {
+
+            R[6] = G(R[2], 7);
+            if (R[3] == R[6]) {
+
+              R[7] = G(R[1], 2);
+              {
+
+                word *ob = (word *)R[7];
+                hval  hdr;
+                assert(allocp(R[7]), R[7], IFALSE);
+                hdr = *ob;
+                assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+                R[8] = ob[1];
+                R[9] = ob[2];
+
+              }
+
+              R[10] = G(R[2], 3);
+              R[3] = G(R[1], 4);
+              R[5] = G(R[1], 3);
+              R[4] = R[9];
+              ob = (word *)R[10];
+              acc = 3;
+
+            } else {
+
+              R[7] = G(R[2], 8);
+              R[3] = G(R[1], 4);
+              R[4] = G(R[2], 9);
+              R[5] = G(R[1], 2);
+              ob = (word *)R[7];
+              acc = 3;
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 64:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 6);
+        R[7] = G(R[1], 7);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[1], 2);
+        fp[4] = R[5];
+        fp[3] = R[6];
+        fp[2] = R[7];
+        R[8] = (word)fp;
+        fp += 5;
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[7];
+        R[9] = (word)fp;
+        fp += 5;
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[1], 4);
+        fp[4] = R[7];
+        fp[3] = R[5];
+        fp[2] = R[6];
+        R[10] = (word)fp;
+        fp += 5;
+        R[5] = INULL;
+        R[6] = R[5];
+        ob = (word *)R[10];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 65:
+      if (acc == 7) {
+
+        if (R[4] == INULL) {
+
+          if (R[5] == INULL) {
+
+            R[10] = G(R[1], 2);
+            R[4] = R[6];
+            ob = (word *)R[10];
+            acc = 2;
+
+          } else {
+
+            R[10] = G(R[1], 3);
+            *fp = make_header(3, TCLOS);
+            fp[1] = G(R[1], 4);
+            fp[2] = R[3];
+            R[3] = (word)fp;
+            fp += 3;
+            R[4] = G(R[1], 5);
+            ob = (word *)R[10];
+            acc = 4;
+
+          }
+
+        } else {
+
+          R[10] = G(R[1], 6);
+          *fp = make_header(9, TCLOS);
+          fp[1] = G(R[1], 7);
+          fp[8] = R[8];
+          fp[7] = R[3];
+          fp[6] = R[4];
+          fp[5] = R[7];
+          fp[4] = R[9];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 9;
+          ob = (word *)R[10];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 66:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 6);
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 8);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 3);
+          R[10] = G(R[1], 7);
+          R[11] = G(R[1], 4);
+          *fp = make_header(9, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[8] = R[11];
+          fp[7] = R[10];
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 9;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          if (R[4] == INULL) {
+
+            R[5] = G(R[1], 8);
+            R[6] = G(R[1], 7);
+            R[7] = G(R[1], 6);
+            R[8] = INULL;
+            R[9] = G(R[1], 3);
+            R[10] = G(R[1], 5);
+            R[11] = G(R[1], 4);
+            R[12] = R[8];
+            R[8] = R[5];
+            R[3] = R[6];
+            R[4] = R[7];
+            R[6] = R[9];
+            R[7] = R[10];
+            R[9] = R[11];
+            R[5] = R[12];
+            ob = (word *)R[8];
+            acc = 7;
+
+          } else {
+
+            R[5] = G(R[2], 4);
+            R[6] = G(R[1], 4);
+            R[7] = G(R[1], 5);
+            R[8] = G(R[1], 6);
+            R[9] = G(R[1], 7);
+            R[10] = G(R[1], 8);
+            *fp = make_header(7, TPROC);
+            fp[1] = G(R[2], 5);
+            fp[6] = R[10];
+            fp[5] = R[9];
+            fp[4] = R[8];
+            fp[3] = R[7];
+            fp[2] = R[6];
+            R[3] = (word)fp;
+            fp += 7;
+            R[12] = G(R[2], 6);
+            R[6] = G(R[1], 3);
+            R[9] = R[5];
+            R[5] = R[4];
+            R[4] = R[12];
+            ob = (word *)R[9];
+            acc = 4;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 67:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 6);
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 4);
+        R[7] = INULL;
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 2);
+        R[12] = R[5];
+        R[5] = R[7];
+        R[7] = R[8];
+        R[8] = R[4];
+        R[4] = R[6];
+        R[6] = R[3];
+        R[3] = R[12];
+        ob = (word *)R[8];
+        acc = 7;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 68:
+      if (acc == 7) {
+
+        if (R[4] == INULL) {
+
+          R[10] = G(R[1], 2);
+          *fp = make_header(3, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[2] = R[3];
+          R[3] = (word)fp;
+          fp += 3;
+          R[4] = G(R[1], 4);
+          ob = (word *)R[10];
+          acc = 4;
+
+        } else {
+
+          R[10] = G(R[1], 5);
+          *fp = make_header(9, TCLOS);
+          fp[1] = G(R[1], 6);
+          fp[8] = R[7];
+          fp[7] = R[3];
+          fp[6] = R[6];
+          fp[5] = R[8];
+          fp[4] = R[9];
+          fp[3] = R[5];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 9;
+          ob = (word *)R[10];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 69:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 8);
+          R[9] = G(R[1], 6);
+          R[10] = G(R[1], 7);
+          R[11] = G(R[1], 5);
+          *fp = make_header(9, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[8] = R[11];
+          fp[7] = R[10];
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 9;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 6);
+          R[10] = G(R[1], 7);
+          R[11] = G(R[1], 8);
+          *fp = make_header(10, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[9] = R[11];
+          fp[8] = R[10];
+          fp[7] = R[3];
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 10;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 70:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        R[11] = G(R[1], 8);
+        R[12] = G(R[1], 9);
+        *fp = make_header(11, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[10] = R[12];
+        fp[9] = R[11];
+        fp[8] = R[3];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 11;
+        R[7] = R[4];
+        R[4] = R[5];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 71:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        R[11] = G(R[1], 9);
+        R[12] = G(R[1], 10);
+        *fp = make_header(11, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[10] = R[12];
+        fp[9] = R[11];
+        fp[8] = R[10];
+        fp[7] = R[3];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 11;
+        R[14] = G(R[1], 2);
+        R[7] = R[4];
+        R[4] = R[14];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 72:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        R[11] = G(R[1], 9);
+        R[12] = G(R[1], 10);
+        *fp = make_header(10, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[9] = R[12];
+        fp[8] = R[11];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[13] = (word)fp;
+        fp += 10;
+        R[5] = G(R[1], 2);
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[13];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 73:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 9);
+        R[5] = G(R[1], 8);
+        R[6] = G(R[1], 7);
+        R[7] = G(R[1], 6);
+        R[8] = G(R[1], 5);
+        R[9] = INULL;
+        R[10] = G(R[1], 4);
+        R[11] = G(R[1], 3);
+        R[12] = G(R[1], 2);
+        R[15] = R[10];
+        R[10] = R[4];
+        R[4] = R[6];
+        R[6] = R[8];
+        R[8] = R[3];
+        R[3] = R[5];
+        R[5] = R[7];
+        R[7] = R[9];
+        R[9] = R[15];
+        ob = (word *)R[10];
+        acc = 10;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 74:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 8);
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 2);
+          R[8] = G(R[1], 7);
+          R[9] = G(R[1], 4);
+          *fp = make_header(7, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 7;
+          R[11] = G(R[2], 4);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 6);
+          R[9] = R[4];
+          R[4] = R[11];
+          ob = (word *)R[9];
+          acc = 4;
+
+        } else {
+
+          R[4] = G(R[2], 5);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 6);
+          R[10] = G(R[1], 7);
+          R[11] = G(R[1], 8);
+          *fp = make_header(9, TCLOS);
+          fp[1] = G(R[2], 6);
+          fp[8] = R[11];
+          fp[7] = R[10];
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 9;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 75:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        *fp = make_header(8, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[11] = (word)fp;
+        fp += 8;
+        R[5] = G(R[1], 2);
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[11];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 76:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 7);
+        R[5] = G(R[1], 6);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 2);
+        R[12] = R[6];
+        R[13] = R[5];
+        R[5] = R[3];
+        R[6] = R[7];
+        R[7] = R[8];
+        R[8] = R[4];
+        R[4] = R[12];
+        R[3] = R[13];
+        ob = (word *)R[8];
+        acc = 7;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 77:
+      if (acc == 10) {
+
+        if (R[4] == INULL) {
+
+          R[13] = G(R[1], 2);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[3] = R[3];
+          fp[2] = R[9];
+          R[3] = (word)fp;
+          fp += 4;
+          R[4] = R[7];
+          R[5] = R[8];
+          ob = (word *)R[13];
+          acc = 3;
+
+        } else {
+
+          R[13] = G(R[1], 4);
+          *fp = make_header(12, TCLOS);
+          fp[1] = G(R[1], 5);
+          fp[11] = R[10];
+          fp[10] = R[3];
+          fp[9] = R[5];
+          fp[8] = R[6];
+          fp[7] = R[8];
+          fp[6] = R[9];
+          fp[5] = R[11];
+          fp[4] = R[12];
+          fp[3] = R[7];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 12;
+          ob = (word *)R[13];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 78:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 8);
+        if (R[3] == R[4]) {
+
+          R[5] = G(R[2], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 9);
+          R[8] = G(R[1], 2);
+          R[9] = G(R[1], 6);
+          R[10] = G(R[1], 5);
+          R[11] = G(R[1], 11);
+          R[12] = G(R[1], 10);
+          R[13] = G(R[1], 4);
+          *fp = make_header(11, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[10] = R[13];
+          fp[9] = R[12];
+          fp[8] = R[11];
+          fp[7] = R[10];
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[4];
+          fp[2] = R[6];
+          R[3] = (word)fp;
+          fp += 11;
+          R[4] = G(R[1], 7);
+          ob = (word *)R[5];
+          acc = 2;
+
+        } else {
+
+          R[5] = 128 * 182 + 258;
+          if (R[3] == R[5]) {
+
+            R[6] = G(R[2], 2);
+            R[7] = G(R[1], 2);
+            R[8] = G(R[1], 3);
+            R[9] = G(R[1], 4);
+            R[10] = G(R[1], 5);
+            R[11] = G(R[1], 6);
+            R[12] = G(R[1], 7);
+            R[13] = G(R[1], 9);
+            R[14] = G(R[1], 10);
+            R[15] = G(R[1], 11);
+            *fp = make_header(12, TCLOS);
+            fp[1] = G(R[2], 4);
+            fp[11] = R[15];
+            fp[10] = R[14];
+            fp[9] = R[13];
+            fp[8] = R[4];
+            fp[7] = R[12];
+            fp[6] = R[11];
+            fp[5] = R[10];
+            fp[4] = R[9];
+            fp[3] = R[8];
+            fp[2] = R[7];
+            R[3] = (word)fp;
+            fp += 12;
+            R[4] = R[7];
+            ob = (word *)R[6];
+            acc = 2;
+
+          } else {
+
+            R[6] = G(R[2], 5);
+            R[7] = G(R[1], 2);
+            R[8] = G(R[1], 3);
+            R[9] = G(R[1], 4);
+            R[10] = G(R[1], 5);
+            R[11] = G(R[1], 6);
+            R[12] = G(R[1], 7);
+            R[13] = G(R[1], 9);
+            R[14] = G(R[1], 10);
+            R[15] = G(R[1], 11);
+            *fp = make_header(12, TCLOS);
+            fp[1] = G(R[2], 6);
+            fp[11] = R[15];
+            fp[10] = R[14];
+            fp[9] = R[13];
+            fp[8] = R[4];
+            fp[7] = R[12];
+            fp[6] = R[11];
+            fp[5] = R[10];
+            fp[4] = R[9];
+            fp[3] = R[8];
+            fp[2] = R[7];
+            R[16] = (word)fp;
+            fp += 12;
+            R[4] = R[3];
+            R[3] = R[16];
+            ob = (word *)R[6];
+            acc = 2;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 79:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 6);
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 11);
+          R[8] = G(R[1], 2);
+          R[9] = G(R[1], 10);
+          R[10] = G(R[1], 4);
+          *fp = make_header(8, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[7] = R[10];
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 8;
+          R[12] = G(R[1], 3);
+          R[5] = G(R[1], 7);
+          R[8] = R[4];
+          R[4] = R[12];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 6);
+          R[10] = G(R[1], 7);
+          R[11] = G(R[1], 8);
+          R[12] = G(R[1], 9);
+          R[13] = G(R[1], 10);
+          R[14] = G(R[1], 11);
+          *fp = make_header(12, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[11] = R[14];
+          fp[10] = R[13];
+          fp[9] = R[12];
+          fp[8] = R[11];
+          fp[7] = R[10];
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 12;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 80:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        *fp = make_header(7, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[10] = (word)fp;
+        fp += 7;
+        R[11] = G(R[2], 4);
+        R[6] = G(R[1], 2);
+        R[9] = R[4];
+        R[5] = R[3];
+        R[3] = R[10];
+        R[4] = R[11];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 81:
+      if (acc == 1) {
+
+        if (R[3] == INULL) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          R[9] = G(R[1], 7);
+          R[10] = G(R[1], 8);
+          R[11] = G(R[1], 9);
+          R[12] = G(R[1], 10);
+          R[13] = G(R[1], 11);
+          *fp = make_header(11, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[10] = R[13];
+          fp[9] = R[12];
+          fp[8] = R[11];
+          fp[7] = R[10];
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 11;
+          R[15] = G(R[1], 2);
+          R[7] = R[4];
+          R[4] = R[15];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 6);
+          R[10] = G(R[1], 7);
+          R[11] = G(R[1], 8);
+          R[12] = G(R[1], 9);
+          R[13] = G(R[1], 10);
+          R[14] = G(R[1], 11);
+          *fp = make_header(12, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[11] = R[14];
+          fp[10] = R[13];
+          fp[9] = R[12];
+          fp[8] = R[11];
+          fp[7] = R[10];
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 12;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 82:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 6);
+          R[10] = G(R[1], 7);
+          R[11] = G(R[1], 8);
+          R[12] = G(R[1], 9);
+          R[13] = G(R[1], 10);
+          R[14] = G(R[1], 11);
+          *fp = make_header(12, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[11] = R[14];
+          fp[10] = R[13];
+          fp[9] = R[12];
+          fp[8] = R[11];
+          fp[7] = R[10];
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 12;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 6);
+          R[10] = G(R[1], 7);
+          R[11] = G(R[1], 8);
+          R[12] = G(R[1], 9);
+          R[13] = G(R[1], 10);
+          R[14] = G(R[1], 11);
+          *fp = make_header(12, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[11] = R[14];
+          fp[10] = R[13];
+          fp[9] = R[12];
+          fp[8] = R[11];
+          fp[7] = R[10];
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 12;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 83:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        R[11] = G(R[1], 9);
+        R[12] = G(R[1], 10);
+        R[13] = G(R[1], 11);
+        *fp = make_header(12, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[11] = R[13];
+        fp[10] = R[12];
+        fp[9] = R[11];
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 12;
+        R[15] = 128 * 182 + 258;
+        R[5] = G(R[1], 2);
+        R[8] = R[4];
+        R[4] = R[15];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 84:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        R[11] = G(R[1], 9);
+        R[12] = G(R[1], 10);
+        R[13] = G(R[1], 11);
+        *fp = make_header(11, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[10] = R[13];
+        fp[9] = R[12];
+        fp[8] = R[11];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[14] = (word)fp;
+        fp += 11;
+        R[15] = G(R[1], 2);
+        R[8] = R[4];
+        R[5] = R[3];
+        R[3] = R[14];
+        R[4] = R[15];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 85:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        R[11] = G(R[1], 9);
+        R[12] = G(R[1], 10);
+        R[13] = G(R[1], 11);
+        *fp = make_header(12, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[11] = R[13];
+        fp[10] = R[12];
+        fp[9] = R[3];
+        fp[8] = R[11];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 12;
+        R[15] = G(R[1], 2);
+        R[7] = R[4];
+        R[4] = R[15];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 86:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        R[11] = G(R[1], 9);
+        R[12] = G(R[1], 10);
+        R[13] = G(R[1], 11);
+        *fp = make_header(11, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[10] = R[13];
+        fp[9] = R[12];
+        fp[8] = R[11];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[14] = (word)fp;
+        fp += 11;
+        R[5] = G(R[1], 2);
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[14];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 87:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        R[11] = G(R[1], 9);
+        R[12] = G(R[1], 10);
+        *fp = make_header(11, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[10] = R[12];
+        fp[9] = R[11];
+        fp[8] = R[3];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 11;
+        R[14] = 128 * 182 + 258;
+        R[5] = G(R[1], 2);
+        R[8] = R[4];
+        R[4] = R[14];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 88:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 10);
+        R[5] = G(R[1], 9);
+        R[6] = G(R[1], 8);
+        R[7] = G(R[1], 7);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 4);
+        R[11] = G(R[1], 3);
+        R[12] = G(R[1], 2);
+        R[15] = R[6];
+        R[16] = R[5];
+        R[5] = R[7];
+        R[7] = R[3];
+        R[6] = R[8];
+        R[8] = R[9];
+        R[9] = R[10];
+        R[10] = R[4];
+        R[4] = R[15];
+        R[3] = R[16];
+        ob = (word *)R[10];
+        acc = 10;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 89:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        R[11] = G(R[1], 9);
+        R[12] = G(R[1], 10);
+        *fp = make_header(11, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[10] = R[12];
+        fp[9] = R[11];
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[3];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 11;
+        R[14] = G(R[1], 2);
+        R[7] = R[4];
+        R[4] = R[14];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 90:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 5);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        *fp = make_header(5, 2);
+        fp[1] = R[4];
+        fp[2] = R[5];
+        fp[3] = R[3];
+        fp[4] = R[6];
+        R[7] = (word)fp;
+        fp += 5;
+        R[8] = G(R[1], 5);
+        if (R[8] == INULL) {
+
+          R[9] = G(R[2], 2);
+          R[10] = G(R[1], 6);
+          R[11] = G(R[1], 7);
+          R[12] = G(R[1], 8);
+          R[13] = G(R[1], 9);
+          R[14] = G(R[1], 10);
+          *fp = make_header(8, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[7] = R[14];
+          fp[6] = R[13];
+          fp[5] = R[12];
+          fp[4] = R[11];
+          fp[3] = R[7];
+          fp[2] = R[10];
+          R[3] = (word)fp;
+          fp += 8;
+          R[4] = G(R[1], 4);
+          ob = (word *)R[9];
+          acc = 2;
+
+        } else {
+
+          R[9] = G(R[2], 2);
+          R[10] = G(R[1], 6);
+          R[11] = G(R[1], 7);
+          R[12] = G(R[1], 8);
+          R[13] = G(R[1], 9);
+          R[14] = G(R[1], 10);
+          *fp = make_header(9, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[8] = R[14];
+          fp[7] = R[13];
+          fp[6] = R[12];
+          fp[5] = R[11];
+          fp[4] = R[7];
+          fp[3] = R[10];
+          fp[2] = R[8];
+          R[3] = (word)fp;
+          fp += 9;
+          R[4] = G(R[1], 4);
+          ob = (word *)R[9];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 91:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[3];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 9;
+        R[12] = G(R[1], 2);
+        R[7] = R[4];
+        R[4] = R[12];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 92:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 4);
+        *fp = make_header(3, 2);
+        fp[1] = R[4];
+        fp[2] = R[3];
+        R[5] = (word)fp;
+        fp += 3;
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        R[11] = G(R[1], 7);
+        R[12] = G(R[1], 8);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[12];
+        fp[6] = R[11];
+        fp[5] = R[10];
+        fp[4] = R[9];
+        fp[3] = R[8];
+        fp[2] = R[7];
+        R[3] = (word)fp;
+        fp += 8;
+        R[14] = G(R[1], 2);
+        R[4] = R[5];
+        R[5] = R[14];
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 93:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        R[8] = G(R[1], 7);
+        *fp = make_header(7, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[10] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[8] = R[4];
+        R[4] = R[10];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 94:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 6);
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 4);
+        R[7] = INULL;
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 2);
+        R[12] = R[5];
+        R[5] = R[7];
+        R[7] = R[8];
+        R[8] = R[9];
+        R[9] = R[4];
+        R[4] = R[6];
+        R[6] = R[3];
+        R[3] = R[12];
+        ob = (word *)R[9];
+        acc = 7;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 95:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 2);
+        R[12] = R[8];
+        R[8] = R[9];
+        R[9] = R[7];
+        R[7] = R[12];
+        ob = (word *)R[9];
+        acc = 7;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 96:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 2);
+        R[12] = R[8];
+        R[8] = R[7];
+        R[7] = R[12];
+        ob = (word *)R[8];
+        acc = 7;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 97:
+      if (acc == 7) {
+
+        R[10] = G(R[1], 4);
+        R[11] = G(R[1], 3);
+        R[12] = G(R[1], 2);
+        ob = (word *)R[10];
+        acc = 10;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 98:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 5;
+        R[4] = R[5];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 99:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[6] = 128 * 10 + 258;
+        R[9] = R[6];
+        R[6] = R[5];
+        R[5] = R[9];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 100:
+      if (acc == 4) {
+
+        if (R[4] == INULL) {
+
+          R[7] = ITRUE;
+          ob = (word *)R[3];
+          R[3] = R[7];
+          acc = 1;
+
+        } else {
+
+          if (R[5] == F(0)) {
+
+            R[7] = ITRUE;
+            ob = (word *)R[3];
+            R[3] = R[7];
+            acc = 1;
+
+          } else {
+
+            R[7] = G(R[1], 2);
+            *fp = make_header(6, TCLOS);
+            fp[1] = G(R[1], 3);
+            fp[5] = R[6];
+            fp[4] = R[3];
+            fp[3] = R[5];
+            fp[2] = R[4];
+            R[3] = (word)fp;
+            fp += 6;
+            ob = (word *)R[7];
+            acc = 2;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 101:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 4);
+          R[3] = IFALSE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[9] = G(R[1], 2);
+          R[7] = R[4];
+          R[4] = R[9];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 102:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[3] = R[4];
+        fp[2] = R[3];
+        R[6] = (word)fp;
+        fp += 4;
+        R[7] = 128 * 16 + 258;
+        R[8] = R[5];
+        R[3] = R[6];
+        R[5] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 103:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          R[5] = 128 * 250 + 258;
+          R[9] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[9];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          R[3] = IFALSE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 104:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          R[5] = 128 * 60 + 258;
+          R[9] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[9];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          R[3] = IFALSE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 105:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 3);
+          R[5] = 128 * 16 + 258;
+          if (R[4] == R[5]) {
+
+            R[6] = G(R[1], 2);
+            R[3] = ITRUE;
+            ob = (word *)R[6];
+            acc = 1;
+
+          } else {
+
+            R[6] = 128 * 18 + 258;
+            if (R[4] == R[6]) {
+
+              R[7] = G(R[1], 2);
+              R[3] = ITRUE;
+              ob = (word *)R[7];
+              acc = 1;
+
+            } else {
+
+              R[7] = 128 * 24 + 258;
+              if (R[4] == R[7]) {
+
+                R[8] = G(R[1], 2);
+                R[3] = ITRUE;
+                ob = (word *)R[8];
+                acc = 1;
+
+              } else {
+
+                R[8] = G(R[1], 2);
+                R[3] = IFALSE;
+                ob = (word *)R[8];
+                acc = 1;
+
+              }
+
+            }
+
+          }
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          R[3] = ITRUE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 106:
+      if (acc == 2) {
+
+        R[5] = 128 * 76 + 258;
+        if (R[4] == R[5]) {
+
+          ob = (word *)R[3];
+          R[3] = R[5];
+          acc = 1;
+
+        } else {
+
+          R[6] = 128 * 66 + 258;
+          if (R[4] == R[6]) {
+
+            ob = (word *)R[3];
+            R[3] = R[6];
+            acc = 1;
+
+          } else {
+
+            R[7] = IFALSE;
+            ob = (word *)R[3];
+            R[3] = R[7];
+            acc = 1;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 107:
+      if (acc == 3) {
+
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 2);
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 4);
+        R[10] = G(R[1], 5);
+        R[11] = G(R[1], 6);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[4];
+        fp[7] = R[5];
+        fp[6] = R[11];
+        fp[5] = R[10];
+        fp[4] = R[9];
+        fp[3] = R[8];
+        fp[2] = R[7];
+        R[12] = (word)fp;
+        fp += 9;
+        R[5] = 128 * 18 + 258;
+        R[4] = R[3];
+        R[3] = R[12];
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 108:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 8);
+        if (R[5] == IFALSE) {
+
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 6);
+          *fp = make_header(3, TPROC);
+          fp[1] = G(R[2], 2);
+          fp[2] = R[7];
+          R[8] = (word)fp;
+          fp += 3;
+          R[5] = G(R[1], 3);
+          R[10] = G(R[1], 4);
+          R[7] = 128 * 1 + 258;
+          R[12] = R[6];
+          R[4] = R[3];
+          R[3] = R[8];
+          R[6] = R[10];
+          ob = (word *)R[12];
+          acc = 5;
+
+        } else {
+
+          R[6] = G(R[2], 3);
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 4);
+          R[9] = G(R[1], 5);
+          R[10] = G(R[1], 6);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[6] = R[10];
+          fp[5] = R[9];
+          fp[4] = R[3];
+          fp[3] = R[8];
+          fp[2] = R[7];
+          R[3] = (word)fp;
+          fp += 7;
+          R[12] = G(R[1], 2);
+          R[13] = G(R[1], 7);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[4] = R[5];
+          fp[3] = R[13];
+          fp[2] = R[4];
+          R[14] = (word)fp;
+          fp += 5;
+          R[9] = R[6];
+          R[4] = R[12];
+          R[5] = R[13];
+          R[6] = R[14];
+          ob = (word *)R[9];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 109:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[3];
+        fp[2] = R[4];
+        R[6] = (word)fp;
+        fp += 4;
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 2);
+        R[10] = R[5];
+        R[3] = R[6];
+        R[4] = R[7];
+        R[5] = R[8];
+        R[6] = R[9];
+        ob = (word *)R[10];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 110:
+      if (acc == 4) {
+
+        if (R[5] == INULL) {
+
+          R[5] = IFALSE;
+          R[8] = R[3];
+          R[3] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[7] = G(R[1], 2);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[5] = R[3];
+          fp[4] = R[6];
+          fp[3] = R[5];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 6;
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 111:
+      if (acc == 2) {
+
+        if (R[4] == IFALSE) {
+
+          R[5] = G(R[2], 2);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 3);
+          *fp = make_header(5, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[3];
+          R[3] = (word)fp;
+          fp += 5;
+          R[4] = G(R[1], 2);
+          ob = (word *)R[5];
+          acc = 2;
+
+        } else {
+
+          R[5] = G(R[2], 4);
+          R[6] = G(R[1], 4);
+          *fp = make_header(5, TPROC);
+          fp[1] = G(R[2], 5);
+          fp[4] = R[6];
+          fp[3] = R[3];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 5;
+          R[4] = G(R[1], 2);
+          ob = (word *)R[5];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 112:
+      if (acc == 1) {
+
+        if (R[3] == INULL) {
+
+          R[4] = G(R[1], 3);
+          R[5] = G(R[1], 2);
+          R[6] = IFALSE;
+          R[7] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 2);
+          R[8] = R[4];
+          R[9] = R[5];
+          R[5] = R[3];
+          R[4] = R[6];
+          R[3] = R[9];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 113:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 2);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[6] = R[7];
+        fp[5] = R[4];
+        fp[4] = R[5];
+        fp[3] = R[6];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 7;
+        R[5] = 128 * 2 + 258;
+        R[4] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 114:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 3);
+          R[9] = G(R[1], 6);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[9];
+          fp[4] = R[6];
+          fp[3] = R[7];
+          fp[2] = R[8];
+          R[10] = (word)fp;
+          fp += 6;
+          R[9] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          R[6] = R[10];
+          ob = (word *)R[9];
+          acc = 4;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          R[3] = G(R[1], 5);
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 115:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[3];
+        fp[5] = R[4];
+        fp[4] = R[8];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 7;
+        R[4] = G(R[1], 2);
+        R[11] = 128 * 0 + 258;
+        R[8] = R[5];
+        R[5] = R[11];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 116:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[11] = (word)fp;
+        fp += 9;
+        R[5] = 128 * 2 + 258;
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[11];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 117:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[3];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 9;
+        R[12] = G(R[1], 2);
+        R[7] = R[4];
+        R[4] = R[12];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 118:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        R[11] = G(R[1], 8);
+        *fp = make_header(10, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[9] = R[11];
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[12] = (word)fp;
+        fp += 10;
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 4);
+        fp[2] = R[3];
+        R[5] = (word)fp;
+        fp += 3;
+        R[8] = R[4];
+        R[4] = R[11];
+        R[3] = R[12];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 119:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 9;
+        R[12] = G(R[1], 2);
+        R[13] = G(R[1], 9);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 4);
+        fp[2] = R[13];
+        R[5] = (word)fp;
+        fp += 3;
+        R[8] = R[4];
+        R[4] = R[12];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 120:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[7];
+        fp[4] = R[4];
+        fp[3] = R[5];
+        fp[2] = R[6];
+        R[4] = (word)fp;
+        fp += 6;
+        ob = (word *)R[8];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 121:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[6] = R[8];
+        fp[5] = R[4];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 7;
+        R[10] = G(R[2], 2);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[8];
+        fp[6] = R[3];
+        fp[5] = R[5];
+        fp[4] = R[6];
+        fp[3] = R[7];
+        fp[2] = R[9];
+        R[3] = (word)fp;
+        fp += 8;
+        R[4] = R[6];
+        ob = (word *)R[10];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 122:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        R[11] = G(R[1], 8);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[11];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 9;
+        R[13] = 128 * 2 + 258;
+        R[8] = R[4];
+        R[4] = R[5];
+        R[5] = R[13];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 123:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 6);
+          R[8] = G(R[1], 7);
+          R[9] = G(R[1], 8);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 7;
+          R[11] = G(R[1], 3);
+          R[5] = G(R[1], 2);
+          R[6] = 128 * 2 + 258;
+          R[9] = R[4];
+          R[4] = R[11];
+          ob = (word *)R[9];
+          acc = 4;
+
+        } else {
+
+          R[4] = G(R[1], 7);
+          R[5] = G(R[1], 8);
+          *fp = make_header(3, TPROC);
+          fp[1] = G(R[2], 4);
+          fp[2] = R[5];
+          R[6] = (word)fp;
+          fp += 3;
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 6);
+          R[10] = 128 * 1 + 258;
+          R[11] = R[4];
+          R[3] = R[6];
+          R[4] = R[7];
+          R[5] = R[8];
+          R[6] = R[9];
+          R[7] = R[10];
+          ob = (word *)R[11];
+          acc = 5;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 124:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[10];
+        fp[5] = R[9];
+        fp[4] = R[8];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[11] = (word)fp;
+        fp += 7;
+        R[8] = R[5];
+        R[5] = R[4];
+        R[4] = R[3];
+        R[3] = R[11];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 125:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[3];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 9;
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 126:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        R[8] = G(R[1], 7);
+        R[9] = G(R[1], 8);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[10] = (word)fp;
+        fp += 7;
+        R[11] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[2] = R[3];
+        R[6] = (word)fp;
+        fp += 3;
+        R[9] = R[4];
+        R[3] = R[10];
+        R[4] = R[11];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 127:
+      if (acc == 5) {
+
+        R[8] = G(R[2], 2);
+        R[9] = G(R[1], 2);
+        R[10] = G(R[1], 3);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[7];
+        fp[6] = R[4];
+        fp[5] = R[5];
+        fp[4] = R[6];
+        fp[3] = R[10];
+        fp[2] = R[9];
+        R[4] = (word)fp;
+        fp += 8;
+        ob = (word *)R[8];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 128:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        R[8] = G(R[1], 7);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[6] = R[8];
+        fp[5] = R[4];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 7;
+        R[10] = G(R[2], 2);
+        R[11] = G(R[1], 3);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[8];
+        fp[6] = R[3];
+        fp[5] = R[6];
+        fp[4] = R[11];
+        fp[3] = R[7];
+        fp[2] = R[9];
+        R[3] = (word)fp;
+        fp += 8;
+        R[13] = G(R[1], 2);
+        R[4] = R[5];
+        R[5] = R[13];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 129:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 5);
+        R[5] = G(R[1], 6);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 2);
+        R[10] = 128 * 1 + 258;
+        R[11] = R[4];
+        R[4] = R[6];
+        R[5] = R[7];
+        R[6] = R[8];
+        R[7] = R[9];
+        R[8] = R[10];
+        ob = (word *)R[11];
+        acc = 6;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 130:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[3];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 9;
+        R[7] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 131:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[10] = (word)fp;
+        fp += 8;
+        R[11] = G(R[1], 2);
+        R[8] = R[4];
+        R[5] = R[3];
+        R[3] = R[10];
+        R[4] = R[11];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 132:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[3];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 7;
+        R[11] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[9] = R[5];
+        R[5] = R[4];
+        R[4] = R[11];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 133:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[10] = (word)fp;
+        fp += 7;
+        R[5] = INULL;
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[10];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 134:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 5);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[9] = 128 * 0 + 258;
+        R[10] = R[4];
+        R[5] = R[3];
+        R[3] = R[6];
+        R[4] = R[7];
+        R[6] = R[8];
+        R[7] = R[9];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 135:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 3);
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 3);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 136:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 5);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[4] = R[4];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 5;
+        R[5] = G(R[1], 2);
+        R[6] = R[4];
+        R[4] = R[3];
+        R[3] = R[7];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 137:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 3);
+          R[7] = INULL;
+          R[9] = R[6];
+          R[6] = R[4];
+          R[3] = R[5];
+          R[5] = R[7];
+          R[4] = R[9];
+          ob = (word *)R[6];
+          acc = 4;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          R[3] = G(R[1], 4);
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 138:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 6;
+        R[10] = G(R[2], 4);
+        R[6] = IFALSE;
+        R[12] = R[4];
+        R[5] = R[3];
+        R[3] = R[9];
+        R[4] = R[10];
+        ob = (word *)R[12];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 139:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[6] = R[8];
+          fp[5] = R[7];
+          fp[4] = R[6];
+          fp[3] = R[3];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 7;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 140:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 6;
+        R[5] = G(R[1], 2);
+        R[6] = INULL;
+        R[12] = R[4];
+        R[4] = R[3];
+        R[3] = R[9];
+        ob = (word *)R[12];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 141:
+      if (acc == 2) {
+
+        if (R[4] == IFALSE) {
+
+          R[5] = G(R[2], 2);
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 4);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[3];
+          R[3] = (word)fp;
+          fp += 5;
+          R[4] = G(R[1], 3);
+          ob = (word *)R[5];
+          acc = 2;
+
+        } else {
+
+          R[5] = G(R[2], 4);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[4];
+          fp[2] = R[6];
+          R[9] = (word)fp;
+          fp += 6;
+          R[4] = G(R[1], 2);
+          R[8] = R[5];
+          R[5] = R[3];
+          R[3] = R[9];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 142:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 5);
+          R[3] = G(R[1], 2);
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 143:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[5] = G(R[1], 2);
+          R[11] = IFALSE;
+          R[12] = R[4];
+          R[4] = R[6];
+          R[6] = R[11];
+          ob = (word *)R[12];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 144:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[6] = R[8];
+          fp[5] = R[7];
+          fp[4] = R[6];
+          fp[3] = R[5];
+          fp[2] = R[3];
+          R[3] = (word)fp;
+          fp += 7;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 145:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 5);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[5] = R[7];
+        fp[4] = R[4];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[8] = (word)fp;
+        fp += 6;
+        R[5] = R[6];
+        R[6] = R[4];
+        R[4] = R[3];
+        R[3] = R[8];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 146:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 2);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[6] = R[3];
+        fp[5] = R[7];
+        fp[4] = R[5];
+        fp[3] = R[6];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 7;
+        ob = (word *)R[8];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 147:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 6);
+          R[3] = G(R[1], 2);
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 6);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 7;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 148:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        if (R[3] == R[4]) {
+
+          R[5] = G(R[1], 3);
+          R[3] = G(R[1], 6);
+          R[4] = G(R[1], 2);
+          ob = (word *)R[5];
+          acc = 2;
+
+        } else {
+
+          R[5] = G(R[2], 2);
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 6);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[4];
+          fp[3] = R[7];
+          fp[2] = R[6];
+          R[3] = (word)fp;
+          fp += 7;
+          R[4] = R[6];
+          ob = (word *)R[5];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 149:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 5);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 6);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[6] = R[8];
+        fp[5] = R[4];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 7;
+        R[5] = R[7];
+        R[7] = R[4];
+        R[4] = R[3];
+        R[3] = R[9];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 150:
+      if (acc == 1) {
+
+        if (R[3] == INULL) {
+
+          R[4] = G(R[1], 3);
+          R[5] = G(R[1], 2);
+          R[6] = IFALSE;
+          R[7] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[6];
+          fp[3] = R[3];
+          fp[2] = R[5];
+          R[7] = (word)fp;
+          fp += 5;
+          R[8] = R[4];
+          R[4] = R[3];
+          R[3] = R[7];
+          ob = (word *)R[8];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 151:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 6);
+          *fp = make_header(5, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[9] = G(R[1], 2);
+          R[7] = R[4];
+          R[4] = R[9];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = G(R[1], 2);
+          R[7] = R[4];
+          R[4] = R[10];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 152:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = G(R[1], 2);
+        R[10] = R[4];
+        R[4] = R[5];
+        R[5] = R[9];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 153:
+      if (acc == 4) {
+
+        if (R[4] == INULL) {
+
+          ob = (word *)R[3];
+          R[3] = R[5];
+          acc = 1;
+
+        } else {
+
+          R[7] = G(R[1], 2);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[5] = R[6];
+          fp[4] = R[3];
+          fp[3] = R[5];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 6;
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 154:
+      if (acc == 5) {
+
+        if (R[4] == INULL) {
+
+          R[8] = G(R[1], 2);
+          *fp = make_header(3, TPROC);
+          fp[1] = G(R[1], 3);
+          fp[2] = R[3];
+          R[3] = (word)fp;
+          fp += 3;
+          R[4] = R[6];
+          ob = (word *)R[8];
+          acc = 2;
+
+        } else {
+
+          {
+
+            word *ob = (word *)R[4];
+            hval  hdr;
+            assert(allocp(R[4]), R[4], IFALSE);
+            hdr = *ob;
+            assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+            R[8] = ob[1];
+            R[9] = ob[2];
+
+          }
+
+          if (R[8] == R[5]) {
+
+            R[10] = G(R[1], 4);
+            *fp = make_header(4, TCLOS);
+            fp[1] = G(R[1], 5);
+            fp[3] = R[3];
+            fp[2] = R[9];
+            R[3] = (word)fp;
+            fp += 4;
+            R[4] = R[5];
+            R[5] = R[6];
+            ob = (word *)R[10];
+            acc = 3;
+
+          } else {
+
+            R[10] = G(R[1], 6);
+            *fp = make_header(8, TCLOS);
+            fp[1] = G(R[1], 7);
+            fp[7] = R[7];
+            fp[6] = R[3];
+            fp[5] = R[5];
+            fp[4] = R[6];
+            fp[3] = R[8];
+            fp[2] = R[9];
+            R[3] = (word)fp;
+            fp += 8;
+            R[4] = G(R[1], 8);
+            R[6] = IFALSE;
+            R[5] = R[8];
+            ob = (word *)R[10];
+            acc = 4;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 155:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 5);
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 6);
+          R[8] = G(R[1], 7);
+          *fp = make_header(6, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = G(R[1], 3);
+          R[5] = G(R[1], 4);
+          R[8] = R[4];
+          R[4] = R[10];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[1], 7);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[6] = R[4];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[9] = (word)fp;
+          fp += 7;
+          R[10] = G(R[1], 2);
+          R[6] = INULL;
+          R[5] = R[3];
+          R[7] = R[4];
+          R[3] = R[9];
+          R[4] = R[10];
+          ob = (word *)R[7];
+          acc = 5;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 156:
+      if (acc == 2) {
+
+        if (R[4] == IFALSE) {
+
+          R[5] = G(R[2], 2);
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 5);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[3];
+          R[3] = (word)fp;
+          fp += 5;
+          R[4] = G(R[1], 3);
+          ob = (word *)R[5];
+          acc = 2;
+
+        } else {
+
+          R[5] = G(R[2], 4);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 6);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[4];
+          fp[3] = R[7];
+          fp[2] = R[6];
+          R[10] = (word)fp;
+          fp += 7;
+          R[4] = G(R[1], 2);
+          R[8] = R[5];
+          R[5] = R[3];
+          R[3] = R[10];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 157:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[4];
+        fp[4] = R[8];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[11] = (word)fp;
+        fp += 8;
+        R[12] = G(R[2], 4);
+        R[8] = R[5];
+        R[4] = R[3];
+        R[3] = R[11];
+        R[5] = R[12];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 158:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[3];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 5;
+        R[5] = 128 * 124 + 258;
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 159:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        if (R[4] == R[3]) {
+
+          R[5] = G(R[2], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[7];
+          fp[2] = R[6];
+          R[3] = (word)fp;
+          fp += 4;
+          R[9] = 128 * 254 + 258;
+          R[10] = R[5];
+          R[5] = R[9];
+          ob = (word *)R[10];
+          acc = 3;
+
+        } else {
+
+          R[5] = G(R[2], 4);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 3);
+          R[8] = R[5];
+          R[3] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 160:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = 128 * 382 + 258;
+        R[8] = R[4];
+        R[9] = R[5];
+        R[5] = R[3];
+        R[4] = R[6];
+        R[3] = R[9];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 161:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[5] = R[7];
+        fp[4] = R[5];
+        fp[3] = R[4];
+        fp[2] = R[6];
+        R[8] = (word)fp;
+        fp += 6;
+        ob = (word *)R[3];
+        R[3] = R[8];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 162:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        R[9] = G(R[1], 3);
+        R[10] = G(R[1], 4);
+        R[11] = G(R[1], 5);
+        *fp = make_header(10, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[9] = R[3];
+        fp[8] = R[6];
+        fp[7] = R[11];
+        fp[6] = R[5];
+        fp[5] = R[10];
+        fp[4] = R[4];
+        fp[3] = R[9];
+        fp[2] = R[8];
+        R[3] = (word)fp;
+        fp += 10;
+        R[4] = R[5];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 163:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 5);
+          R[5] = G(R[1], 8);
+          R[6] = G(R[1], 6);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 9);
+          *fp = make_header(6, TPROC);
+          fp[1] = G(R[2], 2);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = G(R[1], 3);
+          R[5] = R[4];
+          R[4] = R[10];
+          ob = (word *)R[5];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          R[5] = G(R[1], 5);
+          R[6] = G(R[1], 6);
+          R[7] = G(R[1], 7);
+          R[8] = G(R[1], 8);
+          R[9] = G(R[1], 9);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[10] = (word)fp;
+          fp += 7;
+          R[11] = G(R[1], 4);
+          R[5] = G(R[1], 3);
+          R[9] = R[4];
+          R[6] = R[3];
+          R[3] = R[10];
+          R[4] = R[11];
+          ob = (word *)R[9];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 164:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[7] = R[10];
+        fp[6] = R[3];
+        fp[5] = R[9];
+        fp[4] = R[8];
+        fp[3] = R[7];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 8;
+        R[5] = R[6];
+        ob = (word *)R[5];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 165:
+      if (acc == 5) {
+
+        R[8] = G(R[2], 2);
+        R[9] = G(R[1], 2);
+        R[10] = G(R[1], 3);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[7];
+        fp[7] = R[3];
+        fp[6] = R[6];
+        fp[5] = R[10];
+        fp[4] = R[5];
+        fp[3] = R[4];
+        fp[2] = R[9];
+        R[3] = (word)fp;
+        fp += 9;
+        R[4] = R[5];
+        ob = (word *)R[8];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 166:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 7);
+          R[5] = G(R[1], 8);
+          *fp = make_header(3, TPROC);
+          fp[1] = G(R[2], 2);
+          fp[2] = R[5];
+          R[6] = (word)fp;
+          fp += 3;
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 4);
+          R[9] = G(R[1], 6);
+          R[10] = 128 * 1 + 258;
+          R[11] = R[4];
+          R[3] = R[6];
+          R[4] = R[7];
+          R[5] = R[8];
+          R[6] = R[9];
+          R[7] = R[10];
+          ob = (word *)R[11];
+          acc = 5;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 6);
+          R[8] = G(R[1], 7);
+          R[9] = G(R[1], 8);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[10] = (word)fp;
+          fp += 7;
+          R[11] = G(R[1], 3);
+          R[8] = R[4];
+          R[5] = R[3];
+          R[3] = R[10];
+          R[4] = R[11];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 167:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[11] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[11];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 168:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 5);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[9] = 128 * 0 + 258;
+        R[10] = R[4];
+        R[11] = R[6];
+        R[6] = R[3];
+        R[4] = R[7];
+        R[5] = R[8];
+        R[7] = R[9];
+        R[3] = R[11];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 169:
+      if (acc == 1) {
+
+        if (R[3] == INULL) {
+
+          R[4] = G(R[1], 2);
+          R[3] = IFALSE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[5];
+          fp[2] = R[3];
+          R[6] = (word)fp;
+          fp += 4;
+          R[7] = R[4];
+          R[4] = R[3];
+          R[3] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 170:
+      if (acc == 5) {
+
+        if (R[4] == INULL) {
+
+          if (R[5] == INULL) {
+
+            R[8] = G(R[1], 2);
+            R[4] = R[6];
+            ob = (word *)R[8];
+            acc = 2;
+
+          } else {
+
+            R[8] = G(R[1], 2);
+            *fp = make_header(4, TCLOS);
+            fp[1] = G(R[1], 3);
+            fp[3] = R[3];
+            fp[2] = R[6];
+            R[3] = (word)fp;
+            fp += 4;
+            R[4] = R[5];
+            ob = (word *)R[8];
+            acc = 2;
+
+          }
+
+        } else {
+
+          {
+
+            word *ob = (word *)R[4];
+            hval  hdr;
+            assert(allocp(R[4]), R[4], IFALSE);
+            hdr = *ob;
+            assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+            R[8] = ob[1];
+            R[9] = ob[2];
+
+          }
+
+          R[10] = 128 * 18 + 258;
+          if (R[8] == R[10]) {
+
+            R[11] = G(R[1], 4);
+            *fp = make_header(6, TCLOS);
+            fp[1] = G(R[1], 5);
+            fp[5] = R[7];
+            fp[4] = R[3];
+            fp[3] = R[9];
+            fp[2] = R[6];
+            R[3] = (word)fp;
+            fp += 6;
+            R[4] = R[10];
+            ob = (word *)R[11];
+            acc = 3;
+
+          } else {
+
+            R[11] = G(R[1], 4);
+            *fp = make_header(6, TPROC);
+            fp[1] = G(R[1], 6);
+            fp[5] = R[7];
+            fp[4] = R[3];
+            fp[3] = R[9];
+            fp[2] = R[6];
+            R[3] = (word)fp;
+            fp += 6;
+            R[4] = R[8];
+            ob = (word *)R[11];
+            acc = 3;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 171:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[6] = INULL;
+        R[7] = R[4];
+        R[4] = R[3];
+        R[3] = R[5];
+        R[5] = R[6];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 172:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 5);
+        fp[6] = R[7];
+        fp[5] = R[6];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[8] = (word)fp;
+        fp += 7;
+        R[9] = G(R[1], 2);
+        if (R[9] == INULL) {
+
+          R[10] = G(R[2], 2);
+          R[4] = G(R[1], 3);
+          R[3] = R[8];
+          ob = (word *)R[10];
+          acc = 2;
+
+        } else {
+
+          R[10] = G(R[2], 3);
+          R[11] = G(R[1], 3);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[3] = R[8];
+          fp[2] = R[11];
+          R[3] = (word)fp;
+          fp += 4;
+          R[4] = R[9];
+          ob = (word *)R[10];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 173:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 2);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[6] = R[7];
+        fp[5] = R[5];
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 7;
+        R[4] = R[5];
+        ob = (word *)R[8];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 174:
+      if (acc == 1) {
+
+        if (immediatep(R[3])) {
+
+          R[4] = IFALSE;
+
+        } else {
+
+          hval h = V(R[3]);
+          R[4] = rawp(h) ? F(payl_len(h)) : IFALSE;
+
+        }
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[4];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 8;
+        R[12] = 128 * 2 + 258;
+        R[8] = R[5];
+        R[5] = R[12];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 175:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 7);
+          R[10] = G(R[1], 6);
+          *fp = make_header(8, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[7] = R[10];
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 8;
+          R[5] = 128 * 0 + 258;
+          R[8] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[1], 5);
+          R[5] = G(R[1], 7);
+          *fp = make_header(3, TPROC);
+          fp[1] = G(R[2], 4);
+          fp[2] = R[5];
+          R[6] = (word)fp;
+          fp += 3;
+          R[7] = G(R[1], 2);
+          R[8] = G(R[1], 6);
+          R[9] = G(R[1], 4);
+          R[10] = F(0);
+          R[11] = R[4];
+          R[3] = R[6];
+          R[4] = R[7];
+          R[5] = R[8];
+          R[6] = R[9];
+          R[7] = R[10];
+          ob = (word *)R[11];
+          acc = 5;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 176:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[10] = (word)fp;
+        fp += 7;
+        R[11] = G(R[1], 2);
+        R[5] = F(0);
+        R[9] = R[4];
+        R[6] = R[3];
+        R[3] = R[10];
+        R[4] = R[11];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 177:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[4];
+        fp[3] = R[3];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 9;
+        R[12] = 128 * 0 + 258;
+        R[8] = R[5];
+        R[5] = R[12];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 178:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        R[8] = G(R[1], 7);
+        R[9] = G(R[1], 8);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[10] = (word)fp;
+        fp += 7;
+        R[11] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[9] = R[4];
+        R[5] = R[3];
+        R[3] = R[10];
+        R[4] = R[11];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 179:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 9;
+        R[4] = F(0);
+        R[13] = 128 * 0 + 258;
+        R[9] = R[5];
+        R[5] = R[13];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 180:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        R[11] = G(R[1], 8);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[11];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[12] = (word)fp;
+        fp += 9;
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[2] = R[11];
+        R[13] = (word)fp;
+        fp += 3;
+        R[8] = R[4];
+        R[5] = R[3];
+        R[3] = R[12];
+        R[4] = R[13];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 181:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        R[11] = G(R[1], 8);
+        *fp = make_header(10, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[9] = R[11];
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[3];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 10;
+        R[7] = R[4];
+        R[4] = R[11];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 182:
+      if (acc == 1) {
+
+        if (immediatep(R[3])) {
+
+          R[4] = IFALSE;
+
+        } else {
+
+          hval h = V(R[3]);
+          R[4] = rawp(h) ? F(payl_len(h)) : IFALSE;
+
+        }
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        R[11] = G(R[1], 7);
+        R[12] = G(R[1], 8);
+        R[13] = G(R[1], 9);
+        *fp = make_header(10, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[9] = R[13];
+        fp[8] = R[12];
+        fp[7] = R[11];
+        fp[6] = R[10];
+        fp[5] = R[9];
+        fp[4] = R[8];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 10;
+        R[15] = 128 * 0 + 258;
+        R[9] = R[5];
+        R[10] = R[6];
+        R[6] = R[4];
+        R[4] = R[10];
+        R[5] = R[15];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 183:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        R[11] = G(R[1], 8);
+        R[12] = G(R[1], 9);
+        *fp = make_header(10, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[9] = R[12];
+        fp[8] = R[11];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[13] = (word)fp;
+        fp += 10;
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[2] = R[12];
+        R[14] = (word)fp;
+        fp += 3;
+        R[8] = R[4];
+        R[5] = R[3];
+        R[3] = R[13];
+        R[4] = R[14];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 184:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        R[8] = G(R[1], 7);
+        R[9] = G(R[1], 8);
+        R[10] = G(R[1], 9);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 9;
+        R[12] = G(R[1], 3);
+        R[5] = 128 * 0 + 258;
+        R[6] = G(R[1], 2);
+        R[9] = R[4];
+        R[4] = R[12];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 185:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 8);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        R[11] = G(R[1], 7);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[11];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[12] = (word)fp;
+        fp += 9;
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[2] = R[7];
+        R[13] = (word)fp;
+        fp += 3;
+        R[8] = R[4];
+        R[5] = R[3];
+        R[3] = R[12];
+        R[4] = R[13];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 186:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[3];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 9;
+        R[12] = G(R[1], 2);
+        R[5] = 128 * 18 + 258;
+        R[8] = R[4];
+        R[4] = R[12];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 187:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        R[11] = G(R[1], 7);
+        R[12] = G(R[1], 8);
+        *fp = make_header(10, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[9] = R[12];
+        fp[8] = R[11];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 10;
+        R[14] = 128 * 2 + 258;
+        R[8] = R[5];
+        R[5] = R[4];
+        R[4] = R[14];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 188:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        R[8] = G(R[1], 7);
+        R[9] = G(R[1], 8);
+        R[10] = G(R[1], 9);
+        *fp = make_header(10, TCLOS);
+        fp[1] = G(R[2], 5);
+        fp[9] = R[10];
+        fp[8] = R[9];
+        fp[7] = R[8];
+        fp[6] = R[3];
+        fp[5] = R[4];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[11] = (word)fp;
+        fp += 10;
+        R[12] = G(R[1], 2);
+        if (R[12] == INULL) {
+
+          R[13] = G(R[2], 2);
+          R[4] = G(R[1], 3);
+          R[3] = R[11];
+          ob = (word *)R[13];
+          acc = 2;
+
+        } else {
+
+          R[13] = G(R[2], 3);
+          R[14] = G(R[1], 3);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[3] = R[11];
+          fp[2] = R[14];
+          R[3] = (word)fp;
+          fp += 4;
+          R[4] = R[12];
+          ob = (word *)R[13];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 189:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        R[11] = G(R[1], 9);
+        *fp = make_header(10, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[9] = R[11];
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 10;
+        R[13] = F(0);
+        R[5] = 128 * 0 + 258;
+        R[6] = G(R[1], 2);
+        R[9] = R[4];
+        R[4] = R[13];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 190:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[11] = (word)fp;
+        fp += 8;
+        R[12] = G(R[1], 9);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[2] = R[12];
+        R[13] = (word)fp;
+        fp += 3;
+        R[5] = G(R[1], 2);
+        R[9] = R[4];
+        R[6] = R[3];
+        R[3] = R[11];
+        R[4] = R[13];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 191:
+      if (acc == 3) {
+
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 2);
+        R[5] = R[4];
+        R[4] = R[7];
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 192:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        R[8] = G(R[1], 7);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[9] = (word)fp;
+        fp += 7;
+        R[10] = G(R[1], 2);
+        if (R[10] == INULL) {
+
+          ob = (word *)R[9];
+          acc = 1;
+
+        } else {
+
+          R[11] = G(R[2], 2);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[9];
+          fp[2] = R[3];
+          R[3] = (word)fp;
+          fp += 4;
+          R[4] = R[10];
+          ob = (word *)R[11];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 193:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 2);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[6] = R[3];
+        fp[5] = R[4];
+        fp[4] = R[5];
+        fp[3] = R[6];
+        fp[2] = R[7];
+        R[3] = (word)fp;
+        fp += 7;
+        R[4] = R[5];
+        ob = (word *)R[8];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 194:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        R[9] = G(R[1], 3);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[3];
+        fp[6] = R[6];
+        fp[5] = R[5];
+        fp[4] = R[9];
+        fp[3] = R[8];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 8;
+        R[4] = R[5];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 195:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        R[11] = G(R[1], 7);
+        *fp = make_header(10, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[9] = R[11];
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[4];
+        fp[3] = R[6];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 10;
+        R[4] = R[7];
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 196:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        R[11] = G(R[1], 9);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[11];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[4];
+        fp[2] = R[6];
+        R[12] = (word)fp;
+        fp += 9;
+        R[4] = G(R[1], 3);
+        R[14] = G(R[1], 2);
+        R[9] = R[5];
+        R[6] = R[3];
+        R[3] = R[12];
+        R[5] = R[14];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 197:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[4];
+        fp[4] = R[8];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[11] = (word)fp;
+        fp += 8;
+        R[12] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[9] = R[5];
+        R[4] = R[3];
+        R[3] = R[11];
+        R[5] = R[12];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 198:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        R[11] = G(R[1], 7);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[11];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[4];
+        fp[4] = R[8];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[12] = (word)fp;
+        fp += 9;
+        R[13] = 128 * 4 + 258;
+        R[8] = R[5];
+        R[4] = R[3];
+        R[3] = R[12];
+        R[5] = R[13];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 199:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        R[11] = G(R[1], 7);
+        R[12] = G(R[1], 8);
+        *fp = make_header(10, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[9] = R[12];
+        fp[8] = R[11];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[4];
+        fp[2] = R[6];
+        R[13] = (word)fp;
+        fp += 10;
+        R[4] = R[3];
+        R[3] = R[13];
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 200:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        R[8] = G(R[1], 7);
+        R[9] = G(R[1], 8);
+        R[10] = G(R[1], 9);
+        *fp = make_header(10, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[9] = R[10];
+        fp[8] = R[3];
+        fp[7] = R[4];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[11] = (word)fp;
+        fp += 10;
+        R[12] = G(R[1], 3);
+        if (R[12] == F(0)) {
+
+          R[13] = G(R[2], 2);
+          R[4] = R[6];
+          R[3] = R[11];
+          ob = (word *)R[13];
+          acc = 2;
+
+        } else {
+
+          R[3] = G(R[1], 2);
+          ob = (word *)R[11];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 201:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        R[11] = G(R[1], 9);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[8] = R[11];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[12] = (word)fp;
+        fp += 9;
+        R[5] = R[4];
+        R[4] = R[3];
+        R[3] = R[12];
+        ob = (word *)R[5];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 202:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(7, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[10] = G(R[1], 2);
+        R[5] = G(R[2], 4);
+        R[8] = R[4];
+        R[4] = R[10];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 203:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 6;
+        R[5] = R[4];
+        R[4] = R[3];
+        R[3] = R[9];
+        ob = (word *)R[5];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 204:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 2);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[6] = R[7];
+        fp[5] = R[3];
+        fp[4] = R[6];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[4] = R[5];
+        ob = (word *)R[8];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 205:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[4];
+        fp[4] = R[7];
+        fp[3] = R[3];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 9;
+        R[4] = R[6];
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 206:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        R[11] = G(R[1], 7);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[11];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[4];
+        fp[4] = R[8];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[12] = (word)fp;
+        fp += 9;
+        R[4] = R[3];
+        R[3] = R[12];
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 207:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[9];
+        fp[4] = R[8];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[10] = (word)fp;
+        fp += 6;
+        R[6] = G(R[1], 2);
+        R[9] = R[5];
+        R[5] = R[4];
+        R[4] = R[3];
+        R[3] = R[10];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 208:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 7;
+        R[4] = G(R[1], 3);
+        R[11] = G(R[1], 2);
+        R[8] = R[5];
+        R[5] = R[11];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 209:
+      if (acc == 5) {
+
+        if (R[5] == INULL) {
+
+          R[8] = G(R[1], 2);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[1], 3);
+          fp[3] = R[3];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 4;
+          R[4] = R[6];
+          ob = (word *)R[8];
+          acc = 2;
+
+        } else {
+
+          R[8] = G(R[1], 4);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[1], 5);
+          fp[5] = R[7];
+          fp[4] = R[3];
+          fp[3] = R[6];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 6;
+          R[4] = R[5];
+          ob = (word *)R[8];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 210:
+      if (acc == 1) {
+
+        if (R[3] == INULL) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 4);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          R[8] = G(R[1], 3);
+          R[9] = R[4];
+          R[4] = R[8];
+          ob = (word *)R[9];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[6] = R[8];
+          fp[5] = R[7];
+          fp[4] = R[6];
+          fp[3] = R[5];
+          fp[2] = R[3];
+          R[3] = (word)fp;
+          fp += 7;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 211:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 6;
+        R[10] = G(R[1], 2);
+        R[11] = R[4];
+        R[5] = R[3];
+        R[6] = R[3];
+        R[3] = R[9];
+        R[4] = R[10];
+        ob = (word *)R[11];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 212:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[4];
+        fp[2] = R[6];
+        R[10] = (word)fp;
+        fp += 7;
+        R[4] = R[3];
+        R[3] = R[10];
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 213:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[3];
+        fp[4] = R[4];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 8;
+        R[4] = G(R[1], 2);
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 214:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[3];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[4];
+        fp[4] = R[8];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 9;
+        R[4] = R[7];
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 215:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 8);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[11] = (word)fp;
+        fp += 8;
+        R[5] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[2] = R[8];
+        R[6] = (word)fp;
+        fp += 3;
+        R[9] = R[4];
+        R[4] = R[3];
+        R[3] = R[11];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 216:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[6] = (word)fp;
+        fp += 4;
+        R[7] = G(R[1], 2);
+        R[5] = 128 * 2 + 258;
+        R[9] = 128 * 38 + 258;
+        R[10] = R[4];
+        R[3] = R[6];
+        R[4] = R[7];
+        R[6] = R[9];
+        ob = (word *)R[10];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 217:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = R[5];
+        R[5] = R[4];
+        R[4] = R[6];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 218:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 2);
+        R[8] = R[5];
+        R[3] = R[6];
+        R[5] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 219:
+      if (acc == 3) {
+
+        R[6] = G(R[2], 2);
+        R[4] = G(R[1], 2);
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 220:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[4];
+        fp[4] = R[8];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[11] = (word)fp;
+        fp += 8;
+        R[4] = R[3];
+        R[3] = R[11];
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 221:
+      if (acc == 3) {
+
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[3];
+        fp[3] = R[7];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 5;
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 222:
+      if (acc == 5) {
+
+        if (R[4] == F(0)) {
+
+          ob = (word *)R[3];
+          R[3] = R[6];
+          acc = 1;
+
+        } else {
+
+          R[8] = G(R[1], 2);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[5] = R[7];
+          fp[4] = R[3];
+          fp[3] = R[5];
+          fp[2] = R[6];
+          R[3] = (word)fp;
+          fp += 6;
+          R[5] = 128 * 0 + 258;
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 223:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = G(R[1], 2);
+        R[10] = R[4];
+        R[4] = R[5];
+        R[5] = R[9];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 224:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 5;
+        R[5] = 128 * 2 + 258;
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 225:
+      if (acc == 2) {
+
+        if (R[4] == F(0)) {
+
+          R[5] = G(R[2], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 2);
+          R[8] = R[5];
+          R[4] = R[3];
+          R[3] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[5] = G(R[2], 3);
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 4);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[3];
+          fp[2] = R[6];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = G(R[2], 5);
+          R[8] = R[5];
+          R[4] = R[6];
+          R[5] = R[10];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 226:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          *fp = make_header(5, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[9] = G(R[1], 2);
+          R[5] = 128 * 0 + 258;
+          R[11] = R[4];
+          R[4] = R[9];
+          ob = (word *)R[11];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 2);
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 227:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[4];
+        fp[4] = R[8];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[11] = (word)fp;
+        fp += 8;
+        R[12] = 128 * 510 + 258;
+        R[8] = R[5];
+        R[4] = R[3];
+        R[3] = R[11];
+        R[5] = R[12];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 228:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        R[11] = G(R[1], 7);
+        *fp = make_header(10, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[9] = R[4];
+        fp[8] = R[11];
+        fp[7] = R[10];
+        fp[6] = R[3];
+        fp[5] = R[9];
+        fp[4] = R[8];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 10;
+        R[4] = R[7];
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 229:
+      if (acc == 3) {
+
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[3];
+        fp[2] = R[7];
+        R[3] = (word)fp;
+        fp += 4;
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 230:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[4];
+        R[10] = (word)fp;
+        fp += 7;
+        R[11] = 128 * 14 + 258;
+        R[8] = R[5];
+        R[4] = R[3];
+        R[3] = R[10];
+        R[5] = R[11];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 231:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[4];
+        R[11] = (word)fp;
+        fp += 8;
+        R[4] = R[3];
+        R[3] = R[11];
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 232:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[3];
+        fp[5] = R[4];
+        fp[4] = R[8];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 9;
+        R[4] = 128 * 0 + 258;
+        R[13] = G(R[1], 2);
+        R[8] = R[5];
+        R[5] = R[13];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 233:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        R[11] = G(R[1], 8);
+        *fp = make_header(10, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[9] = R[3];
+        fp[8] = R[11];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 10;
+        R[7] = R[4];
+        R[4] = R[6];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 234:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[11] = (word)fp;
+        fp += 8;
+        R[5] = G(R[1], 2);
+        R[13] = G(R[1], 9);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[2] = R[13];
+        R[6] = (word)fp;
+        fp += 3;
+        R[9] = R[4];
+        R[4] = R[3];
+        R[3] = R[11];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 235:
+      if (acc == 3) {
+
+        R[6] = G(R[2], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 4;
+        R[8] = G(R[1], 2);
+        R[5] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 236:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[3];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 5;
+        R[5] = F(0);
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 237:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 4);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[6] = (word)fp;
+        fp += 4;
+        if (R[3] == IFALSE) {
+
+          R[7] = G(R[2], 2);
+          R[4] = G(R[1], 2);
+          R[5] = 128 * 0 + 258;
+          R[3] = R[6];
+          ob = (word *)R[7];
+          acc = 3;
+
+        } else {
+
+          R[3] = 128 * 508 + 258;
+          ob = (word *)R[6];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 238:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[8] = 128 * 508 + 258;
+        R[9] = R[4];
+        R[5] = R[3];
+        R[3] = R[7];
+        R[4] = R[8];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 239:
+      if (acc == 1) {
+
+        if (immediatep(R[3])) {
+
+          R[4] = IFALSE;
+
+        } else {
+
+          hval h = V(R[3]);
+          R[4] = rawp(h) ? F(payl_len(h)) : IFALSE;
+
+        }
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[9];
+        fp[4] = R[8];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 6;
+        R[11] = G(R[1], 2);
+        R[8] = R[5];
+        R[5] = R[4];
+        R[4] = R[11];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 240:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[4];
+        R[10] = (word)fp;
+        fp += 7;
+        R[4] = R[3];
+        R[3] = R[10];
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 241:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[3];
+        fp[5] = R[4];
+        fp[4] = R[8];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 9;
+        R[4] = R[7];
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 242:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[11] = (word)fp;
+        fp += 8;
+        R[5] = G(R[1], 2);
+        R[6] = G(R[2], 4);
+        R[9] = R[4];
+        R[4] = R[3];
+        R[3] = R[11];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 243:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 8;
+        R[11] = G(R[1], 2);
+        R[7] = R[4];
+        R[4] = R[11];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 244:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[10] = G(R[1], 2);
+        R[5] = G(R[2], 4);
+        R[8] = R[4];
+        R[4] = R[10];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 245:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 5);
+        R[5] = G(R[1], 6);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 2);
+        R[10] = R[4];
+        R[11] = R[6];
+        R[6] = R[3];
+        R[4] = R[7];
+        R[5] = R[8];
+        R[7] = R[9];
+        R[3] = R[11];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 246:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 2);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[6] = R[7];
+        fp[5] = R[3];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 7;
+        R[4] = R[5];
+        ob = (word *)R[8];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 247:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 6;
+        R[10] = G(R[1], 2);
+        R[6] = F(0);
+        R[12] = R[4];
+        R[5] = R[3];
+        R[3] = R[9];
+        R[4] = R[10];
+        ob = (word *)R[12];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 248:
+      if (acc == 3) {
+
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 2);
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 4);
+        R[10] = G(R[1], 5);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[3];
+        fp[5] = R[8];
+        fp[4] = R[4];
+        fp[3] = R[5];
+        fp[2] = R[7];
+        R[3] = (word)fp;
+        fp += 9;
+        R[4] = R[5];
+        ob = (word *)R[6];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 249:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 9;
+        R[12] = G(R[1], 2);
+        R[7] = R[4];
+        R[4] = R[12];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 250:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        if (R[4] == F(0)) {
+
+          R[5] = G(R[2], 2);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 6);
+          R[8] = G(R[1], 7);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[3];
+          fp[2] = R[6];
+          R[3] = (word)fp;
+          fp += 6;
+          R[4] = G(R[1], 5);
+          R[11] = 128 * 18 + 258;
+          R[8] = R[5];
+          R[5] = R[11];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[5] = G(R[1], 2);
+          if (R[5] == IFALSE) {
+
+            R[6] = G(R[2], 4);
+            R[7] = G(R[1], 5);
+            R[8] = G(R[1], 6);
+            R[9] = G(R[1], 7);
+            *fp = make_header(6, TCLOS);
+            fp[1] = G(R[2], 5);
+            fp[5] = R[9];
+            fp[4] = R[8];
+            fp[3] = R[7];
+            fp[2] = R[3];
+            R[3] = (word)fp;
+            fp += 6;
+            R[4] = G(R[1], 4);
+            R[5] = G(R[2], 6);
+            ob = (word *)R[6];
+            acc = 3;
+
+          } else {
+
+            R[6] = G(R[2], 4);
+            R[7] = G(R[1], 5);
+            R[8] = G(R[1], 6);
+            R[9] = G(R[1], 7);
+            *fp = make_header(6, TCLOS);
+            fp[1] = G(R[2], 7);
+            fp[5] = R[9];
+            fp[4] = R[8];
+            fp[3] = R[7];
+            fp[2] = R[3];
+            R[3] = (word)fp;
+            fp += 6;
+            R[4] = G(R[1], 4);
+            R[5] = G(R[2], 6);
+            ob = (word *)R[6];
+            acc = 3;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 251:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 5);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[9] = 128 * 1 + 258;
+        R[10] = R[4];
+        R[11] = R[6];
+        R[6] = R[3];
+        R[4] = R[7];
+        R[5] = R[8];
+        R[7] = R[9];
+        R[3] = R[11];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 252:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 5);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[9] = 128 * 2 + 258;
+        R[10] = R[4];
+        R[11] = R[6];
+        R[6] = R[3];
+        R[4] = R[7];
+        R[5] = R[8];
+        R[7] = R[9];
+        R[3] = R[11];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 253:
+      if (acc == 2) {
+
+        if (R[4] == F(0)) {
+
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 5);
+          *fp = make_header(3, TPROC);
+          fp[1] = G(R[2], 2);
+          fp[2] = R[6];
+          R[7] = (word)fp;
+          fp += 3;
+          R[8] = G(R[1], 3);
+          R[6] = G(R[1], 2);
+          R[10] = 128 * 1 + 258;
+          R[11] = R[5];
+          R[4] = R[3];
+          R[3] = R[7];
+          R[5] = R[8];
+          R[7] = R[10];
+          ob = (word *)R[11];
+          acc = 5;
+
+        } else {
+
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 5);
+          *fp = make_header(3, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[2] = R[6];
+          R[7] = (word)fp;
+          fp += 3;
+          R[8] = G(R[1], 3);
+          R[6] = G(R[1], 2);
+          R[10] = F(0);
+          R[11] = R[5];
+          R[4] = R[3];
+          R[3] = R[7];
+          R[5] = R[8];
+          R[7] = R[10];
+          ob = (word *)R[11];
+          acc = 5;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 254:
+      if (acc == 5) {
+
+        if (R[5] == INULL) {
+
+          R[8] = G(R[1], 2);
+          *fp = make_header(3, TPROC);
+          fp[1] = G(R[1], 3);
+          fp[2] = R[3];
+          R[3] = (word)fp;
+          fp += 3;
+          R[5] = R[6];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[8] = G(R[1], 4);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[1], 5);
+          fp[6] = R[3];
+          fp[5] = R[5];
+          fp[4] = R[7];
+          fp[3] = R[4];
+          fp[2] = R[6];
+          R[3] = (word)fp;
+          fp += 7;
+          R[4] = R[5];
+          ob = (word *)R[8];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 255:
+      if (acc == 2) {
+
+        if (R[3] == IFALSE) {
+
+          R[5] = G(R[2], 2);
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 4);
+          R[4] = G(R[1], 5);
+          R[10] = G(R[1], 6);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[6] = R[10];
+          fp[5] = R[4];
+          fp[4] = R[8];
+          fp[3] = R[7];
+          fp[2] = R[6];
+          R[3] = (word)fp;
+          fp += 7;
+          ob = (word *)R[5];
+          acc = 2;
+
+        } else {
+
+          R[5] = G(R[2], 4);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 6);
+          *fp = make_header(8, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[7] = R[9];
+          fp[6] = R[8];
+          fp[5] = R[4];
+          fp[4] = R[3];
+          fp[3] = R[7];
+          fp[2] = R[6];
+          R[3] = (word)fp;
+          fp += 8;
+          R[4] = G(R[1], 2);
+          R[12] = 128 * 0 + 258;
+          R[8] = R[5];
+          R[5] = R[12];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 256:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        R[8] = G(R[1], 7);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 6;
+        R[10] = G(R[1], 2);
+        R[5] = R[6];
+        R[6] = R[3];
+        R[7] = R[4];
+        R[3] = R[9];
+        R[4] = R[10];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 257:
+      if (acc == 3) {
+
+        if (R[4] == F(0)) {
+
+          R[6] = G(R[2], 2);
+          R[7] = G(R[1], 5);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[7];
+          fp[2] = R[5];
+          R[8] = (word)fp;
+          fp += 4;
+          R[5] = G(R[1], 2);
+          R[4] = R[3];
+          R[3] = R[8];
+          ob = (word *)R[6];
+          acc = 3;
+
+        } else {
+
+          R[6] = G(R[2], 4);
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 4);
+          R[9] = G(R[1], 5);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[6] = R[9];
+          fp[5] = R[3];
+          fp[4] = R[8];
+          fp[3] = R[7];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 7;
+          R[5] = 128 * 0 + 258;
+          ob = (word *)R[6];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 258:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 6);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[7] = (word)fp;
+        fp += 5;
+        R[8] = G(R[1], 4);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[11] = R[4];
+        R[3] = R[7];
+        R[4] = R[8];
+        ob = (word *)R[11];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 259:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = R[5];
+        R[5] = R[6];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 260:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 4;
+        R[8] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[10] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 261:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[6] = 128 * 1 + 258;
+        R[8] = R[4];
+        R[9] = R[5];
+        R[5] = R[3];
+        R[4] = R[6];
+        R[3] = R[9];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 262:
+      if (acc == 3) {
+
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 3);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[4] = G(R[1], 2);
+        ob = (word *)R[6];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 263:
+      if (acc == 5) {
+
+        if (R[4] == INULL) {
+
+          if (R[6] == F(0)) {
+
+            R[8] = IFALSE;
+            R[4] = INULL;
+            R[7] = R[3];
+            R[3] = R[8];
+            ob = (word *)R[7];
+            acc = 2;
+
+          } else {
+
+            R[4] = INULL;
+            R[7] = R[3];
+            R[3] = R[5];
+            ob = (word *)R[7];
+            acc = 2;
+
+          }
+
+        } else {
+
+          R[8] = G(R[1], 2);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[6] = R[7];
+          fp[5] = R[3];
+          fp[4] = R[6];
+          fp[3] = R[5];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 7;
+          ob = (word *)R[8];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 264:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 4);
+          if (R[4] == F(0)) {
+
+            R[5] = G(R[1], 5);
+            R[3] = IFALSE;
+            R[4] = G(R[1], 2);
+            ob = (word *)R[5];
+            acc = 2;
+
+          } else {
+
+            R[5] = G(R[1], 5);
+            R[3] = G(R[1], 3);
+            R[4] = G(R[1], 2);
+            ob = (word *)R[5];
+            acc = 2;
+
+          }
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[6] = R[8];
+          fp[5] = R[7];
+          fp[4] = R[6];
+          fp[3] = R[3];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 7;
+          R[10] = G(R[1], 2);
+          R[7] = R[4];
+          R[4] = R[10];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 265:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[10] = G(R[1], 2);
+        R[5] = 128 * 18 + 258;
+        R[8] = R[4];
+        R[4] = R[10];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 266:
+      if (acc == 2) {
+
+        R[5] = 128 * 94 + 258;
+        R[6] = prim_less(R[4], R[5]);
+        if (R[6] == IFALSE) {
+
+          R[7] = 128 * 112 + 258;
+          R[8] = prim_less(R[7], R[4]);
+          if (R[8] == IFALSE) {
+
+            R[9] = G(R[1], 2);
+            ob = (word *)R[9];
+            acc = 3;
+
+          } else {
+
+            R[9] = IFALSE;
+            ob = (word *)R[3];
+            R[3] = R[9];
+            acc = 1;
+
+          }
+
+        } else {
+
+          R[7] = IFALSE;
+          ob = (word *)R[3];
+          R[3] = R[7];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 267:
+      if (acc == 4) {
+
+        if (immediatep(R[4])) {
+
+          R[7] = IFALSE;
+
+        } else {
+
+          hval h = V(R[4]);
+          R[7] = rawp(h) ? F(payl_len(h)) : IFALSE;
+
+        }
+
+        if (R[7] == F(0)) {
+
+          ob = (word *)R[3];
+          R[3] = R[4];
+          acc = 1;
+
+        } else {
+
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[1], 4);
+          fp[4] = R[6];
+          fp[3] = R[5];
+          fp[2] = R[4];
+          R[8] = (word)fp;
+          fp += 5;
+          R[9] = G(R[1], 2);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[1], 3);
+          fp[3] = R[8];
+          fp[2] = R[3];
+          R[3] = (word)fp;
+          fp += 4;
+          R[5] = 128 * 0 + 258;
+          R[4] = R[7];
+          ob = (word *)R[9];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 268:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 4);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[6];
+        fp[6] = R[3];
+        fp[5] = R[5];
+        fp[4] = R[9];
+        fp[3] = R[4];
+        fp[2] = R[8];
+        R[3] = (word)fp;
+        fp += 8;
+        R[11] = G(R[1], 2);
+        R[5] = R[4];
+        R[4] = R[11];
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 269:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        if (R[4] == R[5]) {
+
+          if (R[4] == F(0)) {
+
+            R[6] = G(R[1], 4);
+            R[7] = G(R[1], 6);
+            *fp = make_header(3, TCLOS);
+            fp[1] = G(R[2], 2);
+            fp[2] = R[7];
+            R[8] = (word)fp;
+            fp += 3;
+            R[5] = G(R[1], 5);
+            R[4] = R[3];
+            R[3] = R[8];
+            ob = (word *)R[6];
+            acc = 3;
+
+          } else {
+
+            R[6] = 128 * 0 + 258;
+            {
+
+              hval r = immval(R[4]) - immval(R[6]);
+              R[8] = F(r >> FBITS & 1);
+              R[7] = F(r);
+
+            }
+
+            R[9] = G(R[1], 4);
+            R[10] = G(R[1], 6);
+            R[11] = G(R[1], 7);
+            *fp = make_header(5, TPROC);
+            fp[1] = G(R[2], 3);
+            fp[4] = R[11];
+            fp[3] = R[10];
+            fp[2] = R[7];
+            R[12] = (word)fp;
+            fp += 5;
+            R[5] = G(R[1], 5);
+            R[4] = R[3];
+            R[3] = R[12];
+            ob = (word *)R[9];
+            acc = 3;
+
+          }
+
+        } else {
+
+          if (R[4] == F(0)) {
+
+            R[6] = G(R[2], 4);
+            R[7] = G(R[1], 6);
+            *fp = make_header(3, TCLOS);
+            fp[1] = G(R[2], 5);
+            fp[2] = R[7];
+            R[8] = (word)fp;
+            fp += 3;
+            R[5] = G(R[1], 5);
+            R[4] = R[3];
+            R[3] = R[8];
+            ob = (word *)R[6];
+            acc = 3;
+
+          } else {
+
+            R[6] = 128 * 0 + 258;
+            {
+
+              hval r = immval(R[4]) - immval(R[6]);
+              R[8] = F(r >> FBITS & 1);
+              R[7] = F(r);
+
+            }
+
+            R[9] = G(R[2], 4);
+            R[10] = G(R[1], 6);
+            R[11] = G(R[1], 7);
+            *fp = make_header(5, TPROC);
+            fp[1] = G(R[2], 6);
+            fp[4] = R[11];
+            fp[3] = R[10];
+            fp[2] = R[7];
+            R[12] = (word)fp;
+            fp += 5;
+            R[5] = G(R[1], 5);
+            R[4] = R[3];
+            R[3] = R[12];
+            ob = (word *)R[9];
+            acc = 3;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 270:
+      if (acc == 4) {
+
+        R[7] = 128 * 14 + 258;
+        if (R[5] == R[7]) {
+
+          R[8] = IFALSE;
+          ob = (word *)R[3];
+          R[3] = R[8];
+          acc = 1;
+
+        } else {
+
+          if (R[4] == INULL) {
+
+            R[8] = IFALSE;
+            ob = (word *)R[3];
+            R[3] = R[8];
+            acc = 1;
+
+          } else {
+
+            R[8] = G(R[1], 2);
+            *fp = make_header(6, TCLOS);
+            fp[1] = G(R[1], 3);
+            fp[5] = R[6];
+            fp[4] = R[3];
+            fp[3] = R[5];
+            fp[2] = R[4];
+            R[3] = (word)fp;
+            fp += 6;
+            ob = (word *)R[8];
+            acc = 2;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 271:
+      if (acc == 1) {
+
+        if (R[3] == F(0)) {
+
+          R[4] = G(R[1], 4);
+          R[3] = ITRUE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 272:
+      if (acc == 1) {
+
+        R[4] = 128 * 254 + 258;
+        R[5] = R[4] & R[3];
+        if (R[5] == F(0)) {
+
+          R[6] = G(R[2], 2);
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 4);
+          R[9] = G(R[1], 5);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[9];
+          fp[3] = R[8];
+          fp[2] = R[7];
+          R[3] = (word)fp;
+          fp += 5;
+          R[4] = G(R[1], 2);
+          ob = (word *)R[6];
+          acc = 2;
+
+        } else {
+
+          R[6] = G(R[1], 4);
+          R[3] = ITRUE;
+          ob = (word *)R[6];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 273:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[1], 3);
+        fp[2] = R[3];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = G(R[1], 4);
+        R[8] = R[5];
+        R[3] = R[6];
+        R[5] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 274:
+      if (acc == 2) {
+
+        if (R[4] == IFALSE) {
+
+          R[5] = G(R[1], 2);
+          R[4] = 128 * 1 + 258;
+          ob = (word *)R[5];
+          acc = 2;
+
+        } else {
+
+          R[5] = G(R[1], 2);
+          R[4] = 128 * 0 + 258;
+          ob = (word *)R[5];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 275:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[1], 3);
+        fp[2] = R[3];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = IFALSE;
+        R[8] = R[5];
+        R[3] = R[6];
+        R[5] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 276:
+      if (acc == 2) {
+
+        R[5] = 128 * 0 + 258;
+        R[6] = R[3] & R[5];
+        if (R[6] == F(0)) {
+
+          R[7] = G(R[1], 2);
+          R[3] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[7] = G(R[1], 2);
+          R[8] = 128 * 1 + 258;
+          R[3] = R[4];
+          R[4] = R[8];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 277:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        R[9] = G(R[1], 3);
+        R[10] = G(R[1], 4);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[3];
+        fp[7] = R[6];
+        fp[6] = R[5];
+        fp[5] = R[10];
+        fp[4] = R[4];
+        fp[3] = R[9];
+        fp[2] = R[8];
+        R[3] = (word)fp;
+        fp += 9;
+        R[4] = R[5];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 278:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        R[8] = G(R[1], 7);
+        R[9] = G(R[1], 8);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[10] = (word)fp;
+        fp += 7;
+        R[11] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[9] = R[4];
+        R[6] = R[3];
+        R[3] = R[10];
+        R[4] = R[11];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 279:
+      if (acc == 3) {
+
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 2);
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 4);
+        R[10] = G(R[1], 5);
+        R[11] = G(R[1], 6);
+        *fp = make_header(10, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[9] = R[11];
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[3];
+        fp[4] = R[7];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 10;
+        R[4] = R[5];
+        ob = (word *)R[6];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 280:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 6);
+          R[5] = G(R[1], 8);
+          R[6] = G(R[1], 7);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 9);
+          *fp = make_header(6, TPROC);
+          fp[1] = G(R[2], 2);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = G(R[1], 5);
+          R[5] = G(R[1], 3);
+          R[6] = R[4];
+          R[4] = R[10];
+          ob = (word *)R[6];
+          acc = 4;
+
+        } else {
+
+          R[4] = G(R[2], 3);
+          R[5] = G(R[1], 5);
+          R[6] = G(R[1], 6);
+          R[7] = G(R[1], 7);
+          R[8] = G(R[1], 8);
+          R[9] = G(R[1], 9);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 7;
+          R[11] = G(R[1], 4);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 2);
+          R[9] = R[4];
+          R[4] = R[11];
+          ob = (word *)R[9];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 281:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        R[9] = G(R[1], 3);
+        R[10] = G(R[1], 4);
+        R[11] = G(R[1], 5);
+        R[12] = G(R[1], 6);
+        *fp = make_header(10, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[9] = R[12];
+        fp[8] = R[3];
+        fp[7] = R[11];
+        fp[6] = R[6];
+        fp[5] = R[10];
+        fp[4] = R[9];
+        fp[3] = R[8];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 10;
+        R[4] = R[5];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 282:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 6);
+        R[7] = G(R[1], 7);
+        R[8] = G(R[1], 8);
+        R[9] = G(R[1], 9);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 8;
+        R[11] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[6] = R[4];
+        R[4] = R[11];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 283:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 5);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 2);
+        R[8] = 128 * 0 + 258;
+        R[10] = R[4];
+        R[4] = R[6];
+        R[6] = R[3];
+        R[3] = R[5];
+        R[5] = R[7];
+        R[7] = R[8];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 284:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 5);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 2);
+        R[8] = 128 * 1 + 258;
+        R[10] = R[4];
+        R[4] = R[5];
+        R[5] = R[6];
+        R[6] = R[7];
+        R[7] = R[8];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 285:
+      if (acc == 2) {
+
+        if (R[4] == INULL) {
+
+          R[5] = IFALSE;
+          ob = (word *)R[3];
+          R[3] = R[5];
+          acc = 1;
+
+        } else {
+
+          R[5] = G(R[1], 2);
+          *fp = make_header(3, TPROC);
+          fp[1] = G(R[1], 3);
+          fp[2] = R[3];
+          R[3] = (word)fp;
+          fp += 3;
+          ob = (word *)R[5];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 286:
+      if (acc == 1) {
+
+        if (R[3] == INULL) {
+
+          R[4] = G(R[1], 2);
+          R[3] = IFALSE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          R[3] = ITRUE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 287:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[6];
+        fp[4] = R[7];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        ob = (word *)R[8];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 288:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 6;
+        R[5] = G(R[1], 2);
+        R[11] = R[4];
+        R[4] = R[3];
+        R[6] = R[8];
+        R[3] = R[9];
+        ob = (word *)R[11];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 289:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 5);
+        if (R[5] == R[6]) {
+
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 3);
+          R[5] = R[4];
+          R[4] = R[3];
+          R[3] = R[8];
+          ob = (word *)R[7];
+          acc = 5;
+
+        } else {
+
+          R[7] = G(R[1], 3);
+          R[6] = G(R[1], 2);
+          ob = (word *)R[7];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 290:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[2] = R[3];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = 128 * 10 + 258;
+        R[8] = R[5];
+        R[3] = R[6];
+        R[5] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 291:
+      if (acc == 2) {
+
+        if (R[4] == F(0)) {
+
+          R[5] = G(R[1], 2);
+          R[6] = G(R[2], 2);
+          R[7] = G(R[2], 3);
+          R[8] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[5] = 128 * 0 + 258;
+          if (R[4] == R[5]) {
+
+            R[6] = G(R[1], 2);
+            R[4] = G(R[2], 4);
+            R[5] = G(R[2], 5);
+            ob = (word *)R[6];
+            acc = 3;
+
+          } else {
+
+            R[6] = 128 * 2 + 258;
+            if (R[4] == R[6]) {
+
+              R[7] = G(R[1], 2);
+              R[4] = G(R[2], 6);
+              R[5] = G(R[2], 7);
+              ob = (word *)R[7];
+              acc = 3;
+
+            } else {
+
+              R[7] = 128 * 4 + 258;
+              if (R[4] == R[7]) {
+
+                R[8] = G(R[1], 2);
+                R[4] = G(R[2], 8);
+                R[5] = G(R[2], 9);
+                ob = (word *)R[8];
+                acc = 3;
+
+              } else {
+
+                R[8] = G(R[1], 2);
+                R[4] = G(R[2], 10);
+                R[5] = G(R[2], 11);
+                ob = (word *)R[8];
+                acc = 3;
+
+              }
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 292:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[4];
+        fp[4] = R[8];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[9] = (word)fp;
+        fp += 6;
+        R[8] = R[5];
+        R[5] = R[4];
+        R[4] = R[3];
+        R[3] = R[9];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 293:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 3);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = G(R[1], 2);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[7];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 4;
+        R[9] = R[5];
+        R[5] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 294:
+      if (acc == 4) {
+
+        if (R[5] == F(0)) {
+
+          ob = (word *)R[3];
+          R[3] = R[4];
+          acc = 1;
+
+        } else {
+
+          R[7] = G(R[2], 4);
+          R[8] = G(R[1], 2);
+          *fp = make_header(4, 2);
+          fp[1] = R[7];
+          fp[2] = R[8];
+          fp[3] = R[4];
+          R[9] = (word)fp;
+          fp += 4;
+          R[10] = G(R[2], 2);
+          *fp = make_header(5, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[6];
+          fp[3] = R[3];
+          fp[2] = R[9];
+          R[3] = (word)fp;
+          fp += 5;
+          R[12] = 128 * 0 + 258;
+          R[4] = R[5];
+          R[5] = R[12];
+          ob = (word *)R[10];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 295:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[5];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 6;
+        R[4] = R[6];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 296:
+      if (acc == 3) {
+
+        R[6] = prim_less(R[5], R[4]);
+        ob = (word *)R[3];
+        R[3] = R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 297:
+      if (acc == 1) {
+
+        if (R[3] == INULL) {
+
+          R[4] = G(R[1], 3);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 4);
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[8] = (word)fp;
+          fp += 5;
+          R[9] = G(R[1], 2);
+          R[10] = R[4];
+          R[5] = R[3];
+          R[3] = R[8];
+          R[4] = R[9];
+          ob = (word *)R[10];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 298:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[4];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 7;
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 299:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[10] = (word)fp;
+        fp += 7;
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[2] = R[9];
+        R[11] = (word)fp;
+        fp += 3;
+        R[8] = R[4];
+        R[5] = R[3];
+        R[3] = R[10];
+        R[4] = R[11];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 300:
+      if (acc == 1) {
+
+        if (R[3] == INULL) {
+
+          R[4] = G(R[1], 3);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 4);
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[9] = (word)fp;
+          fp += 6;
+          R[10] = G(R[1], 2);
+          R[8] = R[4];
+          R[5] = R[3];
+          R[3] = R[9];
+          R[4] = R[10];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 301:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[4];
+        fp[5] = R[9];
+        fp[4] = R[8];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[10] = (word)fp;
+        fp += 7;
+        R[4] = R[3];
+        R[3] = R[10];
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 302:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 7;
+        R[3] = G(R[1], 2);
+        R[5] = R[7];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 303:
+      if (acc == 4) {
+
+        if (R[4] == F(0)) {
+
+          R[7] = G(R[2], 2);
+          R[8] = G(R[1], 3);
+          R[9] = G(R[1], 4);
+          *fp = make_header(5, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[3];
+          fp[3] = R[9];
+          fp[2] = R[8];
+          R[3] = (word)fp;
+          fp += 5;
+          R[4] = G(R[1], 2);
+          R[12] = G(R[1], 5);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[2], 4);
+          fp[3] = R[12];
+          fp[2] = R[5];
+          R[5] = (word)fp;
+          fp += 4;
+          ob = (word *)R[7];
+          acc = 3;
+
+        } else {
+
+          R[7] = G(R[2], 5);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 6);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 6);
+          fp[6] = R[9];
+          fp[5] = R[5];
+          fp[4] = R[6];
+          fp[3] = R[3];
+          fp[2] = R[8];
+          R[3] = (word)fp;
+          fp += 7;
+          R[5] = 128 * 0 + 258;
+          ob = (word *)R[7];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 304:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 5;
+        R[8] = G(R[1], 2);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 4);
+        fp[3] = R[10];
+        fp[2] = R[9];
+        R[5] = (word)fp;
+        fp += 4;
+        R[9] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 305:
+      if (acc == 5) {
+
+        if (R[6] == INULL) {
+
+          R[7] = R[3];
+          R[3] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[8] = G(R[1], 2);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[5] = R[7];
+          fp[4] = R[3];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[5] = IFALSE;
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 306:
+      if (acc == 2) {
+
+        R[5] = 128 * 0 + 258;
+        R[6] = R[3] & R[5];
+        if (R[6] == F(0)) {
+
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 2);
+          R[3] = R[4];
+          R[4] = R[8];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[7] = G(R[2], 2);
+          R[8] = G(R[1], 3);
+          R[9] = G(R[1], 4);
+          R[10] = G(R[1], 5);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[10];
+          fp[4] = R[9];
+          fp[3] = R[4];
+          fp[2] = R[8];
+          R[3] = (word)fp;
+          fp += 6;
+          R[4] = R[8];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 307:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[6] = 128 * 2 + 258;
+        R[9] = R[6];
+        R[6] = R[5];
+        R[5] = R[9];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 308:
+      if (acc == 2) {
+
+        R[5] = 128 * 0 + 258;
+        R[6] = R[3] & R[5];
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        R[9] = G(R[1], 3);
+        R[10] = G(R[1], 4);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[10];
+        fp[4] = R[9];
+        fp[3] = R[4];
+        fp[2] = R[8];
+        R[3] = (word)fp;
+        fp += 6;
+        R[4] = F(0);
+        R[5] = R[6];
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 309:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[8] = (word)fp;
+        fp += 6;
+        if (R[3] == IFALSE) {
+
+          R[9] = G(R[2], 2);
+          R[5] = G(R[2], 3);
+          R[3] = R[8];
+          ob = (word *)R[9];
+          acc = 3;
+
+        } else {
+
+          ob = (word *)R[8];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 310:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 4);
+          *fp = make_header(5, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[9] = G(R[1], 2);
+          R[5] = 128 * 0 + 258;
+          R[11] = R[4];
+          R[4] = R[9];
+          ob = (word *)R[11];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 5);
+          *fp = make_header(3, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[2] = R[5];
+          R[6] = (word)fp;
+          fp += 3;
+          R[7] = G(R[1], 3);
+          R[5] = G(R[1], 2);
+          R[9] = R[4];
+          R[3] = R[6];
+          R[4] = R[7];
+          ob = (word *)R[9];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 311:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 4;
+        R[8] = 128 * 2 + 258;
+        R[9] = R[5];
+        R[5] = R[8];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 312:
+      if (acc == 1) {
+
+        if (R[3] == INULL) {
+
+          R[4] = G(R[1], 5);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 3);
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[8] = (word)fp;
+          fp += 5;
+          R[9] = G(R[1], 2);
+          R[10] = R[4];
+          R[5] = R[3];
+          R[3] = R[8];
+          R[4] = R[9];
+          ob = (word *)R[10];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 313:
+      if (acc == 2) {
+
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[2] = R[4];
+        R[5] = (word)fp;
+        fp += 3;
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[8];
+        fp[3] = R[3];
+        fp[2] = R[7];
+        R[3] = (word)fp;
+        fp += 5;
+        R[4] = G(R[1], 2);
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 314:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        if (R[4] == R[5]) {
+
+          R[6] = G(R[2], 2);
+          *fp = make_header(4, 2);
+          fp[1] = R[6];
+          fp[2] = R[4];
+          fp[3] = R[4];
+          R[7] = (word)fp;
+          fp += 4;
+          ob = (word *)R[3];
+          R[3] = R[7];
+          acc = 1;
+
+        } else {
+
+          ob = (word *)R[3];
+          R[3] = R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 315:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[8] = (word)fp;
+        fp += 6;
+        if (R[3] == INULL) {
+
+          R[9] = G(R[2], 2);
+          R[4] = R[5];
+          R[3] = R[8];
+          ob = (word *)R[9];
+          acc = 2;
+
+        } else {
+
+          ob = (word *)R[8];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 316:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[4];
+        fp[4] = R[8];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[9] = (word)fp;
+        fp += 6;
+        R[10] = R[5];
+        R[6] = R[4];
+        R[4] = R[3];
+        R[5] = R[7];
+        R[3] = R[9];
+        ob = (word *)R[10];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 317:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 5);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 4);
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[6] = (word)fp;
+        fp += 4;
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 4);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[9];
+        fp[3] = R[3];
+        fp[2] = R[8];
+        R[3] = (word)fp;
+        fp += 5;
+        R[4] = G(R[1], 2);
+        R[5] = R[6];
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 318:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[4];
+        fp[3] = R[6];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = G(R[1], 2);
+        R[10] = R[5];
+        R[5] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 319:
+      if (acc == 1) {
+
+        {
+
+          word *ob = (word *)R[3];
+          hval  hdr;
+          assert(allocp(R[3]), R[3], IFALSE);
+          hdr = *ob;
+          assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+          R[4] = ob[1];
+          R[5] = ob[2];
+
+        }
+
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[9];
+        fp[4] = R[8];
+        fp[3] = R[7];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 6;
+        R[4] = G(R[1], 2);
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 320:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 5);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 9);
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[6] = (word)fp;
+        fp += 4;
+        R[7] = G(R[1], 2);
+        if (R[7] == F(0)) {
+
+          R[8] = G(R[2], 3);
+          R[9] = G(R[1], 4);
+          *fp = make_header(4, 2);
+          fp[1] = R[8];
+          fp[2] = R[9];
+          fp[3] = R[4];
+          R[10] = (word)fp;
+          fp += 4;
+          R[11] = G(R[2], 2);
+          R[12] = G(R[1], 3);
+          *fp = make_header(4, 2);
+          fp[1] = R[11];
+          fp[2] = R[10];
+          fp[3] = R[12];
+          R[3] = (word)fp;
+          fp += 4;
+          ob = (word *)R[6];
+          acc = 1;
+
+        } else {
+
+          R[8] = 128 * 0 + 258;
+          if (R[7] == R[8]) {
+
+            R[9] = G(R[2], 4);
+            R[10] = G(R[1], 4);
+            *fp = make_header(4, 2);
+            fp[1] = R[9];
+            fp[2] = R[10];
+            fp[3] = R[4];
+            R[11] = (word)fp;
+            fp += 4;
+            R[12] = G(R[2], 2);
+            R[13] = G(R[1], 3);
+            *fp = make_header(4, 2);
+            fp[1] = R[12];
+            fp[2] = R[11];
+            fp[3] = R[13];
+            R[3] = (word)fp;
+            fp += 4;
+            ob = (word *)R[6];
+            acc = 1;
+
+          } else {
+
+            R[9] = 128 * 2 + 258;
+            if (R[7] == R[9]) {
+
+              R[10] = G(R[2], 5);
+              R[11] = G(R[1], 4);
+              *fp = make_header(5, TCLOS);
+              fp[1] = G(R[2], 6);
+              fp[4] = R[6];
+              fp[3] = R[11];
+              fp[2] = R[4];
+              R[3] = (word)fp;
+              fp += 5;
+              R[4] = G(R[1], 3);
+              R[5] = INULL;
+              ob = (word *)R[10];
+              acc = 3;
+
+            } else {
+
+              R[10] = G(R[2], 7);
+              R[4] = G(R[2], 8);
+              R[3] = R[6];
+              R[5] = R[7];
+              ob = (word *)R[10];
+              acc = 3;
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 321:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 2);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 5;
+        R[4] = R[5];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 322:
+      if (acc == 5) {
+
+        if (R[6] == INULL) {
+
+          R[7] = R[3];
+          R[3] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[8] = G(R[1], 2);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[5] = R[7];
+          fp[4] = R[3];
+          fp[3] = R[5];
+          fp[2] = R[6];
+          R[3] = (word)fp;
+          fp += 6;
+          R[5] = 128 * 4 + 258;
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 323:
+      if (acc == 2) {
+
+        if (R[4] == F(0)) {
+
+          R[5] = G(R[2], 2);
+          R[6] = G(R[1], 3);
+          R[4] = G(R[1], 2);
+          R[8] = G(R[1], 4);
+          R[9] = G(R[1], 5);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[4];
+          fp[3] = R[6];
+          fp[2] = R[3];
+          R[3] = (word)fp;
+          fp += 7;
+          ob = (word *)R[5];
+          acc = 2;
+
+        } else {
+
+          R[5] = G(R[2], 4);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(6, TPROC);
+          fp[1] = G(R[2], 5);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[3];
+          fp[2] = R[6];
+          R[3] = (word)fp;
+          fp += 6;
+          R[4] = G(R[1], 2);
+          ob = (word *)R[5];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 324:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 2);
+          R[8] = G(R[1], 6);
+          R[9] = G(R[1], 7);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 7;
+          R[7] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 6);
+          R[10] = G(R[1], 7);
+          *fp = make_header(8, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[7] = R[10];
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 8;
+          R[7] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 325:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        R[8] = G(R[1], 7);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[9] = (word)fp;
+        fp += 7;
+        R[4] = G(R[1], 2);
+        R[7] = R[3];
+        R[3] = R[9];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 326:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[3];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 8;
+        R[4] = G(R[1], 2);
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 327:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[7] = INULL;
+        R[10] = R[5];
+        R[5] = R[7];
+        R[7] = R[4];
+        R[4] = R[6];
+        R[6] = R[3];
+        R[3] = R[10];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 328:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[3];
+        fp[4] = R[5];
+        fp[3] = R[6];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 6;
+        R[4] = R[6];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 329:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[9] = (word)fp;
+        fp += 7;
+        if (R[3] == IFALSE) {
+
+          R[10] = G(R[2], 2);
+          *fp = make_header(3, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[2] = R[9];
+          R[3] = (word)fp;
+          fp += 3;
+          ob = (word *)R[10];
+          acc = 2;
+
+        } else {
+
+          ob = (word *)R[9];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 330:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 6);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[9] = G(R[1], 3);
+          R[5] = G(R[1], 2);
+          R[11] = R[4];
+          R[4] = R[9];
+          ob = (word *)R[11];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[1], 6);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 4);
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 331:
+      if (acc == 2) {
+
+        {
+
+          word *ob = (word *)R[4];
+          hval  hdr;
+          assert(allocp(R[4]), R[4], IFALSE);
+          hdr = *ob;
+          assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+          R[5] = ob[1];
+          R[6] = ob[2];
+
+        }
+
+        {
+
+          word *ob = (word *)R[6];
+          hval  hdr;
+          assert(allocp(R[6]), R[6], IFALSE);
+          hdr = *ob;
+          assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+          R[7] = ob[1];
+          R[8] = ob[2];
+
+        }
+
+        R[9] = G(R[2], 2);
+        R[10] = G(R[1], 3);
+        R[11] = G(R[1], 4);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[11];
+        fp[3] = R[3];
+        fp[2] = R[10];
+        R[3] = (word)fp;
+        fp += 5;
+        R[4] = G(R[1], 2);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 4);
+        fp[3] = R[5];
+        fp[2] = R[7];
+        R[5] = (word)fp;
+        fp += 4;
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 332:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 3);
+        if (R[4] == R[5]) {
+
+          R[6] = G(R[1], 2);
+          ob = (word *)R[3];
+          R[3] = R[6];
+          acc = 1;
+
+        } else {
+
+          R[6] = G(R[1], 2);
+          if (R[4] == R[6]) {
+
+            ob = (word *)R[3];
+            R[3] = R[5];
+            acc = 1;
+
+          } else {
+
+            ob = (word *)R[3];
+            R[3] = R[4];
+            acc = 1;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 333:
+      if (acc == 3) {
+
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 4);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 5;
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 334:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[4] = R[5];
+        fp[3] = R[3];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 5;
+        ob = (word *)R[6];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 335:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        if (R[4] == R[3]) {
+
+          R[5] = G(R[2], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 5;
+          R[9] = 128 * 0 + 258;
+          R[10] = R[5];
+          R[5] = R[9];
+          ob = (word *)R[10];
+          acc = 3;
+
+        } else {
+
+          R[5] = G(R[1], 3);
+          ob = (word *)R[5];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 336:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        if (R[3] == R[4]) {
+
+          R[5] = G(R[1], 2);
+          {
+
+            word *ob = (word *)R[5];
+            hval  hdr;
+            assert(allocp(R[5]), R[5], IFALSE);
+            hdr = *ob;
+            assert_not(rawp(hdr) || objsize(hdr) != 5, ob, IFALSE);
+            R[6] = ob[1];
+            R[7] = ob[2];
+            R[8] = ob[3];
+            R[9] = ob[4];
+
+          }
+
+          R[10] = G(R[2], 3);
+          R[11] = G(R[1], 3);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[4] = R[11];
+          fp[3] = R[7];
+          fp[2] = R[8];
+          R[3] = (word)fp;
+          fp += 5;
+          R[13] = G(R[1], 4);
+          *fp = make_header(3, TPROC);
+          fp[1] = G(R[2], 5);
+          fp[2] = R[13];
+          R[4] = (word)fp;
+          fp += 3;
+          R[5] = R[9];
+          ob = (word *)R[10];
+          acc = 3;
+
+        } else {
+
+          R[5] = G(R[1], 3);
+          R[3] = G(R[1], 2);
+          ob = (word *)R[5];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 337:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 4);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 2);
+          R[3] = R[5];
+          R[5] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[5];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          *fp = make_header(3, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[2] = R[6];
+          R[7] = (word)fp;
+          fp += 3;
+          R[8] = G(R[1], 2);
+          R[9] = R[4];
+          R[3] = R[5];
+          R[4] = R[7];
+          R[5] = R[8];
+          ob = (word *)R[9];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 338:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[2] = R[3];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = 128 * 0 + 258;
+        R[8] = R[5];
+        R[3] = R[6];
+        R[5] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 339:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[6] = (word)fp;
+        fp += 4;
+        R[5] = G(R[2], 4);
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 340:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          R[8] = G(R[2], 4);
+          R[9] = R[4];
+          R[4] = R[5];
+          R[5] = R[8];
+          ob = (word *)R[9];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[1], 3);
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 341:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 2);
+          R[7] = G(R[2], 3);
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[1], 3);
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 342:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = G(R[2], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 5;
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 343:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[5] = R[6];
+        fp[4] = R[3];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 6;
+        R[4] = R[5];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 344:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[7] = (word)fp;
+        fp += 5;
+        if (R[3] == IFALSE) {
+
+          R[3] = G(R[1], 2);
+          ob = (word *)R[7];
+          acc = 1;
+
+        } else {
+
+          R[8] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[3] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 345:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        if (R[3] == R[4]) {
+
+          R[5] = G(R[1], 2);
+          {
+
+            word *ob = (word *)R[5];
+            hval  hdr;
+            assert(allocp(R[5]), R[5], IFALSE);
+            hdr = *ob;
+            assert_not(rawp(hdr) || objsize(hdr) != 4, ob, IFALSE);
+            R[6] = ob[1];
+            R[7] = ob[2];
+            R[8] = ob[3];
+
+          }
+
+          R[6] = G(R[1], 5);
+          R[10] = G(R[1], 4);
+          *fp = make_header(5, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[6];
+          fp[3] = R[10];
+          fp[2] = R[8];
+          R[3] = (word)fp;
+          fp += 5;
+          R[4] = G(R[1], 3);
+          R[5] = R[7];
+          ob = (word *)R[6];
+          acc = 4;
+
+        } else {
+
+          R[5] = G(R[2], 4);
+          if (R[3] == R[5]) {
+
+            R[6] = G(R[1], 2);
+            {
+
+              word *ob = (word *)R[6];
+              hval  hdr;
+              assert(allocp(R[6]), R[6], IFALSE);
+              hdr = *ob;
+              assert_not(rawp(hdr) || objsize(hdr) != 5, ob, IFALSE);
+              R[7] = ob[1];
+              R[8] = ob[2];
+              R[9] = ob[3];
+              R[10] = ob[4];
+
+            }
+
+            R[11] = G(R[2], 5);
+            R[3] = G(R[1], 4);
+            R[13] = G(R[1], 5);
+            *fp = make_header(3, TPROC);
+            fp[1] = G(R[2], 6);
+            fp[2] = R[13];
+            R[4] = (word)fp;
+            fp += 3;
+            R[5] = G(R[1], 3);
+            R[6] = R[10];
+            ob = (word *)R[11];
+            acc = 4;
+
+          } else {
+
+            R[6] = G(R[1], 4);
+            R[3] = G(R[1], 3);
+            ob = (word *)R[6];
+            acc = 1;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 346:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 4);
+          R[5] = G(R[1], 3);
+          R[6] = INULL;
+          R[7] = G(R[1], 2);
+          R[9] = R[6];
+          R[6] = R[4];
+          R[3] = R[5];
+          R[5] = R[7];
+          R[4] = R[9];
+          ob = (word *)R[6];
+          acc = 4;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          *fp = make_header(3, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[2] = R[6];
+          R[7] = (word)fp;
+          fp += 3;
+          R[8] = INULL;
+          R[6] = G(R[1], 2);
+          R[10] = R[4];
+          R[3] = R[5];
+          R[4] = R[7];
+          R[5] = R[8];
+          ob = (word *)R[10];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 347:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[6];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 348:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 4);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[8] = R[4];
+          R[4] = R[7];
+          ob = (word *)R[8];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 5);
+          *fp = make_header(3, TPROC);
+          fp[1] = G(R[2], 5);
+          fp[2] = R[6];
+          R[7] = (word)fp;
+          fp += 3;
+          R[8] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[10] = R[4];
+          R[3] = R[5];
+          R[4] = R[7];
+          R[5] = R[8];
+          ob = (word *)R[10];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 349:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 5);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          R[8] = G(R[2], 4);
+          R[5] = INULL;
+          R[10] = R[4];
+          R[4] = R[8];
+          ob = (word *)R[10];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 5);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 6);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[5] = 128 * 0 + 258;
+          R[8] = R[4];
+          R[4] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 350:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        if (R[3] == R[4]) {
+
+          R[5] = G(R[1], 4);
+          {
+
+            word *ob = (word *)R[5];
+            hval  hdr;
+            assert(allocp(R[5]), R[5], IFALSE);
+            hdr = *ob;
+            assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+            R[6] = ob[1];
+            R[7] = ob[2];
+
+          }
+
+          R[8] = G(R[2], 3);
+          R[3] = G(R[1], 5);
+          R[5] = G(R[1], 2);
+          R[4] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[5] = G(R[2], 4);
+          if (R[3] == R[5]) {
+
+            R[6] = G(R[1], 4);
+            {
+
+              word *ob = (word *)R[6];
+              hval  hdr;
+              assert(allocp(R[6]), R[6], IFALSE);
+              hdr = *ob;
+              assert_not(rawp(hdr) || objsize(hdr) != 5, ob, IFALSE);
+              R[7] = ob[1];
+              R[8] = ob[2];
+              R[9] = ob[3];
+              R[10] = ob[4];
+
+            }
+
+            R[11] = G(R[2], 5);
+            R[12] = G(R[1], 3);
+            R[13] = G(R[1], 5);
+            *fp = make_header(7, TCLOS);
+            fp[1] = G(R[2], 6);
+            fp[6] = R[13];
+            fp[5] = R[8];
+            fp[4] = R[9];
+            fp[3] = R[12];
+            fp[2] = R[10];
+            R[3] = (word)fp;
+            fp += 7;
+            R[5] = G(R[1], 2);
+            R[4] = R[8];
+            ob = (word *)R[11];
+            acc = 3;
+
+          } else {
+
+            R[6] = G(R[2], 7);
+            if (R[3] == R[6]) {
+
+              R[7] = G(R[1], 4);
+              {
+
+                word *ob = (word *)R[7];
+                hval  hdr;
+                assert(allocp(R[7]), R[7], IFALSE);
+                hdr = *ob;
+                assert_not(rawp(hdr) || objsize(hdr) != 4, ob, IFALSE);
+                R[8] = ob[1];
+                R[9] = ob[2];
+                R[10] = ob[3];
+
+              }
+
+              R[11] = G(R[2], 8);
+              R[3] = G(R[1], 5);
+              R[6] = G(R[1], 2);
+              R[4] = R[9];
+              R[5] = R[10];
+              ob = (word *)R[11];
+              acc = 4;
+
+            } else {
+
+              R[7] = G(R[2], 9);
+              if (R[3] == R[7]) {
+
+                R[8] = G(R[1], 4);
+                {
+
+                  word *ob = (word *)R[8];
+                  hval  hdr;
+                  assert(allocp(R[8]), R[8], IFALSE);
+                  hdr = *ob;
+                  assert_not(rawp(hdr) || objsize(hdr) != 4, ob, IFALSE);
+                  R[9] = ob[1];
+                  R[10] = ob[2];
+                  R[11] = ob[3];
+
+                }
+
+                R[12] = G(R[2], 10);
+                R[3] = G(R[1], 5);
+                R[6] = G(R[1], 2);
+                R[4] = R[10];
+                R[5] = R[11];
+                ob = (word *)R[12];
+                acc = 4;
+
+              } else {
+
+                R[8] = G(R[2], 11);
+                if (R[3] == R[8]) {
+
+                  R[9] = G(R[1], 4);
+                  {
+
+                    word *ob = (word *)R[9];
+                    hval  hdr;
+                    assert(allocp(R[9]), R[9], IFALSE);
+                    hdr = *ob;
+                    assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+                    R[10] = ob[1];
+                    R[11] = ob[2];
+
+                  }
+
+                  R[12] = G(R[2], 5);
+                  R[3] = G(R[1], 5);
+                  R[5] = G(R[1], 2);
+                  R[4] = R[11];
+                  ob = (word *)R[12];
+                  acc = 3;
+
+                } else {
+
+                  R[9] = G(R[2], 12);
+                  if (R[3] == R[9]) {
+
+                    R[10] = G(R[1], 4);
+                    {
+
+                      word *ob = (word *)R[10];
+                      hval  hdr;
+                      assert(allocp(R[10]), R[10], IFALSE);
+                      hdr = *ob;
+                      assert_not(rawp(hdr) || objsize(hdr) != 4, ob, IFALSE);
+                      R[11] = ob[1];
+                      R[12] = ob[2];
+                      R[13] = ob[3];
+
+                    }
+
+                    R[6] = G(R[1], 3);
+                    R[15] = G(R[1], 5);
+                    *fp = make_header(5, TPROC);
+                    fp[1] = G(R[2], 13);
+                    fp[4] = R[6];
+                    fp[3] = R[15];
+                    fp[2] = R[12];
+                    R[3] = (word)fp;
+                    fp += 5;
+                    R[5] = G(R[1], 2);
+                    R[4] = R[13];
+                    ob = (word *)R[6];
+                    acc = 4;
+
+                  } else {
+
+                    R[10] = G(R[2], 14);
+                    R[11] = G(R[1], 4);
+                    R[12] = G(R[1], 5);
+                    *fp = make_header(4, TCLOS);
+                    fp[1] = G(R[2], 15);
+                    fp[3] = R[12];
+                    fp[2] = R[11];
+                    R[3] = (word)fp;
+                    fp += 4;
+                    R[4] = G(R[2], 16);
+                    R[5] = INULL;
+                    ob = (word *)R[10];
+                    acc = 3;
+
+                  }
+
+                }
+
+              }
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 351:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[3] = R[3];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 4;
+        R[4] = 128 * 122 + 258;
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 352:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[8] = (word)fp;
+        fp += 5;
+        R[9] = 128 * 92 + 258;
+        R[10] = R[4];
+        R[5] = R[3];
+        R[3] = R[8];
+        R[4] = R[9];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 353:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[8] = (word)fp;
+        fp += 5;
+        R[9] = 128 * 62 + 258;
+        R[10] = R[4];
+        R[5] = R[3];
+        R[3] = R[8];
+        R[4] = R[9];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 354:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 5;
+        R[4] = 128 * 122 + 258;
+        R[5] = R[6];
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 355:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = 128 * 118 + 258;
+        R[8] = R[4];
+        R[9] = R[5];
+        R[5] = R[3];
+        R[4] = R[6];
+        R[3] = R[9];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 356:
+      if (acc == 4) {
+
+        if (R[4] == INULL) {
+
+          ob = (word *)R[3];
+          R[3] = R[5];
+          acc = 1;
+
+        } else {
+
+          R[7] = G(R[1], 2);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[5] = R[3];
+          fp[4] = R[6];
+          fp[3] = R[5];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 6;
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 357:
+      if (acc == 1) {
+
+        {
+
+          word *ob = (word *)R[3];
+          hval  hdr;
+          assert(allocp(R[3]), R[3], IFALSE);
+          hdr = *ob;
+          assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+          R[4] = ob[1];
+          R[5] = ob[2];
+
+        }
+
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[9];
+        fp[5] = R[4];
+        fp[4] = R[5];
+        fp[3] = R[8];
+        fp[2] = R[7];
+        R[3] = (word)fp;
+        fp += 7;
+        R[4] = G(R[1], 2);
+        ob = (word *)R[6];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 358:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 4);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[6] = (word)fp;
+        fp += 4;
+        R[7] = G(R[1], 2);
+        if (R[7] == IFALSE) {
+
+          ob = (word *)R[6];
+          acc = 1;
+
+        } else {
+
+          R[8] = G(R[2], 2);
+          *fp = make_header(3, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[2] = R[6];
+          R[9] = (word)fp;
+          fp += 3;
+          R[5] = R[3];
+          R[4] = R[7];
+          R[3] = R[9];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 359:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = 128 * 62 + 258;
+        R[8] = R[4];
+        R[9] = R[5];
+        R[5] = R[3];
+        R[4] = R[6];
+        R[3] = R[9];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 360:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = 128 * 120 + 258;
+        R[8] = R[4];
+        R[9] = R[5];
+        R[5] = R[3];
+        R[4] = R[6];
+        R[3] = R[9];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 361:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[3];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 5;
+        R[4] = R[6];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 362:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[7];
+        fp[3] = R[3];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 5;
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 363:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[7] = (word)fp;
+        fp += 5;
+        R[8] = G(R[1], 2);
+        R[9] = R[4];
+        R[5] = R[3];
+        R[3] = R[7];
+        R[4] = R[8];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 364:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 2);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[1], 3);
+        fp[2] = R[6];
+        R[8] = (word)fp;
+        fp += 3;
+        R[6] = R[5];
+        R[5] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[7];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 365:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[6];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = 128 * 0 + 258;
+        R[4] = R[5];
+        R[5] = R[9];
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 366:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        if (R[3] == R[4]) {
+
+          R[5] = G(R[1], 2);
+          {
+
+            word *ob = (word *)R[5];
+            hval  hdr;
+            assert(allocp(R[5]), R[5], IFALSE);
+            hdr = *ob;
+            assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+            R[6] = ob[1];
+            R[7] = ob[2];
+
+          }
+
+          R[8] = G(R[1], 4);
+          R[3] = G(R[1], 3);
+          ob = (word *)R[8];
+          acc = 1;
+
+        } else {
+
+          R[5] = G(R[2], 3);
+          if (R[3] == R[5]) {
+
+            R[6] = G(R[1], 2);
+            {
+
+              word *ob = (word *)R[6];
+              hval  hdr;
+              assert(allocp(R[6]), R[6], IFALSE);
+              hdr = *ob;
+              assert_not(rawp(hdr) || objsize(hdr) != 4, ob, IFALSE);
+              R[7] = ob[1];
+              R[8] = ob[2];
+              R[9] = ob[3];
+
+            }
+
+            R[10] = G(R[2], 4);
+            R[3] = G(R[1], 4);
+            R[4] = G(R[1], 3);
+            R[7] = F(0);
+            R[5] = R[8];
+            R[6] = R[9];
+            ob = (word *)R[10];
+            acc = 5;
+
+          } else {
+
+            R[6] = G(R[2], 5);
+            if (R[3] == R[6]) {
+
+              R[7] = G(R[1], 2);
+              {
+
+                word *ob = (word *)R[7];
+                hval  hdr;
+                assert(allocp(R[7]), R[7], IFALSE);
+                hdr = *ob;
+                assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+                R[8] = ob[1];
+                R[9] = ob[2];
+
+              }
+
+              R[10] = G(R[2], 4);
+              R[3] = G(R[1], 4);
+              R[4] = G(R[1], 3);
+              R[6] = INULL;
+              R[7] = 128 * 2 + 258;
+              R[5] = R[9];
+              ob = (word *)R[10];
+              acc = 5;
+
+            } else {
+
+              R[7] = G(R[2], 6);
+              if (R[3] == R[7]) {
+
+                R[8] = G(R[1], 2);
+                {
+
+                  word *ob = (word *)R[8];
+                  hval  hdr;
+                  assert(allocp(R[8]), R[8], IFALSE);
+                  hdr = *ob;
+                  assert_not(rawp(hdr) || objsize(hdr) != 4, ob, IFALSE);
+                  R[9] = ob[1];
+                  R[10] = ob[2];
+                  R[11] = ob[3];
+
+                }
+
+                R[12] = G(R[2], 4);
+                R[3] = G(R[1], 4);
+                R[4] = G(R[1], 3);
+                R[7] = 128 * 0 + 258;
+                R[5] = R[10];
+                R[6] = R[11];
+                ob = (word *)R[12];
+                acc = 5;
+
+              } else {
+
+                R[8] = G(R[2], 7);
+                if (R[3] == R[8]) {
+
+                  R[9] = G(R[1], 2);
+                  {
+
+                    word *ob = (word *)R[9];
+                    hval  hdr;
+                    assert(allocp(R[9]), R[9], IFALSE);
+                    hdr = *ob;
+                    assert_not(rawp(hdr) || objsize(hdr) != 5, ob, IFALSE);
+                    R[10] = ob[1];
+                    R[11] = ob[2];
+                    R[12] = ob[3];
+                    R[13] = ob[4];
+
+                  }
+
+                  R[14] = G(R[2], 8);
+                  R[15] = G(R[1], 4);
+                  *fp = make_header(5, TCLOS);
+                  fp[1] = G(R[2], 9);
+                  fp[4] = R[15];
+                  fp[3] = R[11];
+                  fp[2] = R[12];
+                  R[3] = (word)fp;
+                  fp += 5;
+                  R[17] = G(R[1], 5);
+                  *fp = make_header(3, TPROC);
+                  fp[1] = G(R[2], 10);
+                  fp[2] = R[17];
+                  R[4] = (word)fp;
+                  fp += 3;
+                  R[5] = G(R[1], 3);
+                  R[6] = R[13];
+                  ob = (word *)R[14];
+                  acc = 4;
+
+                } else {
+
+                  R[9] = G(R[2], 11);
+                  R[3] = G(R[1], 4);
+                  R[4] = G(R[2], 12);
+                  R[5] = G(R[2], 13);
+                  R[6] = G(R[1], 2);
+                  ob = (word *)R[9];
+                  acc = 4;
+
+                }
+
+              }
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 367:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 2);
+        R[8] = 128 * 2 + 258;
+        R[10] = R[4];
+        R[4] = R[3];
+        R[3] = R[5];
+        R[5] = R[6];
+        R[6] = R[7];
+        R[7] = R[8];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 368:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[3];
+        fp[3] = R[5];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 5;
+        R[6] = R[7];
+        ob = (word *)R[8];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 369:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        if (R[4] == INULL) {
+
+          R[5] = G(R[1], 4);
+          ob = (word *)R[5];
+          acc = 1;
+
+        } else {
+
+          R[5] = G(R[2], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[7];
+          fp[4] = R[3];
+          fp[3] = R[6];
+          fp[2] = R[4];
+          R[8] = (word)fp;
+          fp += 6;
+          R[9] = R[5];
+          R[4] = R[3];
+          R[5] = R[6];
+          R[3] = R[8];
+          ob = (word *)R[9];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 370:
+      if (acc == 1) {
+
+        {
+
+          word *ob = (word *)R[3];
+          hval  hdr;
+          assert(allocp(R[3]), R[3], IFALSE);
+          hdr = *ob;
+          assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+          R[4] = ob[1];
+          R[5] = ob[2];
+
+        }
+
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[9];
+        fp[4] = R[8];
+        fp[3] = R[7];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 6;
+        R[4] = G(R[2], 4);
+        R[12] = G(R[1], 2);
+        R[9] = R[6];
+        R[6] = R[12];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 371:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[7] = (word)fp;
+        fp += 5;
+        if (R[3] == IFALSE) {
+
+          R[8] = G(R[2], 2);
+          R[4] = G(R[1], 2);
+          R[3] = R[7];
+          ob = (word *)R[8];
+          acc = 2;
+
+        } else {
+
+          R[8] = G(R[2], 2);
+          *fp = make_header(3, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[2] = R[7];
+          R[3] = (word)fp;
+          fp += 3;
+          R[4] = G(R[1], 2);
+          ob = (word *)R[8];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 372:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[5] = 128 * 18 + 258;
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 373:
+      if (acc == 2) {
+
+        if (R[4] == F(0)) {
+
+          R[5] = G(R[1], 2);
+          R[6] = 128 * 94 + 258;
+          R[7] = INULL;
+          R[8] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[5] = G(R[1], 3);
+          R[6] = INULL;
+          R[9] = R[6];
+          R[6] = R[5];
+          R[5] = R[9];
+          ob = (word *)R[6];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 374:
+      if (acc == 4) {
+
+        if (R[4] == F(0)) {
+
+          ob = (word *)R[3];
+          R[3] = R[5];
+          acc = 1;
+
+        } else {
+
+          R[7] = G(R[1], 2);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[4] = R[6];
+          fp[3] = R[3];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[5] = 128 * 18 + 258;
+          ob = (word *)R[7];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 375:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[3];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 6;
+        R[10] = 128 * 94 + 258;
+        R[8] = R[5];
+        R[5] = R[10];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 376:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[3];
+        fp[4] = R[4];
+        fp[3] = R[5];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 6;
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 377:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[9] = G(R[1], 2);
+          R[5] = IFALSE;
+          R[11] = R[4];
+          R[4] = R[9];
+          ob = (word *)R[11];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[6] = R[8];
+          fp[5] = R[7];
+          fp[4] = R[6];
+          fp[3] = R[5];
+          fp[2] = R[3];
+          R[9] = (word)fp;
+          fp += 7;
+          R[7] = R[4];
+          R[4] = R[3];
+          R[3] = R[9];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 378:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = prim_less(R[4], R[3]);
+        if (R[5] == IFALSE) {
+
+          R[6] = G(R[1], 6);
+          R[3] = G(R[1], 5);
+          ob = (word *)R[6];
+          acc = 1;
+
+        } else {
+
+          R[6] = G(R[2], 2);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 6);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[9];
+          fp[4] = R[8];
+          fp[3] = R[7];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 6;
+          R[4] = G(R[1], 2);
+          ob = (word *)R[6];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 379:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[6] = INULL;
+        R[8] = R[5];
+        R[5] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 380:
+      if (acc == 4) {
+
+        if (R[4] == INULL) {
+
+          R[7] = G(R[1], 2);
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[7] = G(R[1], 3);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[1], 4);
+          fp[5] = R[6];
+          fp[4] = R[3];
+          fp[3] = R[5];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 6;
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 381:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 7;
+        R[5] = 128 * 0 + 258;
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[9];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 382:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        if (R[3] == R[4]) {
+
+          R[5] = G(R[1], 4);
+          {
+
+            word *ob = (word *)R[5];
+            hval  hdr;
+            assert(allocp(R[5]), R[5], IFALSE);
+            hdr = *ob;
+            assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+            R[6] = ob[1];
+            R[7] = ob[2];
+
+          }
+
+          R[8] = G(R[2], 3);
+          R[9] = G(R[1], 3);
+          R[10] = G(R[1], 5);
+          R[11] = G(R[1], 6);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[5] = R[11];
+          fp[4] = R[10];
+          fp[3] = R[5];
+          fp[2] = R[9];
+          R[3] = (word)fp;
+          fp += 6;
+          R[4] = G(R[1], 2);
+          ob = (word *)R[8];
+          acc = 2;
+
+        } else {
+
+          R[5] = G(R[2], 5);
+          if (R[3] == R[5]) {
+
+            R[6] = G(R[1], 4);
+            {
+
+              word *ob = (word *)R[6];
+              hval  hdr;
+              assert(allocp(R[6]), R[6], IFALSE);
+              hdr = *ob;
+              assert_not(rawp(hdr) || objsize(hdr) != 4, ob, IFALSE);
+              R[7] = ob[1];
+              R[8] = ob[2];
+              R[9] = ob[3];
+
+            }
+
+            R[10] = G(R[2], 3);
+            R[11] = G(R[1], 3);
+            R[12] = G(R[1], 5);
+            R[13] = G(R[1], 6);
+            *fp = make_header(6, TCLOS);
+            fp[1] = G(R[2], 6);
+            fp[5] = R[13];
+            fp[4] = R[12];
+            fp[3] = R[6];
+            fp[2] = R[11];
+            R[3] = (word)fp;
+            fp += 6;
+            R[4] = G(R[1], 2);
+            ob = (word *)R[10];
+            acc = 2;
+
+          } else {
+
+            R[6] = G(R[2], 7);
+            if (R[3] == R[6]) {
+
+              R[7] = G(R[1], 4);
+              {
+
+                word *ob = (word *)R[7];
+                hval  hdr;
+                assert(allocp(R[7]), R[7], IFALSE);
+                hdr = *ob;
+                assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+                R[8] = ob[1];
+                R[9] = ob[2];
+
+              }
+
+              R[10] = G(R[2], 8);
+              R[4] = G(R[1], 3);
+              R[12] = G(R[1], 2);
+              R[13] = G(R[1], 5);
+              R[14] = G(R[1], 6);
+              *fp = make_header(7, TCLOS);
+              fp[1] = G(R[2], 9);
+              fp[6] = R[14];
+              fp[5] = R[13];
+              fp[4] = R[12];
+              fp[3] = R[7];
+              fp[2] = R[4];
+              R[3] = (word)fp;
+              fp += 7;
+              R[5] = R[9];
+              ob = (word *)R[10];
+              acc = 3;
+
+            } else {
+
+              R[7] = G(R[2], 3);
+              R[8] = G(R[1], 3);
+              R[9] = G(R[1], 4);
+              R[10] = G(R[1], 5);
+              R[11] = G(R[1], 6);
+              *fp = make_header(6, TCLOS);
+              fp[1] = G(R[2], 10);
+              fp[5] = R[11];
+              fp[4] = R[10];
+              fp[3] = R[9];
+              fp[2] = R[8];
+              R[3] = (word)fp;
+              fp += 6;
+              R[4] = G(R[1], 2);
+              ob = (word *)R[7];
+              acc = 2;
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 383:
+      if (acc == 3) {
+
+        if (R[3] == IFALSE) {
+
+          R[6] = G(R[2], 2);
+          R[7] = G(R[1], 2);
+          R[8] = G(R[1], 3);
+          R[9] = G(R[1], 5);
+          R[10] = G(R[1], 6);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[10];
+          fp[4] = R[9];
+          fp[3] = R[8];
+          fp[2] = R[7];
+          R[3] = (word)fp;
+          fp += 6;
+          R[4] = G(R[1], 4);
+          ob = (word *)R[6];
+          acc = 2;
+
+        } else {
+
+          {
+
+            word *ob = (word *)R[3];
+            hval  hdr;
+            assert(allocp(R[3]), R[3], IFALSE);
+            hdr = *ob;
+            assert_not(rawp(hdr) || objsize(hdr) != 4, ob, IFALSE);
+            R[6] = ob[1];
+            R[7] = ob[2];
+            R[8] = ob[3];
+
+          }
+
+          R[9] = G(R[2], 2);
+          R[10] = G(R[1], 5);
+          R[11] = G(R[1], 6);
+          *fp = make_header(8, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[7] = R[11];
+          fp[6] = R[10];
+          fp[5] = R[5];
+          fp[4] = R[7];
+          fp[3] = R[8];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 8;
+          R[4] = G(R[1], 4);
+          ob = (word *)R[9];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 384:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 4);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 2);
+        *fp = make_header(5, 2);
+        fp[1] = R[4];
+        fp[2] = R[5];
+        fp[3] = R[6];
+        fp[4] = R[7];
+        R[4] = (word)fp;
+        fp += 5;
+        R[9] = G(R[2], 2);
+        R[10] = G(R[1], 6);
+        R[11] = G(R[1], 7);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[11];
+        fp[3] = R[10];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 5;
+        R[5] = G(R[1], 5);
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 385:
+      if (acc == 4) {
+
+        if (R[4] == INULL) {
+
+          R[4] = IFALSE;
+          R[8] = R[3];
+          R[3] = R[4];
+          R[5] = R[4];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[7] = G(R[2], 2);
+          R[8] = G(R[1], 2);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[6] = R[6];
+          fp[5] = R[3];
+          fp[4] = R[5];
+          fp[3] = R[8];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 7;
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 386:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[3];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[10] = (word)fp;
+        fp += 8;
+        R[5] = 128 * 0 + 258;
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[10];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 387:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        if (R[3] == R[4]) {
+
+          R[5] = G(R[2], 3);
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 4);
+          R[4] = G(R[1], 5);
+          R[10] = G(R[1], 6);
+          R[11] = G(R[1], 7);
+          *fp = make_header(8, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[7] = R[11];
+          fp[6] = R[10];
+          fp[5] = R[4];
+          fp[4] = R[8];
+          fp[3] = R[7];
+          fp[2] = R[6];
+          R[3] = (word)fp;
+          fp += 8;
+          R[13] = 128 * 2 + 258;
+          R[8] = R[5];
+          R[5] = R[13];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[5] = G(R[2], 5);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          R[9] = G(R[1], 7);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 6);
+          fp[5] = R[9];
+          fp[4] = R[8];
+          fp[3] = R[7];
+          fp[2] = R[6];
+          R[3] = (word)fp;
+          fp += 6;
+          R[4] = G(R[1], 2);
+          ob = (word *)R[5];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 388:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        if (R[3] == R[4]) {
+
+          R[5] = G(R[2], 2);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          *fp = make_header(5, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[8];
+          fp[3] = R[7];
+          fp[2] = R[6];
+          R[3] = (word)fp;
+          fp += 5;
+          R[4] = G(R[1], 2);
+          ob = (word *)R[5];
+          acc = 2;
+
+        } else {
+
+          R[5] = G(R[2], 2);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          R[9] = G(R[1], 7);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[5] = R[9];
+          fp[4] = R[8];
+          fp[3] = R[7];
+          fp[2] = R[6];
+          R[3] = (word)fp;
+          fp += 6;
+          R[4] = G(R[1], 2);
+          ob = (word *)R[5];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 389:
+      if (acc == 2) {
+
+        if (R[4] == IFALSE) {
+
+          ob = (word *)R[3];
+          R[3] = R[4];
+          acc = 1;
+
+        } else {
+
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = INULL;
+          R[9] = R[5];
+          R[10] = R[6];
+          R[6] = R[4];
+          R[5] = R[7];
+          R[4] = R[10];
+          ob = (word *)R[9];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 390:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[3];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 5;
+        R[5] = 128 * 0 + 258;
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 391:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        if (R[3] == R[4]) {
+
+          R[5] = G(R[1], 2);
+          {
+
+            word *ob = (word *)R[5];
+            hval  hdr;
+            assert(allocp(R[5]), R[5], IFALSE);
+            hdr = *ob;
+            assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+            R[6] = ob[1];
+            R[7] = ob[2];
+
+          }
+
+          R[8] = G(R[1], 3);
+          if (R[8] == INULL) {
+
+            R[9] = G(R[2], 3);
+            R[3] = G(R[1], 4);
+            R[4] = R[5];
+            R[5] = R[8];
+            ob = (word *)R[9];
+            acc = 3;
+
+          } else {
+
+            R[9] = G(R[2], 4);
+            R[10] = G(R[1], 4);
+            *fp = make_header(6, TCLOS);
+            fp[1] = G(R[2], 5);
+            fp[5] = R[10];
+            fp[4] = R[8];
+            fp[3] = R[7];
+            fp[2] = R[5];
+            R[3] = (word)fp;
+            fp += 6;
+            R[4] = R[8];
+            ob = (word *)R[9];
+            acc = 2;
+
+          }
+
+        } else {
+
+          R[5] = G(R[2], 3);
+          R[6] = G(R[1], 4);
+          R[4] = G(R[1], 2);
+          R[8] = G(R[1], 3);
+          R[9] = R[5];
+          R[3] = R[6];
+          R[5] = R[8];
+          ob = (word *)R[9];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 392:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 7;
+        R[5] = 128 * 0 + 258;
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[9];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 393:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        if (R[3] == R[4]) {
+
+          R[5] = G(R[1], 3);
+          {
+
+            word *ob = (word *)R[5];
+            hval  hdr;
+            assert(allocp(R[5]), R[5], IFALSE);
+            hdr = *ob;
+            assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+            R[6] = ob[1];
+            R[7] = ob[2];
+
+          }
+
+          R[8] = G(R[2], 3);
+          R[9] = G(R[1], 5);
+          R[10] = G(R[1], 6);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[3] = R[10];
+          fp[2] = R[9];
+          R[3] = (word)fp;
+          fp += 4;
+          R[4] = G(R[1], 4);
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[5] = G(R[2], 5);
+          R[6] = G(R[1], 6);
+          R[4] = G(R[1], 2);
+          R[8] = G(R[1], 5);
+          R[9] = R[5];
+          R[3] = R[6];
+          R[5] = R[8];
+          ob = (word *)R[9];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 394:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 4);
+        *fp = make_header(3, 2);
+        fp[1] = R[4];
+        fp[2] = R[3];
+        R[5] = (word)fp;
+        fp += 3;
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 3);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[7];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 4;
+        R[4] = G(R[1], 2);
+        ob = (word *)R[6];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 395:
+      if (acc == 4) {
+
+        if (R[5] == INULL) {
+
+          R[7] = R[3];
+          R[3] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[7] = G(R[1], 2);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[5] = R[3];
+          fp[4] = R[6];
+          fp[3] = R[5];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 6;
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 396:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 5);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[7] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 397:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 5);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[4] = R[6];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 5;
+        R[8] = G(R[1], 2);
+        R[5] = R[3];
+        R[6] = R[4];
+        R[3] = R[7];
+        R[4] = R[8];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 398:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[4];
+        fp[3] = R[6];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 6;
+        R[4] = G(R[1], 2);
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 399:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          *fp = make_header(3, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[2] = R[5];
+          R[6] = (word)fp;
+          fp += 3;
+          R[7] = G(R[2], 4);
+          R[5] = G(R[1], 2);
+          R[9] = R[4];
+          R[3] = R[6];
+          R[4] = R[7];
+          ob = (word *)R[9];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 5);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 6);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[9] = 128 * 0 + 258;
+          R[10] = R[4];
+          R[4] = R[5];
+          R[5] = R[9];
+          ob = (word *)R[10];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 400:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        if (R[3] == R[4]) {
+
+          R[5] = G(R[1], 2);
+          {
+
+            word *ob = (word *)R[5];
+            hval  hdr;
+            assert(allocp(R[5]), R[5], IFALSE);
+            hdr = *ob;
+            assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+            R[6] = ob[1];
+            R[7] = ob[2];
+
+          }
+
+          R[8] = G(R[1], 4);
+          R[3] = G(R[1], 3);
+          R[4] = R[5];
+          ob = (word *)R[8];
+          acc = 2;
+
+        } else {
+
+          R[5] = G(R[2], 3);
+          if (R[3] == R[5]) {
+
+            R[6] = G(R[1], 2);
+            {
+
+              word *ob = (word *)R[6];
+              hval  hdr;
+              assert(allocp(R[6]), R[6], IFALSE);
+              hdr = *ob;
+              assert_not(rawp(hdr) || objsize(hdr) != 4, ob, IFALSE);
+              R[7] = ob[1];
+              R[8] = ob[2];
+              R[9] = ob[3];
+
+            }
+
+            R[10] = G(R[2], 4);
+            R[11] = G(R[1], 4);
+            *fp = make_header(4, TCLOS);
+            fp[1] = G(R[2], 5);
+            fp[3] = R[11];
+            fp[2] = R[9];
+            R[3] = (word)fp;
+            fp += 4;
+            R[4] = G(R[1], 3);
+            R[5] = R[8];
+            ob = (word *)R[10];
+            acc = 3;
+
+          } else {
+
+            R[6] = G(R[2], 6);
+            if (R[3] == R[6]) {
+
+              R[7] = G(R[1], 2);
+              {
+
+                word *ob = (word *)R[7];
+                hval  hdr;
+                assert(allocp(R[7]), R[7], IFALSE);
+                hdr = *ob;
+                assert_not(rawp(hdr) || objsize(hdr) != 4, ob, IFALSE);
+                R[8] = ob[1];
+                R[9] = ob[2];
+                R[10] = ob[3];
+
+              }
+
+              R[11] = G(R[2], 4);
+              R[12] = G(R[1], 4);
+              *fp = make_header(4, TCLOS);
+              fp[1] = G(R[2], 7);
+              fp[3] = R[12];
+              fp[2] = R[10];
+              R[3] = (word)fp;
+              fp += 4;
+              R[4] = G(R[1], 3);
+              R[5] = R[9];
+              ob = (word *)R[11];
+              acc = 3;
+
+            } else {
+
+              R[7] = G(R[2], 8);
+              if (R[3] == R[7]) {
+
+                R[8] = G(R[1], 2);
+                {
+
+                  word *ob = (word *)R[8];
+                  hval  hdr;
+                  assert(allocp(R[8]), R[8], IFALSE);
+                  hdr = *ob;
+                  assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+                  R[9] = ob[1];
+                  R[10] = ob[2];
+
+                }
+
+                R[11] = G(R[2], 4);
+                R[12] = G(R[1], 4);
+                *fp = make_header(3, TCLOS);
+                fp[1] = G(R[2], 9);
+                fp[2] = R[12];
+                R[3] = (word)fp;
+                fp += 3;
+                R[4] = G(R[1], 3);
+                R[5] = R[10];
+                ob = (word *)R[11];
+                acc = 3;
+
+              } else {
+
+                R[8] = G(R[2], 10);
+                R[9] = G(R[1], 4);
+                *fp = make_header(3, TCLOS);
+                fp[1] = G(R[2], 11);
+                fp[2] = R[9];
+                R[3] = (word)fp;
+                fp += 3;
+                R[4] = G(R[2], 12);
+                R[5] = G(R[1], 2);
+                ob = (word *)R[8];
+                acc = 3;
+
+              }
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 401:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        *fp = make_header(3, 2);
+        fp[1] = R[5];
+        fp[2] = R[4];
+        R[4] = (word)fp;
+        fp += 3;
+        R[7] = G(R[1], 2);
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 402:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[4];
+        R[7] = (word)fp;
+        fp += 4;
+        R[4] = G(R[2], 4);
+        R[6] = G(R[1], 2);
+        R[10] = R[5];
+        R[5] = R[3];
+        R[3] = R[7];
+        ob = (word *)R[10];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 403:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        *fp = make_header(4, 2);
+        fp[1] = R[5];
+        fp[2] = R[6];
+        fp[3] = R[4];
+        R[4] = (word)fp;
+        fp += 4;
+        R[8] = G(R[1], 3);
+        ob = (word *)R[8];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 404:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = 128 * 252 + 258;
+        R[7] = R[4];
+        R[3] = R[5];
+        R[4] = R[6];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 405:
+      if (acc == 5) {
+
+        if (R[6] == INULL) {
+
+          R[7] = R[3];
+          R[3] = R[5];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[8] = G(R[1], 2);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[6] = R[3];
+          fp[5] = R[7];
+          fp[4] = R[4];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 7;
+          R[4] = R[6];
+          ob = (word *)R[8];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 406:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[8] = (word)fp;
+        fp += 6;
+        R[9] = G(R[1], 2);
+        R[10] = R[4];
+        R[5] = R[3];
+        R[3] = R[8];
+        R[4] = R[9];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 407:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[4];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 7;
+        R[4] = G(R[1], 2);
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 408:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 6);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[8] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[6] = R[3];
+        R[3] = R[7];
+        R[7] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 409:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          R[8] = G(R[1], 2);
+          R[9] = R[4];
+          R[4] = R[8];
+          ob = (word *)R[9];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[1], 4);
+          R[5] = G(R[1], 2);
+          R[7] = R[4];
+          R[4] = R[3];
+          R[3] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 410:
+      if (acc == 3) {
+
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 2);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 411:
+      if (acc == 4) {
+
+        if (R[5] == INULL) {
+
+          R[7] = G(R[2], 2);
+          R[5] = INULL;
+          R[6] = G(R[1], 2);
+          ob = (word *)R[7];
+          acc = 4;
+
+        } else {
+
+          R[7] = G(R[2], 3);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[5] = R[3];
+          fp[4] = R[4];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 412:
+      if (acc == 4) {
+
+        if (R[4] == IFALSE) {
+
+          R[7] = IFALSE;
+          ob = (word *)R[3];
+          R[3] = R[7];
+          acc = 1;
+
+        } else {
+
+          if (R[5] == INULL) {
+
+            R[7] = G(R[1], 2);
+            R[5] = INULL;
+            R[6] = IFALSE;
+            ob = (word *)R[7];
+            acc = 4;
+
+          } else {
+
+            R[7] = G(R[1], 3);
+            *fp = make_header(6, TCLOS);
+            fp[1] = G(R[1], 4);
+            fp[5] = R[6];
+            fp[4] = R[3];
+            fp[3] = R[5];
+            fp[2] = R[4];
+            R[3] = (word)fp;
+            fp += 6;
+            R[4] = R[5];
+            ob = (word *)R[7];
+            acc = 2;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 413:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[8] = (word)fp;
+        fp += 5;
+        R[9] = G(R[1], 2);
+        R[6] = IFALSE;
+        R[11] = R[4];
+        R[5] = R[3];
+        R[3] = R[8];
+        R[4] = R[9];
+        ob = (word *)R[11];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 414:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = IFALSE;
+        R[11] = R[5];
+        R[5] = R[4];
+        R[4] = R[6];
+        R[6] = R[7];
+        R[7] = R[8];
+        R[8] = R[9];
+        ob = (word *)R[11];
+        acc = 6;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 415:
+      if (acc == 3) {
+
+        if (R[4] == IFALSE) {
+
+          ob = (word *)R[3];
+          R[3] = R[5];
+          acc = 1;
+
+        } else {
+
+          R[6] = G(R[1], 2);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[4] = R[3];
+          fp[3] = R[5];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 5;
+          R[8] = 128 * 0 + 258;
+          R[4] = R[5];
+          R[5] = R[8];
+          ob = (word *)R[6];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 416:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        if (R[3] == R[4]) {
+
+          R[5] = G(R[1], 3);
+          {
+
+            word *ob = (word *)R[5];
+            hval  hdr;
+            assert(allocp(R[5]), R[5], IFALSE);
+            hdr = *ob;
+            assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+            R[6] = ob[1];
+            R[7] = ob[2];
+
+          }
+
+          R[8] = G(R[2], 3);
+          R[9] = G(R[1], 4);
+          *fp = make_header(3, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[2] = R[9];
+          R[3] = (word)fp;
+          fp += 3;
+          R[4] = G(R[1], 2);
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[5] = G(R[1], 2);
+          *fp = make_header(3, 2);
+          fp[1] = R[4];
+          fp[2] = R[5];
+          R[6] = (word)fp;
+          fp += 3;
+          R[7] = G(R[2], 3);
+          R[8] = G(R[1], 4);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[3] = R[8];
+          fp[2] = R[6];
+          R[3] = (word)fp;
+          fp += 4;
+          R[4] = G(R[1], 3);
+          R[5] = INULL;
+          ob = (word *)R[7];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 417:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        *fp = make_header(3, 2);
+        fp[1] = R[7];
+        fp[2] = R[6];
+        R[6] = (word)fp;
+        fp += 3;
+        R[9] = G(R[1], 2);
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 418:
+      if (acc == 2) {
+
+        R[5] = 128 * 66 + 258;
+        if (R[4] == R[5]) {
+
+          R[6] = IFALSE;
+          ob = (word *)R[3];
+          R[3] = R[6];
+          acc = 1;
+
+        } else {
+
+          R[6] = 128 * 118 + 258;
+          if (R[4] == R[6]) {
+
+            R[7] = IFALSE;
+            ob = (word *)R[3];
+            R[3] = R[7];
+            acc = 1;
+
+          } else {
+
+            R[7] = ITRUE;
+            ob = (word *)R[3];
+            R[3] = R[7];
+            acc = 1;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 419:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[6];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[4] = 128 * 118 + 258;
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 420:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        R[9] = G(R[1], 3);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[4] = 128 * 122 + 258;
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 421:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        *fp = make_header(3, 2);
+        fp[1] = R[7];
+        fp[2] = R[8];
+        R[6] = (word)fp;
+        fp += 3;
+        R[10] = G(R[1], 3);
+        ob = (word *)R[10];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 422:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        R[9] = G(R[1], 3);
+        R[10] = G(R[1], 4);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 8;
+        R[4] = G(R[2], 4);
+        R[5] = G(R[2], 5);
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 423:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[4] = 128 * 122 + 258;
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 424:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[6];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[4] = 128 * 122 + 258;
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 425:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[4] = R[9];
+        fp[3] = R[8];
+        fp[2] = R[7];
+        R[10] = (word)fp;
+        fp += 5;
+        R[9] = R[3];
+        R[3] = R[4];
+        R[4] = R[5];
+        R[5] = R[6];
+        R[6] = R[10];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 426:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        *fp = make_header(4, 2);
+        fp[1] = R[6];
+        fp[2] = R[7];
+        fp[3] = R[8];
+        R[6] = (word)fp;
+        fp += 4;
+        R[10] = G(R[1], 4);
+        ob = (word *)R[10];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 427:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        R[9] = G(R[1], 3);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[4] = IFALSE;
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 428:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[6];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[4] = 128 * 120 + 258;
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 429:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        R[8] = G(R[1], 3);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[3];
+        fp[4] = R[4];
+        fp[3] = R[5];
+        fp[2] = R[7];
+        R[9] = (word)fp;
+        fp += 7;
+        if (R[6] == IFALSE) {
+
+          R[3] = R[6];
+          ob = (word *)R[9];
+          acc = 1;
+
+        } else {
+
+          R[10] = G(R[2], 2);
+          R[4] = R[6];
+          R[3] = R[9];
+          ob = (word *)R[10];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 430:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[6];
+        fp[5] = R[8];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[2] = R[8];
+        R[4] = (word)fp;
+        fp += 3;
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 431:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[4] = 128 * 182 + 258;
+        R[5] = R[6];
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 432:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        R[9] = G(R[1], 3);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[9];
+        fp[6] = R[6];
+        fp[5] = R[8];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 8;
+        R[4] = R[8];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 433:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 4);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[9];
+        fp[5] = R[3];
+        fp[4] = R[4];
+        fp[3] = R[5];
+        fp[2] = R[8];
+        R[3] = (word)fp;
+        fp += 7;
+        R[4] = G(R[1], 2);
+        R[5] = INULL;
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 434:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[3] = R[3];
+        fp[2] = R[4];
+        R[6] = (word)fp;
+        fp += 4;
+        R[7] = 128 * 190 + 258;
+        R[8] = R[5];
+        R[3] = R[6];
+        R[5] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 435:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          R[8] = 128 * 126 + 258;
+          R[9] = R[4];
+          R[4] = R[5];
+          R[5] = R[8];
+          ob = (word *)R[9];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 2);
+          R[7] = 128 * 244 + 258;
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 436:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          R[8] = 128 * 92 + 258;
+          R[9] = R[4];
+          R[4] = R[5];
+          R[5] = R[8];
+          ob = (word *)R[9];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 2);
+          R[7] = 128 * 180 + 258;
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 437:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 3);
+          R[3] = IFALSE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 2);
+          R[7] = 128 * 114 + 258;
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 438:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 3);
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 3);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 439:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[3];
+        fp[4] = R[6];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[4] = R[6];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 440:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[7] = (word)fp;
+        fp += 5;
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 2);
+        R[10] = R[4];
+        R[11] = R[7];
+        R[7] = R[3];
+        R[6] = R[5];
+        R[4] = R[8];
+        R[5] = R[9];
+        R[3] = R[11];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 441:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[4];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[9] = (word)fp;
+        fp += 6;
+        R[8] = R[5];
+        R[5] = R[4];
+        R[4] = R[3];
+        R[3] = R[9];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 442:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[4];
+        fp[4] = R[8];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[9] = (word)fp;
+        fp += 6;
+        R[10] = G(R[1], 2);
+        R[8] = R[5];
+        R[4] = R[3];
+        R[3] = R[9];
+        R[5] = R[10];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 443:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[7];
+        fp[3] = R[3];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 5;
+        R[9] = G(R[1], 2);
+        R[10] = G(R[1], 5);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[2] = R[10];
+        R[6] = (word)fp;
+        fp += 3;
+        R[10] = R[5];
+        R[5] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[10];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 444:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[8] = R[5];
+        R[5] = R[4];
+        R[4] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 445:
+      if (acc == 6) {
+
+        R[9] = G(R[1], 2);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[7] = R[8];
+        fp[6] = R[3];
+        fp[5] = R[6];
+        fp[4] = R[7];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 8;
+        R[4] = R[5];
+        ob = (word *)R[9];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 446:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[11] = (word)fp;
+        fp += 8;
+        R[5] = 128 * 18 + 258;
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[11];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 447:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 6);
+          R[8] = G(R[1], 5);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = G(R[1], 2);
+          R[5] = 128 * 38 + 258;
+          R[8] = R[4];
+          R[4] = R[10];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          R[9] = G(R[1], 7);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 7;
+          R[11] = G(R[1], 2);
+          R[8] = R[4];
+          R[5] = R[6];
+          R[4] = R[11];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 448:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[3];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 9;
+        R[4] = R[6];
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 449:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 9;
+        R[5] = G(R[1], 2);
+        R[8] = R[4];
+        R[4] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 450:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 9;
+        R[12] = G(R[1], 2);
+        R[7] = R[4];
+        R[4] = R[12];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 451:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[4];
+        fp[3] = R[3];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 8;
+        R[11] = 128 * 18 + 258;
+        R[8] = R[5];
+        R[5] = R[11];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 452:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 6);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 5);
+          R[7] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 6);
+          R[8] = G(R[1], 7);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = G(R[1], 3);
+          R[5] = G(R[1], 2);
+          R[8] = R[4];
+          R[4] = R[10];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 453:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[9];
+        fp[6] = R[4];
+        fp[5] = R[8];
+        fp[4] = R[3];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 8;
+        R[8] = R[5];
+        R[5] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 454:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[11] = 128 * 0 + 258;
+        R[5] = G(R[1], 2);
+        R[8] = R[4];
+        R[4] = R[11];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 455:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[8] = G(R[1], 2);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[3] = R[10];
+        fp[2] = R[9];
+        R[6] = (word)fp;
+        fp += 4;
+        R[9] = R[4];
+        R[5] = R[3];
+        R[3] = R[7];
+        R[4] = R[8];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 456:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[3];
+        fp[2] = R[4];
+        R[6] = (word)fp;
+        fp += 4;
+        R[4] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[9] = R[5];
+        R[3] = R[6];
+        R[5] = R[8];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 457:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[8] = (word)fp;
+        fp += 6;
+        R[5] = 128 * 4 + 258;
+        R[10] = R[4];
+        R[4] = R[3];
+        R[3] = R[8];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 458:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[5] = 128 * 4 + 258;
+          R[8] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[1], 5);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 4);
+          R[7] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 459:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[8] = (word)fp;
+        fp += 5;
+        R[9] = G(R[1], 2);
+        R[5] = 128 * 2 + 258;
+        R[11] = R[4];
+        R[6] = R[3];
+        R[3] = R[8];
+        R[4] = R[9];
+        ob = (word *)R[11];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 460:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[4];
+        R[9] = (word)fp;
+        fp += 6;
+        R[10] = 128 * 18 + 258;
+        R[8] = R[5];
+        R[4] = R[3];
+        R[3] = R[9];
+        R[5] = R[10];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 461:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[3];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 6;
+        R[10] = G(R[1], 2);
+        R[8] = R[5];
+        R[5] = R[4];
+        R[4] = R[10];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 462:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 6;
+        R[10] = 128 * 2 + 258;
+        R[8] = R[4];
+        R[5] = R[3];
+        R[3] = R[9];
+        R[4] = R[10];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 463:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[3];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[8] = R[4];
+        R[4] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 464:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 7;
+        R[8] = R[4];
+        R[4] = R[3];
+        R[5] = R[6];
+        R[3] = R[9];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 465:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 6;
+        R[4] = G(R[1], 3);
+        R[10] = G(R[1], 2);
+        R[11] = R[5];
+        R[5] = R[10];
+        ob = (word *)R[11];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 466:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[8] = (word)fp;
+        fp += 6;
+        R[5] = 128 * 2 + 258;
+        R[10] = R[4];
+        R[4] = R[3];
+        R[3] = R[8];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 467:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[9] = G(R[1], 2);
+          R[5] = 128 * 0 + 258;
+          R[11] = R[4];
+          R[4] = R[9];
+          ob = (word *)R[11];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[1], 5);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 468:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[4];
+        R[8] = (word)fp;
+        fp += 5;
+        R[9] = 128 * 18 + 258;
+        R[10] = R[5];
+        R[4] = R[3];
+        R[3] = R[8];
+        R[5] = R[9];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 469:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[3];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 6;
+        R[10] = 128 * 2 + 258;
+        R[8] = R[5];
+        R[5] = R[10];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 470:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[8] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[2] = R[3];
+        R[6] = (word)fp;
+        fp += 3;
+        R[11] = R[4];
+        R[3] = R[7];
+        R[4] = R[8];
+        ob = (word *)R[11];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 471:
+      if (acc == 2) {
+
+        if (R[4] == INULL) {
+
+          ob = (word *)R[3];
+          R[3] = R[4];
+          acc = 1;
+
+        } else {
+
+          R[5] = G(R[2], 2);
+          R[6] = G(R[1], 2);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[3];
+          fp[3] = R[6];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 5;
+          ob = (word *)R[5];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 472:
+      if (acc == 5) {
+
+        if (R[5] == F(0)) {
+
+          ob = (word *)R[3];
+          R[3] = R[6];
+          acc = 1;
+
+        } else {
+
+          R[8] = G(R[1], 2);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[5] = R[7];
+          fp[4] = R[3];
+          fp[3] = R[4];
+          fp[2] = R[6];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = 128 * 0 + 258;
+          R[4] = R[5];
+          R[5] = R[10];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 473:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = G(R[1], 2);
+        R[10] = R[4];
+        R[4] = R[5];
+        R[5] = R[9];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 474:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[3];
+        R[7] = (word)fp;
+        fp += 4;
+        R[8] = G(R[1], 2);
+        R[6] = G(R[2], 4);
+        R[10] = R[5];
+        R[5] = R[4];
+        R[3] = R[7];
+        R[4] = R[8];
+        ob = (word *)R[10];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 475:
+      if (acc == 2) {
+
+        if (R[4] == INULL) {
+
+          ob = (word *)R[3];
+          R[3] = R[4];
+          acc = 1;
+
+        } else {
+
+          R[5] = G(R[1], 2);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[3] = R[3];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 4;
+          ob = (word *)R[5];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 476:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[8] = (word)fp;
+        fp += 6;
+        R[5] = F(0);
+        R[10] = R[4];
+        R[4] = R[3];
+        R[3] = R[8];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 477:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[9] = G(R[1], 2);
+          R[10] = R[4];
+          R[4] = R[9];
+          ob = (word *)R[10];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[1], 5);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 4);
+          R[7] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 478:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[4];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = G(R[1], 2);
+        R[10] = R[5];
+        R[5] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 479:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 4);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 5;
+        R[4] = G(R[1], 3);
+        R[9] = G(R[1], 2);
+        R[10] = R[5];
+        R[5] = R[9];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 480:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 5;
+        R[9] = G(R[1], 2);
+        R[10] = R[5];
+        R[5] = R[9];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 481:
+      if (acc == 3) {
+
+        if (R[5] == INULL) {
+
+          R[7] = R[3];
+          R[3] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[6] = G(R[1], 2);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[4] = R[3];
+          fp[3] = R[5];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 5;
+          R[4] = R[5];
+          ob = (word *)R[6];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 482:
+      if (acc == 5) {
+
+        if (R[5] == F(0)) {
+
+          ob = (word *)R[6];
+          acc = 2;
+
+        } else {
+
+          R[8] = 128 * 0 + 258;
+          {
+
+            hval r = immval(R[5]) - immval(R[8]);
+            R[10] = F(r >> FBITS & 1);
+            R[9] = F(r);
+
+          }
+
+          R[11] = G(R[1], 2);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[6] = R[3];
+          fp[5] = R[7];
+          fp[4] = R[9];
+          fp[3] = R[6];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 7;
+          ob = (word *)R[11];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 483:
+      if (acc == 5) {
+
+        R[8] = G(R[2], 2);
+        R[9] = G(R[1], 3);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[3];
+        fp[5] = R[5];
+        fp[4] = R[6];
+        fp[3] = R[7];
+        fp[2] = R[9];
+        R[3] = (word)fp;
+        fp += 7;
+        R[5] = G(R[1], 2);
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 484:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        *fp = make_header(7, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[9];
+        fp[5] = R[3];
+        fp[4] = R[8];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 7;
+        R[11] = G(R[1], 2);
+        R[8] = R[5];
+        R[5] = R[4];
+        R[4] = R[11];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 485:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 6);
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[10] = R[3];
+        R[3] = R[4];
+        R[4] = R[5];
+        R[5] = R[6];
+        R[6] = R[7];
+        R[7] = R[8];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 486:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 2);
+        R[9] = 128 * 0 + 258;
+        R[12] = R[9];
+        R[13] = R[5];
+        R[5] = R[4];
+        R[9] = R[8];
+        R[8] = R[12];
+        R[4] = R[13];
+        ob = (word *)R[9];
+        acc = 7;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 487:
+      if (acc == 7) {
+
+        R[10] = G(R[1], 2);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[7] = R[9];
+        fp[6] = R[3];
+        fp[5] = R[8];
+        fp[4] = R[5];
+        fp[3] = R[6];
+        fp[2] = R[7];
+        R[3] = (word)fp;
+        fp += 8;
+        R[5] = G(R[1], 4);
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 488:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[11] = (word)fp;
+        fp += 9;
+        if (R[4] == IFALSE) {
+
+          R[12] = G(R[2], 2);
+          R[5] = 128 * 2 + 258;
+          R[4] = R[8];
+          R[3] = R[11];
+          ob = (word *)R[12];
+          acc = 3;
+
+        } else {
+
+          R[3] = R[4];
+          ob = (word *)R[11];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 489:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 4);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 2);
+          *fp = make_header(4, 2);
+          fp[1] = R[4];
+          fp[2] = R[5];
+          fp[3] = R[6];
+          R[4] = (word)fp;
+          fp += 4;
+          R[8] = G(R[2], 2);
+          R[9] = G(R[1], 5);
+          R[10] = G(R[1], 7);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[10];
+          fp[2] = R[9];
+          R[3] = (word)fp;
+          fp += 4;
+          R[5] = INULL;
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[1], 3);
+          R[5] = G(R[1], 6);
+          R[6] = G(R[1], 7);
+          R[7] = G(R[1], 8);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[9] = G(R[1], 4);
+          R[5] = G(R[1], 5);
+          R[6] = G(R[1], 2);
+          R[12] = R[4];
+          R[4] = R[9];
+          ob = (word *)R[12];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 490:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 4);
+        *fp = make_header(8, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[4];
+        fp[4] = R[5];
+        fp[3] = R[3];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 8;
+        R[4] = G(R[1], 2);
+        R[5] = 128 * 0 + 258;
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 491:
+      if (acc == 6) {
+
+        R[9] = G(R[1], 2);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[6] = R[8];
+        fp[5] = R[3];
+        fp[4] = R[4];
+        fp[3] = R[5];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 7;
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[4] = R[7];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 492:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[9] = G(R[1], 6);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[2] = R[9];
+        R[10] = (word)fp;
+        fp += 3;
+        R[11] = R[4];
+        R[12] = R[5];
+        R[5] = R[7];
+        R[7] = R[3];
+        R[4] = R[6];
+        R[6] = R[8];
+        R[8] = R[10];
+        R[3] = R[12];
+        ob = (word *)R[11];
+        acc = 6;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 493:
+      if (acc == 5) {
+
+        R[8] = G(R[2], 2);
+        R[9] = G(R[1], 2);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[3];
+        fp[5] = R[4];
+        fp[4] = R[6];
+        fp[3] = R[7];
+        fp[2] = R[9];
+        R[3] = (word)fp;
+        fp += 7;
+        R[11] = G(R[2], 4);
+        R[4] = R[5];
+        R[5] = R[11];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 494:
+      if (acc == 2) {
+
+        if (R[4] == IFALSE) {
+
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 3);
+          *fp = make_header(4, 2);
+          fp[1] = R[3];
+          fp[2] = R[5];
+          fp[3] = R[6];
+          R[4] = (word)fp;
+          fp += 4;
+          R[8] = G(R[2], 2);
+          R[9] = G(R[1], 5);
+          R[10] = G(R[1], 6);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[10];
+          fp[2] = R[9];
+          R[3] = (word)fp;
+          fp += 4;
+          R[5] = INULL;
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 6);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 4);
+          R[9] = G(R[1], 3);
+          R[4] = R[3];
+          R[3] = R[6];
+          R[6] = R[8];
+          R[8] = R[5];
+          R[5] = R[7];
+          R[7] = R[9];
+          ob = (word *)R[8];
+          acc = 6;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 495:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[3];
+        fp[4] = R[4];
+        fp[3] = R[5];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 6;
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[4] = R[7];
+        ob = (word *)R[8];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 496:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[9] = G(R[2], 3);
+        R[11] = R[4];
+        R[12] = R[5];
+        R[5] = R[7];
+        R[7] = R[3];
+        R[4] = R[6];
+        R[6] = R[8];
+        R[8] = R[9];
+        R[3] = R[12];
+        ob = (word *)R[11];
+        acc = 6;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 497:
+      if (acc == 5) {
+
+        *fp = make_header(4, 2);
+        fp[1] = R[5];
+        fp[2] = R[6];
+        fp[3] = R[7];
+        R[8] = (word)fp;
+        fp += 4;
+        R[9] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[3] = R[3];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 4;
+        R[5] = INULL;
+        R[4] = R[8];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 498:
+      if (acc == 6) {
+
+        R[9] = G(R[1], 2);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[6] = R[8];
+        fp[5] = R[6];
+        fp[4] = R[7];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[5] = 128 * 46 + 258;
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 499:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 8;
+        R[4] = G(R[1], 2);
+        R[12] = IFALSE;
+        R[8] = R[5];
+        R[5] = R[12];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 500:
+      if (acc == 2) {
+
+        if (R[3] == IFALSE) {
+
+          R[5] = G(R[1], 7);
+          R[6] = G(R[1], 4);
+          R[7] = INULL;
+          R[8] = G(R[1], 3);
+          R[9] = G(R[1], 6);
+          R[10] = G(R[1], 5);
+          R[11] = R[5];
+          R[3] = R[6];
+          R[4] = R[7];
+          R[5] = R[8];
+          R[6] = R[9];
+          R[7] = R[10];
+          ob = (word *)R[11];
+          acc = 5;
+
+        } else {
+
+          R[5] = G(R[1], 5);
+          R[6] = G(R[1], 6);
+          R[7] = G(R[1], 7);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 2);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[8] = (word)fp;
+          fp += 5;
+          R[9] = G(R[1], 4);
+          R[10] = G(R[1], 3);
+          R[7] = G(R[1], 2);
+          R[5] = R[3];
+          R[6] = R[4];
+          R[3] = R[9];
+          R[4] = R[10];
+          ob = (word *)R[8];
+          acc = 6;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 501:
+      if (acc == 6) {
+
+        R[9] = G(R[2], 2);
+        R[10] = G(R[1], 2);
+        R[11] = G(R[1], 3);
+        R[12] = G(R[1], 4);
+        *fp = make_header(11, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[10] = R[8];
+        fp[9] = R[3];
+        fp[8] = R[4];
+        fp[7] = R[5];
+        fp[6] = R[7];
+        fp[5] = R[12];
+        fp[4] = R[11];
+        fp[3] = R[10];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 11;
+        R[4] = R[6];
+        ob = (word *)R[9];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 502:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 7);
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 6);
+          R[8] = G(R[1], 10);
+          R[9] = G(R[1], 3);
+          R[10] = G(R[1], 4);
+          R[11] = G(R[1], 9);
+          R[12] = G(R[1], 5);
+          *fp = make_header(10, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[9] = R[12];
+          fp[8] = R[11];
+          fp[7] = R[10];
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 10;
+          R[14] = G(R[1], 8);
+          R[8] = R[4];
+          R[5] = R[7];
+          R[4] = R[14];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          R[5] = G(R[1], 6);
+          R[6] = G(R[1], 7);
+          R[7] = G(R[1], 8);
+          R[8] = G(R[1], 9);
+          R[9] = G(R[1], 10);
+          *fp = make_header(7, TPROC);
+          fp[1] = G(R[2], 4);
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 7;
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 503:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        R[11] = G(R[1], 7);
+        R[12] = G(R[1], 8);
+        R[13] = G(R[1], 9);
+        *fp = make_header(11, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[10] = R[13];
+        fp[9] = R[12];
+        fp[8] = R[11];
+        fp[7] = R[3];
+        fp[6] = R[10];
+        fp[5] = R[9];
+        fp[4] = R[8];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 11;
+        R[15] = F(0);
+        R[8] = R[5];
+        R[5] = R[15];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 504:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        R[11] = G(R[1], 9);
+        R[12] = G(R[1], 10);
+        *fp = make_header(11, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[10] = R[12];
+        fp[9] = R[11];
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[13] = (word)fp;
+        fp += 11;
+        if (R[3] == IFALSE) {
+
+          R[14] = G(R[2], 2);
+          R[4] = R[5];
+          R[3] = R[13];
+          ob = (word *)R[14];
+          acc = 2;
+
+        } else {
+
+          ob = (word *)R[13];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 505:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        R[11] = G(R[1], 9);
+        R[12] = G(R[1], 10);
+        *fp = make_header(11, TCLOS);
+        fp[1] = G(R[2], 5);
+        fp[10] = R[12];
+        fp[9] = R[11];
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[13] = (word)fp;
+        fp += 11;
+        if (R[3] == IFALSE) {
+
+          R[3] = IFALSE;
+          ob = (word *)R[13];
+          acc = 1;
+
+        } else {
+
+          R[14] = G(R[2], 2);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[13];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 4;
+          R[5] = G(R[2], 4);
+          R[4] = R[8];
+          ob = (word *)R[14];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 506:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 3);
+          if (R[4] == INULL) {
+
+            R[5] = G(R[2], 2);
+            R[6] = G(R[1], 9);
+            R[4] = G(R[1], 2);
+            R[8] = INULL;
+            R[9] = R[5];
+            R[3] = R[6];
+            R[5] = R[8];
+            ob = (word *)R[9];
+            acc = 3;
+
+          } else {
+
+            R[5] = G(R[2], 2);
+            R[6] = G(R[1], 9);
+            R[7] = G(R[1], 2);
+            R[8] = G(R[1], 4);
+            R[9] = G(R[1], 7);
+            R[10] = G(R[1], 5);
+            *fp = make_header(6, TCLOS);
+            fp[1] = G(R[2], 3);
+            fp[5] = R[10];
+            fp[4] = R[9];
+            fp[3] = R[8];
+            fp[2] = R[4];
+            R[11] = (word)fp;
+            fp += 6;
+            R[8] = R[5];
+            R[3] = R[6];
+            R[4] = R[7];
+            R[5] = R[11];
+            ob = (word *)R[8];
+            acc = 3;
+
+          }
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 6);
+          R[6] = G(R[1], 7);
+          R[7] = G(R[1], 8);
+          R[8] = G(R[1], 9);
+          R[9] = G(R[1], 10);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 7;
+          R[11] = G(R[1], 2);
+          R[5] = G(R[1], 3);
+          R[8] = R[4];
+          R[4] = R[11];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 507:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 6);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[8] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[10] = R[4];
+        R[5] = R[3];
+        R[3] = R[7];
+        R[4] = R[8];
+        ob = (word *)R[10];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 508:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[10] = R[7];
+        R[11] = R[5];
+        R[7] = R[6];
+        R[6] = R[3];
+        R[5] = R[4];
+        R[3] = R[8];
+        R[4] = R[11];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 509:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[3];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[7] = R[4];
+        R[4] = R[5];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 510:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[10] = G(R[1], 2);
+        R[7] = R[4];
+        R[4] = R[10];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 511:
+      if (acc == 5) {
+
+        if (R[5] == F(0)) {
+
+          R[8] = G(R[1], 2);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[3] = R[3];
+          fp[2] = R[6];
+          R[3] = (word)fp;
+          fp += 4;
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[8] = 128 * 0 + 258;
+          {
+
+            hval r = immval(R[5]) - immval(R[8]);
+            R[10] = F(r >> FBITS & 1);
+            R[9] = F(r);
+
+          }
+
+          R[11] = G(R[1], 2);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[1], 4);
+          fp[6] = R[7];
+          fp[5] = R[3];
+          fp[4] = R[4];
+          fp[3] = R[9];
+          fp[2] = R[6];
+          R[3] = (word)fp;
+          fp += 7;
+          ob = (word *)R[11];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 512:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[10] = (word)fp;
+        fp += 7;
+        R[6] = IFALSE;
+        R[9] = R[4];
+        R[5] = R[3];
+        R[4] = R[8];
+        R[3] = R[10];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 513:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 4;
+        R[5] = 128 * 0 + 258;
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 514:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[4];
+        R[8] = (word)fp;
+        fp += 5;
+        R[9] = G(R[1], 2);
+        R[10] = R[5];
+        R[4] = R[3];
+        R[3] = R[8];
+        R[5] = R[9];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 515:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = G(R[1], 2);
+        R[10] = R[5];
+        R[4] = R[6];
+        R[5] = R[9];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 516:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        R[8] = G(R[1], 7);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 6;
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[12] = R[4];
+        R[4] = R[3];
+        R[3] = R[9];
+        ob = (word *)R[12];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 517:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = G(R[2], 4);
+        R[8] = G(R[1], 2);
+        R[9] = R[4];
+        R[5] = R[3];
+        R[3] = R[6];
+        R[4] = R[7];
+        R[6] = R[8];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 518:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 4;
+        R[8] = 128 * 510 + 258;
+        R[9] = R[5];
+        R[5] = R[8];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 519:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        R[11] = G(R[1], 8);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[11];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[12] = (word)fp;
+        fp += 9;
+        R[5] = INULL;
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[12];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 520:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[5] = 128 * 6 + 258;
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 521:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        R[11] = G(R[1], 9);
+        *fp = make_header(10, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[9] = R[11];
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 10;
+        R[13] = G(R[1], 2);
+        R[7] = R[4];
+        R[4] = R[13];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 522:
+      if (acc == 4) {
+
+        if (R[5] == INULL) {
+
+          R[7] = R[3];
+          R[3] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          if (R[6] == INULL) {
+
+            R[7] = R[3];
+            R[3] = R[4];
+            R[4] = R[5];
+            ob = (word *)R[7];
+            acc = 2;
+
+          } else {
+
+            R[7] = G(R[1], 2);
+            *fp = make_header(4, TCLOS);
+            fp[1] = G(R[1], 3);
+            fp[3] = R[3];
+            fp[2] = R[5];
+            R[3] = (word)fp;
+            fp += 4;
+            ob = (word *)R[7];
+            acc = 4;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 523:
+      if (acc == 3) {
+
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 3);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[7];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 4;
+        R[9] = G(R[1], 2);
+        R[10] = R[6];
+        R[6] = R[5];
+        R[5] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[10];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 524:
+      if (acc == 3) {
+
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[7];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 4;
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 525:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 3);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[2], 2);
+        R[10] = R[6];
+        R[11] = R[5];
+        R[5] = R[3];
+        R[6] = R[7];
+        R[7] = R[4];
+        R[4] = R[10];
+        R[3] = R[11];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 526:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 2);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[6] = R[7];
+        fp[5] = R[3];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 7;
+        R[5] = F(0);
+        R[4] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 527:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = G(R[1], 2);
+          R[5] = 128 * 14 + 258;
+          R[8] = R[4];
+          R[4] = R[10];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 5);
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 3);
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 528:
+      if (acc == 2) {
+
+        if (R[4] == F(0)) {
+
+          R[5] = G(R[2], 2);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 2);
+          R[8] = R[5];
+          R[4] = R[3];
+          R[3] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[5] = G(R[2], 3);
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 4);
+          R[9] = G(R[1], 5);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[3];
+          fp[3] = R[7];
+          fp[2] = R[6];
+          R[3] = (word)fp;
+          fp += 7;
+          R[4] = G(R[2], 5);
+          R[12] = INULL;
+          R[9] = R[5];
+          R[5] = R[12];
+          ob = (word *)R[9];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 529:
+      if (acc == 1) {
+
+        if (R[3] == INULL) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 5);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 2);
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 3);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[6] = R[8];
+          fp[5] = R[7];
+          fp[4] = R[6];
+          fp[3] = R[3];
+          fp[2] = R[5];
+          R[9] = (word)fp;
+          fp += 7;
+          R[7] = R[4];
+          R[4] = R[3];
+          R[3] = R[9];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 530:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[3];
+        fp[4] = R[4];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[4] = R[5];
+        R[5] = R[6];
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 531:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[9] = G(R[1], 2);
+          R[7] = R[4];
+          R[4] = R[9];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 5);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 2);
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 532:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[6];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[4] = R[5];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 533:
+      if (acc == 6) {
+
+        if (R[5] == INULL) {
+
+          R[8] = R[3];
+          R[3] = R[4];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[9] = G(R[1], 2);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[6] = R[8];
+          fp[5] = R[3];
+          fp[4] = R[6];
+          fp[3] = R[5];
+          fp[2] = R[7];
+          R[3] = (word)fp;
+          fp += 7;
+          R[5] = IFALSE;
+          ob = (word *)R[9];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 534:
+      if (acc == 2) {
+
+        R[5] = 128 * 0 + 258;
+        R[6] = R[3] & R[5];
+        if (R[5] == R[6]) {
+
+          R[7] = G(R[2], 2);
+          R[8] = G(R[1], 4);
+          R[9] = G(R[1], 3);
+          R[10] = G(R[1], 2);
+          R[11] = G(R[1], 5);
+          R[12] = G(R[1], 6);
+          *fp = make_header(8, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[7] = R[12];
+          fp[6] = R[11];
+          fp[5] = R[4];
+          fp[4] = R[10];
+          fp[3] = R[9];
+          fp[2] = R[8];
+          R[3] = (word)fp;
+          fp += 8;
+          R[4] = R[9];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[7] = G(R[2], 2);
+          R[8] = G(R[1], 2);
+          R[9] = G(R[1], 3);
+          R[10] = G(R[1], 4);
+          R[11] = G(R[1], 5);
+          R[12] = G(R[1], 6);
+          *fp = make_header(8, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[7] = R[12];
+          fp[6] = R[11];
+          fp[5] = R[4];
+          fp[4] = R[10];
+          fp[3] = R[9];
+          fp[2] = R[8];
+          R[3] = (word)fp;
+          fp += 8;
+          R[4] = R[9];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 535:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        R[8] = G(R[1], 7);
+        *fp = make_header(7, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[10] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[8] = R[4];
+        R[4] = R[10];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 536:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[10] = INULL;
+        R[8] = R[4];
+        R[4] = R[5];
+        R[5] = R[10];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 537:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(7, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 7;
+        R[10] = G(R[1], 2);
+        R[5] = INULL;
+        R[8] = R[4];
+        R[4] = R[10];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 538:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[2] = R[3];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[9] = R[4];
+        R[3] = R[5];
+        R[4] = R[6];
+        R[5] = R[7];
+        R[6] = R[8];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 539:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 5;
+        R[4] = G(R[1], 2);
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 540:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 4);
+          R[3] = G(R[1], 3);
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[7] = (word)fp;
+          fp += 4;
+          R[8] = G(R[1], 2);
+          R[9] = R[4];
+          R[5] = R[3];
+          R[3] = R[7];
+          R[4] = R[8];
+          ob = (word *)R[9];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 541:
+      if (acc == 2) {
+
+        {
+
+          word *ob = (word *)R[4];
+          hval  hdr;
+          assert(allocp(R[4]), R[4], IFALSE);
+          hdr = *ob;
+          assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+          R[5] = ob[1];
+          R[6] = ob[2];
+
+        }
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[8];
+        fp[2] = R[6];
+        R[9] = (word)fp;
+        fp += 4;
+        R[4] = R[3];
+        R[3] = R[9];
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 542:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[4];
+        R[7] = (word)fp;
+        fp += 4;
+        R[8] = G(R[1], 2);
+        R[9] = R[5];
+        R[4] = R[3];
+        R[3] = R[7];
+        R[5] = R[8];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 543:
+      if (acc == 3) {
+
+        if (R[5] == INULL) {
+
+          ob = (word *)R[3];
+          R[3] = R[4];
+          acc = 1;
+
+        } else {
+
+          R[6] = G(R[1], 2);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[4] = R[3];
+          fp[3] = R[4];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[4] = R[5];
+          ob = (word *)R[6];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 544:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 6;
+        R[6] = INULL;
+        R[11] = R[4];
+        R[5] = R[3];
+        R[4] = R[7];
+        R[3] = R[9];
+        ob = (word *)R[11];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 545:
+      if (acc == 3) {
+
+        if (R[4] == INULL) {
+
+          R[6] = INULL;
+          ob = (word *)R[3];
+          R[3] = R[6];
+          acc = 1;
+
+        } else {
+
+          R[6] = G(R[1], 2);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[4] = R[3];
+          fp[3] = R[4];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          ob = (word *)R[6];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 546:
+      if (acc == 5) {
+
+        if (R[4] == R[5]) {
+
+          ob = (word *)R[3];
+          R[3] = R[6];
+          acc = 1;
+
+        } else {
+
+          R[8] = G(R[1], 2);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[6] = R[3];
+          fp[5] = R[7];
+          fp[4] = R[5];
+          fp[3] = R[6];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 7;
+          ob = (word *)R[8];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 547:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 4;
+        R[5] = 128 * 22 + 258;
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 548:
+      if (acc == 2) {
+
+        if (R[4] == F(0)) {
+
+          R[5] = G(R[2], 2);
+          R[6] = G(R[1], 3);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[6];
+          fp[2] = R[3];
+          R[3] = (word)fp;
+          fp += 4;
+          R[4] = G(R[1], 2);
+          R[9] = 128 * 0 + 258;
+          R[10] = R[5];
+          R[5] = R[9];
+          ob = (word *)R[10];
+          acc = 3;
+
+        } else {
+
+          R[5] = 128 * 0 + 258;
+          if (R[4] == R[5]) {
+
+            R[6] = G(R[2], 4);
+            R[7] = G(R[1], 3);
+            *fp = make_header(4, TPROC);
+            fp[1] = G(R[2], 5);
+            fp[3] = R[7];
+            fp[2] = R[3];
+            R[3] = (word)fp;
+            fp += 4;
+            R[4] = G(R[1], 2);
+            ob = (word *)R[6];
+            acc = 3;
+
+          } else {
+
+            R[6] = 128 * 2 + 258;
+            if (R[4] == R[6]) {
+
+              R[7] = G(R[1], 3);
+              R[4] = F(0);
+              ob = (word *)R[7];
+              acc = 2;
+
+            } else {
+
+              R[7] = 128 * 4 + 258;
+              if (R[4] == R[7]) {
+
+                R[8] = G(R[1], 3);
+                R[4] = R[5];
+                ob = (word *)R[8];
+                acc = 2;
+
+              } else {
+
+                R[8] = 128 * 6 + 258;
+                if (R[4] == R[8]) {
+
+                  R[9] = G(R[2], 6);
+                  R[10] = G(R[1], 3);
+                  R[5] = G(R[2], 7);
+                  R[4] = R[3];
+                  R[3] = R[10];
+                  ob = (word *)R[9];
+                  acc = 3;
+
+                } else {
+
+                  R[9] = 128 * 8 + 258;
+                  if (R[4] == R[9]) {
+
+                    R[10] = G(R[2], 6);
+                    R[11] = G(R[1], 3);
+                    R[5] = G(R[2], 7);
+                    R[4] = R[3];
+                    R[3] = R[11];
+                    ob = (word *)R[10];
+                    acc = 3;
+
+                  } else {
+
+                    R[10] = 128 * 10 + 258;
+                    if (R[4] == R[10]) {
+
+                      R[11] = G(R[2], 6);
+                      R[12] = G(R[1], 3);
+                      R[5] = G(R[2], 7);
+                      R[4] = R[3];
+                      R[3] = R[12];
+                      ob = (word *)R[11];
+                      acc = 3;
+
+                    } else {
+
+                      R[11] = 128 * 12 + 258;
+                      if (R[4] == R[11]) {
+
+                        R[12] = G(R[2], 6);
+                        R[13] = G(R[1], 2);
+                        R[14] = G(R[1], 3);
+                        *fp = make_header(4, TCLOS);
+                        fp[1] = G(R[2], 8);
+                        fp[3] = R[14];
+                        fp[2] = R[13];
+                        R[15] = (word)fp;
+                        fp += 4;
+                        R[5] = G(R[2], 7);
+                        R[4] = R[3];
+                        R[3] = R[15];
+                        ob = (word *)R[12];
+                        acc = 3;
+
+                      } else {
+
+                        R[12] = 128 * 14 + 258;
+                        if (R[4] == R[12]) {
+
+                          R[13] = G(R[2], 6);
+                          R[14] = G(R[1], 2);
+                          R[15] = G(R[1], 3);
+                          *fp = make_header(4, TCLOS);
+                          fp[1] = G(R[2], 9);
+                          fp[3] = R[15];
+                          fp[2] = R[14];
+                          R[16] = (word)fp;
+                          fp += 4;
+                          R[5] = G(R[2], 7);
+                          R[4] = R[3];
+                          R[3] = R[16];
+                          ob = (word *)R[13];
+                          acc = 3;
+
+                        } else {
+
+                          R[13] = 128 * 16 + 258;
+                          if (R[4] == R[13]) {
+
+                            R[14] = G(R[2], 10);
+                            R[4] = G(R[1], 2);
+                            R[16] = G(R[1], 3);
+                            *fp = make_header(5, TCLOS);
+                            fp[1] = G(R[2], 11);
+                            fp[4] = R[16];
+                            fp[3] = R[4];
+                            fp[2] = R[3];
+                            R[3] = (word)fp;
+                            fp += 5;
+                            R[5] = R[6];
+                            ob = (word *)R[14];
+                            acc = 3;
+
+                          } else {
+
+                            R[14] = G(R[2], 12);
+                            R[15] = G(R[1], 2);
+                            R[16] = G(R[1], 3);
+                            *fp = make_header(4, TCLOS);
+                            fp[1] = G(R[2], 13);
+                            fp[3] = R[16];
+                            fp[2] = R[15];
+                            R[17] = (word)fp;
+                            fp += 4;
+                            R[6] = 128 * 256 + 258;
+                            R[4] = R[3];
+                            R[3] = R[17];
+                            ob = (word *)R[14];
+                            acc = 4;
+
+                          }
+
+                        }
+
+                      }
+
+                    }
+
+                  }
+
+                }
+
+              }
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 549:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[8] = (word)fp;
+        fp += 4;
+        R[9] = R[5];
+        R[5] = R[4];
+        R[4] = R[3];
+        R[3] = R[8];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 550:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[4];
+        R[8] = (word)fp;
+        fp += 5;
+        R[9] = 128 * 4 + 258;
+        R[10] = R[5];
+        R[4] = R[3];
+        R[3] = R[8];
+        R[5] = R[9];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 551:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[8] = (word)fp;
+        fp += 6;
+        if (R[4] == F(0)) {
+
+          R[3] = G(R[2], 2);
+          ob = (word *)R[8];
+          acc = 1;
+
+        } else {
+
+          R[3] = G(R[2], 3);
+          ob = (word *)R[8];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 552:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 5);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[6] = (word)fp;
+        fp += 4;
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[9] = R[3];
+        R[3] = R[6];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 553:
+      if (acc == 3) {
+
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 4);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = G(R[1], 2);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 5;
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 554:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[3];
+        fp[5] = R[8];
+        fp[4] = R[6];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[5] = G(R[2], 4);
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 555:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 6);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = G(R[2], 4);
+          R[8] = R[4];
+          R[4] = R[5];
+          R[5] = R[10];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 5);
+          R[5] = G(R[1], 5);
+          R[6] = G(R[1], 6);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 6);
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          R[8] = G(R[1], 2);
+          R[9] = R[4];
+          R[4] = R[8];
+          ob = (word *)R[9];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 556:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[3];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 6;
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 557:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 7;
+        R[8] = R[4];
+        R[5] = R[3];
+        R[4] = R[6];
+        R[3] = R[9];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 558:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = G(R[1], 2);
+          R[7] = R[4];
+          R[4] = R[10];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 5);
+          R[6] = G(R[1], 2);
+          R[7] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 559:
+      if (acc == 4) {
+
+        if (R[5] == F(0)) {
+
+          R[7] = IFALSE;
+          ob = (word *)R[3];
+          R[3] = R[7];
+          acc = 1;
+
+        } else {
+
+          if (R[4] == INULL) {
+
+            R[7] = ITRUE;
+            ob = (word *)R[3];
+            R[3] = R[7];
+            acc = 1;
+
+          } else {
+
+            R[7] = G(R[1], 2);
+            *fp = make_header(5, TCLOS);
+            fp[1] = G(R[1], 3);
+            fp[4] = R[6];
+            fp[3] = R[3];
+            fp[2] = R[5];
+            R[3] = (word)fp;
+            fp += 5;
+            ob = (word *)R[7];
+            acc = 2;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 560:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 2);
+          R[8] = 128 * 0 + 258;
+          R[9] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          R[6] = R[8];
+          ob = (word *)R[9];
+          acc = 4;
+
+        } else {
+
+          R[4] = G(R[2], 3);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[8] = (word)fp;
+          fp += 5;
+          R[5] = 128 * 0 + 258;
+          R[10] = R[4];
+          R[4] = R[3];
+          R[3] = R[8];
+          ob = (word *)R[10];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 561:
+      R[5] = G(R[4], 0);
+      ob = (word *)R[3];
+      R[3] = R[5];
+      acc = 1;
+      break;
+    case 562:
+      if (acc == 2) {
+
+        assert(pairp(R[4]), R[4], 105);
+        R[5] = G(R[4], 1);
+        ob = (word *)R[3];
+        R[3] = R[5];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 563:
+      R[5] = G(R[4], 0);
+      ob = (word *)R[3];
+      R[3] = R[5];
+      acc = 1;
+      break;
+    case 564:
+      if (acc == 3) {
+
+        R[6] = prim_ref(R[4], R[5]);
+        ob = (word *)R[3];
+        R[3] = R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 565:
+      if (acc == 3) {
+
+        R[6] = R[4] ^ (FMAX << IPOS & R[5]);
+        ob = (word *)R[3];
+        R[3] = R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 566:
+      if (acc == 3) {
+
+        R[6] = BOOL(R[4] == R[5]);
+        ob = (word *)R[3];
+        R[3] = R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 567:
+      if (acc == 3) {
+
+        R[6] = prim_lraw(R[4], R[5]);
+        ob = (word *)R[3];
+        R[3] = R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 568:
+      if (acc == 3) {
+
+        R[6] = cons(R[4], R[5]);
+        ob = (word *)R[3];
+        R[3] = R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 569:
+      if (acc == 2) {
+
+        assert(pairp(R[4]), R[4], 169);
+        R[5] = G(R[4], 2);
+        ob = (word *)R[3];
+        R[3] = R[5];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 570:
+      if (acc == 2) {
+
+        assert(pairp(R[4]), R[4], 105);
+        R[5] = G(R[4], 1);
+        ob = (word *)R[3];
+        R[3] = R[5];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 571:
+      if (acc == 3) {
+
+        R[6] = R[4] ^ (FMAX << IPOS & R[5]);
+        ob = (word *)R[3];
+        R[3] = R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 572:
+      if (acc == 5) {
+
+        R[8] = G(R[2], 2);
+        R[9] = G(R[1], 2);
+        R[10] = G(R[1], 3);
+        R[11] = G(R[1], 4);
+        R[12] = G(R[1], 5);
+        *fp = make_header(11, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[10] = R[12];
+        fp[9] = R[11];
+        fp[8] = R[10];
+        fp[7] = R[7];
+        fp[6] = R[6];
+        fp[5] = R[5];
+        fp[4] = R[4];
+        fp[3] = R[3];
+        fp[2] = R[9];
+        R[3] = (word)fp;
+        fp += 11;
+        ob = (word *)R[8];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 573:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 7);
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 6);
+          R[9] = G(R[1], 5);
+          R[10] = G(R[1], 4);
+          R[11] = G(R[1], 8);
+          R[12] = G(R[1], 9);
+          R[13] = G(R[1], 10);
+          *fp = make_header(11, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[10] = R[13];
+          fp[9] = R[12];
+          fp[8] = R[11];
+          fp[7] = R[10];
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 11;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[1], 4);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 6);
+          R[8] = G(R[1], 7);
+          R[9] = G(R[1], 8);
+          R[10] = G(R[1], 9);
+          R[11] = G(R[1], 10);
+          *fp = make_header(8, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[7] = R[11];
+          fp[6] = R[10];
+          fp[5] = R[9];
+          fp[4] = R[8];
+          fp[3] = R[7];
+          fp[2] = R[6];
+          R[12] = (word)fp;
+          fp += 8;
+          R[13] = IFALSE;
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[12];
+          R[5] = R[13];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 574:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 10);
+          R[7] = G(R[1], 9);
+          R[8] = G(R[1], 8);
+          R[9] = G(R[1], 3);
+          R[10] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          R[6] = R[8];
+          R[7] = R[9];
+          ob = (word *)R[10];
+          acc = 5;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 6);
+          R[8] = G(R[1], 7);
+          R[9] = G(R[1], 8);
+          R[10] = G(R[1], 9);
+          R[11] = G(R[1], 10);
+          *fp = make_header(8, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[7] = R[11];
+          fp[6] = R[10];
+          fp[5] = R[9];
+          fp[4] = R[8];
+          fp[3] = R[7];
+          fp[2] = R[6];
+          R[12] = (word)fp;
+          fp += 8;
+          R[13] = IFALSE;
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[12];
+          R[5] = R[13];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 575:
+      if (acc == 5) {
+
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 2);
+        fp[5] = R[5];
+        fp[4] = R[6];
+        fp[3] = R[7];
+        fp[2] = R[4];
+        R[8] = (word)fp;
+        fp += 6;
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[4];
+        fp[4] = R[5];
+        fp[3] = R[6];
+        fp[2] = R[7];
+        R[5] = (word)fp;
+        fp += 6;
+        R[10] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 576:
+      if (acc == 5) {
+
+        R[8] = G(R[2], 2);
+        R[9] = G(R[1], 2);
+        R[10] = G(R[1], 3);
+        R[11] = G(R[1], 4);
+        R[12] = G(R[1], 5);
+        *fp = make_header(11, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[10] = R[3];
+        fp[9] = R[12];
+        fp[8] = R[11];
+        fp[7] = R[10];
+        fp[6] = R[5];
+        fp[5] = R[6];
+        fp[4] = R[7];
+        fp[3] = R[4];
+        fp[2] = R[9];
+        R[3] = (word)fp;
+        fp += 11;
+        R[4] = R[10];
+        ob = (word *)R[8];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 577:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 10);
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 4);
+          R[9] = G(R[1], 5);
+          R[10] = G(R[1], 6);
+          R[11] = G(R[1], 7);
+          R[12] = G(R[1], 8);
+          R[13] = G(R[1], 9);
+          *fp = make_header(11, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[10] = R[13];
+          fp[9] = R[12];
+          fp[8] = R[11];
+          fp[7] = R[10];
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 11;
+          R[8] = R[4];
+          R[4] = R[7];
+          ob = (word *)R[8];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 7);
+          R[6] = G(R[1], 8);
+          R[7] = G(R[1], 9);
+          R[8] = G(R[1], 10);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = G(R[1], 2);
+          R[7] = R[4];
+          R[4] = R[10];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 578:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 5);
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 6);
+          R[9] = G(R[1], 7);
+          R[10] = G(R[1], 4);
+          R[11] = G(R[1], 8);
+          R[12] = G(R[1], 9);
+          R[13] = G(R[1], 10);
+          *fp = make_header(11, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[10] = R[13];
+          fp[9] = R[12];
+          fp[8] = R[11];
+          fp[7] = R[10];
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 11;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[1], 4);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 6);
+          R[8] = G(R[1], 7);
+          R[9] = G(R[1], 8);
+          R[10] = G(R[1], 9);
+          R[11] = G(R[1], 10);
+          *fp = make_header(8, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[7] = R[11];
+          fp[6] = R[10];
+          fp[5] = R[9];
+          fp[4] = R[8];
+          fp[3] = R[7];
+          fp[2] = R[6];
+          R[12] = (word)fp;
+          fp += 8;
+          R[13] = IFALSE;
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[12];
+          R[5] = R[13];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 579:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 10);
+          R[8] = G(R[1], 9);
+          R[9] = G(R[1], 8);
+          R[10] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          R[6] = R[8];
+          R[7] = R[9];
+          ob = (word *)R[10];
+          acc = 5;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 6);
+          R[8] = G(R[1], 7);
+          R[9] = G(R[1], 8);
+          R[10] = G(R[1], 9);
+          R[11] = G(R[1], 10);
+          *fp = make_header(8, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[7] = R[11];
+          fp[6] = R[10];
+          fp[5] = R[9];
+          fp[4] = R[8];
+          fp[3] = R[7];
+          fp[2] = R[6];
+          R[12] = (word)fp;
+          fp += 8;
+          R[13] = IFALSE;
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[12];
+          R[5] = R[13];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 580:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[8] = (word)fp;
+        fp += 5;
+        R[9] = G(R[1], 2);
+        R[5] = R[3];
+        R[6] = R[4];
+        R[3] = R[8];
+        R[4] = R[9];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 581:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[10];
+        fp[7] = R[3];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 9;
+        R[12] = G(R[1], 2);
+        R[7] = R[4];
+        R[4] = R[12];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 582:
+      if (acc == 5) {
+
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 2);
+        fp[4] = R[5];
+        fp[3] = R[6];
+        fp[2] = R[7];
+        R[8] = (word)fp;
+        fp += 5;
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[5];
+        fp[3] = R[6];
+        fp[2] = R[7];
+        R[5] = (word)fp;
+        fp += 5;
+        R[10] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 583:
+      if (acc == 2) {
+
+        if (R[4] == IFALSE) {
+
+          R[5] = IFALSE;
+          ob = (word *)R[3];
+          R[3] = R[5];
+          acc = 1;
+
+        } else {
+
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[8] = R[4];
+          R[4] = R[5];
+          R[5] = R[6];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 584:
+      if (acc == 5) {
+
+        R[8] = IFALSE;
+        ob = (word *)R[3];
+        R[3] = R[8];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 585:
+      if (acc == 5) {
+
+        R[8] = ITRUE;
+        ob = (word *)R[3];
+        R[3] = R[8];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 586:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = G(R[1], 2);
+        R[5] = G(R[2], 4);
+        R[11] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[11];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 587:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = IFALSE;
+        R[9] = R[5];
+        R[10] = R[6];
+        R[6] = R[4];
+        R[5] = R[7];
+        R[4] = R[10];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 588:
+      if (acc == 5) {
+
+        if (R[4] == IFALSE) {
+
+          if (R[7] == IFALSE) {
+
+            R[8] = G(R[1], 3);
+            R[4] = G(R[1], 2);
+            ob = (word *)R[8];
+            acc = 4;
+
+          } else {
+
+            R[8] = G(R[1], 3);
+            R[9] = G(R[1], 4);
+            *fp = make_header(6, TPROC);
+            fp[1] = G(R[2], 2);
+            fp[5] = R[9];
+            fp[4] = R[3];
+            fp[3] = R[8];
+            fp[2] = R[7];
+            R[3] = (word)fp;
+            fp += 6;
+            R[4] = G(R[1], 2);
+            ob = (word *)R[8];
+            acc = 4;
+
+          }
+
+        } else {
+
+          if (R[7] == IFALSE) {
+
+            R[8] = G(R[1], 4);
+            R[9] = G(R[1], 3);
+            *fp = make_header(6, TPROC);
+            fp[1] = G(R[2], 3);
+            fp[5] = R[9];
+            fp[4] = R[3];
+            fp[3] = R[5];
+            fp[2] = R[6];
+            R[3] = (word)fp;
+            fp += 6;
+            R[5] = G(R[1], 2);
+            R[6] = R[4];
+            R[7] = R[8];
+            R[4] = R[9];
+            ob = (word *)R[7];
+            acc = 5;
+
+          } else {
+
+            R[8] = G(R[1], 4);
+            R[9] = G(R[1], 3);
+            *fp = make_header(8, TCLOS);
+            fp[1] = G(R[2], 4);
+            fp[7] = R[8];
+            fp[6] = R[3];
+            fp[5] = R[9];
+            fp[4] = R[7];
+            fp[3] = R[5];
+            fp[2] = R[6];
+            R[3] = (word)fp;
+            fp += 8;
+            R[5] = G(R[1], 2);
+            R[6] = R[4];
+            R[7] = R[8];
+            R[4] = R[9];
+            ob = (word *)R[7];
+            acc = 5;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 589:
+      if (acc == 5) {
+
+        if (R[6] == IFALSE) {
+
+          ob = (word *)R[3];
+          R[3] = R[5];
+          acc = 1;
+
+        } else {
+
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[1], 2);
+          fp[4] = R[7];
+          fp[3] = R[4];
+          fp[2] = R[5];
+          R[4] = (word)fp;
+          fp += 5;
+          R[5] = R[4];
+          ob = (word *)R[6];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 590:
+      if (acc == 5) {
+
+        if (R[4] == IFALSE) {
+
+          if (R[7] == IFALSE) {
+
+            R[8] = G(R[1], 3);
+            R[4] = G(R[1], 2);
+            ob = (word *)R[8];
+            acc = 4;
+
+          } else {
+
+            R[8] = G(R[1], 4);
+            R[4] = G(R[1], 3);
+            *fp = make_header(6, TPROC);
+            fp[1] = G(R[2], 2);
+            fp[5] = R[4];
+            fp[4] = R[3];
+            fp[3] = R[5];
+            fp[2] = R[6];
+            R[3] = (word)fp;
+            fp += 6;
+            R[5] = G(R[1], 2);
+            R[6] = R[7];
+            R[7] = R[8];
+            ob = (word *)R[7];
+            acc = 5;
+
+          }
+
+        } else {
+
+          if (R[7] == IFALSE) {
+
+            R[8] = G(R[1], 3);
+            R[9] = G(R[1], 4);
+            *fp = make_header(6, TPROC);
+            fp[1] = G(R[2], 3);
+            fp[5] = R[9];
+            fp[4] = R[3];
+            fp[3] = R[8];
+            fp[2] = R[4];
+            R[3] = (word)fp;
+            fp += 6;
+            R[4] = G(R[1], 2);
+            ob = (word *)R[8];
+            acc = 4;
+
+          } else {
+
+            R[8] = G(R[1], 4);
+            R[9] = G(R[1], 3);
+            *fp = make_header(8, TCLOS);
+            fp[1] = G(R[2], 4);
+            fp[7] = R[8];
+            fp[6] = R[3];
+            fp[5] = R[9];
+            fp[4] = R[4];
+            fp[3] = R[5];
+            fp[2] = R[6];
+            R[3] = (word)fp;
+            fp += 8;
+            R[5] = G(R[1], 2);
+            R[6] = R[7];
+            R[7] = R[8];
+            R[4] = R[9];
+            ob = (word *)R[7];
+            acc = 5;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 591:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 3;
+        ob = (word *)R[7];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 592:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        R[7] = IFALSE;
+        R[10] = R[7];
+        R[7] = R[6];
+        R[6] = R[10];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        if (acc == 4) {
+
+          R[7] = G(R[1], 2);
+          ob = (word *)R[7];
+          acc = 5;
+
+        } else {
+
+          error(61, ob, F(acc));
+
+        }
+
+      }
+
+      break;
+    case 593:
+      if (acc == 5) {
+
+        if (R[4] == IFALSE) {
+
+          ob = (word *)R[3];
+          R[3] = R[6];
+          acc = 1;
+
+        } else {
+
+          *fp = make_header(5, TPROC);
+          fp[1] = G(R[1], 2);
+          fp[4] = R[7];
+          fp[3] = R[5];
+          fp[2] = R[6];
+          R[8] = (word)fp;
+          fp += 5;
+          *fp = make_header(5, TPROC);
+          fp[1] = G(R[1], 3);
+          fp[4] = R[7];
+          fp[3] = R[5];
+          fp[2] = R[6];
+          R[5] = (word)fp;
+          fp += 5;
+          R[10] = R[4];
+          R[4] = R[8];
+          ob = (word *)R[10];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 594:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 3);
+        if (R[8] == R[5]) {
+
+          ob = (word *)R[3];
+          R[3] = R[6];
+          acc = 1;
+
+        } else {
+
+          R[9] = prim_less(R[8], R[5]);
+          if (R[9] == IFALSE) {
+
+            R[10] = G(R[1], 4);
+            R[6] = G(R[1], 2);
+            R[4] = R[7];
+            R[5] = R[8];
+            R[7] = R[10];
+            ob = (word *)R[7];
+            acc = 5;
+
+          } else {
+
+            R[7] = G(R[1], 4);
+            R[6] = G(R[1], 2);
+            R[5] = R[8];
+            ob = (word *)R[7];
+            acc = 5;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 595:
+      if (acc == 5) {
+
+        if (R[4] == IFALSE) {
+
+          R[8] = G(R[1], 2);
+          R[4] = IFALSE;
+          R[7] = R[4];
+          ob = (word *)R[8];
+          acc = 5;
+
+        } else {
+
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[4] = R[5];
+          fp[3] = R[6];
+          fp[2] = R[7];
+          R[8] = (word)fp;
+          fp += 5;
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[1], 4);
+          fp[4] = R[5];
+          fp[3] = R[6];
+          fp[2] = R[7];
+          R[5] = (word)fp;
+          fp += 5;
+          R[10] = R[4];
+          R[4] = R[8];
+          ob = (word *)R[10];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 596:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 4);
+        R[9] = prim_less(R[8], R[5]);
+        if (R[9] == IFALSE) {
+
+          if (R[8] == R[5]) {
+
+            R[10] = G(R[2], 2);
+            R[6] = G(R[1], 3);
+            R[5] = R[8];
+            ob = (word *)R[10];
+            acc = 5;
+
+          } else {
+
+            R[10] = G(R[1], 2);
+            *fp = make_header(6, TCLOS);
+            fp[1] = G(R[2], 3);
+            fp[5] = R[3];
+            fp[4] = R[4];
+            fp[3] = R[5];
+            fp[2] = R[6];
+            R[3] = (word)fp;
+            fp += 6;
+            R[6] = G(R[1], 3);
+            R[4] = R[7];
+            R[5] = R[8];
+            R[7] = R[10];
+            ob = (word *)R[7];
+            acc = 5;
+
+          }
+
+        } else {
+
+          R[10] = G(R[1], 2);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[5] = R[3];
+          fp[4] = R[5];
+          fp[3] = R[6];
+          fp[2] = R[7];
+          R[3] = (word)fp;
+          fp += 6;
+          R[6] = G(R[1], 3);
+          R[5] = R[8];
+          R[7] = R[10];
+          ob = (word *)R[7];
+          acc = 5;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 597:
+      if (acc == 5) {
+
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 2);
+        fp[5] = R[4];
+        fp[4] = R[5];
+        fp[3] = R[6];
+        fp[2] = R[7];
+        R[8] = (word)fp;
+        fp += 6;
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[4];
+        fp[4] = R[5];
+        fp[3] = R[6];
+        fp[2] = R[7];
+        R[5] = (word)fp;
+        fp += 6;
+        R[4] = R[8];
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 598:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 2);
+        R[9] = G(R[1], 3);
+        R[10] = G(R[1], 4);
+        R[11] = G(R[2], 2);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[3];
+        fp[7] = R[5];
+        fp[6] = R[6];
+        fp[5] = R[7];
+        fp[4] = R[8];
+        fp[3] = R[9];
+        fp[2] = R[10];
+        R[3] = (word)fp;
+        fp += 9;
+        R[13] = G(R[1], 7);
+        R[5] = G(R[1], 6);
+        R[6] = G(R[1], 5);
+        R[7] = R[4];
+        R[4] = R[13];
+        ob = (word *)R[11];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 599:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 3);
+        R[10] = G(R[1], 2);
+        R[11] = G(R[2], 2);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[3];
+        fp[7] = R[9];
+        fp[6] = R[10];
+        fp[5] = R[4];
+        fp[4] = R[5];
+        fp[3] = R[6];
+        fp[2] = R[7];
+        R[3] = (word)fp;
+        fp += 9;
+        R[4] = G(R[1], 7);
+        R[5] = G(R[1], 6);
+        R[6] = G(R[1], 5);
+        R[7] = R[8];
+        ob = (word *)R[11];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 600:
+      if (acc == 5) {
+
+        R[8] = G(R[2], 2);
+        R[4] = G(R[1], 5);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 2);
+        ob = (word *)R[8];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 601:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 3);
+        R[10] = G(R[1], 2);
+        R[11] = G(R[2], 2);
+        R[12] = G(R[1], 5);
+        R[13] = G(R[1], 6);
+        R[14] = G(R[1], 7);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[3];
+        fp[7] = R[5];
+        fp[6] = R[6];
+        fp[5] = R[7];
+        fp[4] = R[14];
+        fp[3] = R[13];
+        fp[2] = R[12];
+        R[3] = (word)fp;
+        fp += 9;
+        R[7] = R[4];
+        R[4] = R[8];
+        R[5] = R[9];
+        R[6] = R[10];
+        ob = (word *)R[11];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 602:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 3);
+        R[10] = G(R[1], 2);
+        R[11] = G(R[2], 2);
+        R[12] = G(R[1], 5);
+        R[13] = G(R[1], 6);
+        R[14] = G(R[1], 7);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[3];
+        fp[7] = R[8];
+        fp[6] = R[9];
+        fp[5] = R[10];
+        fp[4] = R[14];
+        fp[3] = R[13];
+        fp[2] = R[12];
+        R[3] = (word)fp;
+        fp += 9;
+        ob = (word *)R[11];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 603:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 6);
+        R[6] = G(R[1], 7);
+        R[7] = G(R[1], 8);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[8] = (word)fp;
+        fp += 6;
+        R[9] = G(R[1], 5);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 2);
+        R[13] = R[4];
+        R[3] = R[8];
+        R[4] = R[9];
+        ob = (word *)R[13];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 604:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[8] = R[4];
+        R[4] = R[5];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 605:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 2);
+        R[10] = R[4];
+        R[4] = R[6];
+        R[5] = R[7];
+        R[6] = R[8];
+        R[7] = R[9];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 606:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[9] = IFALSE;
+        R[10] = R[4];
+        R[4] = R[6];
+        R[5] = R[7];
+        R[6] = R[8];
+        R[7] = R[9];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 607:
+      if (acc == 3) {
+
+        R[6] = IFALSE;
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 2);
+        R[10] = R[4];
+        R[4] = R[6];
+        R[5] = R[7];
+        R[6] = R[8];
+        R[7] = R[9];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 608:
+      if (acc == 3) {
+
+        R[6] = IFALSE;
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[10] = R[4];
+        R[4] = R[6];
+        R[5] = R[7];
+        R[7] = R[6];
+        R[6] = R[8];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 609:
+      if (acc == 5) {
+
+        if (R[4] == IFALSE) {
+
+          if (R[7] == IFALSE) {
+
+            *fp = make_header(4, TPROC);
+            fp[1] = G(R[1], 2);
+            fp[3] = R[5];
+            fp[2] = R[6];
+            R[8] = (word)fp;
+            fp += 4;
+            ob = (word *)R[3];
+            R[3] = R[8];
+            acc = 1;
+
+          } else {
+
+            *fp = make_header(5, TPROC);
+            fp[1] = G(R[1], 3);
+            fp[4] = R[5];
+            fp[3] = R[6];
+            fp[2] = R[7];
+            R[8] = (word)fp;
+            fp += 5;
+            ob = (word *)R[3];
+            R[3] = R[8];
+            acc = 1;
+
+          }
+
+        } else {
+
+          if (R[7] == IFALSE) {
+
+            *fp = make_header(5, TPROC);
+            fp[1] = G(R[1], 4);
+            fp[4] = R[4];
+            fp[3] = R[5];
+            fp[2] = R[6];
+            R[8] = (word)fp;
+            fp += 5;
+            ob = (word *)R[3];
+            R[3] = R[8];
+            acc = 1;
+
+          } else {
+
+            *fp = make_header(6, TPROC);
+            fp[1] = G(R[1], 5);
+            fp[5] = R[4];
+            fp[4] = R[5];
+            fp[3] = R[6];
+            fp[2] = R[7];
+            R[8] = (word)fp;
+            fp += 6;
+            ob = (word *)R[3];
+            R[3] = R[8];
+            acc = 1;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 610:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 2);
+        R[10] = R[5];
+        R[4] = R[6];
+        R[5] = R[7];
+        R[6] = R[8];
+        R[7] = R[9];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 611:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[9] = IFALSE;
+        R[10] = R[5];
+        R[4] = R[6];
+        R[5] = R[7];
+        R[6] = R[8];
+        R[7] = R[9];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 612:
+      if (acc == 3) {
+
+        R[6] = IFALSE;
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 2);
+        R[10] = R[5];
+        R[4] = R[6];
+        R[5] = R[7];
+        R[6] = R[8];
+        R[7] = R[9];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 613:
+      if (acc == 3) {
+
+        R[6] = IFALSE;
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[10] = R[5];
+        R[4] = R[6];
+        R[5] = R[7];
+        R[7] = R[6];
+        R[6] = R[8];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 614:
+      if (acc == 4) {
+
+        assert(pairp(R[4]), R[4], 105);
+        R[7] = G(R[4], 1);
+        if (R[7] == R[5]) {
+
+          R[8] = G(R[4], 2);
+          ob = (word *)R[3];
+          R[3] = R[8];
+          acc = 1;
+
+        } else {
+
+          R[8] = G(R[4], 1);
+          {
+
+            word ob = R[8];
+            if (allocp(ob)) ob = V(ob);
+            R[9] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          if (R[9] == F(0)) {
+
+            R[10] = G(R[4], 1);
+            R[4] = G(R[4], 2);
+            *fp = make_header(4, TPROC);
+            fp[1] = G(R[1], 2);
+            fp[3] = R[3];
+            fp[2] = R[10];
+            R[3] = (word)fp;
+            fp += 4;
+            ob = (word *)R[6];
+            acc = 4;
+
+          } else {
+
+            R[4] = G(R[4], 2);
+            ob = (word *)R[6];
+            acc = 4;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 615:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 7;
+        R[7] = R[4];
+        R[4] = R[3];
+        R[3] = R[9];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 616:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[6] = 128 * 46 + 258;
+        R[7] = IFALSE;
+        R[9] = R[5];
+        R[5] = R[4];
+        R[4] = R[6];
+        R[6] = R[7];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 617:
+      if (acc == 6) {
+
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[2] = R[8];
+        R[9] = (word)fp;
+        fp += 3;
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[1], 2);
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[4] = (word)fp;
+        fp += 4;
+        R[5] = R[9];
+        ob = (word *)R[5];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 618:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[4] = R[5];
+        fp[3] = R[3];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 5;
+        ob = (word *)R[4];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 619:
+      if (acc == 3) {
+
+        if (R[3] == IFALSE) {
+
+          R[6] = G(R[1], 2);
+          if (R[6] == IFALSE) {
+
+            R[7] = G(R[1], 3);
+            R[3] = IFALSE;
+            ob = (word *)R[7];
+            acc = 1;
+
+          } else {
+
+            R[5] = G(R[1], 4);
+            R[3] = G(R[1], 3);
+            *fp = make_header(3, TPROC);
+            fp[1] = G(R[2], 2);
+            fp[2] = R[6];
+            R[4] = (word)fp;
+            fp += 3;
+            ob = (word *)R[5];
+            acc = 3;
+
+          }
+
+        } else {
+
+          R[6] = G(R[2], 3);
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 4);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[5] = R[3];
+          fp[4] = R[8];
+          fp[3] = R[7];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          ob = (word *)R[6];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 620:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 3);
+          R[3] = G(R[1], 2);
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[1], 4);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 5);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 2);
+          fp[3] = R[6];
+          fp[2] = R[3];
+          R[7] = (word)fp;
+          fp += 4;
+          R[3] = R[5];
+          R[5] = R[4];
+          R[4] = R[7];
+          ob = (word *)R[5];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 621:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[2], 3);
+        R[9] = R[4];
+        R[4] = R[5];
+        R[5] = R[6];
+        R[6] = R[7];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 622:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = F(0);
+        R[6] = INULL;
+        R[8] = R[4];
+        R[4] = R[5];
+        R[5] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 623:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = INULL;
+        R[6] = G(R[1], 2);
+        R[7] = G(R[2], 2);
+        R[9] = R[4];
+        R[4] = R[5];
+        R[5] = R[6];
+        R[6] = R[7];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 624:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = 128 * 92 + 258;
+        R[8] = R[4];
+        R[5] = R[3];
+        R[3] = R[6];
+        R[4] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 625:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = 128 * 250 + 258;
+        R[7] = R[4];
+        R[3] = R[5];
+        R[4] = R[6];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 626:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        R[11] = G(R[1], 8);
+        R[12] = G(R[1], 9);
+        R[13] = G(R[1], 10);
+        R[14] = G(R[1], 11);
+        *fp = make_header(12, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[11] = R[14];
+        fp[10] = R[13];
+        fp[9] = R[12];
+        fp[8] = R[11];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[15] = (word)fp;
+        fp += 12;
+        R[7] = R[4];
+        R[4] = R[3];
+        R[3] = R[15];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 627:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        R[11] = G(R[1], 8);
+        R[12] = G(R[1], 9);
+        *fp = make_header(10, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[9] = R[12];
+        fp[8] = R[11];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[13] = (word)fp;
+        fp += 10;
+        R[7] = R[4];
+        R[4] = R[3];
+        R[3] = R[13];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 628:
+      if (acc == 3) {
+
+        {
+
+          word ob = R[5];
+          if (allocp(ob)) ob = V(ob);
+          R[6] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[7] = 128 * 82 + 258;
+        R[8] = BOOL(R[6] == R[7]);
+        if (R[8] == IFALSE) {
+
+          R[9] = 128 * 62 + 258;
+          R[10] = BOOL(R[6] == R[9]);
+          if (R[10] == IFALSE) {
+
+            R[11] = 128 * 80 + 258;
+            R[12] = BOOL(R[6] == R[11]);
+            if (R[12] == IFALSE) {
+
+              if (R[5] == F(0)) {
+
+                R[13] = IFALSE;
+                R[7] = R[3];
+                R[3] = R[4];
+                R[4] = R[13];
+                ob = (word *)R[7];
+                acc = 2;
+
+              } else {
+
+                R[13] = ITRUE;
+                R[7] = R[3];
+                R[3] = R[4];
+                R[4] = R[13];
+                ob = (word *)R[7];
+                acc = 2;
+
+              }
+
+            } else {
+
+              R[13] = IFALSE;
+              R[7] = R[3];
+              R[3] = R[4];
+              R[4] = R[13];
+              ob = (word *)R[7];
+              acc = 2;
+
+            }
+
+          } else {
+
+            R[11] = IFALSE;
+            R[7] = R[3];
+            R[3] = R[4];
+            R[4] = R[11];
+            ob = (word *)R[7];
+            acc = 2;
+
+          }
+
+        } else {
+
+          {
+
+            word *ob = (word *)R[5];
+            hval  hdr;
+            assert(allocp(R[5]), R[5], IFALSE);
+            hdr = *ob;
+            assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+            R[9] = ob[1];
+            R[10] = ob[2];
+
+          }
+
+          R[11] = 128 * 0 + 258;
+          if (R[9] == R[11]) {
+
+            R[12] = G(R[1], 2);
+            *fp = make_header(3, TPROC);
+            fp[1] = G(R[1], 3);
+            fp[2] = R[3];
+            R[3] = (word)fp;
+            fp += 3;
+            R[5] = R[10];
+            ob = (word *)R[12];
+            acc = 3;
+
+          } else {
+
+            R[12] = G(R[1], 2);
+            *fp = make_header(4, TCLOS);
+            fp[1] = G(R[1], 4);
+            fp[3] = R[3];
+            fp[2] = R[9];
+            R[3] = (word)fp;
+            fp += 4;
+            R[5] = R[10];
+            ob = (word *)R[12];
+            acc = 3;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 629:
+      if (acc == 2) {
+
+        R[5] = F(0);
+        R[4] = BOOL(R[4] == R[5]);
+        R[7] = G(R[1], 2);
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 630:
+      if (acc == 3) {
+
+        if (R[5] == INULL) {
+
+          R[7] = R[3];
+          R[3] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[6] = G(R[1], 2);
+          R[7] = INULL;
+          R[9] = R[6];
+          R[6] = R[7];
+          ob = (word *)R[9];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 631:
+      if (acc == 5) {
+
+        if (R[5] == INULL) {
+
+          R[7] = R[3];
+          R[3] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[8] = G(R[1], 2);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[4] = R[7];
+          fp[3] = R[3];
+          fp[2] = R[6];
+          R[3] = (word)fp;
+          fp += 5;
+          R[10] = G(R[1], 4);
+          R[6] = INULL;
+          R[7] = R[5];
+          R[5] = R[4];
+          R[4] = R[10];
+          ob = (word *)R[8];
+          acc = 5;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 632:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[3];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 6;
+        R[10] = G(R[2], 4);
+        R[8] = R[5];
+        R[5] = R[4];
+        R[4] = R[10];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 633:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 2);
+        R[8] = G(R[1], 5);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[2] = R[8];
+        R[9] = (word)fp;
+        fp += 3;
+        R[10] = R[4];
+        R[11] = R[5];
+        R[5] = R[3];
+        R[4] = R[6];
+        R[6] = R[7];
+        R[7] = R[9];
+        R[3] = R[11];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 634:
+      if (acc == 6) {
+
+        if (R[5] == INULL) {
+
+          R[7] = R[3];
+          R[3] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[9] = G(R[1], 2);
+          *fp = make_header(8, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[7] = R[7];
+          fp[6] = R[3];
+          fp[5] = R[8];
+          fp[4] = R[4];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 8;
+          R[4] = R[5];
+          ob = (word *)R[9];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 635:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[11] = (word)fp;
+        fp += 8;
+        R[5] = G(R[2], 4);
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[11];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 636:
+      if (acc == 2) {
+
+        assert(pairp(R[3]), R[3], 169);
+        R[5] = G(R[3], 2);
+        if (R[5] == INULL) {
+
+          R[6] = G(R[2], 2);
+          R[7] = G(R[1], 2);
+          R[8] = G(R[1], 6);
+          R[9] = G(R[1], 3);
+          R[10] = G(R[1], 5);
+          R[11] = G(R[1], 4);
+          *fp = make_header(8, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[7] = R[11];
+          fp[6] = R[10];
+          fp[5] = R[9];
+          fp[4] = R[4];
+          fp[3] = R[8];
+          fp[2] = R[7];
+          R[12] = (word)fp;
+          fp += 8;
+          R[4] = R[3];
+          R[3] = R[12];
+          ob = (word *)R[6];
+          acc = 2;
+
+        } else {
+
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[4] = R[8];
+          fp[3] = R[7];
+          fp[2] = R[3];
+          R[9] = (word)fp;
+          fp += 5;
+          R[10] = G(R[1], 3);
+          R[11] = G(R[1], 2);
+          R[5] = R[4];
+          R[7] = R[8];
+          R[8] = R[6];
+          R[3] = R[9];
+          R[4] = R[10];
+          R[6] = R[11];
+          ob = (word *)R[8];
+          acc = 6;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 637:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 6;
+        R[4] = G(R[2], 4);
+        R[10] = G(R[1], 2);
+        R[11] = R[5];
+        R[5] = R[10];
+        ob = (word *)R[11];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 638:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = cons(R[3], R[4]);
+        R[6] = G(R[1], 7);
+        R[7] = G(R[1], 6);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 4);
+        R[10] = G(R[1], 3);
+        R[4] = R[8];
+        R[8] = R[6];
+        R[6] = R[5];
+        R[3] = R[7];
+        R[5] = R[9];
+        R[7] = R[10];
+        ob = (word *)R[8];
+        acc = 6;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 639:
+      if (acc == 3) {
+
+        assert(pairp(R[4]), R[4], 105);
+        R[6] = G(R[4], 1);
+        assert(pairp(R[5]), R[5], 105);
+        R[7] = G(R[5], 1);
+        R[8] = prim_less(R[6], R[7]);
+        ob = (word *)R[3];
+        R[3] = R[8];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 640:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[3];
+        fp[3] = R[5];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 5;
+        R[5] = F(0);
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 641:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[6] = cons(R[3], R[5]);
+        R[7] = G(R[1], 3);
+        R[8] = cons(R[6], R[7]);
+        R[9] = G(R[1], 4);
+        R[3] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[9];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 642:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[3];
+        fp[4] = R[5];
+        fp[3] = R[4];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 6;
+        R[4] = R[5];
+        R[5] = R[6];
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 643:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 2);
+          R[5] = INULL;
+          R[6] = cons(R[4], R[5]);
+          R[7] = G(R[1], 4);
+          R[5] = cons(R[7], R[6]);
+          R[9] = G(R[2], 2);
+          R[3] = G(R[1], 5);
+          R[4] = G(R[2], 3);
+          ob = (word *)R[9];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[9] = G(R[1], 2);
+          R[10] = R[4];
+          R[5] = R[6];
+          R[4] = R[9];
+          ob = (word *)R[10];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 644:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 5;
+        R[8] = F(0);
+        R[4] = R[5];
+        R[5] = R[8];
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 645:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          *fp = make_header(3, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[2] = R[5];
+          R[6] = (word)fp;
+          fp += 3;
+          R[7] = G(R[1], 3);
+          R[5] = G(R[1], 2);
+          R[9] = R[4];
+          R[3] = R[6];
+          R[4] = R[7];
+          ob = (word *)R[9];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[1], 4);
+          R[3] = F(0);
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 646:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[2] = R[6];
+        R[7] = (word)fp;
+        fp += 3;
+        R[8] = R[5];
+        R[5] = R[4];
+        R[4] = R[3];
+        R[3] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 647:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        R[8] = F(0);
+        R[9] = G(R[1], 3);
+        R[11] = R[7];
+        R[7] = R[8];
+        R[8] = R[9];
+        ob = (word *)R[11];
+        acc = 6;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 648:
+      if (acc == 7) {
+
+        if (R[5] == INULL) {
+
+          R[10] = G(R[1], 2);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[1], 3);
+          fp[3] = R[3];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 4;
+          R[4] = R[8];
+          ob = (word *)R[10];
+          acc = 2;
+
+        } else {
+
+          R[10] = G(R[1], 4);
+          *fp = make_header(9, TCLOS);
+          fp[1] = G(R[1], 5);
+          fp[8] = R[3];
+          fp[7] = R[4];
+          fp[6] = R[5];
+          fp[5] = R[6];
+          fp[4] = R[8];
+          fp[3] = R[9];
+          fp[2] = R[7];
+          R[3] = (word)fp;
+          fp += 9;
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[10];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 649:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 6);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 7);
+          R[10] = G(R[1], 8);
+          R[11] = G(R[1], 3);
+          *fp = make_header(9, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[8] = R[11];
+          fp[7] = R[10];
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 9;
+          R[7] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 6);
+          R[8] = G(R[1], 7);
+          R[9] = G(R[1], 8);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 7;
+          R[5] = 128 * 0 + 258;
+          R[8] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 650:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 6);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 2);
+        R[11] = R[4];
+        R[12] = R[5];
+        R[5] = R[7];
+        R[7] = R[3];
+        R[4] = R[6];
+        R[6] = R[8];
+        R[8] = R[9];
+        R[3] = R[12];
+        ob = (word *)R[11];
+        acc = 6;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 651:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 3);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          R[9] = G(R[1], 7);
+          R[10] = G(R[1], 8);
+          *fp = make_header(8, TPROC);
+          fp[1] = G(R[2], 2);
+          fp[7] = R[10];
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 8;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[1], 3);
+          assert(pairp(R[4]), R[4], 169);
+          R[5] = G(R[4], 2);
+          R[6] = G(R[2], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 6);
+          R[10] = G(R[1], 7);
+          R[11] = G(R[1], 8);
+          *fp = make_header(9, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[8] = R[11];
+          fp[7] = R[10];
+          fp[6] = R[9];
+          fp[5] = R[5];
+          fp[4] = R[8];
+          fp[3] = R[7];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 9;
+          R[4] = G(R[1], 2);
+          R[5] = 128 * 0 + 258;
+          ob = (word *)R[6];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 652:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        assert(pairp(R[4]), R[4], 105);
+        R[5] = G(R[4], 1);
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        R[11] = G(R[1], 8);
+        *fp = make_header(8, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[11];
+        fp[6] = R[10];
+        fp[5] = R[9];
+        fp[4] = R[8];
+        fp[3] = R[7];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 8;
+        R[13] = G(R[1], 3);
+        R[4] = R[5];
+        R[5] = R[13];
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 653:
+      if (acc == 7) {
+
+        if (R[5] == INULL) {
+
+          R[10] = G(R[1], 2);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[1], 3);
+          fp[3] = R[3];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 4;
+          R[4] = R[8];
+          ob = (word *)R[10];
+          acc = 2;
+
+        } else {
+
+          R[10] = G(R[1], 4);
+          *fp = make_header(9, TCLOS);
+          fp[1] = G(R[1], 5);
+          fp[8] = R[9];
+          fp[7] = R[3];
+          fp[6] = R[6];
+          fp[5] = R[7];
+          fp[4] = R[5];
+          fp[3] = R[8];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 9;
+          R[4] = R[5];
+          ob = (word *)R[10];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 654:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 4);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 6);
+          R[8] = G(R[1], 2);
+          R[9] = G(R[1], 7);
+          R[10] = G(R[1], 8);
+          *fp = make_header(8, TPROC);
+          fp[1] = G(R[2], 2);
+          fp[7] = R[10];
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 8;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[2], 3);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          R[9] = G(R[1], 7);
+          R[10] = G(R[1], 8);
+          *fp = make_header(8, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[7] = R[10];
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 8;
+          R[12] = G(R[1], 2);
+          R[8] = R[4];
+          R[5] = R[7];
+          R[4] = R[12];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 655:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        R[11] = G(R[1], 7);
+        *fp = make_header(10, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[9] = R[11];
+        fp[8] = R[10];
+        fp[7] = R[3];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 10;
+        R[8] = R[5];
+        R[5] = R[9];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 656:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 6);
+        R[7] = G(R[1], 7);
+        R[8] = G(R[1], 8);
+        R[9] = G(R[1], 9);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[10] = (word)fp;
+        fp += 8;
+        if (R[3] == IFALSE) {
+
+          R[3] = G(R[1], 3);
+          ob = (word *)R[10];
+          acc = 1;
+
+        } else {
+
+          assert(pairp(R[4]), R[4], 105);
+          R[6] = G(R[4], 1);
+          R[12] = G(R[2], 2);
+          R[4] = G(R[1], 3);
+          R[5] = G(R[1], 2);
+          R[3] = R[10];
+          ob = (word *)R[12];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 657:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        assert(pairp(R[4]), R[4], 169);
+        R[5] = G(R[4], 2);
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        *fp = make_header(8, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[5];
+        fp[3] = R[7];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 8;
+        R[4] = G(R[1], 3);
+        R[5] = 128 * 0 + 258;
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 658:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 7);
+        R[5] = G(R[1], 6);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 2);
+        R[12] = R[6];
+        R[13] = R[5];
+        R[5] = R[3];
+        R[6] = R[7];
+        R[7] = R[8];
+        R[8] = R[9];
+        R[9] = R[4];
+        R[4] = R[12];
+        R[3] = R[13];
+        ob = (word *)R[9];
+        acc = 7;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 659:
+      if (acc == 3) {
+
+        if (R[5] == F(0)) {
+
+          R[6] = F(0);
+          R[7] = R[3];
+          R[3] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[6] = G(R[1], 2);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[3] = R[3];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 4;
+          R[8] = 128 * 0 + 258;
+          R[4] = R[5];
+          R[5] = R[8];
+          ob = (word *)R[6];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 660:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[6] = (word)fp;
+        fp += 4;
+        R[7] = G(R[1], 2);
+        R[8] = R[4];
+        R[5] = R[3];
+        R[3] = R[6];
+        R[4] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 661:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 4;
+        R[8] = G(R[1], 2);
+        R[9] = R[5];
+        R[5] = R[8];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 662:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[3];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 5;
+        R[4] = R[5];
+        ob = (word *)R[6];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 663:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[7] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[7] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 664:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[7];
+        fp[3] = R[3];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 5;
+        R[9] = 128 * 0 + 258;
+        R[10] = R[5];
+        R[5] = R[9];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 665:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = prim_ref(R[4], R[3]);
+        R[6] = G(R[1], 4);
+        R[3] = G(R[1], 3);
+        R[4] = R[5];
+        ob = (word *)R[6];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 666:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[2], 3);
+          R[7] = G(R[1], 3);
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[7] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 667:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 4;
+        R[8] = G(R[1], 2);
+        R[9] = R[5];
+        R[5] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 668:
+      if (acc == 3) {
+
+        if (R[5] == F(0)) {
+
+          R[6] = F(0);
+          R[7] = R[3];
+          R[3] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          {
+
+            word ob = R[5];
+            if (allocp(ob)) ob = V(ob);
+            R[6] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          R[7] = F(0);
+          R[8] = BOOL(R[6] == R[7]);
+          if (R[8] == IFALSE) {
+
+            R[9] = 128 * 78 + 258;
+            R[10] = BOOL(R[6] == R[9]);
+            if (R[10] == IFALSE) {
+
+              R[11] = G(R[1], 2);
+              R[4] = G(R[1], 3);
+              ob = (word *)R[11];
+              acc = 3;
+
+            } else {
+
+              R[11] = G(R[1], 4);
+              ob = (word *)R[11];
+              acc = 3;
+
+            }
+
+          } else {
+
+            R[9] = G(R[1], 5);
+            ob = (word *)R[9];
+            acc = 3;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 669:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        R[7] = INULL;
+        R[8] = IFALSE;
+        R[11] = R[7];
+        R[7] = R[8];
+        R[8] = R[6];
+        R[6] = R[11];
+        ob = (word *)R[8];
+        acc = 6;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 670:
+      if (acc == 6) {
+
+        {
+
+          word *ob = (word *)R[5];
+          hval  hdr;
+          assert(allocp(R[5]), R[5], IFALSE);
+          hdr = *ob;
+          assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+          R[9] = ob[1];
+          R[10] = ob[2];
+
+        }
+
+        if (R[10] == INULL) {
+
+          if (R[7] == IFALSE) {
+
+            R[11] = G(R[1], 2);
+            *fp = make_header(4, TCLOS);
+            fp[1] = G(R[1], 3);
+            fp[3] = R[3];
+            fp[2] = R[6];
+            R[3] = (word)fp;
+            fp += 4;
+            R[5] = R[9];
+            ob = (word *)R[11];
+            acc = 3;
+
+          } else {
+
+            R[11] = G(R[1], 4);
+            *fp = make_header(4, TCLOS);
+            fp[1] = G(R[1], 5);
+            fp[3] = R[3];
+            fp[2] = R[6];
+            R[3] = (word)fp;
+            fp += 4;
+            R[5] = R[9];
+            ob = (word *)R[11];
+            acc = 3;
+
+          }
+
+        } else {
+
+          R[11] = G(R[1], 6);
+          *fp = make_header(7, TPROC);
+          fp[1] = G(R[1], 7);
+          fp[6] = R[8];
+          fp[5] = R[3];
+          fp[4] = R[10];
+          fp[3] = R[9];
+          fp[2] = R[6];
+          R[3] = (word)fp;
+          fp += 7;
+          R[5] = IFALSE;
+          ob = (word *)R[11];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 671:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[6] = cons(R[3], R[5]);
+        R[7] = G(R[1], 3);
+        R[8] = prim_less(R[3], R[7]);
+        R[9] = G(R[1], 6);
+        R[3] = G(R[1], 5);
+        R[5] = G(R[1], 4);
+        R[7] = R[8];
+        R[8] = R[9];
+        ob = (word *)R[8];
+        acc = 6;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 672:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[4] = cons(R[4], R[5]);
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 3);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[8];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 4;
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 673:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        if (R[5] == R[6]) {
+
+          R[7] = G(R[1], 3);
+          *fp = make_header(3, TPROC);
+          fp[1] = G(R[1], 4);
+          fp[2] = R[3];
+          R[3] = (word)fp;
+          fp += 3;
+          R[5] = R[4];
+          ob = (word *)R[7];
+          acc = 3;
+
+        } else {
+
+          R[7] = G(R[1], 5);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[1], 6);
+          fp[3] = R[3];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 4;
+          R[9] = 128 * 0 + 258;
+          R[4] = R[5];
+          R[5] = R[9];
+          ob = (word *)R[7];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 674:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[7] = R[4];
+        R[4] = R[3];
+        R[3] = R[7];
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 675:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 4;
+        R[5] = R[4];
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 676:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 4);
+        if (R[3] == R[5]) {
+
+          R[6] = G(R[1], 3);
+          R[7] = F(0);
+          R[3] = R[4];
+          R[4] = R[7];
+          ob = (word *)R[6];
+          acc = 2;
+
+        } else {
+
+          R[6] = G(R[2], 2);
+          R[7] = G(R[1], 3);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[7];
+          fp[3] = R[4];
+          fp[2] = R[5];
+          R[8] = (word)fp;
+          fp += 5;
+          R[4] = G(R[1], 2);
+          R[5] = R[3];
+          R[3] = R[8];
+          ob = (word *)R[6];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 677:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[4] = R[3];
+        R[3] = R[6];
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 678:
+      if (acc == 1) {
+
+        R[4] = 128 * 2 + 258;
+        R[5] = prim_ref(R[3], R[4]);
+        R[6] = 128 * 0 + 258;
+        R[7] = prim_ref(R[5], R[6]);
+        R[8] = G(R[1], 3);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[8];
+        fp[2] = R[3];
+        R[9] = (word)fp;
+        fp += 4;
+        R[3] = cons(R[7], R[9]);
+        R[11] = G(R[1], 2);
+        ob = (word *)R[11];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 679:
+      if (acc == 2) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[5] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        if (R[5] == F(0)) {
+
+          R[6] = G(R[1], 2);
+          *fp = make_header(3, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[2] = R[3];
+          R[3] = (word)fp;
+          fp += 3;
+          R[5] = 128 * 0 + 258;
+          ob = (word *)R[6];
+          acc = 3;
+
+        } else {
+
+          {
+
+            word ob = R[4];
+            if (allocp(ob)) ob = V(ob);
+            R[6] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          R[7] = 128 * 78 + 258;
+          if (R[6] == R[7]) {
+
+            R[8] = G(R[1], 4);
+            *fp = make_header(4, TPROC);
+            fp[1] = G(R[1], 5);
+            fp[3] = R[3];
+            fp[2] = R[4];
+            R[3] = (word)fp;
+            fp += 4;
+            R[10] = G(R[1], 6);
+            R[6] = INULL;
+            R[5] = R[4];
+            R[4] = R[10];
+            ob = (word *)R[8];
+            acc = 4;
+
+          } else {
+
+            {
+
+              word *ob = (word *)R[4];
+              hval  hdr;
+              assert(allocp(R[4]), R[4], IFALSE);
+              hdr = *ob;
+              assert_not(rawp(hdr) || objsize(hdr) != 4, ob, IFALSE);
+              R[8] = ob[1];
+              R[9] = ob[2];
+              R[10] = ob[3];
+
+            }
+
+            R[11] = G(R[1], 7);
+            *fp = make_header(6, TCLOS);
+            fp[1] = G(R[1], 8);
+            fp[5] = R[3];
+            fp[4] = R[9];
+            fp[3] = R[8];
+            fp[2] = R[10];
+            R[3] = (word)fp;
+            fp += 6;
+            R[4] = R[9];
+            R[5] = R[10];
+            ob = (word *)R[11];
+            acc = 3;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 680:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 3);
+          if (R[4] == IFALSE) {
+
+            R[5] = G(R[2], 2);
+            R[6] = G(R[1], 2);
+            R[7] = G(R[1], 5);
+            *fp = make_header(4, TPROC);
+            fp[1] = G(R[2], 3);
+            fp[3] = R[7];
+            fp[2] = R[6];
+            R[3] = (word)fp;
+            fp += 4;
+            R[4] = G(R[2], 4);
+            R[10] = G(R[1], 4);
+            R[6] = INULL;
+            R[12] = R[5];
+            R[5] = R[10];
+            ob = (word *)R[12];
+            acc = 4;
+
+          } else {
+
+            R[5] = G(R[2], 2);
+            R[6] = G(R[1], 2);
+            R[7] = G(R[1], 5);
+            *fp = make_header(4, TCLOS);
+            fp[1] = G(R[2], 5);
+            fp[3] = R[7];
+            fp[2] = R[6];
+            R[3] = (word)fp;
+            fp += 4;
+            R[4] = G(R[2], 4);
+            R[10] = G(R[1], 4);
+            R[6] = INULL;
+            R[12] = R[5];
+            R[5] = R[10];
+            ob = (word *)R[12];
+            acc = 4;
+
+          }
+
+        } else {
+
+          R[4] = G(R[1], 4);
+          R[5] = G(R[1], 5);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 7);
+          fp[3] = R[5];
+          fp[2] = R[4];
+          R[6] = (word)fp;
+          fp += 4;
+          R[7] = G(R[1], 3);
+          if (R[7] == IFALSE) {
+
+            R[3] = G(R[2], 6);
+            ob = (word *)R[6];
+            acc = 1;
+
+          } else {
+
+            R[3] = G(R[2], 4);
+            ob = (word *)R[6];
+            acc = 1;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 681:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        *fp = make_header(3, 40);
+        fp[1] = R[3];
+        fp[2] = R[4];
+        R[5] = (word)fp;
+        fp += 3;
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 3);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[7];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 4;
+        R[4] = G(R[2], 4);
+        R[10] = INULL;
+        R[11] = R[6];
+        R[6] = R[10];
+        ob = (word *)R[11];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 682:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[6] = (word)fp;
+        fp += 4;
+        R[7] = G(R[2], 4);
+        R[5] = G(R[1], 2);
+        R[9] = INULL;
+        R[10] = R[4];
+        R[3] = R[6];
+        R[4] = R[7];
+        R[6] = R[9];
+        ob = (word *)R[10];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 683:
+      if (acc == 1) {
+
+        R[4] = IFALSE;
+        R[5] = G(R[1], 2);
+        *fp = make_header(4, 2);
+        fp[1] = R[4];
+        fp[2] = R[5];
+        fp[3] = R[3];
+        R[3] = (word)fp;
+        fp += 4;
+        R[7] = G(R[1], 3);
+        ob = (word *)R[7];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 684:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[6] = (word)fp;
+        fp += 4;
+        R[7] = G(R[2], 4);
+        R[8] = INULL;
+        R[9] = R[4];
+        R[5] = R[3];
+        R[3] = R[6];
+        R[4] = R[7];
+        R[6] = R[8];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 685:
+      if (acc == 1) {
+
+        R[4] = ITRUE;
+        R[5] = G(R[1], 2);
+        *fp = make_header(4, 2);
+        fp[1] = R[4];
+        fp[2] = R[3];
+        fp[3] = R[5];
+        R[3] = (word)fp;
+        fp += 4;
+        R[7] = G(R[1], 3);
+        ob = (word *)R[7];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 686:
+      if (acc == 5) {
+
+        if (R[5] == INULL) {
+
+          ob = (word *)R[3];
+          R[3] = R[6];
+          acc = 1;
+
+        } else {
+
+          R[8] = 128 * 0 + 258;
+          R[9] = prim_ref(R[5], R[8]);
+          R[10] = G(R[1], 2);
+          {
+
+            uint64_t p = (uint64_t)immval(R[9]) * immval(R[10]);
+            R[11] = F(p);
+            R[12] = F(p >> FBITS);
+
+          }
+
+          {
+
+            hval r = immval(R[11]) + immval(R[4]);
+            R[14] = F(r >> FBITS);
+            R[13] = F(r);
+
+          }
+
+          R[15] = 128 * 2 + 258;
+          R[5] = prim_ref(R[5], R[15]);
+          *fp = make_header(3, 40);
+          fp[1] = R[13];
+          fp[2] = R[6];
+          R[6] = (word)fp;
+          fp += 3;
+          R[4] = R[12];
+          ob = (word *)R[7];
+          acc = 5;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 687:
+      if (acc == 3) {
+
+        if (R[4] == INULL) {
+
+          R[6] = F(0);
+          ob = (word *)R[3];
+          R[3] = R[6];
+          acc = 1;
+
+        } else {
+
+          {
+
+            word *ob = (word *)R[4];
+            hval  hdr;
+            assert(allocp(R[4]), R[4], IFALSE);
+            hdr = *ob;
+            assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+            R[6] = ob[1];
+            R[7] = ob[2];
+
+          }
+
+          if (R[6] == F(0)) {
+
+            R[4] = R[7];
+            ob = (word *)R[5];
+            acc = 3;
+
+          } else {
+
+            if (R[7] == INULL) {
+
+              ob = (word *)R[3];
+              R[3] = R[6];
+              acc = 1;
+
+            } else {
+
+              R[8] = INULL;
+              *fp = make_header(3, 40);
+              fp[1] = R[6];
+              fp[2] = R[8];
+              R[5] = (word)fp;
+              fp += 3;
+              R[10] = G(R[1], 2);
+              R[4] = R[7];
+              ob = (word *)R[10];
+              acc = 3;
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 688:
+      if (acc == 4) {
+
+        if (R[4] == INULL) {
+
+          ob = (word *)R[3];
+          R[3] = R[5];
+          acc = 1;
+
+        } else {
+
+          {
+
+            word *ob = (word *)R[4];
+            hval  hdr;
+            assert(allocp(R[4]), R[4], IFALSE);
+            hdr = *ob;
+            assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+            R[7] = ob[1];
+            R[8] = ob[2];
+
+          }
+
+          *fp = make_header(3, 40);
+          fp[1] = R[7];
+          fp[2] = R[5];
+          R[5] = (word)fp;
+          fp += 3;
+          R[4] = R[8];
+          ob = (word *)R[6];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 689:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[5] = INULL;
+        R[9] = R[4];
+        R[4] = R[3];
+        R[3] = R[7];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 690:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 3);
+          R[3] = G(R[1], 2);
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[1], 3);
+          R[3] = IFALSE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 691:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[3];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 4;
+        R[4] = G(R[1], 2);
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 692:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 6);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[8] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[10] = R[7];
+        R[7] = R[4];
+        R[4] = R[3];
+        R[5] = R[8];
+        R[3] = R[10];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 693:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[5];
+        R[5] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 694:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[7] = R[4];
+        R[4] = R[5];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 695:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = 128 * 0 + 258;
+        R[10] = R[4];
+        R[4] = R[5];
+        R[5] = R[9];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 696:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[9];
+        fp[6] = R[3];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 8;
+        R[11] = G(R[1], 2);
+        R[7] = R[4];
+        R[4] = R[11];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 697:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[11] = (word)fp;
+        fp += 9;
+        R[7] = R[4];
+        R[4] = R[3];
+        R[3] = R[11];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 698:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 5;
+        R[4] = G(R[1], 2);
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 699:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 6;
+        R[5] = G(R[1], 2);
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[9];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 700:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = G(R[1], 2);
+        R[7] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 701:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 7);
+        R[5] = G(R[1], 6);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 2);
+        R[12] = R[5];
+        R[5] = R[7];
+        R[7] = R[9];
+        R[9] = R[4];
+        R[4] = R[6];
+        R[6] = R[8];
+        R[8] = R[3];
+        R[3] = R[12];
+        ob = (word *)R[9];
+        acc = 7;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 702:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[9] = (word)fp;
+        fp += 7;
+        R[7] = R[4];
+        R[4] = R[3];
+        R[3] = R[9];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 703:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 3);
+        if (R[4] == R[5]) {
+
+          R[6] = G(R[1], 2);
+          ob = (word *)R[3];
+          R[3] = R[6];
+          acc = 1;
+
+        } else {
+
+          ob = (word *)R[3];
+          R[3] = R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 704:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 6);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[8] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[5] = R[3];
+        R[3] = R[7];
+        R[7] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 705:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 5);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[4] = R[4];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 5;
+        R[8] = G(R[1], 2);
+        R[5] = R[3];
+        R[6] = R[4];
+        R[3] = R[7];
+        R[4] = R[8];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 706:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[7] = R[4];
+        R[4] = R[5];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 707:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        R[11] = G(R[1], 8);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[11];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[12] = (word)fp;
+        fp += 9;
+        R[7] = R[4];
+        R[4] = R[3];
+        R[3] = R[12];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 708:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 4;
+        R[8] = G(R[2], 4);
+        R[9] = R[5];
+        R[5] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 709:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = G(R[1], 2);
+        R[7] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 710:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 6;
+        R[7] = R[4];
+        R[4] = R[3];
+        R[3] = R[9];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 711:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[8] = G(R[2], 4);
+        R[9] = R[4];
+        R[5] = R[3];
+        R[3] = R[7];
+        R[4] = R[8];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 712:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[11] = (word)fp;
+        fp += 8;
+        R[5] = G(R[1], 2);
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[11];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 713:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        *fp = make_header(5, 2);
+        fp[1] = R[4];
+        fp[2] = R[5];
+        fp[3] = R[6];
+        fp[4] = R[3];
+        R[3] = (word)fp;
+        fp += 5;
+        R[8] = G(R[1], 4);
+        ob = (word *)R[8];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 714:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        *fp = make_header(3, 2);
+        fp[1] = R[4];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 3;
+        R[6] = G(R[1], 2);
+        ob = (word *)R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 715:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = IFALSE;
+        R[7] = R[4];
+        R[4] = R[5];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 716:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[7];
+        ob = (word *)R[8];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 717:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[8] = (word)fp;
+        fp += 5;
+        R[5] = G(R[1], 2);
+        R[6] = R[4];
+        R[4] = R[3];
+        R[3] = R[8];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 718:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[5] = G(R[1], 2);
+        R[6] = R[4];
+        R[4] = R[3];
+        R[3] = R[7];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 719:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 4;
+        ob = (word *)R[6];
+        acc = 2;
+
+      } else {
+
+        if (acc == 2) {
+
+          R[5] = G(R[1], 2);
+          *fp = make_header(3, TCLOS);
+          fp[1] = G(R[1], 4);
+          fp[2] = R[3];
+          R[3] = (word)fp;
+          fp += 3;
+          ob = (word *)R[5];
+          acc = 2;
+
+        } else {
+
+          error(61, ob, F(acc));
+
+        }
+
+      }
+
+      break;
+    case 720:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = 128 * 18 + 258;
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[5];
+        R[5] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 721:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[7] = IFALSE;
+        R[11] = R[4];
+        R[4] = R[3];
+        R[3] = R[5];
+        R[5] = R[6];
+        R[6] = R[7];
+        R[8] = R[7];
+        ob = (word *)R[11];
+        acc = 6;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 722:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[11] = (word)fp;
+        fp += 8;
+        R[7] = R[4];
+        R[4] = R[3];
+        R[3] = R[11];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 723:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[6];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[4] = 128 * 92 + 258;
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 724:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        R[9] = G(R[1], 3);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[6];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 8;
+        R[4] = R[9];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 725:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        R[9] = G(R[1], 3);
+        R[10] = G(R[1], 4);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[6];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 9;
+        R[4] = F(0);
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 726:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 8);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        R[11] = G(R[1], 7);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[11];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[12] = (word)fp;
+        fp += 9;
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[2] = R[8];
+        R[13] = (word)fp;
+        fp += 3;
+        R[8] = R[4];
+        R[5] = R[3];
+        R[3] = R[12];
+        R[4] = R[13];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 727:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[6];
+        fp[5] = R[8];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[4] = 128 * 90 + 258;
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 728:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        R[9] = G(R[1], 3);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[9];
+        fp[6] = R[3];
+        fp[5] = R[4];
+        fp[4] = R[5];
+        fp[3] = R[8];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 8;
+        R[4] = R[6];
+        R[5] = R[8];
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 729:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 8;
+        R[11] = G(R[1], 2);
+        R[7] = R[4];
+        R[4] = R[11];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 730:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 4);
+        R[10] = G(R[1], 5);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[6];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 9;
+        R[4] = G(R[1], 2);
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 731:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[9];
+        fp[6] = R[3];
+        fp[5] = R[4];
+        fp[4] = R[5];
+        fp[3] = R[8];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 8;
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 732:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 5);
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[8] = (word)fp;
+        fp += 6;
+        R[9] = 128 * 84 + 258;
+        if (R[6] == R[9]) {
+
+          R[3] = G(R[2], 2);
+          ob = (word *)R[8];
+          acc = 1;
+
+        } else {
+
+          R[10] = G(R[2], 3);
+          R[4] = G(R[2], 4);
+          R[5] = F(0);
+          R[3] = R[8];
+          ob = (word *)R[10];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 733:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[3] = R[4];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 4;
+        R[4] = 128 * 0 + 258;
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 734:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[2] = R[6];
+        R[7] = (word)fp;
+        fp += 3;
+        R[8] = R[4];
+        R[9] = R[5];
+        R[5] = R[3];
+        R[4] = R[7];
+        R[3] = R[9];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 735:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[6];
+        fp[5] = R[8];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[4] = 128 * 200 + 258;
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 736:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        R[9] = G(R[1], 3);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[4] = R[8];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 737:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 3);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[8] = (word)fp;
+        fp += 6;
+        R[9] = G(R[1], 2);
+        R[10] = 128 * 84 + 258;
+        if (R[9] == R[10]) {
+
+          R[3] = R[6];
+          ob = (word *)R[8];
+          acc = 1;
+
+        } else {
+
+          R[11] = G(R[2], 2);
+          R[4] = F(0);
+          R[5] = R[6];
+          R[3] = R[8];
+          ob = (word *)R[11];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 738:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[6];
+        fp[5] = R[8];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[4] = R[8];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 739:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 3);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[5] = G(R[1], 2);
+        R[4] = R[6];
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 740:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[4] = G(R[2], 4);
+        R[5] = G(R[2], 5);
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 741:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 3;
+        R[5] = F(0);
+        R[9] = R[6];
+        R[6] = R[4];
+        R[4] = R[7];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 742:
+      if (acc == 3) {
+
+        R[6] = G(R[2], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 4;
+        R[5] = G(R[1], 2);
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 743:
+      if (acc == 1) {
+
+        R[4] = 128 * 112 + 258;
+        R[5] = G(R[1], 2);
+        R[6] = prim_less(R[4], R[5]);
+        R[7] = G(R[1], 3);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[7];
+        fp[2] = R[3];
+        R[8] = (word)fp;
+        fp += 4;
+        if (R[6] == IFALSE) {
+
+          R[3] = R[5];
+          ob = (word *)R[8];
+          acc = 1;
+
+        } else {
+
+          R[9] = 128 * 12 + 258;
+          {
+
+            hval r = immval(R[5]) - immval(R[9]);
+            R[11] = F(r >> FBITS & 1);
+            R[10] = F(r);
+
+          }
+
+          R[3] = R[10];
+          ob = (word *)R[8];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 744:
+      if (acc == 1) {
+
+        R[4] = 128 * 28 + 258;
+        R[5] = R[3] & R[4];
+        R[6] = G(R[2], 2);
+        R[3] = G(R[1], 3);
+        R[4] = G(R[1], 2);
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 745:
+      if (acc == 2) {
+
+        R[5] = 128 * 30 + 258;
+        if (R[4] == R[5]) {
+
+          R[6] = G(R[1], 2);
+          ob = (word *)R[3];
+          R[3] = R[6];
+          acc = 1;
+
+        } else {
+
+          *fp = make_header(3, TPROC);
+          fp[1] = G(R[1], 3);
+          fp[2] = R[4];
+          R[6] = (word)fp;
+          fp += 3;
+          ob = (word *)R[3];
+          R[3] = R[6];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 746:
+      if (acc == 2) {
+
+        R[5] = 128 * 94 + 258;
+        R[6] = R[4] ^ (FMAX << IPOS & R[5]);
+        R[7] = G(R[1], 2);
+        R[8] = prim_less(R[6], R[7]);
+        ob = (word *)R[3];
+        R[3] = R[8];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 747:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[6] = prim_ref(R[5], R[4]);
+        R[7] = 128 * 6 + 258;
+        R[8] = R[6] & R[7];
+        R[9] = F(0);
+        R[10] = prim_less(R[9], R[8]);
+        ob = (word *)R[3];
+        R[3] = R[10];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 748:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = G(R[2], 4);
+        R[8] = R[4];
+        R[5] = R[3];
+        R[3] = R[6];
+        R[4] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 749:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[11] = (word)fp;
+        fp += 8;
+        R[12] = G(R[2], 4);
+        R[8] = R[4];
+        R[5] = R[3];
+        R[3] = R[11];
+        R[4] = R[12];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 750:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[5] = R[10];
+        fp[4] = R[9];
+        fp[3] = R[8];
+        fp[2] = R[7];
+        R[11] = (word)fp;
+        fp += 6;
+        R[9] = R[3];
+        R[3] = R[4];
+        R[4] = R[5];
+        R[5] = R[6];
+        R[6] = R[11];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 751:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 6;
+        R[7] = R[4];
+        R[4] = R[3];
+        R[3] = R[9];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 752:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[6];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[4] = R[6];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 753:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 6;
+        R[10] = G(R[2], 4);
+        R[8] = R[4];
+        R[5] = R[3];
+        R[3] = R[9];
+        R[4] = R[10];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 754:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[6];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[4] = G(R[2], 4);
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 755:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[4] = R[9];
+        fp[3] = R[8];
+        fp[2] = R[7];
+        R[10] = (word)fp;
+        fp += 5;
+        R[9] = R[3];
+        R[3] = R[4];
+        R[4] = R[5];
+        R[5] = R[6];
+        R[6] = R[10];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 756:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[2] = R[8];
+        R[6] = (word)fp;
+        fp += 3;
+        ob = (word *)R[7];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 757:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[8];
+        fp[2] = R[6];
+        R[6] = (word)fp;
+        fp += 4;
+        ob = (word *)R[7];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 758:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[6];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[4] = G(R[1], 4);
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 759:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[8];
+        fp[2] = R[7];
+        R[9] = (word)fp;
+        fp += 4;
+        R[10] = R[3];
+        R[3] = R[4];
+        R[4] = R[5];
+        R[5] = R[6];
+        R[6] = R[9];
+        ob = (word *)R[10];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 760:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[6];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[4] = 128 * 182 + 258;
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 761:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 5);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[2] = R[7];
+        R[8] = (word)fp;
+        fp += 3;
+        R[9] = R[3];
+        R[3] = R[4];
+        R[4] = R[5];
+        R[5] = R[6];
+        R[6] = R[8];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 762:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        ob = (word *)R[7];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 763:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[2] = R[8];
+        R[6] = (word)fp;
+        fp += 3;
+        ob = (word *)R[7];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 764:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        R[6] = G(R[2], 2);
+        ob = (word *)R[7];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 765:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[3];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 4;
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 766:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 2);
+          if (R[4] == INULL) {
+
+            R[5] = G(R[1], 3);
+            R[3] = R[4];
+            ob = (word *)R[5];
+            acc = 1;
+
+          } else {
+
+            R[5] = G(R[2], 2);
+            R[6] = G(R[1], 3);
+            *fp = make_header(4, TCLOS);
+            fp[1] = G(R[2], 3);
+            fp[3] = R[6];
+            fp[2] = R[4];
+            R[3] = (word)fp;
+            fp += 4;
+            ob = (word *)R[5];
+            acc = 2;
+
+          }
+
+        } else {
+
+          R[4] = G(R[1], 3);
+          R[3] = G(R[1], 2);
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 767:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          R[8] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[8];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 2);
+          R[7] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 768:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[2], 3);
+          R[7] = G(R[1], 2);
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 2);
+          R[7] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 769:
+      if (acc == 4) {
+
+        if (R[5] == INULL) {
+
+          R[7] = G(R[1], 2);
+          ob = (word *)R[7];
+          acc = 3;
+
+        } else {
+
+          R[7] = G(R[1], 3);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[1], 4);
+          fp[5] = R[6];
+          fp[4] = R[3];
+          fp[3] = R[4];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 770:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          *fp = make_header(5, TPROC);
+          fp[1] = G(R[2], 2);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[2], 3);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(6, TPROC);
+          fp[1] = G(R[2], 4);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[8] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 771:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 2);
+          assert(pairp(R[4]), R[4], 169);
+          R[5] = G(R[4], 2);
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 4);
+          R[4] = G(R[1], 3);
+          R[3] = R[7];
+          ob = (word *)R[6];
+          acc = 4;
+
+        } else {
+
+          R[4] = G(R[1], 4);
+          R[3] = ITRUE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 772:
+      if (acc == 3) {
+
+        R[6] = INULL;
+        R[7] = G(R[1], 2);
+        R[8] = G(R[1], 3);
+        R[10] = R[4];
+        R[4] = R[5];
+        R[5] = R[6];
+        R[6] = R[7];
+        R[7] = R[8];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 773:
+      if (acc == 4) {
+
+        R[7] = ITRUE;
+        ob = (word *)R[3];
+        R[3] = R[7];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 774:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[4] = R[7];
+        fp[3] = R[8];
+        fp[2] = R[6];
+        R[7] = (word)fp;
+        fp += 5;
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 775:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 4);
+        *fp = make_header(7, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[6] = R[9];
+        fp[5] = R[3];
+        fp[4] = R[4];
+        fp[3] = R[5];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 7;
+        R[6] = G(R[1], 2);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[2] = R[7];
+        R[7] = (word)fp;
+        fp += 3;
+        ob = (word *)R[8];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 776:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 6);
+          R[5] = G(R[1], 5);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 2);
+          R[9] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          R[6] = R[8];
+          ob = (word *)R[9];
+          acc = 4;
+
+        } else {
+
+          R[4] = G(R[1], 5);
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 777:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 2);
+        R[9] = G(R[1], 3);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[9];
+        fp[2] = R[7];
+        R[7] = (word)fp;
+        fp += 4;
+        ob = (word *)R[8];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 778:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[10] = R[7];
+        R[7] = R[8];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 779:
+      if (acc == 5) {
+
+        if (R[4] == INULL) {
+
+          R[8] = IFALSE;
+          ob = (word *)R[3];
+          R[3] = R[8];
+          acc = 1;
+
+        } else {
+
+          R[8] = G(R[2], 2);
+          R[9] = G(R[1], 2);
+          R[10] = G(R[1], 3);
+          *fp = make_header(9, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[8] = R[7];
+          fp[7] = R[3];
+          fp[6] = R[6];
+          fp[5] = R[5];
+          fp[4] = R[4];
+          fp[3] = R[10];
+          fp[2] = R[9];
+          R[3] = (word)fp;
+          fp += 9;
+          ob = (word *)R[8];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 780:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 8);
+          R[7] = G(R[1], 6);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 7);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 2);
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 7;
+          R[11] = G(R[1], 3);
+          R[5] = R[4];
+          R[4] = R[11];
+          ob = (word *)R[5];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[1], 4);
+          assert(pairp(R[4]), R[4], 105);
+          R[5] = G(R[4], 1);
+          R[6] = G(R[2], 3);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          R[9] = G(R[1], 7);
+          R[10] = G(R[1], 8);
+          *fp = make_header(7, TPROC);
+          fp[1] = G(R[2], 4);
+          fp[6] = R[10];
+          fp[5] = R[9];
+          fp[4] = R[8];
+          fp[3] = R[7];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 7;
+          R[4] = G(R[1], 3);
+          R[13] = IFALSE;
+          R[9] = R[6];
+          R[6] = R[13];
+          ob = (word *)R[9];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 781:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(7, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[6] = R[3];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        ob = (word *)R[4];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 782:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 6);
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[10] = R[4];
+        R[4] = R[3];
+        R[3] = R[5];
+        R[5] = R[6];
+        R[6] = R[7];
+        R[7] = R[8];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 783:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 5);
+          R[3] = IFALSE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          assert(pairp(R[4]), R[4], 169);
+          R[5] = G(R[4], 2);
+          R[6] = G(R[4], 1);
+          R[7] = G(R[1], 3);
+          R[8] = cons(R[6], R[7]);
+          R[9] = G(R[1], 6);
+          R[3] = G(R[1], 5);
+          R[6] = G(R[1], 4);
+          R[4] = R[5];
+          R[5] = R[8];
+          ob = (word *)R[9];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 784:
+      if (acc == 6) {
+
+        if (R[4] == INULL) {
+
+          R[9] = IFALSE;
+          ob = (word *)R[3];
+          R[3] = R[9];
+          acc = 1;
+
+        } else {
+
+          R[9] = G(R[2], 2);
+          R[10] = G(R[1], 2);
+          *fp = make_header(9, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[8] = R[7];
+          fp[7] = R[3];
+          fp[6] = R[6];
+          fp[5] = R[10];
+          fp[4] = R[5];
+          fp[3] = R[4];
+          fp[2] = R[8];
+          R[3] = (word)fp;
+          fp += 9;
+          ob = (word *)R[9];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 785:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 3);
+          R[5] = G(R[1], 8);
+          R[6] = G(R[1], 6);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 7);
+          R[9] = G(R[1], 2);
+          *fp = make_header(7, TPROC);
+          fp[1] = G(R[2], 2);
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 7;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[1], 3);
+          assert(pairp(R[4]), R[4], 105);
+          R[5] = G(R[4], 1);
+          R[6] = G(R[1], 5);
+          if (R[5] == R[6]) {
+
+            R[7] = G(R[4], 2);
+            R[8] = G(R[1], 4);
+            R[5] = cons(R[6], R[8]);
+            R[10] = G(R[1], 8);
+            R[3] = G(R[1], 7);
+            R[6] = G(R[1], 6);
+            R[4] = R[7];
+            ob = (word *)R[10];
+            acc = 4;
+
+          } else {
+
+            R[7] = G(R[1], 7);
+            R[3] = IFALSE;
+            ob = (word *)R[7];
+            acc = 1;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 786:
+      if (acc == 6) {
+
+        if (R[4] == INULL) {
+
+          ob = (word *)R[7];
+          acc = 4;
+
+        } else {
+
+          R[9] = G(R[1], 2);
+          *fp = make_header(8, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[7] = R[8];
+          fp[6] = R[3];
+          fp[5] = R[5];
+          fp[4] = R[6];
+          fp[3] = R[7];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 8;
+          ob = (word *)R[9];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 787:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          R[9] = G(R[1], 7);
+          *fp = make_header(7, TPROC);
+          fp[1] = G(R[2], 2);
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 7;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[1], 6);
+          R[3] = IFALSE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 788:
+      if (acc == 4) {
+
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 2);
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[7] = (word)fp;
+        fp += 5;
+        ob = (word *)R[3];
+        R[3] = R[7];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 789:
+      if (acc == 4) {
+
+        R[8] = R[3];
+        R[3] = R[4];
+        R[4] = R[5];
+        R[5] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 790:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[8];
+        R[6] = (word)fp;
+        fp += 4;
+        ob = (word *)R[7];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 791:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        R[9] = G(R[1], 3);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[9];
+        fp[3] = R[8];
+        fp[2] = R[6];
+        R[6] = (word)fp;
+        fp += 5;
+        ob = (word *)R[7];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 792:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 5);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[2] = R[7];
+        R[8] = (word)fp;
+        fp += 3;
+        R[9] = R[3];
+        R[3] = R[4];
+        R[4] = R[5];
+        R[5] = R[6];
+        R[6] = R[8];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 793:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 3);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[4] = G(R[1], 2);
+        R[5] = R[6];
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 794:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[2] = R[6];
+        R[6] = (word)fp;
+        fp += 3;
+        ob = (word *)R[7];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 795:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 4;
+        ob = (word *)R[6];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 796:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[6];
+        fp[2] = R[7];
+        R[6] = (word)fp;
+        fp += 4;
+        ob = (word *)R[7];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 797:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 3);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[6];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[4] = G(R[1], 2);
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 798:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[8];
+        fp[2] = R[7];
+        R[9] = (word)fp;
+        fp += 4;
+        R[10] = R[3];
+        R[3] = R[4];
+        R[4] = R[5];
+        R[5] = R[6];
+        R[6] = R[9];
+        ob = (word *)R[10];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 799:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 4);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[7];
+        R[8] = (word)fp;
+        fp += 4;
+        R[4] = cons(R[8], R[4]);
+        R[10] = G(R[1], 2);
+        R[11] = G(R[1], 3);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[6] = R[6];
+        fp[5] = R[8];
+        fp[4] = R[11];
+        fp[3] = R[10];
+        fp[2] = R[7];
+        R[6] = (word)fp;
+        fp += 7;
+        ob = (word *)R[10];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 800:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        R[8] = cons(R[6], R[7]);
+        R[6] = G(R[1], 4);
+        R[10] = G(R[1], 5);
+        R[11] = G(R[1], 6);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[6] = R[3];
+        fp[5] = R[5];
+        fp[4] = R[11];
+        fp[3] = R[4];
+        fp[2] = R[10];
+        R[3] = (word)fp;
+        fp += 7;
+        R[4] = G(R[1], 3);
+        R[5] = R[8];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 801:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[3];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[11] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[11];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 802:
+      if (acc == 4) {
+
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 2);
+        fp[4] = R[5];
+        fp[3] = R[6];
+        fp[2] = R[4];
+        R[7] = (word)fp;
+        fp += 5;
+        ob = (word *)R[3];
+        R[3] = R[7];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 803:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 3);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[4] = G(R[1], 2);
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 804:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 5);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 2);
+        R[9] = R[4];
+        R[4] = R[6];
+        R[6] = R[3];
+        R[3] = R[5];
+        R[5] = R[7];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 805:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 5);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 2);
+        R[9] = R[3];
+        R[3] = R[4];
+        R[4] = R[5];
+        R[5] = R[6];
+        R[6] = R[7];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 806:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        R[6] = cons(R[7], R[6]);
+        R[9] = G(R[1], 3);
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 807:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 3);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[8] = (word)fp;
+        fp += 4;
+        R[4] = cons(R[8], R[4]);
+        R[10] = G(R[1], 2);
+        ob = (word *)R[10];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 808:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        ob = (word *)R[7];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 809:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        R[9] = R[6];
+        R[6] = R[7];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 810:
+      if (acc == 4) {
+
+        if (R[5] == INULL) {
+
+          R[7] = G(R[2], 2);
+          R[6] = G(R[2], 3);
+          ob = (word *)R[7];
+          acc = 4;
+
+        } else {
+
+          R[7] = G(R[2], 4);
+          R[8] = G(R[1], 2);
+          R[9] = G(R[1], 3);
+          *fp = make_header(8, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[7] = R[6];
+          fp[6] = R[3];
+          fp[5] = R[9];
+          fp[4] = R[5];
+          fp[3] = R[4];
+          fp[2] = R[8];
+          R[3] = (word)fp;
+          fp += 8;
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 811:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 7);
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 6);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 2);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = G(R[1], 5);
+          R[5] = R[4];
+          R[4] = R[10];
+          ob = (word *)R[5];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[1], 4);
+          assert(pairp(R[4]), R[4], 105);
+          R[5] = G(R[4], 1);
+          R[6] = G(R[1], 5);
+          if (R[5] == R[6]) {
+
+            R[7] = G(R[1], 3);
+            R[8] = cons(R[6], R[7]);
+            R[5] = G(R[4], 2);
+            R[10] = G(R[1], 7);
+            R[3] = G(R[1], 6);
+            R[4] = R[8];
+            ob = (word *)R[10];
+            acc = 4;
+
+          } else {
+
+            R[7] = G(R[2], 3);
+            R[3] = G(R[1], 6);
+            R[9] = G(R[1], 3);
+            R[6] = G(R[2], 4);
+            R[5] = R[4];
+            R[4] = R[9];
+            ob = (word *)R[7];
+            acc = 4;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 812:
+      if (acc == 4) {
+
+        if (R[5] == INULL) {
+
+          R[7] = G(R[2], 2);
+          R[6] = G(R[2], 3);
+          ob = (word *)R[7];
+          acc = 4;
+
+        } else {
+
+          R[7] = G(R[2], 4);
+          R[8] = G(R[1], 2);
+          R[9] = G(R[1], 3);
+          *fp = make_header(8, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[7] = R[6];
+          fp[6] = R[3];
+          fp[5] = R[4];
+          fp[4] = R[5];
+          fp[3] = R[9];
+          fp[2] = R[8];
+          R[3] = (word)fp;
+          fp += 8;
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 813:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 7);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 2);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = G(R[1], 3);
+          R[5] = R[4];
+          R[4] = R[10];
+          ob = (word *)R[5];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[1], 4);
+          {
+
+            word *ob = (word *)R[4];
+            hval  hdr;
+            assert(allocp(R[4]), R[4], IFALSE);
+            hdr = *ob;
+            assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+            R[5] = ob[1];
+            R[6] = ob[2];
+
+          }
+
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 6);
+          R[10] = G(R[1], 7);
+          *fp = make_header(8, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[7] = R[10];
+          fp[6] = R[9];
+          fp[5] = R[6];
+          fp[4] = R[5];
+          fp[3] = R[8];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 8;
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 814:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 6);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 2);
+          R[8] = G(R[2], 3);
+          R[9] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          R[6] = R[8];
+          ob = (word *)R[9];
+          acc = 4;
+
+        } else {
+
+          R[4] = G(R[1], 4);
+          R[5] = G(R[1], 3);
+          R[6] = cons(R[4], R[5]);
+          R[7] = G(R[1], 7);
+          R[3] = G(R[1], 6);
+          R[5] = G(R[1], 5);
+          R[10] = R[6];
+          R[6] = R[4];
+          R[4] = R[10];
+          ob = (word *)R[7];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 815:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[5] = R[3];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        ob = (word *)R[4];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 816:
+      if (acc == 5) {
+
+        if (R[5] == INULL) {
+
+          R[8] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          ob = (word *)R[8];
+          acc = 4;
+
+        } else {
+
+          R[8] = G(R[1], 4);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[1], 5);
+          fp[6] = R[6];
+          fp[5] = R[3];
+          fp[4] = R[5];
+          fp[3] = R[4];
+          fp[2] = R[7];
+          R[3] = (word)fp;
+          fp += 7;
+          R[4] = R[5];
+          ob = (word *)R[8];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 817:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 4);
+          R[5] = G(R[1], 6);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 2);
+          *fp = make_header(6, TPROC);
+          fp[1] = G(R[2], 2);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[1], 4);
+          assert(pairp(R[4]), R[4], 105);
+          R[5] = G(R[4], 1);
+          R[6] = G(R[1], 3);
+          R[7] = cons(R[5], R[6]);
+          R[5] = G(R[4], 2);
+          R[6] = G(R[4], 1);
+          R[10] = G(R[1], 6);
+          R[3] = G(R[1], 5);
+          R[4] = R[7];
+          ob = (word *)R[10];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 818:
+      if (acc == 5) {
+
+        if (R[4] == INULL) {
+
+          R[8] = IFALSE;
+          R[9] = R[3];
+          R[4] = R[5];
+          R[5] = R[6];
+          R[3] = R[8];
+          ob = (word *)R[9];
+          acc = 3;
+
+        } else {
+
+          assert(pairp(R[4]), R[4], 105);
+          R[8] = G(R[4], 1);
+          {
+
+            word ob = R[8];
+            if (allocp(ob)) ob = V(ob);
+            R[9] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          if (R[9] == F(0)) {
+
+            R[4] = G(R[4], 2);
+            R[5] = cons(R[8], R[5]);
+            ob = (word *)R[7];
+            acc = 5;
+
+          } else {
+
+            R[4] = G(R[4], 2);
+            ob = (word *)R[8];
+            acc = 4;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 819:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[5] = G(R[2], 4);
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 820:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[6] = INULL;
+        R[9] = R[6];
+        R[6] = R[5];
+        R[5] = R[9];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 821:
+      if (acc == 4) {
+
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 2);
+        fp[4] = R[6];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 5;
+        ob = (word *)R[3];
+        R[3] = R[7];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 822:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[3] = R[3];
+        fp[2] = R[4];
+        R[7] = (word)fp;
+        fp += 4;
+        R[4] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = R[6];
+        R[6] = R[5];
+        R[3] = R[7];
+        R[5] = R[9];
+        ob = (word *)R[10];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 823:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = F(0);
+        R[7] = INULL;
+        R[8] = G(R[2], 3);
+        R[10] = R[4];
+        R[4] = R[3];
+        R[3] = R[5];
+        R[5] = R[6];
+        R[6] = R[7];
+        R[7] = R[8];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 824:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = F(0);
+        R[7] = INULL;
+        R[8] = G(R[1], 2);
+        R[10] = R[4];
+        R[4] = R[3];
+        R[3] = R[5];
+        R[5] = R[6];
+        R[6] = R[7];
+        R[7] = R[8];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 825:
+      if (acc == 6) {
+
+        R[9] = G(R[1], 2);
+        if (R[5] == R[9]) {
+
+          R[10] = G(R[1], 3);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[1], 4);
+          fp[5] = R[3];
+          fp[4] = R[8];
+          fp[3] = R[4];
+          fp[2] = R[7];
+          R[3] = (word)fp;
+          fp += 6;
+          R[4] = R[6];
+          ob = (word *)R[10];
+          acc = 2;
+
+        } else {
+
+          if (R[4] == INULL) {
+
+            R[10] = G(R[1], 3);
+            *fp = make_header(4, TCLOS);
+            fp[1] = G(R[1], 5);
+            fp[3] = R[3];
+            fp[2] = R[7];
+            R[3] = (word)fp;
+            fp += 4;
+            R[4] = R[6];
+            ob = (word *)R[10];
+            acc = 2;
+
+          } else {
+
+            R[10] = 128 * 0 + 258;
+            {
+
+              hval r = immval(R[5]) + immval(R[10]);
+              R[12] = F(r >> FBITS);
+              R[11] = F(r);
+
+            }
+
+            assert(pairp(R[4]), R[4], 169);
+            R[13] = G(R[4], 2);
+            R[14] = G(R[4], 1);
+            R[6] = cons(R[14], R[6]);
+            R[5] = R[11];
+            R[4] = R[13];
+            ob = (word *)R[8];
+            acc = 6;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 826:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 6;
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[9];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 827:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 5);
+          R[3] = IFALSE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[1], 4);
+          R[5] = G(R[1], 5);
+          R[6] = G(R[1], 3);
+          R[7] = F(0);
+          R[8] = INULL;
+          R[9] = G(R[1], 2);
+          R[11] = R[6];
+          R[6] = R[8];
+          R[8] = R[4];
+          R[3] = R[5];
+          R[5] = R[7];
+          R[7] = R[9];
+          R[4] = R[11];
+          ob = (word *)R[8];
+          acc = 6;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 828:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = G(R[1], 2);
+        R[8] = R[4];
+        R[5] = R[3];
+        R[3] = R[6];
+        R[4] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 829:
+      if (acc == 4) {
+
+        if (immediatep(R[4])) {
+
+          R[7] = IFALSE;
+
+        } else {
+
+          hval h = V(R[4]);
+          R[7] = rawp(h) ? F(payl_len(h)) : IFALSE;
+
+        }
+
+        if (R[7] == F(0)) {
+
+          R[8] = ITRUE;
+          ob = (word *)R[3];
+          R[3] = R[8];
+          acc = 1;
+
+        } else {
+
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[1], 2);
+          fp[5] = R[6];
+          fp[4] = R[5];
+          fp[3] = R[7];
+          fp[2] = R[4];
+          R[4] = (word)fp;
+          fp += 6;
+          ob = (word *)R[4];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 830:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[9];
+        fp[6] = R[3];
+        fp[5] = R[8];
+        fp[4] = R[4];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 8;
+        R[9] = R[5];
+        R[5] = R[6];
+        R[6] = R[7];
+        R[4] = R[8];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 831:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        if (R[3] == R[4]) {
+
+          R[5] = G(R[1], 6);
+          R[3] = ITRUE;
+          ob = (word *)R[5];
+          acc = 1;
+
+        } else {
+
+          if (R[3] == F(0)) {
+
+            R[5] = G(R[2], 5);
+            R[6] = G(R[1], 5);
+            *fp = make_header(3, 2);
+            fp[1] = R[5];
+            fp[2] = R[6];
+            R[5] = (word)fp;
+            fp += 3;
+            R[8] = G(R[2], 2);
+            R[9] = G(R[1], 6);
+            R[10] = G(R[1], 4);
+            *fp = make_header(4, TPROC);
+            fp[1] = G(R[2], 3);
+            fp[3] = R[10];
+            fp[2] = R[9];
+            R[3] = (word)fp;
+            fp += 4;
+            R[4] = G(R[2], 4);
+            ob = (word *)R[8];
+            acc = 3;
+
+          } else {
+
+            if (R[3] == IFALSE) {
+
+              R[5] = G(R[1], 6);
+              R[3] = IFALSE;
+              ob = (word *)R[5];
+              acc = 1;
+
+            } else {
+
+              R[5] = G(R[2], 6);
+              R[6] = G(R[1], 5);
+              R[7] = G(R[1], 6);
+              R[8] = G(R[1], 7);
+              *fp = make_header(5, TPROC);
+              fp[1] = G(R[2], 7);
+              fp[4] = R[8];
+              fp[3] = R[7];
+              fp[2] = R[6];
+              R[9] = (word)fp;
+              fp += 5;
+              R[4] = G(R[1], 2);
+              R[8] = R[5];
+              R[5] = R[3];
+              R[3] = R[9];
+              ob = (word *)R[8];
+              acc = 3;
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 832:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 5);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[8] = (word)fp;
+        fp += 6;
+        if (R[3] == IFALSE) {
+
+          R[3] = IFALSE;
+          ob = (word *)R[8];
+          acc = 1;
+
+        } else {
+
+          R[9] = G(R[2], 4);
+          *fp = make_header(3, 2);
+          fp[1] = R[9];
+          fp[2] = R[6];
+          R[5] = (word)fp;
+          fp += 3;
+          R[11] = G(R[2], 2);
+          R[4] = G(R[2], 3);
+          R[3] = R[8];
+          ob = (word *)R[11];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 833:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[9] = R[4];
+        R[3] = R[5];
+        R[4] = R[6];
+        R[5] = R[7];
+        R[6] = R[8];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 834:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[3];
+        fp[4] = R[8];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 8;
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 835:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 6;
+        R[5] = G(R[1], 2);
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[9];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 836:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 6;
+        R[10] = G(R[1], 2);
+        R[8] = R[4];
+        R[5] = R[3];
+        R[3] = R[9];
+        R[4] = R[10];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 837:
+      if (acc == 4) {
+
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 2);
+        fp[2] = R[4];
+        R[7] = (word)fp;
+        fp += 3;
+        R[8] = F(0);
+        R[4] = R[6];
+        R[6] = R[8];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 838:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[8];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 6;
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[8];
+        fp[3] = R[5];
+        fp[2] = R[6];
+        R[10] = (word)fp;
+        fp += 6;
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 4);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[12] = R[4];
+        R[4] = R[9];
+        R[5] = R[10];
+        ob = (word *)R[12];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 839:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        if (R[6] == F(0)) {
+
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(5, TPROC);
+          fp[1] = G(R[2], 2);
+          fp[4] = R[8];
+          fp[3] = R[3];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[10] = G(R[1], 3);
+          R[5] = R[4];
+          R[4] = R[10];
+          ob = (word *)R[7];
+          acc = 3;
+
+        } else {
+
+          {
+
+            hval r = immval(R[6]) + immval(R[6]);
+            R[8] = F(r >> FBITS);
+            R[7] = F(r);
+
+          }
+
+          R[9] = G(R[2], 3);
+          R[10] = G(R[1], 5);
+          *fp = make_header(6, TPROC);
+          fp[1] = G(R[2], 4);
+          fp[5] = R[10];
+          fp[4] = R[3];
+          fp[3] = R[5];
+          fp[2] = R[7];
+          R[3] = (word)fp;
+          fp += 6;
+          R[12] = G(R[1], 4);
+          R[5] = G(R[1], 3);
+          R[6] = R[4];
+          R[4] = R[12];
+          ob = (word *)R[9];
+          acc = 5;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 840:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[7] = 128 * 0 + 258;
+        R[10] = R[6];
+        R[11] = R[5];
+        R[5] = R[3];
+        R[6] = R[7];
+        R[7] = R[4];
+        R[4] = R[10];
+        R[3] = R[11];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 841:
+      if (acc == 3) {
+
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[3];
+        fp[3] = R[5];
+        fp[2] = R[7];
+        R[3] = (word)fp;
+        fp += 6;
+        R[10] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[12] = R[6];
+        R[6] = R[4];
+        R[4] = R[10];
+        ob = (word *)R[12];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 842:
+      if (acc == 6) {
+
+        R[9] = 128 * 0 + 258;
+        if (R[7] == R[9]) {
+
+          R[8] = R[4];
+          R[4] = R[5];
+          R[5] = R[6];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          {
+
+            hval x = immval(R[7]);
+            uint n = immval(R[9]);
+            R[10] = F(x >> n);
+            R[11] = F(x << (FBITS - n));
+
+          }
+
+          assert(pairp(R[6]), R[6], 105);
+          R[12] = G(R[6], 1);
+          *fp = make_header(7, TPROC);
+          fp[1] = G(R[1], 2);
+          fp[6] = R[8];
+          fp[5] = R[3];
+          fp[4] = R[4];
+          fp[3] = R[10];
+          fp[2] = R[6];
+          R[3] = (word)fp;
+          fp += 7;
+          R[7] = R[10];
+          R[6] = R[12];
+          ob = (word *)R[8];
+          acc = 6;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 843:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        assert(pairp(R[4]), R[4], 169);
+        R[5] = G(R[4], 2);
+        R[6] = G(R[1], 6);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 3);
+        R[4] = R[8];
+        R[8] = R[6];
+        R[6] = R[5];
+        R[5] = R[3];
+        R[3] = R[7];
+        R[7] = R[9];
+        ob = (word *)R[8];
+        acc = 6;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 844:
+      if (acc == 6) {
+
+        R[9] = G(R[1], 2);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[6] = R[8];
+        fp[5] = R[5];
+        fp[4] = R[6];
+        fp[3] = R[7];
+        fp[2] = R[9];
+        R[10] = (word)fp;
+        fp += 7;
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[9];
+        fp[2] = R[6];
+        R[5] = (word)fp;
+        fp += 6;
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 4);
+        fp[2] = R[4];
+        R[6] = (word)fp;
+        fp += 3;
+        R[9] = R[4];
+        R[4] = R[10];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 845:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        {
+
+          hval r = immval(R[6]) + immval(R[6]);
+          R[8] = F(r >> FBITS);
+          R[7] = F(r);
+
+        }
+
+        R[9] = G(R[1], 4);
+        {
+
+          hval r = immval(R[9]) - immval(R[6]);
+          R[11] = F(r >> FBITS & 1);
+          R[10] = F(r);
+
+        }
+
+        if (R[11] == F(0)) {
+
+          R[8] = G(R[1], 5);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 2);
+          fp[3] = R[3];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 4;
+          R[4] = R[5];
+          R[5] = R[6];
+          R[6] = R[7];
+          R[7] = R[10];
+          ob = (word *)R[8];
+          acc = 6;
+
+        } else {
+
+          R[12] = G(R[2], 3);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[3] = R[3];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          R[7] = G(R[1], 3);
+          R[5] = R[9];
+          ob = (word *)R[12];
+          acc = 5;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 846:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 5);
+        {
+
+          hval r = immval(R[6]) - immval(R[7]);
+          R[9] = F(r >> FBITS & 1);
+          R[8] = F(r);
+
+        }
+
+        if (R[9] == F(0)) {
+
+          R[10] = G(R[1], 6);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 2);
+          fp[3] = R[3];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 4;
+          R[6] = G(R[1], 4);
+          R[4] = R[5];
+          R[5] = R[7];
+          R[7] = R[8];
+          R[8] = R[10];
+          ob = (word *)R[8];
+          acc = 6;
+
+        } else {
+
+          R[10] = G(R[2], 3);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[3] = R[3];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          R[12] = G(R[1], 2);
+          R[5] = R[6];
+          R[6] = R[7];
+          R[7] = R[12];
+          ob = (word *)R[10];
+          acc = 5;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 847:
+      if (acc == 6) {
+
+        R[9] = 128 * 0 + 258;
+        if (R[6] == R[9]) {
+
+          ob = (word *)R[3];
+          R[3] = R[7];
+          acc = 1;
+
+        } else {
+
+          {
+
+            hval x = immval(R[6]);
+            uint n = immval(R[9]);
+            R[10] = F(x >> n);
+            R[11] = F(x << (FBITS - n));
+
+          }
+
+          R[12] = R[5] & R[10];
+          if (R[12] == F(0)) {
+
+            assert(pairp(R[4]), R[4], 105);
+            R[13] = G(R[4], 1);
+            *fp = make_header(4, TPROC);
+            fp[1] = G(R[1], 2);
+            fp[3] = R[3];
+            fp[2] = R[4];
+            R[3] = (word)fp;
+            fp += 4;
+            R[6] = R[10];
+            R[4] = R[13];
+            ob = (word *)R[8];
+            acc = 6;
+
+          } else {
+
+            assert(pairp(R[4]), R[4], 105);
+            R[13] = G(R[4], 1);
+            R[4] = G(R[4], 2);
+            *fp = make_header(4, TPROC);
+            fp[1] = G(R[1], 3);
+            fp[3] = R[3];
+            fp[2] = R[13];
+            R[3] = (word)fp;
+            fp += 4;
+            R[6] = R[10];
+            ob = (word *)R[8];
+            acc = 6;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 848:
+      if (acc == 4) {
+
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 2);
+        fp[2] = R[6];
+        R[7] = (word)fp;
+        fp += 3;
+        R[8] = F(0);
+        R[9] = 128 * 0 + 258;
+        R[11] = R[8];
+        R[8] = R[7];
+        R[7] = R[5];
+        R[6] = R[9];
+        R[5] = R[11];
+        ob = (word *)R[8];
+        acc = 6;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 849:
+      if (acc == 4) {
+
+        R[7] = IFALSE;
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[1], 2);
+        fp[3] = R[4];
+        fp[2] = R[6];
+        R[8] = (word)fp;
+        fp += 4;
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[2] = R[4];
+        R[6] = (word)fp;
+        fp += 3;
+        R[10] = R[5];
+        R[4] = R[7];
+        R[5] = R[8];
+        ob = (word *)R[10];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 850:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[2], 3);
+        R[8] = R[4];
+        R[4] = R[5];
+        R[5] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 851:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[4] = R[7];
+        fp[3] = R[4];
+        fp[2] = R[6];
+        R[8] = (word)fp;
+        fp += 5;
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[7];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 5;
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[3] = R[7];
+        fp[2] = R[4];
+        R[6] = (word)fp;
+        fp += 4;
+        R[11] = R[5];
+        R[4] = R[8];
+        R[5] = R[9];
+        ob = (word *)R[11];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 852:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 4;
+        R[7] = G(R[1], 2);
+        R[5] = G(R[2], 4);
+        R[9] = R[4];
+        R[3] = R[6];
+        R[4] = R[7];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 853:
+      if (acc == 3) {
+
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 4);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[3];
+        fp[2] = R[7];
+        R[3] = (word)fp;
+        fp += 4;
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 854:
+      if (acc == 3) {
+
+        R[6] = IFALSE;
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[9] = G(R[1], 4);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[5];
+        fp[3] = R[7];
+        fp[2] = R[4];
+        R[10] = (word)fp;
+        fp += 7;
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[9];
+        fp[3] = R[7];
+        fp[2] = R[4];
+        R[11] = (word)fp;
+        fp += 5;
+        R[9] = R[5];
+        R[4] = R[6];
+        R[5] = R[10];
+        R[6] = R[11];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 855:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[6] = cons(R[4], R[5]);
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 4);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[3];
+        fp[2] = R[8];
+        R[3] = (word)fp;
+        fp += 4;
+        R[5] = G(R[2], 4);
+        R[4] = R[6];
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 856:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 2);
+        R[4] = cons(R[6], R[7]);
+        R[6] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[3];
+        fp[2] = R[10];
+        R[3] = (word)fp;
+        fp += 4;
+        R[5] = G(R[1], 4);
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 857:
+      if (acc == 4) {
+
+        ob = (word *)R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 858:
+      if (acc == 4) {
+
+        R[4] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[9] = R[5];
+        R[5] = R[8];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 859:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[9] = R[4];
+        R[4] = R[7];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 860:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[6] = F(0);
+        R[8] = R[5];
+        R[5] = R[4];
+        R[4] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 861:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 3;
+        ob = (word *)R[4];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 862:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[2], 3);
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[5];
+        R[5] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 863:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 5;
+        R[8] = R[4];
+        R[4] = R[5];
+        ob = (word *)R[8];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 864:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[8] = G(R[2], 4);
+        R[9] = R[4];
+        R[5] = R[3];
+        R[3] = R[7];
+        R[4] = R[8];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 865:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[10] = (word)fp;
+        fp += 8;
+        R[7] = R[4];
+        R[4] = R[3];
+        R[3] = R[10];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 866:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[2] = R[3];
+        R[8] = (word)fp;
+        fp += 3;
+        R[9] = 128 * 82 + 258;
+        R[10] = R[7];
+        R[7] = R[6];
+        R[6] = R[5];
+        R[5] = R[4];
+        R[3] = R[8];
+        R[4] = R[9];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 867:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = BOOL(R[3] == R[4]);
+        R[6] = G(R[1], 3);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 4);
+        fp[2] = R[6];
+        R[7] = (word)fp;
+        fp += 3;
+        if (R[5] == IFALSE) {
+
+          R[8] = G(R[2], 2);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[7];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 4;
+          ob = (word *)R[8];
+          acc = 1;
+
+        } else {
+
+          R[3] = R[5];
+          ob = (word *)R[7];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 868:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 2);
+          R[3] = IFALSE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          R[3] = F(0);
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 869:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          *fp = make_header(3, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 3;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 870:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 4;
+        ob = (word *)R[4];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 871:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[3] = BOOL(R[3] == R[4]);
+        R[6] = G(R[1], 3);
+        ob = (word *)R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 872:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[6] = (word)fp;
+        fp += 4;
+        R[7] = R[4];
+        R[4] = R[3];
+        R[3] = R[6];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 873:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 5;
+        R[8] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[10] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 874:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = 128 * 16 + 258;
+        R[6] = F(0);
+        R[8] = R[4];
+        R[4] = R[5];
+        R[5] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 875:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[6] = 128 * 80 + 258;
+        R[7] = 128 * 0 + 258;
+        R[9] = R[5];
+        R[5] = R[4];
+        R[4] = R[6];
+        R[6] = R[7];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 876:
+      if (acc == 2) {
+
+        R[5] = IFALSE;
+        R[6] = prim_sys(R[4], R[5], R[5], R[5]);
+        ob = (word *)R[3];
+        R[3] = R[6];
+        acc = 1;
+
+      } else {
+
+        if (acc == 3) {
+
+          R[6] = G(R[1], 2);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[1], 3);
+          fp[3] = R[3];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 4;
+          R[4] = R[5];
+          ob = (word *)R[6];
+          acc = 2;
+
+        } else {
+
+          if (acc == 4) {
+
+            R[7] = G(R[1], 2);
+            *fp = make_header(5, TCLOS);
+            fp[1] = G(R[1], 4);
+            fp[4] = R[3];
+            fp[3] = R[4];
+            fp[2] = R[6];
+            R[3] = (word)fp;
+            fp += 5;
+            R[4] = R[5];
+            ob = (word *)R[7];
+            acc = 2;
+
+          } else {
+
+            if (acc == 5) {
+
+              R[8] = G(R[1], 2);
+              *fp = make_header(6, TCLOS);
+              fp[1] = G(R[1], 5);
+              fp[5] = R[3];
+              fp[4] = R[4];
+              fp[3] = R[7];
+              fp[2] = R[6];
+              R[3] = (word)fp;
+              fp += 6;
+              R[4] = R[5];
+              ob = (word *)R[8];
+              acc = 2;
+
+            } else {
+
+              error(61, ob, F(acc));
+
+            }
+
+          }
+
+        }
+
+      }
+
+      break;
+    case 877:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = G(R[1], 2);
+        R[7] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 878:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[3] = prim_sys(R[4], R[5], R[6], R[3]);
+        R[8] = G(R[1], 5);
+        ob = (word *)R[8];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 879:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[6] = IFALSE;
+        R[3] = prim_sys(R[4], R[5], R[3], R[6]);
+        R[8] = G(R[1], 4);
+        ob = (word *)R[8];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 880:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = IFALSE;
+        R[3] = prim_sys(R[4], R[3], R[5], R[5]);
+        R[7] = G(R[1], 3);
+        ob = (word *)R[7];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 881:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 3);
+          R[3] = G(R[1], 2);
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 2);
+          R[7] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 882:
+      if (acc == 1) {
+
+        R[4] = 128 * 14 + 258;
+        R[5] = G(R[1], 2);
+        R[6] = IFALSE;
+        R[7] = prim_sys(R[4], R[5], R[6], R[6]);
+        ob = (word *)R[3];
+        R[3] = R[7];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 883:
+      if (acc == 4) {
+
+        if (R[4] == R[5]) {
+
+          R[7] = ITRUE;
+          ob = (word *)R[3];
+          R[3] = R[7];
+          acc = 1;
+
+        } else {
+
+          R[7] = G(R[1], 2);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[5] = R[3];
+          fp[4] = R[4];
+          fp[3] = R[5];
+          fp[2] = R[6];
+          R[3] = (word)fp;
+          fp += 6;
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 884:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 2);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 885:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 4);
+          R[3] = IFALSE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 2);
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 886:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 5);
+          *fp = make_header(3, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[2] = R[6];
+          R[7] = (word)fp;
+          fp += 3;
+          R[8] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[10] = R[4];
+          R[3] = R[5];
+          R[4] = R[7];
+          R[5] = R[8];
+          ob = (word *)R[10];
+          acc = 4;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[7] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 887:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 4);
+          R[3] = IFALSE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          assert(pairp(R[4]), R[4], 105);
+          R[5] = G(R[4], 1);
+          R[6] = G(R[1], 3);
+          assert(pairp(R[6]), R[6], 105);
+          R[7] = G(R[6], 1);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 4);
+          *fp = make_header(6, TPROC);
+          fp[1] = G(R[2], 2);
+          fp[5] = R[8];
+          fp[4] = R[9];
+          fp[3] = R[6];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 6;
+          R[4] = R[5];
+          R[5] = R[7];
+          R[6] = R[8];
+          ob = (word *)R[6];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 888:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        ob = (word *)R[3];
+        R[3] = R[5];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 889:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[8] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[10] = R[4];
+        R[6] = R[3];
+        R[3] = R[7];
+        R[4] = R[8];
+        ob = (word *)R[10];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 890:
+      if (acc == 4) {
+
+        if (R[4] == INULL) {
+
+          R[7] = 128 * 80 + 258;
+          R[8] = cons(R[7], R[5]);
+          R[9] = 128 * 78 + 258;
+          R[10] = cons(R[9], R[8]);
+          ob = (word *)R[3];
+          R[3] = R[10];
+          acc = 1;
+
+        } else {
+
+          R[7] = G(R[1], 2);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[5] = R[6];
+          fp[4] = R[3];
+          fp[3] = R[4];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 891:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[7] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 2);
+          R[8] = 128 * 18 + 258;
+          R[9] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          R[6] = R[8];
+          ob = (word *)R[9];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 892:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[7] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 2);
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 893:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 5);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 2);
+          R[8] = G(R[1], 4);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[7] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[1], 5);
+          *fp = make_header(3, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[2] = R[4];
+          R[5] = (word)fp;
+          fp += 3;
+          R[6] = 128 * 80 + 258;
+          R[7] = G(R[1], 2);
+          R[8] = cons(R[6], R[7]);
+          R[9] = G(R[1], 4);
+          *fp = make_header(3, TPROC);
+          fp[1] = G(R[2], 4);
+          fp[2] = R[9];
+          R[3] = (word)fp;
+          fp += 3;
+          R[4] = G(R[1], 3);
+          R[6] = R[5];
+          R[5] = R[8];
+          ob = (word *)R[6];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 894:
+      if (acc == 4) {
+
+        if (R[4] == INULL) {
+
+          ob = (word *)R[3];
+          R[3] = R[5];
+          acc = 1;
+
+        } else {
+
+          R[7] = G(R[2], 2);
+          R[8] = G(R[1], 2);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[6] = R[3];
+          fp[5] = R[8];
+          fp[4] = R[6];
+          fp[3] = R[5];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 7;
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 895:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 5);
+          R[5] = G(R[1], 6);
+          *fp = make_header(3, TPROC);
+          fp[1] = G(R[2], 2);
+          fp[2] = R[5];
+          R[6] = (word)fp;
+          fp += 3;
+          R[7] = G(R[1], 2);
+          R[5] = G(R[1], 3);
+          R[3] = R[6];
+          R[6] = R[4];
+          R[4] = R[7];
+          ob = (word *)R[6];
+          acc = 4;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          assert(pairp(R[4]), R[4], 105);
+          R[5] = G(R[4], 1);
+          R[6] = G(R[4], 2);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 6);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[9];
+          fp[3] = R[8];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[5] = G(R[1], 3);
+          R[4] = R[6];
+          R[6] = R[7];
+          ob = (word *)R[6];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 896:
+      if (acc == 1) {
+
+        R[4] = 128 * 62 + 258;
+        R[5] = cons(R[4], R[3]);
+        R[6] = 128 * 90 + 258;
+        R[7] = cons(R[6], R[5]);
+        R[3] = cons(R[4], R[7]);
+        R[9] = G(R[1], 2);
+        ob = (word *)R[9];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 897:
+      if (acc == 1) {
+
+        assert(pairp(R[3]), R[3], 169);
+        R[4] = G(R[3], 2);
+        R[5] = 128 * 78 + 258;
+        R[3] = cons(R[5], R[4]);
+        R[7] = G(R[1], 2);
+        ob = (word *)R[7];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 898:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 2);
+          R[8] = G(R[1], 5);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[1], 4);
+          R[5] = G(R[1], 5);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 6);
+          fp[3] = R[5];
+          fp[2] = R[4];
+          R[6] = (word)fp;
+          fp += 4;
+          R[7] = G(R[1], 3);
+          if (R[7] == IFALSE) {
+
+            R[3] = G(R[2], 4);
+            ob = (word *)R[6];
+            acc = 1;
+
+          } else {
+
+            R[3] = G(R[2], 5);
+            ob = (word *)R[6];
+            acc = 1;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 899:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 5);
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 3);
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 900:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 2);
+          R[8] = G(R[1], 4);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[8] = R[4];
+          R[4] = R[7];
+          ob = (word *)R[8];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 901:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 5);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 6);
+        fp[2] = R[4];
+        R[5] = (word)fp;
+        fp += 3;
+        if (R[3] == IFALSE) {
+
+          R[6] = G(R[2], 2);
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 4);
+          *fp = make_header(5, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[8];
+          fp[3] = R[5];
+          fp[2] = R[7];
+          R[3] = (word)fp;
+          fp += 5;
+          R[4] = G(R[1], 2);
+          ob = (word *)R[6];
+          acc = 2;
+
+        } else {
+
+          R[6] = G(R[2], 4);
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 4);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[4] = R[5];
+          fp[3] = R[8];
+          fp[2] = R[7];
+          R[3] = (word)fp;
+          fp += 5;
+          R[4] = G(R[1], 2);
+          ob = (word *)R[6];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 902:
+      if (acc == 1) {
+
+        R[4] = 128 * 68 + 258;
+        R[3] = cons(R[4], R[3]);
+        R[6] = G(R[1], 2);
+        ob = (word *)R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 903:
+      if (acc == 1) {
+
+        R[4] = 128 * 110 + 258;
+        R[5] = cons(R[4], R[3]);
+        R[6] = 128 * 232 + 258;
+        R[3] = cons(R[6], R[5]);
+        R[8] = G(R[1], 2);
+        ob = (word *)R[8];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 904:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[8] = R[4];
+          R[4] = R[7];
+          ob = (word *)R[8];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[1], 5);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[2], 4);
+          R[7] = G(R[1], 2);
+          R[9] = R[6];
+          R[6] = R[4];
+          R[3] = R[5];
+          R[5] = R[7];
+          R[4] = R[9];
+          ob = (word *)R[6];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 905:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[8] = R[4];
+          R[4] = R[7];
+          ob = (word *)R[8];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[1], 4);
+          R[5] = 128 * 0 + 258;
+          R[6] = prim_ref(R[4], R[5]);
+          R[7] = 128 * 184 + 258;
+          R[8] = G(R[1], 2);
+          R[9] = cons(R[7], R[8]);
+          R[10] = G(R[2], 4);
+          R[11] = G(R[1], 3);
+          R[12] = G(R[1], 5);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[6] = R[12];
+          fp[5] = R[4];
+          fp[4] = R[11];
+          fp[3] = R[6];
+          fp[2] = R[9];
+          R[3] = (word)fp;
+          fp += 7;
+          ob = (word *)R[10];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 906:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 3);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[1], 4);
+          R[5] = 128 * 0 + 258;
+          R[6] = prim_ref(R[4], R[5]);
+          R[7] = 128 * 248 + 258;
+          R[8] = G(R[1], 2);
+          R[9] = cons(R[7], R[8]);
+          R[10] = G(R[2], 4);
+          R[11] = G(R[1], 3);
+          R[12] = G(R[1], 5);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[6] = R[12];
+          fp[5] = R[4];
+          fp[4] = R[11];
+          fp[3] = R[6];
+          fp[2] = R[9];
+          R[3] = (word)fp;
+          fp += 7;
+          ob = (word *)R[10];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 907:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[10] = (word)fp;
+        fp += 7;
+        R[5] = 128 * 1 + 258;
+        R[6] = 128 * 0 + 258;
+        R[9] = R[4];
+        R[4] = R[3];
+        R[3] = R[10];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 908:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 6);
+        R[7] = G(R[1], 4);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[8] = (word)fp;
+        fp += 5;
+        R[9] = G(R[1], 5);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 4);
+        fp[3] = R[6];
+        fp[2] = R[9];
+        R[10] = (word)fp;
+        fp += 4;
+        R[5] = G(R[1], 2);
+        R[9] = R[4];
+        R[6] = R[3];
+        R[3] = R[8];
+        R[4] = R[10];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 909:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        R[7] = prim_ref(R[6], R[5]);
+        R[6] = G(R[1], 3);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 3;
+        R[5] = R[4];
+        R[4] = R[7];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 910:
+      if (acc == 1) {
+
+        R[4] = 128 * 62 + 258;
+        R[3] = cons(R[4], R[3]);
+        R[6] = G(R[1], 2);
+        ob = (word *)R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 911:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 4);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = G(R[1], 2);
+        R[5] = R[3];
+        R[3] = R[6];
+        R[6] = R[4];
+        R[4] = R[7];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 912:
+      if (acc == 1) {
+
+        R[4] = 128 * 244 + 258;
+        R[5] = cons(R[4], R[3]);
+        R[6] = 128 * 68 + 258;
+        R[3] = cons(R[6], R[5]);
+        R[8] = G(R[1], 2);
+        ob = (word *)R[8];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 913:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 4);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = G(R[1], 2);
+        R[9] = R[6];
+        R[6] = R[4];
+        R[4] = R[3];
+        R[5] = R[7];
+        R[3] = R[9];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 914:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[7] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[9] = G(R[1], 2);
+          R[7] = R[4];
+          R[4] = R[9];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 915:
+      if (acc == 1) {
+
+        R[4] = 128 * 180 + 258;
+        R[5] = cons(R[4], R[3]);
+        R[6] = 128 * 68 + 258;
+        R[3] = cons(R[6], R[5]);
+        R[8] = G(R[1], 2);
+        ob = (word *)R[8];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 916:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 5);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          R[8] = G(R[1], 2);
+          R[9] = R[4];
+          R[4] = R[8];
+          ob = (word *)R[9];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[9] = G(R[1], 2);
+          R[7] = R[4];
+          R[4] = R[9];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 917:
+      if (acc == 1) {
+
+        R[4] = 128 * 184 + 258;
+        R[5] = G(R[1], 2);
+        R[6] = cons(R[4], R[5]);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[2] = R[8];
+        R[9] = (word)fp;
+        fp += 3;
+        R[4] = R[3];
+        R[5] = R[6];
+        R[6] = R[7];
+        R[3] = R[9];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 918:
+      if (acc == 1) {
+
+        R[4] = 128 * 62 + 258;
+        R[5] = cons(R[4], R[3]);
+        R[6] = 128 * 198 + 258;
+        R[7] = cons(R[6], R[5]);
+        R[8] = 128 * 202 + 258;
+        R[9] = cons(R[8], R[7]);
+        R[10] = 128 * 180 + 258;
+        R[11] = cons(R[10], R[9]);
+        R[12] = 128 * 68 + 258;
+        R[3] = cons(R[12], R[11]);
+        R[14] = G(R[1], 2);
+        ob = (word *)R[14];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 919:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          R[8] = G(R[2], 4);
+          R[9] = R[4];
+          R[4] = R[8];
+          ob = (word *)R[9];
+          acc = 2;
+
+        } else {
+
+          R[4] = 128 * 80 + 258;
+          R[5] = G(R[1], 2);
+          R[6] = cons(R[4], R[5]);
+          R[7] = 128 * 230 + 258;
+          R[8] = cons(R[7], R[6]);
+          R[9] = 128 * 196 + 258;
+          R[10] = cons(R[9], R[8]);
+          R[11] = 128 * 200 + 258;
+          R[12] = cons(R[11], R[10]);
+          R[13] = 128 * 210 + 258;
+          R[14] = cons(R[13], R[12]);
+          R[15] = 128 * 194 + 258;
+          R[16] = cons(R[15], R[14]);
+          R[17] = 128 * 220 + 258;
+          R[18] = cons(R[17], R[16]);
+          R[19] = 128 * 88 + 258;
+          R[20] = cons(R[19], R[18]);
+          R[21] = 128 * 202 + 258;
+          R[22] = cons(R[21], R[20]);
+          R[23] = cons(R[17], R[22]);
+          R[24] = cons(R[11], R[23]);
+          R[25] = 128 * 78 + 258;
+          R[3] = cons(R[25], R[24]);
+          R[27] = G(R[1], 3);
+          ob = (word *)R[27];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 920:
+      if (acc == 2) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[5] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[6] = 128 * 36 + 258;
+        if (R[5] == R[6]) {
+
+          R[7] = G(R[1], 2);
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 4);
+          R[5] = INULL;
+          R[6] = R[4];
+          R[4] = R[8];
+          ob = (word *)R[7];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 921:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[7] = (word)fp;
+        fp += 5;
+        R[5] = G(R[2], 4);
+        R[9] = R[4];
+        R[4] = R[3];
+        R[3] = R[7];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 922:
+      if (acc == 1) {
+
+        if (R[3] == F(0)) {
+
+          R[4] = G(R[1], 2);
+          if (R[4] == F(0)) {
+
+            R[5] = G(R[1], 4);
+            R[3] = INULL;
+            ob = (word *)R[5];
+            acc = 1;
+
+          } else {
+
+            R[5] = G(R[2], 2);
+            R[6] = G(R[1], 3);
+            R[7] = G(R[1], 4);
+            *fp = make_header(4, TCLOS);
+            fp[1] = G(R[2], 3);
+            fp[3] = R[7];
+            fp[2] = R[6];
+            R[3] = (word)fp;
+            fp += 4;
+            R[9] = 128 * 0 + 258;
+            R[10] = R[5];
+            R[5] = R[9];
+            ob = (word *)R[10];
+            acc = 3;
+
+          }
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          R[8] = G(R[1], 2);
+          R[5] = 128 * 0 + 258;
+          R[10] = R[4];
+          R[4] = R[8];
+          ob = (word *)R[10];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 923:
+      if (acc == 4) {
+
+        {
+
+          word ob = R[5];
+          if (allocp(ob)) ob = V(ob);
+          R[7] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[8] = 128 * 62 + 258;
+        if (R[8] == R[7]) {
+
+          R[9] = INULL;
+          ob = (word *)R[3];
+          R[3] = R[9];
+          acc = 1;
+
+        } else {
+
+          R[9] = G(R[1], 2);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[5] = R[6];
+          fp[4] = R[4];
+          fp[3] = R[5];
+          fp[2] = R[3];
+          R[3] = (word)fp;
+          fp += 6;
+          ob = (word *)R[9];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 924:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 5;
+        R[8] = G(R[1], 2);
+        R[5] = G(R[2], 4);
+        R[10] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 925:
+      if (acc == 4) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[7] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[8] = 128 * 28 + 258;
+        R[9] = BOOL(R[7] == R[8]);
+        if (R[9] == IFALSE) {
+
+          R[10] = 128 * 36 + 258;
+          R[11] = BOOL(R[7] == R[10]);
+          if (R[11] == IFALSE) {
+
+            R[12] = 128 * 20 + 258;
+            R[13] = BOOL(R[7] == R[12]);
+            if (R[13] == IFALSE) {
+
+              ob = (word *)R[3];
+              R[3] = R[5];
+              acc = 1;
+
+            } else {
+
+              R[14] = G(R[1], 2);
+              *fp = make_header(5, TCLOS);
+              fp[1] = G(R[1], 3);
+              fp[4] = R[3];
+              fp[3] = R[4];
+              fp[2] = R[5];
+              R[3] = (word)fp;
+              fp += 5;
+              ob = (word *)R[14];
+              acc = 2;
+
+            }
+
+          } else {
+
+            if (immediatep(R[4])) {
+
+              R[12] = IFALSE;
+
+            } else {
+
+              hval h = V(R[4]);
+              R[12] = rawp(h) ? F(payl_len(h)) : IFALSE;
+
+            }
+
+            R[13] = G(R[1], 4);
+            R[6] = R[5];
+            R[5] = R[12];
+            ob = (word *)R[13];
+            acc = 4;
+
+          }
+
+        } else {
+
+          R[10] = 128 * 0 + 258;
+          R[4] = prim_ref(R[4], R[10]);
+          ob = (word *)R[6];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 926:
+      if (acc == 5) {
+
+        R[8] = 128 * 0 + 258;
+        if (R[5] == R[8]) {
+
+          R[9] = prim_ref(R[4], R[5]);
+          R[10] = cons(R[9], R[6]);
+          ob = (word *)R[3];
+          R[3] = R[10];
+          acc = 1;
+
+        } else {
+
+          R[9] = prim_ref(R[4], R[5]);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[1], 2);
+          fp[5] = R[7];
+          fp[4] = R[4];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[10] = (word)fp;
+          fp += 6;
+          R[11] = cons(R[9], R[10]);
+          ob = (word *)R[3];
+          R[3] = R[11];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 927:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = G(R[1], 2);
+        R[5] = 128 * 0 + 258;
+        R[11] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[11];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 928:
+      if (acc == 5) {
+
+        if (R[5] == F(0)) {
+
+          ob = (word *)R[3];
+          R[3] = R[6];
+          acc = 1;
+
+        } else {
+
+          R[8] = G(R[1], 2);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[5] = R[7];
+          fp[4] = R[4];
+          fp[3] = R[6];
+          fp[2] = R[3];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = 128 * 0 + 258;
+          R[4] = R[5];
+          R[5] = R[10];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 929:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = prim_ref(R[4], R[3]);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 5);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[5] = R[7];
+        fp[4] = R[4];
+        fp[3] = R[3];
+        fp[2] = R[6];
+        R[8] = (word)fp;
+        fp += 6;
+        R[3] = cons(R[5], R[8]);
+        R[10] = G(R[1], 2);
+        ob = (word *)R[10];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 930:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[3];
+        fp[4] = R[4];
+        fp[3] = R[5];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 6;
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 931:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = G(R[1], 2);
+        R[5] = G(R[2], 4);
+        R[11] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[11];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 932:
+      if (acc == 2) {
+
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 4);
+        fp[2] = R[4];
+        R[5] = (word)fp;
+        fp += 3;
+        R[6] = G(R[1], 2);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[1], 3);
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 4;
+        ob = (word *)R[6];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 933:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[6];
+        fp[4] = R[4];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 6;
+        R[4] = G(R[1], 2);
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 934:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[8];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[9] = (word)fp;
+        fp += 5;
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[5];
+        R[5] = R[9];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 935:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 5;
+        R[8] = G(R[1], 2);
+        R[5] = G(R[2], 4);
+        R[10] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 936:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[8] = (word)fp;
+        fp += 6;
+        R[9] = R[4];
+        R[4] = R[3];
+        R[3] = R[8];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 937:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 5);
+          R[3] = INULL;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[1], 4);
+          R[5] = G(R[1], 5);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 2);
+          R[9] = R[6];
+          R[6] = R[4];
+          R[3] = R[5];
+          R[5] = R[7];
+          R[4] = R[9];
+          ob = (word *)R[6];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 938:
+      if (acc == 4) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[7] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[8] = 128 * 28 + 258;
+        R[9] = BOOL(R[7] == R[8]);
+        if (R[9] == IFALSE) {
+
+          R[10] = 128 * 36 + 258;
+          R[11] = BOOL(R[7] == R[10]);
+          if (R[11] == IFALSE) {
+
+            ob = (word *)R[3];
+            R[3] = R[5];
+            acc = 1;
+
+          } else {
+
+            if (immediatep(R[4])) {
+
+              R[12] = IFALSE;
+
+            } else {
+
+              hval h = V(R[4]);
+              R[12] = rawp(h) ? F(payl_len(h)) : IFALSE;
+
+            }
+
+            if (R[12] == F(0)) {
+
+              ob = (word *)R[3];
+              R[3] = R[5];
+              acc = 1;
+
+            } else {
+
+              R[13] = G(R[1], 2);
+              *fp = make_header(5, TCLOS);
+              fp[1] = G(R[1], 3);
+              fp[4] = R[3];
+              fp[3] = R[4];
+              fp[2] = R[5];
+              R[3] = (word)fp;
+              fp += 5;
+              R[5] = 128 * 0 + 258;
+              R[4] = R[12];
+              ob = (word *)R[13];
+              acc = 3;
+
+            }
+
+          }
+
+        } else {
+
+          R[10] = 128 * 0 + 258;
+          R[4] = prim_ref(R[4], R[10]);
+          ob = (word *)R[6];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 939:
+      if (acc == 5) {
+
+        if (R[5] == F(0)) {
+
+          R[8] = prim_ref(R[4], R[5]);
+          R[9] = cons(R[8], R[6]);
+          ob = (word *)R[3];
+          R[3] = R[9];
+          acc = 1;
+
+        } else {
+
+          R[8] = 128 * 0 + 258;
+          {
+
+            hval r = immval(R[5]) - immval(R[8]);
+            R[10] = F(r >> FBITS & 1);
+            R[9] = F(r);
+
+          }
+
+          R[11] = prim_ref(R[4], R[5]);
+          R[6] = cons(R[11], R[6]);
+          R[5] = R[9];
+          ob = (word *)R[7];
+          acc = 5;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 940:
+      if (acc == 2) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[5] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[6] = 128 * 36 + 258;
+        R[7] = BOOL(R[5] == R[6]);
+        if (R[7] == IFALSE) {
+
+          R[8] = 128 * 20 + 258;
+          R[9] = BOOL(R[5] == R[8]);
+          if (R[9] == IFALSE) {
+
+            R[10] = 128 * 28 + 258;
+            R[11] = BOOL(R[5] == R[10]);
+            if (R[11] == IFALSE) {
+
+              R[12] = IFALSE;
+              ob = (word *)R[3];
+              R[3] = R[12];
+              acc = 1;
+
+            } else {
+
+              R[12] = ITRUE;
+              ob = (word *)R[3];
+              R[3] = R[12];
+              acc = 1;
+
+            }
+
+          } else {
+
+            R[10] = ITRUE;
+            ob = (word *)R[3];
+            R[3] = R[10];
+            acc = 1;
+
+          }
+
+        } else {
+
+          R[8] = ITRUE;
+          ob = (word *)R[3];
+          R[3] = R[8];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 941:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[2] = R[3];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = G(R[1], 4);
+        R[8] = R[5];
+        R[3] = R[6];
+        R[5] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 942:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[8] = G(R[1], 2);
+        R[5] = R[3];
+        R[6] = R[4];
+        R[3] = R[7];
+        R[4] = R[8];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 943:
+      if (acc == 2) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[5] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[6] = 128 * 36 + 258;
+        R[7] = BOOL(R[5] == R[6]);
+        if (R[7] == IFALSE) {
+
+          R[8] = 128 * 28 + 258;
+          R[9] = BOOL(R[5] == R[8]);
+          if (R[9] == IFALSE) {
+
+            R[10] = 128 * 20 + 258;
+            R[11] = BOOL(R[5] == R[10]);
+            if (R[11] == IFALSE) {
+
+              {
+
+                word ob = R[4];
+                if (allocp(ob)) ob = V(ob);
+                R[12] = F((hval)ob >> TPOS & 63);
+
+              }
+
+              R[13] = INULL;
+              R[14] = cons(R[12], R[13]);
+              R[15] = G(R[1], 5);
+              R[16] = cons(R[15], R[14]);
+              R[17] = G(R[1], 4);
+              R[18] = cons(R[17], R[16]);
+              R[5] = cons(R[4], R[18]);
+              R[20] = G(R[1], 2);
+              R[4] = G(R[1], 3);
+              ob = (word *)R[20];
+              acc = 3;
+
+            } else {
+
+              R[12] = G(R[1], 6);
+              ob = (word *)R[12];
+              acc = 2;
+
+            }
+
+          } else {
+
+            R[10] = 128 * 2 + 258;
+            R[11] = prim_ref(R[4], R[10]);
+            ob = (word *)R[3];
+            R[3] = R[11];
+            acc = 1;
+
+          }
+
+        } else {
+
+          if (immediatep(R[4])) {
+
+            R[8] = IFALSE;
+
+          } else {
+
+            hval h = V(R[4]);
+            R[8] = rawp(h) ? F(payl_len(h)) : IFALSE;
+
+          }
+
+          ob = (word *)R[3];
+          R[3] = R[8];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 944:
+      if (acc == 3) {
+
+        {
+
+          word ob = R[5];
+          if (allocp(ob)) ob = V(ob);
+          R[6] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[7] = F(0);
+        R[8] = BOOL(R[6] == R[7]);
+        if (R[8] == IFALSE) {
+
+          R[9] = 128 * 78 + 258;
+          R[10] = BOOL(R[6] == R[9]);
+          if (R[10] == IFALSE) {
+
+            R[11] = G(R[1], 2);
+            R[4] = G(R[1], 3);
+            ob = (word *)R[11];
+            acc = 3;
+
+          } else {
+
+            R[11] = G(R[1], 4);
+            ob = (word *)R[11];
+            acc = 3;
+
+          }
+
+        } else {
+
+          {
+
+            word ob = R[4];
+            if (allocp(ob)) ob = V(ob);
+            R[9] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          R[10] = 128 * 36 + 258;
+          if (R[9] == R[10]) {
+
+            ob = (word *)R[3];
+            R[3] = R[4];
+            acc = 1;
+
+          } else {
+
+            R[11] = G(R[1], 6);
+            R[12] = prim_less(R[5], R[11]);
+            if (R[12] == IFALSE) {
+
+              R[13] = G(R[1], 5);
+              ob = (word *)R[13];
+              acc = 3;
+
+            } else {
+
+              ob = (word *)R[3];
+              R[3] = R[4];
+              acc = 1;
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 945:
+      if (acc == 3) {
+
+        {
+
+          word ob = R[5];
+          if (allocp(ob)) ob = V(ob);
+          R[6] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[7] = F(0);
+        R[8] = BOOL(R[6] == R[7]);
+        if (R[8] == IFALSE) {
+
+          R[9] = 128 * 78 + 258;
+          R[10] = BOOL(R[6] == R[9]);
+          if (R[10] == IFALSE) {
+
+            R[11] = G(R[1], 2);
+            R[4] = G(R[1], 3);
+            ob = (word *)R[11];
+            acc = 3;
+
+          } else {
+
+            R[11] = G(R[1], 4);
+            ob = (word *)R[11];
+            acc = 3;
+
+          }
+
+        } else {
+
+          {
+
+            word ob = R[4];
+            if (allocp(ob)) ob = V(ob);
+            R[9] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          R[10] = 128 * 36 + 258;
+          if (R[9] == R[10]) {
+
+            R[11] = prim_ref(R[4], R[5]);
+            ob = (word *)R[3];
+            R[3] = R[11];
+            acc = 1;
+
+          } else {
+
+            R[11] = G(R[1], 8);
+            R[12] = prim_less(R[5], R[11]);
+            if (R[12] == IFALSE) {
+
+              R[13] = G(R[1], 5);
+              *fp = make_header(4, TCLOS);
+              fp[1] = G(R[1], 6);
+              fp[3] = R[3];
+              fp[2] = R[5];
+              R[3] = (word)fp;
+              fp += 4;
+              ob = (word *)R[13];
+              acc = 3;
+
+            } else {
+
+              R[13] = G(R[1], 7);
+              ob = (word *)R[13];
+              acc = 3;
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 946:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = G(R[2], 3);
+        R[6] = R[4] & R[5];
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 3);
+        R[4] = R[3];
+        R[5] = R[6];
+        R[3] = R[8];
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 947:
+      if (acc == 3) {
+
+        R[6] = 128 * 2 + 258;
+        R[7] = prim_ref(R[5], R[6]);
+        R[8] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 4;
+        R[5] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 948:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = 128 * 0 + 258;
+        R[6] = prim_ref(R[4], R[5]);
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 3);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[8];
+        fp[2] = R[4];
+        R[9] = (word)fp;
+        fp += 4;
+        R[4] = R[3];
+        R[5] = R[6];
+        R[3] = R[9];
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 949:
+      if (acc == 4) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[7] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[8] = 128 * 36 + 258;
+        R[9] = BOOL(R[7] == R[8]);
+        if (R[9] == IFALSE) {
+
+          R[10] = 128 * 28 + 258;
+          R[11] = BOOL(R[7] == R[10]);
+          if (R[11] == IFALSE) {
+
+            R[12] = 128 * 20 + 258;
+            R[13] = BOOL(R[7] == R[12]);
+            if (R[13] == IFALSE) {
+
+              {
+
+                word ob = R[4];
+                if (allocp(ob)) ob = V(ob);
+                R[5] = F((hval)ob >> TPOS & 63);
+
+              }
+
+              R[15] = G(R[1], 2);
+              R[4] = G(R[1], 3);
+              ob = (word *)R[15];
+              acc = 3;
+
+            } else {
+
+              R[14] = G(R[1], 4);
+              if (R[5] == R[14]) {
+
+                R[15] = G(R[1], 5);
+                R[16] = prim_ref(R[4], R[15]);
+                ob = (word *)R[3];
+                R[3] = R[16];
+                acc = 1;
+
+              } else {
+
+                R[15] = R[5] & R[14];
+                R[16] = 128 * 0 + 258;
+                {
+
+                  hval r = immval(R[15]) + immval(R[16]);
+                  R[18] = F(r >> FBITS);
+                  R[17] = F(r);
+
+                }
+
+                R[19] = prim_ref(R[4], R[17]);
+                ob = (word *)R[3];
+                R[3] = R[19];
+                acc = 1;
+
+              }
+
+            }
+
+          } else {
+
+            R[12] = 128 * 0 + 258;
+            R[4] = prim_ref(R[4], R[12]);
+            ob = (word *)R[6];
+            acc = 4;
+
+          }
+
+        } else {
+
+          R[10] = G(R[1], 4);
+          R[11] = R[5] & R[10];
+          R[12] = prim_ref(R[4], R[11]);
+          ob = (word *)R[3];
+          R[3] = R[12];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 950:
+      if (acc == 4) {
+
+        {
+
+          word *ob = (word *)R[5];
+          hval  hdr;
+          assert(allocp(R[5]), R[5], IFALSE);
+          hdr = *ob;
+          assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+          R[7] = ob[1];
+          R[8] = ob[2];
+
+        }
+
+        if (R[8] == INULL) {
+
+          R[9] = G(R[1], 5);
+          R[10] = prim_less(R[7], R[9]);
+          if (R[10] == IFALSE) {
+
+            R[11] = G(R[1], 2);
+            *fp = make_header(4, TCLOS);
+            fp[1] = G(R[1], 3);
+            fp[3] = R[3];
+            fp[2] = R[7];
+            R[3] = (word)fp;
+            fp += 4;
+            R[5] = R[7];
+            ob = (word *)R[11];
+            acc = 3;
+
+          } else {
+
+            R[11] = G(R[1], 4);
+            R[5] = R[7];
+            ob = (word *)R[11];
+            acc = 3;
+
+          }
+
+        } else {
+
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[1], 6);
+          fp[3] = R[3];
+          fp[2] = R[7];
+          R[3] = (word)fp;
+          fp += 4;
+          R[5] = R[8];
+          ob = (word *)R[6];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 951:
+      if (acc == 3) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[6] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[7] = 128 * 28 + 258;
+        R[8] = BOOL(R[6] == R[7]);
+        if (R[8] == IFALSE) {
+
+          R[9] = 128 * 20 + 258;
+          R[10] = BOOL(R[6] == R[9]);
+          if (R[10] == IFALSE) {
+
+            {
+
+              word ob = R[4];
+              if (allocp(ob)) ob = V(ob);
+              R[5] = F((hval)ob >> TPOS & 63);
+
+            }
+
+            R[12] = G(R[1], 2);
+            R[4] = G(R[1], 3);
+            ob = (word *)R[12];
+            acc = 3;
+
+          } else {
+
+            R[11] = G(R[1], 2);
+            R[12] = G(R[1], 4);
+            R[5] = R[4];
+            R[4] = R[12];
+            ob = (word *)R[11];
+            acc = 3;
+
+          }
+
+        } else {
+
+          R[9] = 128 * 22 + 258;
+          {
+
+            hval x = immval(R[5]);
+            uint n = immval(R[9]);
+            R[10] = F(x >> n);
+            R[11] = F(x << (FBITS - n));
+
+          }
+
+          R[12] = 128 * 2 + 258;
+          {
+
+            hval r = immval(R[10]) + immval(R[12]);
+            R[14] = F(r >> FBITS);
+            R[13] = F(r);
+
+          }
+
+          R[15] = prim_ref(R[4], R[13]);
+          ob = (word *)R[3];
+          R[3] = R[15];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 952:
+      if (acc == 3) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[6] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[7] = 128 * 28 + 258;
+        R[8] = BOOL(R[6] == R[7]);
+        if (R[8] == IFALSE) {
+
+          {
+
+            word ob = R[4];
+            if (allocp(ob)) ob = V(ob);
+            R[5] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          R[10] = G(R[1], 2);
+          R[4] = G(R[1], 3);
+          ob = (word *)R[10];
+          acc = 3;
+
+        } else {
+
+          R[9] = G(R[1], 4);
+          R[10] = R[5] & R[9];
+          R[11] = 128 * 2 + 258;
+          {
+
+            hval r = immval(R[10]) + immval(R[11]);
+            R[13] = F(r >> FBITS);
+            R[12] = F(r);
+
+          }
+
+          R[14] = prim_ref(R[4], R[12]);
+          ob = (word *)R[3];
+          R[3] = R[14];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 953:
+      if (acc == 2) {
+
+        ob = (word *)R[3];
+        R[3] = R[4];
+        acc = 1;
+
+      } else {
+
+        if (acc == 3) {
+
+          if (immediatep(R[4])) {
+
+            R[6] = IFALSE;
+
+          } else {
+
+            hval h = V(R[4]);
+            R[6] = rawp(h) ? F(payl_len(h)) : IFALSE;
+
+          }
+
+          R[7] = G(R[1], 2);
+          *fp = make_header(3, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[2] = R[3];
+          R[8] = (word)fp;
+          fp += 3;
+          R[9] = INULL;
+          R[10] = R[7];
+          R[3] = R[8];
+          R[7] = R[9];
+          ob = (word *)R[10];
+          acc = 5;
+
+        } else {
+
+          if (acc == 4) {
+
+            R[7] = G(R[1], 2);
+            *fp = make_header(3, TCLOS);
+            fp[1] = G(R[1], 4);
+            fp[2] = R[3];
+            R[8] = (word)fp;
+            fp += 3;
+            R[9] = INULL;
+            R[10] = R[7];
+            R[3] = R[8];
+            R[7] = R[9];
+            ob = (word *)R[10];
+            acc = 5;
+
+          } else {
+
+            error(61, ob, F(acc));
+
+          }
+
+        }
+
+      }
+
+      break;
+    case 954:
+      if (acc == 3) {
+
+        if (R[4] == INULL) {
+
+          ob = (word *)R[3];
+          R[3] = R[4];
+          acc = 1;
+
+        } else {
+
+          {
+
+            word *ob = (word *)R[4];
+            hval  hdr;
+            assert(allocp(R[4]), R[4], IFALSE);
+            hdr = *ob;
+            assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+            R[6] = ob[1];
+            R[7] = ob[2];
+
+          }
+
+          if (immediatep(R[6])) {
+
+            R[8] = IFALSE;
+
+          } else {
+
+            hval h = V(R[6]);
+            R[8] = rawp(h) ? F(payl_len(h)) : IFALSE;
+
+          }
+
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[1], 2);
+          fp[4] = R[3];
+          fp[3] = R[6];
+          fp[2] = R[8];
+          R[3] = (word)fp;
+          fp += 5;
+          R[4] = R[7];
+          ob = (word *)R[5];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 955:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 3);
+        R[7] = F(0);
+        R[8] = G(R[1], 2);
+        R[10] = R[4];
+        R[11] = R[5];
+        R[5] = R[7];
+        R[7] = R[3];
+        R[4] = R[6];
+        R[6] = R[8];
+        R[3] = R[11];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 956:
+      if (acc == 6) {
+
+        R[9] = prim_less(R[5], R[6]);
+        if (R[9] == IFALSE) {
+
+          ob = (word *)R[3];
+          R[3] = R[7];
+          acc = 1;
+
+        } else {
+
+          R[10] = 128 * 0 + 258;
+          {
+
+            hval r = immval(R[6]) - immval(R[10]);
+            R[12] = F(r >> FBITS & 1);
+            R[11] = F(r);
+
+          }
+
+          R[13] = prim_ref(R[4], R[11]);
+          R[7] = cons(R[13], R[7]);
+          R[6] = R[11];
+          ob = (word *)R[8];
+          acc = 6;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 957:
+      if (acc == 2) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[5] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[6] = 128 * 36 + 258;
+        R[7] = BOOL(R[5] == R[6]);
+        ob = (word *)R[3];
+        R[3] = R[7];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 958:
+      if (acc == 2) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[5] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[6] = 128 * 22 + 258;
+        R[7] = BOOL(R[5] == R[6]);
+        ob = (word *)R[3];
+        R[3] = R[7];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 959:
+      if (acc == 2) {
+
+        R[5] = ITRUE;
+        R[6] = BOOL(R[4] == R[5]);
+        if (R[6] == IFALSE) {
+
+          R[7] = IFALSE;
+          R[8] = BOOL(R[4] == R[7]);
+          ob = (word *)R[3];
+          R[3] = R[8];
+          acc = 1;
+
+        } else {
+
+          ob = (word *)R[3];
+          R[3] = R[6];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 960:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[3] = R[5];
+        ob = (word *)R[4];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 961:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 7;
+        R[10] = G(R[1], 2);
+        R[7] = R[4];
+        R[4] = R[10];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 962:
+      if (acc == 3) {
+
+        R[6] = 128 * 0 + 258;
+        R[4] = prim_ref(R[4], R[6]);
+        R[8] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 5;
+        R[5] = G(R[1], 4);
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 963:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[7] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = 128 * 246 + 258;
+          R[5] = G(R[1], 2);
+          R[6] = cons(R[4], R[5]);
+          R[3] = cons(R[4], R[6]);
+          R[8] = G(R[1], 4);
+          ob = (word *)R[8];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 964:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 2);
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[4] = 128 * 246 + 258;
+          R[5] = G(R[1], 2);
+          R[6] = cons(R[4], R[5]);
+          R[7] = G(R[2], 2);
+          R[8] = G(R[1], 4);
+          *fp = make_header(3, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[2] = R[8];
+          R[3] = (word)fp;
+          fp += 3;
+          R[4] = G(R[1], 3);
+          R[5] = R[6];
+          ob = (word *)R[7];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 965:
+      if (acc == 1) {
+
+        R[4] = 128 * 246 + 258;
+        R[3] = cons(R[4], R[3]);
+        R[6] = G(R[1], 2);
+        ob = (word *)R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 966:
+      if (acc == 2) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[5] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[6] = 128 * 6 + 258;
+        R[7] = BOOL(R[5] == R[6]);
+        ob = (word *)R[3];
+        R[3] = R[7];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 967:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 2);
+          R[7] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[1], 3);
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 968:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[1], 3);
+        fp[3] = R[3];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 4;
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 969:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 2);
+          {
+
+            word ob = R[4];
+            if (allocp(ob)) ob = V(ob);
+            R[5] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          R[6] = 128 * 32 + 258;
+          R[7] = BOOL(R[5] == R[6]);
+          if (R[7] == IFALSE) {
+
+            {
+
+              word ob = R[4];
+              if (allocp(ob)) ob = V(ob);
+              R[8] = F((hval)ob >> TPOS & 63);
+
+            }
+
+            R[9] = 128 * 34 + 258;
+            R[3] = BOOL(R[8] == R[9]);
+            R[11] = G(R[1], 3);
+            ob = (word *)R[11];
+            acc = 1;
+
+          } else {
+
+            R[8] = G(R[1], 3);
+            R[3] = R[7];
+            ob = (word *)R[8];
+            acc = 1;
+
+          }
+
+        } else {
+
+          R[4] = G(R[1], 3);
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 970:
+      if (acc == 2) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[5] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[6] = 128 * 30 + 258;
+        R[7] = BOOL(R[6] == R[5]);
+        ob = (word *)R[3];
+        R[3] = R[7];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 971:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[2] = R[3];
+        R[7] = (word)fp;
+        fp += 3;
+        R[8] = G(R[1], 4);
+        R[9] = R[6];
+        R[6] = R[5];
+        R[5] = R[4];
+        R[3] = R[7];
+        R[4] = R[8];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 972:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 4;
+        ob = (word *)R[6];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 973:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 5;
+        R[4] = R[5];
+        ob = (word *)R[6];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 974:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 5;
+        R[5] = IFALSE;
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 975:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[3] = R[3];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 4;
+        R[4] = R[5];
+        ob = (word *)R[6];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 976:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 5;
+        R[8] = G(R[1], 2);
+        R[9] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[9];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 977:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 5;
+        R[8] = G(R[1], 2);
+        R[9] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[9];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 978:
+      if (acc == 2) {
+
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[1], 4);
+        fp[3] = R[3];
+        fp[2] = R[4];
+        R[5] = (word)fp;
+        fp += 4;
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[6] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[7] = 128 * 4 + 258;
+        if (R[6] == R[7]) {
+
+          R[3] = G(R[1], 2);
+          ob = (word *)R[5];
+          acc = 1;
+
+        } else {
+
+          R[3] = G(R[1], 3);
+          ob = (word *)R[5];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 979:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = G(R[2], 4);
+        R[8] = G(R[1], 2);
+        R[9] = R[4];
+        R[4] = R[3];
+        R[3] = R[6];
+        R[5] = R[7];
+        R[6] = R[8];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 980:
+      if (acc == 1) {
+
+        R[4] = 128 * 4 + 258;
+        R[3] = prim_lraw(R[3], R[4]);
+        R[6] = G(R[1], 2);
+        ob = (word *)R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 981:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 6;
+        R[7] = R[4];
+        R[4] = R[6];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 982:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 4);
+          R[3] = IFALSE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          R[8] = G(R[1], 2);
+          R[9] = R[4];
+          R[4] = R[8];
+          ob = (word *)R[9];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 983:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[6];
+        fp[4] = R[3];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 6;
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 984:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 2);
+          if (R[4] == INULL) {
+
+            R[5] = G(R[2], 2);
+            R[6] = G(R[1], 3);
+            R[7] = G(R[1], 4);
+            R[8] = G(R[1], 5);
+            *fp = make_header(6, TCLOS);
+            fp[1] = G(R[2], 3);
+            fp[5] = R[8];
+            fp[4] = R[7];
+            fp[3] = R[4];
+            fp[2] = R[6];
+            R[3] = (word)fp;
+            fp += 6;
+            R[4] = R[6];
+            ob = (word *)R[5];
+            acc = 2;
+
+          } else {
+
+            R[5] = G(R[1], 3);
+            R[6] = G(R[1], 4);
+            R[7] = G(R[1], 5);
+            *fp = make_header(5, TPROC);
+            fp[1] = G(R[2], 4);
+            fp[4] = R[7];
+            fp[3] = R[6];
+            fp[2] = R[5];
+            R[3] = (word)fp;
+            fp += 5;
+            ob = (word *)R[4];
+            acc = 1;
+
+          }
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[7] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 985:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 3);
+          if (R[4] == INULL) {
+
+            R[5] = G(R[1], 4);
+            R[3] = IFALSE;
+            ob = (word *)R[5];
+            acc = 1;
+
+          } else {
+
+            R[5] = G(R[1], 2);
+            R[6] = G(R[1], 4);
+            R[7] = G(R[1], 5);
+            *fp = make_header(5, TCLOS);
+            fp[1] = G(R[2], 2);
+            fp[4] = R[7];
+            fp[3] = R[6];
+            fp[2] = R[5];
+            R[3] = (word)fp;
+            fp += 5;
+            ob = (word *)R[4];
+            acc = 1;
+
+          }
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          assert(pairp(R[4]), R[4], 105);
+          R[5] = G(R[4], 1);
+          R[6] = G(R[1], 3);
+          assert(pairp(R[6]), R[6], 105);
+          R[7] = G(R[6], 1);
+          R[8] = G(R[2], 3);
+          R[9] = G(R[1], 4);
+          R[10] = G(R[1], 5);
+          *fp = make_header(6, TPROC);
+          fp[1] = G(R[2], 4);
+          fp[5] = R[10];
+          fp[4] = R[9];
+          fp[3] = R[6];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 6;
+          R[4] = R[5];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 986:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[8] = (word)fp;
+        fp += 6;
+        R[7] = R[4];
+        R[4] = R[3];
+        R[3] = R[8];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 987:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[8] = (word)fp;
+        fp += 6;
+        if (R[3] == IFALSE) {
+
+          R[3] = IFALSE;
+          ob = (word *)R[8];
+          acc = 1;
+
+        } else {
+
+          assert(pairp(R[5]), R[5], 105);
+          R[9] = G(R[5], 1);
+          assert(pairp(R[4]), R[4], 105);
+          R[5] = G(R[4], 1);
+          R[11] = G(R[2], 2);
+          R[3] = R[8];
+          R[4] = R[9];
+          ob = (word *)R[11];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 988:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 4);
+          R[3] = IFALSE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          assert(pairp(R[4]), R[4], 169);
+          R[5] = G(R[4], 2);
+          R[6] = G(R[1], 3);
+          assert(pairp(R[6]), R[6], 169);
+          R[7] = G(R[6], 2);
+          R[6] = G(R[1], 5);
+          R[3] = G(R[1], 4);
+          R[4] = R[5];
+          R[5] = R[7];
+          ob = (word *)R[6];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 989:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 2);
+          if (R[4] == INULL) {
+
+            R[5] = G(R[1], 4);
+            R[3] = ITRUE;
+            ob = (word *)R[5];
+            acc = 1;
+
+          } else {
+
+            R[5] = G(R[1], 3);
+            R[6] = G(R[1], 4);
+            R[7] = G(R[1], 5);
+            *fp = make_header(5, TPROC);
+            fp[1] = G(R[2], 2);
+            fp[4] = R[7];
+            fp[3] = R[6];
+            fp[2] = R[5];
+            R[3] = (word)fp;
+            fp += 5;
+            ob = (word *)R[4];
+            acc = 1;
+
+          }
+
+        } else {
+
+          R[4] = G(R[1], 4);
+          R[3] = IFALSE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 990:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[2] = R[3];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = G(R[1], 4);
+        R[8] = INULL;
+        R[9] = R[5];
+        R[3] = R[6];
+        R[6] = R[4];
+        R[4] = R[7];
+        R[5] = R[8];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 991:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[6] = INULL;
+        R[7] = F(0);
+        R[8] = ITRUE;
+        R[11] = R[5];
+        R[12] = R[6];
+        R[6] = R[7];
+        R[7] = R[8];
+        R[5] = R[12];
+        R[8] = R[12];
+        ob = (word *)R[11];
+        acc = 6;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 992:
+      if (acc == 7) {
+
+        if (R[4] == INULL) {
+
+          R[10] = G(R[1], 2);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[3] = R[3];
+          fp[2] = R[8];
+          R[3] = (word)fp;
+          fp += 4;
+          R[4] = R[5];
+          R[5] = R[6];
+          R[6] = R[7];
+          ob = (word *)R[10];
+          acc = 4;
+
+        } else {
+
+          R[10] = G(R[1], 4);
+          if (R[6] == R[10]) {
+
+            R[11] = G(R[1], 2);
+            *fp = make_header(6, TPROC);
+            fp[1] = G(R[1], 5);
+            fp[5] = R[9];
+            fp[4] = R[3];
+            fp[3] = R[4];
+            fp[2] = R[8];
+            R[3] = (word)fp;
+            fp += 6;
+            R[4] = R[5];
+            R[5] = R[6];
+            R[6] = R[7];
+            ob = (word *)R[11];
+            acc = 4;
+
+          } else {
+
+            R[11] = G(R[1], 6);
+            *fp = make_header(9, TCLOS);
+            fp[1] = G(R[1], 7);
+            fp[8] = R[9];
+            fp[7] = R[3];
+            fp[6] = R[4];
+            fp[5] = R[8];
+            fp[4] = R[7];
+            fp[3] = R[6];
+            fp[2] = R[5];
+            R[3] = (word)fp;
+            fp += 9;
+            ob = (word *)R[11];
+            acc = 2;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 993:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 6);
+          R[5] = G(R[1], 5);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 2);
+          R[9] = G(R[1], 7);
+          R[10] = G(R[1], 8);
+          *fp = make_header(8, TPROC);
+          fp[1] = G(R[2], 2);
+          fp[7] = R[10];
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 8;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          R[9] = G(R[1], 7);
+          R[10] = G(R[1], 8);
+          *fp = make_header(9, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[8] = R[10];
+          fp[7] = R[9];
+          fp[6] = R[8];
+          fp[5] = R[7];
+          fp[4] = R[6];
+          fp[3] = R[5];
+          fp[2] = R[4];
+          R[11] = (word)fp;
+          fp += 9;
+          if (R[6] == IFALSE) {
+
+            R[3] = IFALSE;
+            ob = (word *)R[11];
+            acc = 1;
+
+          } else {
+
+            assert(pairp(R[8]), R[8], 105);
+            R[12] = G(R[8], 1);
+            R[13] = G(R[2], 3);
+            *fp = make_header(4, TCLOS);
+            fp[1] = G(R[2], 4);
+            fp[3] = R[11];
+            fp[2] = R[5];
+            R[3] = (word)fp;
+            fp += 4;
+            R[4] = 128 * 254 + 258;
+            R[5] = R[12];
+            ob = (word *)R[13];
+            acc = 3;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 994:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 6);
+          assert(pairp(R[4]), R[4], 105);
+          R[5] = G(R[4], 1);
+          R[6] = G(R[2], 2);
+          R[7] = G(R[1], 2);
+          R[8] = G(R[1], 3);
+          R[9] = G(R[1], 4);
+          R[10] = G(R[1], 5);
+          R[11] = G(R[1], 7);
+          R[12] = G(R[1], 8);
+          *fp = make_header(9, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[8] = R[12];
+          fp[7] = R[11];
+          fp[6] = R[10];
+          fp[5] = R[9];
+          fp[4] = R[8];
+          fp[3] = R[7];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 9;
+          R[4] = R[5];
+          ob = (word *)R[6];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 5);
+          R[6] = G(R[1], 6);
+          R[7] = G(R[1], 7);
+          R[8] = G(R[1], 8);
+          *fp = make_header(6, TPROC);
+          fp[1] = G(R[2], 5);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = G(R[1], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[13] = R[4];
+          R[4] = R[10];
+          ob = (word *)R[13];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 995:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 7);
+          R[3] = IFALSE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          assert(pairp(R[4]), R[4], 105);
+          R[5] = G(R[4], 1);
+          R[6] = G(R[4], 2);
+          R[7] = G(R[1], 3);
+          R[8] = cons(R[5], R[7]);
+          R[9] = G(R[2], 2);
+          R[10] = G(R[1], 5);
+          R[11] = G(R[1], 6);
+          R[12] = G(R[1], 7);
+          R[13] = G(R[1], 8);
+          *fp = make_header(9, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[8] = R[13];
+          fp[7] = R[12];
+          fp[6] = R[6];
+          fp[5] = R[8];
+          fp[4] = R[11];
+          fp[3] = R[10];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 9;
+          R[4] = G(R[1], 4);
+          R[5] = 128 * 0 + 258;
+          ob = (word *)R[9];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 996:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 6);
+        R[7] = G(R[1], 7);
+        R[8] = G(R[1], 8);
+        *fp = make_header(8, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[8];
+        fp[6] = R[7];
+        fp[5] = R[6];
+        fp[4] = R[5];
+        fp[3] = R[3];
+        fp[2] = R[4];
+        R[9] = (word)fp;
+        fp += 8;
+        R[10] = G(R[1], 3);
+        if (R[10] == IFALSE) {
+
+          R[3] = IFALSE;
+          ob = (word *)R[9];
+          acc = 1;
+
+        } else {
+
+          R[11] = G(R[2], 2);
+          R[4] = G(R[1], 2);
+          R[5] = 128 * 254 + 258;
+          R[3] = R[9];
+          ob = (word *)R[11];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 997:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 7);
+        R[5] = G(R[1], 6);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 2);
+        R[12] = R[6];
+        R[13] = R[5];
+        R[5] = R[7];
+        R[7] = R[3];
+        R[6] = R[8];
+        R[8] = R[9];
+        R[9] = R[4];
+        R[4] = R[12];
+        R[3] = R[13];
+        ob = (word *)R[9];
+        acc = 7;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 998:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 3);
+          R[3] = IFALSE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 2);
+          R[7] = 128 * 510 + 258;
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 999:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 7);
+        R[5] = G(R[1], 6);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 2);
+        R[12] = R[5];
+        R[5] = R[6];
+        R[6] = R[7];
+        R[7] = R[8];
+        R[8] = R[9];
+        R[9] = R[4];
+        R[4] = R[3];
+        R[3] = R[12];
+        ob = (word *)R[9];
+        acc = 7;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1000:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = cons(R[3], R[4]);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 3);
+        R[9] = INULL;
+        R[10] = F(0);
+        R[11] = ITRUE;
+        R[4] = R[8];
+        R[8] = R[5];
+        R[5] = R[9];
+        R[9] = R[6];
+        R[3] = R[7];
+        R[6] = R[10];
+        R[7] = R[11];
+        ob = (word *)R[9];
+        acc = 7;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1001:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = cons(R[3], R[4]);
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 3);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[2] = R[7];
+        R[3] = (word)fp;
+        fp += 3;
+        R[4] = R[5];
+        ob = (word *)R[6];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1002:
+      if (acc == 4) {
+
+        if (R[6] == IFALSE) {
+
+          R[7] = G(R[1], 2);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[1], 3);
+          fp[3] = R[3];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[7] = G(R[1], 2);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[1], 4);
+          fp[3] = R[3];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 4;
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1003:
+      if (acc == 1) {
+
+        R[4] = 128 * 4 + 258;
+        R[5] = prim_lraw(R[3], R[4]);
+        if (R[5] == IFALSE) {
+
+          R[6] = G(R[2], 2);
+          R[3] = G(R[1], 3);
+          R[4] = G(R[2], 3);
+          R[5] = G(R[1], 2);
+          ob = (word *)R[6];
+          acc = 3;
+
+        } else {
+
+          R[6] = G(R[1], 3);
+          R[3] = R[5];
+          ob = (word *)R[6];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1004:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[5];
+        fp[3] = R[3];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 5;
+        ob = (word *)R[6];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1005:
+      if (acc == 1) {
+
+        R[4] = 128 * 0 + 258;
+        if (R[3] == R[4]) {
+
+          R[5] = G(R[1], 2);
+          assert(pairp(R[5]), R[5], 105);
+          R[3] = G(R[5], 1);
+          R[7] = G(R[1], 3);
+          ob = (word *)R[7];
+          acc = 1;
+
+        } else {
+
+          R[5] = G(R[2], 2);
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 4);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[3];
+          R[9] = (word)fp;
+          fp += 6;
+          R[10] = 128 * 6 + 258;
+          R[8] = R[5];
+          R[4] = R[3];
+          R[3] = R[9];
+          R[5] = R[10];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1006:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          R[8] = G(R[1], 2);
+          R[5] = 128 * 0 + 258;
+          R[10] = R[4];
+          R[4] = R[8];
+          ob = (word *)R[10];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[9] = G(R[1], 2);
+          R[5] = 128 * 2 + 258;
+          R[11] = R[4];
+          R[4] = R[9];
+          ob = (word *)R[11];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1007:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[7] = (word)fp;
+        fp += 5;
+        R[8] = G(R[1], 2);
+        R[9] = R[4];
+        R[5] = R[3];
+        R[3] = R[7];
+        R[4] = R[8];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1008:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[3];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 6;
+        R[8] = R[5];
+        R[5] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1009:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 6;
+        R[10] = G(R[1], 2);
+        R[8] = R[5];
+        R[5] = R[10];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1010:
+      if (acc == 2) {
+
+        R[5] = INULL;
+        R[6] = cons(R[4], R[5]);
+        R[7] = cons(R[3], R[6]);
+        R[8] = G(R[1], 2);
+        R[9] = cons(R[8], R[7]);
+        R[10] = G(R[1], 3);
+        R[5] = cons(R[10], R[9]);
+        R[12] = G(R[2], 2);
+        R[13] = G(R[1], 4);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[2] = R[13];
+        R[3] = (word)fp;
+        fp += 3;
+        R[15] = G(R[1], 5);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 4);
+        fp[2] = R[15];
+        R[4] = (word)fp;
+        fp += 3;
+        ob = (word *)R[12];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1011:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[6] = (word)fp;
+        fp += 4;
+        R[7] = G(R[2], 4);
+        R[8] = R[4];
+        R[5] = R[3];
+        R[3] = R[6];
+        R[4] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1012:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[8] = G(R[2], 4);
+        R[5] = F(0);
+        R[10] = R[4];
+        R[6] = R[3];
+        R[3] = R[7];
+        R[4] = R[8];
+        ob = (word *)R[10];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1013:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 5;
+        R[8] = G(R[2], 4);
+        R[9] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1014:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[8] = (word)fp;
+        fp += 5;
+        R[9] = G(R[2], 4);
+        R[5] = F(0);
+        R[11] = R[4];
+        R[6] = R[3];
+        R[3] = R[8];
+        R[4] = R[9];
+        ob = (word *)R[11];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1015:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 5;
+        R[4] = R[6];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1016:
+      if (acc == 4) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[7] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[8] = 128 * 4 + 258;
+        R[9] = BOOL(R[7] == R[8]);
+        if (R[9] == IFALSE) {
+
+          R[10] = 128 * 42 + 258;
+          R[11] = BOOL(R[7] == R[10]);
+          if (R[11] == IFALSE) {
+
+            R[12] = 128 * 40 + 258;
+            R[13] = BOOL(R[7] == R[12]);
+            if (R[13] == IFALSE) {
+
+              R[14] = G(R[1], 2);
+              R[15] = G(R[1], 3);
+              R[5] = R[4];
+              R[4] = R[15];
+              ob = (word *)R[14];
+              acc = 3;
+
+            } else {
+
+              *fp = make_header(5, TCLOS);
+              fp[1] = G(R[1], 6);
+              fp[4] = R[6];
+              fp[3] = R[5];
+              fp[2] = R[4];
+              R[14] = (word)fp;
+              fp += 5;
+              R[15] = G(R[1], 4);
+              *fp = make_header(4, TPROC);
+              fp[1] = G(R[1], 5);
+              fp[3] = R[14];
+              fp[2] = R[3];
+              R[3] = (word)fp;
+              fp += 4;
+              ob = (word *)R[15];
+              acc = 2;
+
+            }
+
+          } else {
+
+            R[12] = G(R[1], 4);
+            *fp = make_header(5, TCLOS);
+            fp[1] = G(R[1], 7);
+            fp[4] = R[3];
+            fp[3] = R[4];
+            fp[2] = R[5];
+            R[3] = (word)fp;
+            fp += 5;
+            ob = (word *)R[12];
+            acc = 2;
+
+          }
+
+        } else {
+
+          R[10] = G(R[1], 8);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[1], 9);
+          fp[4] = R[3];
+          fp[3] = R[4];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          ob = (word *)R[10];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1017:
+      if (acc == 1) {
+
+        if (R[3] == F(0)) {
+
+          R[4] = G(R[1], 4);
+          R[3] = G(R[1], 2);
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[8] = (word)fp;
+          fp += 5;
+          R[5] = 128 * 0 + 258;
+          R[10] = R[4];
+          R[4] = R[3];
+          R[3] = R[8];
+          ob = (word *)R[10];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1018:
+      if (acc == 3) {
+
+        R[6] = 128 * 2 + 258;
+        if (R[4] == R[6]) {
+
+          R[7] = G(R[1], 2);
+          R[4] = prim_ref(R[7], R[6]);
+          R[6] = G(R[1], 4);
+          R[5] = G(R[1], 3);
+          ob = (word *)R[6];
+          acc = 4;
+
+        } else {
+
+          R[7] = G(R[1], 2);
+          R[8] = prim_ref(R[7], R[4]);
+          R[6] = G(R[1], 4);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 2);
+          fp[3] = R[5];
+          fp[2] = R[4];
+          R[5] = (word)fp;
+          fp += 4;
+          R[4] = R[8];
+          ob = (word *)R[6];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1019:
+      if (acc == 5) {
+
+        R[8] = 128 * 0 + 258;
+        if (R[6] == R[8]) {
+
+          R[9] = prim_ref(R[4], R[6]);
+          R[10] = cons(R[9], R[5]);
+          ob = (word *)R[3];
+          R[3] = R[10];
+          acc = 1;
+
+        } else {
+
+          R[9] = prim_ref(R[4], R[6]);
+          *fp = make_header(6, TPROC);
+          fp[1] = G(R[1], 2);
+          fp[5] = R[7];
+          fp[4] = R[4];
+          fp[3] = R[5];
+          fp[2] = R[6];
+          R[10] = (word)fp;
+          fp += 6;
+          R[11] = cons(R[9], R[10]);
+          ob = (word *)R[3];
+          R[3] = R[11];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1020:
+      if (acc == 5) {
+
+        if (R[6] == F(0)) {
+
+          R[8] = prim_ref(R[4], R[6]);
+          R[9] = cons(R[8], R[5]);
+          ob = (word *)R[3];
+          R[3] = R[9];
+          acc = 1;
+
+        } else {
+
+          R[8] = prim_ref(R[4], R[6]);
+          *fp = make_header(6, TPROC);
+          fp[1] = G(R[1], 2);
+          fp[5] = R[7];
+          fp[4] = R[4];
+          fp[3] = R[5];
+          fp[2] = R[6];
+          R[9] = (word)fp;
+          fp += 6;
+          R[10] = cons(R[8], R[9]);
+          ob = (word *)R[3];
+          R[3] = R[10];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1021:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = 128 * 0 + 258;
+        {
+
+          hval r = immval(R[4]) - immval(R[5]);
+          R[7] = F(r >> FBITS & 1);
+          R[6] = F(r);
+
+        }
+
+        R[8] = G(R[1], 5);
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 3);
+        R[7] = R[8];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1022:
+      if (acc == 4) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[7] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[8] = 128 * 4 + 258;
+        R[9] = BOOL(R[7] == R[8]);
+        if (R[9] == IFALSE) {
+
+          R[10] = 128 * 42 + 258;
+          R[11] = BOOL(R[7] == R[10]);
+          if (R[11] == IFALSE) {
+
+            R[12] = 128 * 40 + 258;
+            R[13] = BOOL(R[7] == R[12]);
+            if (R[13] == IFALSE) {
+
+              R[14] = G(R[1], 2);
+              R[15] = G(R[1], 3);
+              R[5] = R[4];
+              R[4] = R[15];
+              ob = (word *)R[14];
+              acc = 3;
+
+            } else {
+
+              *fp = make_header(5, TCLOS);
+              fp[1] = G(R[1], 4);
+              fp[4] = R[6];
+              fp[3] = R[5];
+              fp[2] = R[4];
+              R[5] = (word)fp;
+              fp += 5;
+              R[4] = 128 * 2 + 258;
+              ob = (word *)R[5];
+              acc = 3;
+
+            }
+
+          } else {
+
+            R[12] = G(R[1], 5);
+            R[6] = 128 * 0 + 258;
+            ob = (word *)R[12];
+            acc = 4;
+
+          }
+
+        } else {
+
+          R[10] = G(R[1], 6);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[1], 7);
+          fp[4] = R[3];
+          fp[3] = R[5];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 5;
+          ob = (word *)R[10];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1023:
+      if (acc == 1) {
+
+        if (R[3] == F(0)) {
+
+          R[4] = G(R[1], 4);
+          R[3] = G(R[1], 3);
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 3);
+          R[8] = F(0);
+          R[10] = R[4];
+          R[11] = R[5];
+          R[5] = R[7];
+          R[7] = R[3];
+          R[4] = R[6];
+          R[6] = R[8];
+          R[3] = R[11];
+          ob = (word *)R[10];
+          acc = 5;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1024:
+      if (acc == 3) {
+
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 2);
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 4);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[5];
+        fp[6] = R[4];
+        fp[5] = R[9];
+        fp[4] = R[3];
+        fp[3] = R[8];
+        fp[2] = R[7];
+        R[3] = (word)fp;
+        fp += 8;
+        R[4] = R[7];
+        ob = (word *)R[6];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1025:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 6);
+        if (R[4] == R[3]) {
+
+          R[5] = G(R[1], 2);
+          R[6] = prim_ref(R[5], R[4]);
+          R[7] = G(R[1], 5);
+          R[3] = G(R[1], 4);
+          R[5] = G(R[1], 3);
+          R[4] = R[6];
+          R[6] = R[7];
+          ob = (word *)R[6];
+          acc = 4;
+
+        } else {
+
+          R[5] = G(R[1], 2);
+          R[6] = prim_ref(R[5], R[4]);
+          R[7] = G(R[1], 5);
+          R[3] = G(R[1], 4);
+          R[9] = G(R[1], 7);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[2], 2);
+          fp[3] = R[9];
+          fp[2] = R[4];
+          R[5] = (word)fp;
+          fp += 4;
+          R[4] = R[6];
+          R[6] = R[7];
+          ob = (word *)R[6];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1026:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 2);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[6] = R[7];
+        fp[5] = R[4];
+        fp[4] = R[5];
+        fp[3] = R[6];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 7;
+        ob = (word *)R[8];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1027:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        if (R[4] == R[3]) {
+
+          R[5] = G(R[1], 5);
+          R[6] = prim_ref(R[5], R[4]);
+          R[7] = G(R[1], 4);
+          R[3] = cons(R[6], R[7]);
+          R[9] = G(R[1], 2);
+          ob = (word *)R[9];
+          acc = 1;
+
+        } else {
+
+          R[5] = G(R[1], 5);
+          R[6] = prim_ref(R[5], R[4]);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 6);
+          *fp = make_header(6, TPROC);
+          fp[1] = G(R[2], 2);
+          fp[5] = R[8];
+          fp[4] = R[5];
+          fp[3] = R[7];
+          fp[2] = R[4];
+          R[9] = (word)fp;
+          fp += 6;
+          R[3] = cons(R[6], R[9]);
+          R[11] = G(R[1], 2);
+          ob = (word *)R[11];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1028:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = 128 * 0 + 258;
+        {
+
+          hval r = immval(R[4]) + immval(R[5]);
+          R[7] = F(r >> FBITS);
+          R[6] = F(r);
+
+        }
+
+        R[8] = G(R[1], 5);
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 3);
+        R[7] = R[8];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1029:
+      if (acc == 6) {
+
+        if (R[6] == R[7]) {
+
+          ob = (word *)R[3];
+          R[3] = R[5];
+          acc = 1;
+
+        } else {
+
+          R[9] = prim_ref(R[4], R[6]);
+          *fp = make_header(7, TPROC);
+          fp[1] = G(R[1], 2);
+          fp[6] = R[8];
+          fp[5] = R[4];
+          fp[4] = R[5];
+          fp[3] = R[7];
+          fp[2] = R[6];
+          R[10] = (word)fp;
+          fp += 7;
+          R[11] = cons(R[9], R[10]);
+          ob = (word *)R[3];
+          R[3] = R[11];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1030:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = 128 * 0 + 258;
+        {
+
+          hval r = immval(R[4]) + immval(R[5]);
+          R[7] = F(r >> FBITS);
+          R[6] = F(r);
+
+        }
+
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 5);
+        R[5] = G(R[1], 4);
+        R[7] = G(R[1], 3);
+        R[4] = R[9];
+        ob = (word *)R[8];
+        acc = 6;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1031:
+      if (acc == 2) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[5] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[6] = 128 * 4 + 258;
+        R[7] = BOOL(R[5] == R[6]);
+        if (R[7] == IFALSE) {
+
+          R[8] = 128 * 42 + 258;
+          R[9] = BOOL(R[5] == R[8]);
+          if (R[9] == IFALSE) {
+
+            R[10] = 128 * 40 + 258;
+            R[11] = BOOL(R[5] == R[10]);
+            if (R[11] == IFALSE) {
+
+              R[12] = G(R[1], 2);
+              R[13] = G(R[1], 3);
+              R[5] = R[4];
+              R[4] = R[13];
+              ob = (word *)R[12];
+              acc = 3;
+
+            } else {
+
+              R[12] = 128 * 0 + 258;
+              R[13] = prim_ref(R[4], R[12]);
+              ob = (word *)R[3];
+              R[3] = R[13];
+              acc = 1;
+
+            }
+
+          } else {
+
+            R[10] = G(R[1], 4);
+            ob = (word *)R[10];
+            acc = 2;
+
+          }
+
+        } else {
+
+          if (immediatep(R[4])) {
+
+            R[8] = IFALSE;
+
+          } else {
+
+            hval h = V(R[4]);
+            R[8] = rawp(h) ? F(payl_len(h)) : IFALSE;
+
+          }
+
+          ob = (word *)R[3];
+          R[3] = R[8];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1032:
+      if (acc == 2) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[5] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[6] = 128 * 4 + 258;
+        R[7] = BOOL(R[5] == R[6]);
+        if (R[7] == IFALSE) {
+
+          R[8] = 128 * 42 + 258;
+          R[9] = BOOL(R[5] == R[8]);
+          if (R[9] == IFALSE) {
+
+            R[10] = 128 * 40 + 258;
+            R[11] = BOOL(R[5] == R[10]);
+            if (R[11] == IFALSE) {
+
+              R[12] = IFALSE;
+              ob = (word *)R[3];
+              R[3] = R[12];
+              acc = 1;
+
+            } else {
+
+              R[12] = ITRUE;
+              ob = (word *)R[3];
+              R[3] = R[12];
+              acc = 1;
+
+            }
+
+          } else {
+
+            R[10] = ITRUE;
+            ob = (word *)R[3];
+            R[3] = R[10];
+            acc = 1;
+
+          }
+
+        } else {
+
+          R[8] = ITRUE;
+          ob = (word *)R[3];
+          R[3] = R[8];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1033:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[7] = INULL;
+        R[9] = R[4];
+        R[10] = R[5];
+        R[5] = R[3];
+        R[4] = R[6];
+        R[6] = R[7];
+        R[3] = R[10];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1034:
+      if (acc == 5) {
+
+        if (R[5] == F(0)) {
+
+          ob = (word *)R[3];
+          R[3] = R[6];
+          acc = 1;
+
+        } else {
+
+          R[8] = 128 * 0 + 258;
+          {
+
+            hval r = immval(R[5]) - immval(R[8]);
+            R[10] = F(r >> FBITS & 1);
+            R[9] = F(r);
+
+          }
+
+          R[11] = prim_ref(R[4], R[5]);
+          R[6] = cons(R[11], R[6]);
+          R[5] = R[9];
+          ob = (word *)R[7];
+          acc = 5;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1035:
+      if (acc == 1) {
+
+        R[4] = 128 * 0 + 258;
+        {
+
+          hval r = immval(R[3]) - immval(R[4]);
+          R[6] = F(r >> FBITS & 1);
+          R[5] = F(r);
+
+        }
+
+        if (R[6] == F(0)) {
+
+          R[7] = G(R[1], 2);
+          R[3] = R[5];
+          ob = (word *)R[7];
+          acc = 1;
+
+        } else {
+
+          R[7] = G(R[1], 2);
+          R[3] = IFALSE;
+          ob = (word *)R[7];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1036:
+      if (acc == 2) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[5] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[6] = 128 * 2 + 258;
+        R[7] = BOOL(R[5] == R[6]);
+        ob = (word *)R[3];
+        R[3] = R[7];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1037:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 6);
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[11] = R[5];
+        R[5] = R[6];
+        R[6] = R[7];
+        R[7] = R[8];
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[11];
+        ob = (word *)R[8];
+        acc = 6;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1038:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[3];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 5;
+        R[5] = 128 * 254 + 258;
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1039:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[9] = G(R[2], 4);
+          R[10] = R[4];
+          R[4] = R[5];
+          R[5] = R[9];
+          ob = (word *)R[10];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          R[5] = G(R[1], 3);
+          R[3] = cons(R[4], R[5]);
+          R[7] = G(R[1], 4);
+          ob = (word *)R[7];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1040:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[9] = G(R[2], 4);
+          R[10] = R[4];
+          R[4] = R[5];
+          R[5] = R[9];
+          ob = (word *)R[10];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 5);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 6);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[9] = 128 * 10 + 258;
+          R[10] = R[4];
+          R[4] = R[5];
+          R[5] = R[9];
+          ob = (word *)R[10];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1041:
+      if (acc == 1) {
+
+        R[4] = 128 * 60 + 258;
+        R[5] = R[3] & R[4];
+        R[6] = 128 * 382 + 258;
+        R[7] = R[5] | R[6];
+        R[8] = G(R[2], 2);
+        R[9] = G(R[1], 3);
+        R[10] = G(R[1], 4);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[10];
+        fp[3] = R[7];
+        fp[2] = R[9];
+        R[3] = (word)fp;
+        fp += 5;
+        R[4] = G(R[1], 2);
+        ob = (word *)R[8];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1042:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = cons(R[3], R[4]);
+        R[6] = G(R[1], 3);
+        R[3] = cons(R[6], R[5]);
+        R[8] = G(R[1], 4);
+        ob = (word *)R[8];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1043:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[9] = G(R[2], 4);
+          R[10] = R[4];
+          R[4] = R[5];
+          R[5] = R[9];
+          ob = (word *)R[10];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 5);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 6);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[9] = 128 * 22 + 258;
+          R[10] = R[4];
+          R[4] = R[5];
+          R[5] = R[9];
+          ob = (word *)R[10];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1044:
+      if (acc == 1) {
+
+        R[4] = 128 * 28 + 258;
+        R[5] = R[3] & R[4];
+        R[6] = 128 * 446 + 258;
+        R[7] = R[5] | R[6];
+        R[8] = G(R[2], 2);
+        R[4] = G(R[1], 2);
+        R[10] = G(R[1], 3);
+        R[11] = G(R[1], 4);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[11];
+        fp[4] = R[7];
+        fp[3] = R[10];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 6;
+        R[5] = 128 * 10 + 258;
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1045:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = G(R[1], 2);
+        R[7] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1046:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = cons(R[3], R[4]);
+        R[6] = G(R[1], 3);
+        R[7] = cons(R[6], R[5]);
+        R[8] = G(R[1], 4);
+        R[3] = cons(R[8], R[7]);
+        R[10] = G(R[1], 5);
+        ob = (word *)R[10];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1047:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[2], 3);
+          R[7] = G(R[1], 2);
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[9] = 128 * 34 + 258;
+          R[10] = R[4];
+          R[4] = R[5];
+          R[5] = R[9];
+          ob = (word *)R[10];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1048:
+      if (acc == 1) {
+
+        R[4] = 128 * 12 + 258;
+        R[5] = R[3] & R[4];
+        R[6] = 128 * 478 + 258;
+        R[7] = R[5] | R[6];
+        R[8] = G(R[2], 2);
+        R[4] = G(R[1], 2);
+        R[10] = G(R[1], 3);
+        R[11] = G(R[1], 4);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[11];
+        fp[4] = R[7];
+        fp[3] = R[10];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 6;
+        R[5] = 128 * 22 + 258;
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1049:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[10] = 128 * 10 + 258;
+        R[8] = R[4];
+        R[4] = R[5];
+        R[5] = R[10];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1050:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[10] = (word)fp;
+        fp += 7;
+        R[7] = R[4];
+        R[4] = R[3];
+        R[3] = R[10];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1051:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = cons(R[3], R[4]);
+        R[6] = G(R[1], 3);
+        R[7] = cons(R[6], R[5]);
+        R[8] = G(R[1], 4);
+        R[9] = cons(R[8], R[7]);
+        R[10] = G(R[1], 5);
+        R[3] = cons(R[10], R[9]);
+        R[12] = G(R[1], 6);
+        ob = (word *)R[12];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1052:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[1], 3);
+        fp[2] = R[3];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = 128 * 124 + 258;
+        R[8] = R[5];
+        R[3] = R[6];
+        R[5] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1053:
+      if (acc == 1) {
+
+        R[4] = 128 * 254 + 258;
+        R[3] = R[4] | R[3];
+        R[6] = G(R[1], 2);
+        ob = (word *)R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1054:
+      if (acc == 2) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[5] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        if (R[5] == F(0)) {
+
+          R[6] = ITRUE;
+          ob = (word *)R[3];
+          R[3] = R[6];
+          acc = 1;
+
+        } else {
+
+          {
+
+            word ob = R[4];
+            if (allocp(ob)) ob = V(ob);
+            R[6] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          R[7] = 128 * 78 + 258;
+          if (R[6] == R[7]) {
+
+            R[8] = G(R[1], 2);
+            R[5] = G(R[1], 3);
+            ob = (word *)R[8];
+            acc = 3;
+
+          } else {
+
+            R[8] = IFALSE;
+            ob = (word *)R[3];
+            R[3] = R[8];
+            acc = 1;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1055:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[8] = 128 * 0 + 258;
+        R[9] = R[4];
+        R[5] = R[3];
+        R[3] = R[7];
+        R[4] = R[8];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1056:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[5] = R[4];
+        R[4] = R[3];
+        R[3] = R[7];
+        ob = (word *)R[5];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1057:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[10] = (word)fp;
+        fp += 7;
+        R[11] = G(R[2], 4);
+        R[8] = R[4];
+        R[5] = R[3];
+        R[3] = R[10];
+        R[4] = R[11];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1058:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[5] = G(R[1], 2);
+        R[9] = R[4];
+        R[4] = R[3];
+        R[3] = R[7];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1059:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        *fp = make_header(7, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[10] = (word)fp;
+        fp += 7;
+        R[11] = G(R[1], 2);
+        R[8] = R[4];
+        R[5] = R[3];
+        R[3] = R[10];
+        R[4] = R[11];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1060:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 5;
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1061:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        R[11] = G(R[1], 8);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[11];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[12] = (word)fp;
+        fp += 9;
+        R[13] = 128 * 0 + 258;
+        R[8] = R[4];
+        R[5] = R[3];
+        R[3] = R[12];
+        R[4] = R[13];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1062:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[10] = (word)fp;
+        fp += 7;
+        R[5] = G(R[1], 2);
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[10];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1063:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[6] = F(0);
+        R[9] = R[5];
+        R[5] = R[6];
+        R[6] = R[4];
+        R[4] = R[3];
+        R[3] = R[9];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1064:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = G(R[1], 2);
+        R[5] = 128 * 0 + 258;
+        R[11] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[11];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1065:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 6);
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[11] = R[6];
+        R[12] = R[5];
+        R[5] = R[3];
+        R[6] = R[7];
+        R[7] = R[8];
+        R[8] = R[4];
+        R[4] = R[11];
+        R[3] = R[12];
+        ob = (word *)R[8];
+        acc = 6;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1066:
+      if (acc == 4) {
+
+        if (R[5] == F(0)) {
+
+          R[7] = 128 * 0 + 258;
+          ob = (word *)R[3];
+          R[3] = R[7];
+          acc = 1;
+
+        } else {
+
+          R[7] = 128 * 0 + 258;
+          if (R[5] == R[7]) {
+
+            ob = (word *)R[3];
+            R[3] = R[4];
+            acc = 1;
+
+          } else {
+
+            R[8] = 128 * 2 + 258;
+            if (R[5] == R[8]) {
+
+              R[9] = G(R[1], 2);
+              R[5] = R[4];
+              ob = (word *)R[9];
+              acc = 3;
+
+            } else {
+
+              {
+
+                word ob = R[5];
+                if (allocp(ob)) ob = V(ob);
+                R[9] = F((hval)ob >> TPOS & 63);
+
+              }
+
+              if (R[9] == F(0)) {
+
+                R[10] = G(R[1], 3);
+                *fp = make_header(4, TCLOS);
+                fp[1] = G(R[1], 4);
+                fp[3] = R[3];
+                fp[2] = R[4];
+                R[3] = (word)fp;
+                fp += 4;
+                R[4] = R[5];
+                R[5] = R[7];
+                ob = (word *)R[10];
+                acc = 3;
+
+              } else {
+
+                {
+
+                  word ob = R[5];
+                  if (allocp(ob)) ob = V(ob);
+                  R[10] = F((hval)ob >> TPOS & 63);
+
+                }
+
+                R[11] = 128 * 78 + 258;
+                if (R[10] == R[11]) {
+
+                  R[12] = G(R[1], 3);
+                  *fp = make_header(4, TCLOS);
+                  fp[1] = G(R[1], 5);
+                  fp[3] = R[3];
+                  fp[2] = R[4];
+                  R[3] = (word)fp;
+                  fp += 4;
+                  R[4] = R[5];
+                  R[5] = R[7];
+                  ob = (word *)R[12];
+                  acc = 3;
+
+                } else {
+
+                  {
+
+                    word ob = R[5];
+                    if (allocp(ob)) ob = V(ob);
+                    R[12] = F((hval)ob >> TPOS & 63);
+
+                  }
+
+                  R[13] = 128 * 62 + 258;
+                  if (R[12] == R[13]) {
+
+                    R[14] = G(R[1], 6);
+                    *fp = make_header(5, TCLOS);
+                    fp[1] = G(R[1], 7);
+                    fp[4] = R[3];
+                    fp[3] = R[6];
+                    fp[2] = R[4];
+                    R[3] = (word)fp;
+                    fp += 5;
+                    R[4] = R[5];
+                    ob = (word *)R[14];
+                    acc = 2;
+
+                  } else {
+
+                    {
+
+                      word ob = R[5];
+                      if (allocp(ob)) ob = V(ob);
+                      R[14] = F((hval)ob >> TPOS & 63);
+
+                    }
+
+                    R[15] = 128 * 80 + 258;
+                    if (R[14] == R[15]) {
+
+                      R[16] = G(R[1], 6);
+                      *fp = make_header(5, TCLOS);
+                      fp[1] = G(R[1], 8);
+                      fp[4] = R[3];
+                      fp[3] = R[6];
+                      fp[2] = R[4];
+                      R[3] = (word)fp;
+                      fp += 5;
+                      R[4] = R[5];
+                      ob = (word *)R[16];
+                      acc = 2;
+
+                    } else {
+
+                      R[16] = G(R[1], 9);
+                      R[17] = G(R[1], 10);
+                      R[6] = R[5];
+                      R[5] = R[4];
+                      R[4] = R[17];
+                      ob = (word *)R[16];
+                      acc = 4;
+
+                    }
+
+                  }
+
+                }
+
+              }
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1067:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = 128 * 0 + 258;
+        R[8] = R[4];
+        R[9] = R[5];
+        R[5] = R[3];
+        R[4] = R[6];
+        R[3] = R[9];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1068:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[9] = R[4];
+        R[10] = R[5];
+        R[5] = R[3];
+        R[4] = R[6];
+        R[3] = R[10];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1069:
+      if (acc == 5) {
+
+        if (R[5] == F(0)) {
+
+          ob = (word *)R[3];
+          R[3] = R[6];
+          acc = 1;
+
+        } else {
+
+          R[8] = G(R[1], 2);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[6] = R[7];
+          fp[5] = R[3];
+          fp[4] = R[6];
+          fp[3] = R[4];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 7;
+          R[10] = 128 * 0 + 258;
+          R[4] = R[5];
+          R[5] = R[10];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1070:
+      if (acc == 1) {
+
+        if (R[3] == F(0)) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[5] = G(R[1], 3);
+          R[8] = R[4];
+          R[4] = R[5];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 6);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 7;
+          R[8] = R[4];
+          R[4] = R[6];
+          R[5] = R[6];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1071:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[10] = G(R[1], 2);
+        R[5] = 128 * 0 + 258;
+        R[8] = R[4];
+        R[4] = R[10];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1072:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[11] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[11];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1073:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = G(R[1], 2);
+        R[5] = 128 * 0 + 258;
+        R[11] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[11];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1074:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 2);
+        R[9] = R[4];
+        R[10] = R[5];
+        R[5] = R[3];
+        R[4] = R[6];
+        R[6] = R[7];
+        R[3] = R[10];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1075:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[8] = (word)fp;
+        fp += 5;
+        R[5] = G(R[1], 2);
+        R[10] = R[4];
+        R[4] = R[3];
+        R[3] = R[8];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1076:
+      if (acc == 2) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[5] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[6] = F(0);
+        R[7] = BOOL(R[5] == R[6]);
+        if (R[7] == IFALSE) {
+
+          R[8] = 128 * 62 + 258;
+          R[9] = BOOL(R[5] == R[8]);
+          if (R[9] == IFALSE) {
+
+            R[10] = 128 * 78 + 258;
+            R[11] = BOOL(R[5] == R[10]);
+            if (R[11] == IFALSE) {
+
+              R[12] = 128 * 80 + 258;
+              R[13] = BOOL(R[5] == R[12]);
+              if (R[13] == IFALSE) {
+
+                R[14] = 128 * 82 + 258;
+                R[15] = BOOL(R[5] == R[14]);
+                if (R[15] == IFALSE) {
+
+                  R[16] = 128 * 84 + 258;
+                  R[17] = BOOL(R[5] == R[16]);
+                  if (R[17] == IFALSE) {
+
+                    R[18] = IFALSE;
+                    ob = (word *)R[3];
+                    R[3] = R[18];
+                    acc = 1;
+
+                  } else {
+
+                    R[18] = ITRUE;
+                    ob = (word *)R[3];
+                    R[3] = R[18];
+                    acc = 1;
+
+                  }
+
+                } else {
+
+                  R[16] = ITRUE;
+                  ob = (word *)R[3];
+                  R[3] = R[16];
+                  acc = 1;
+
+                }
+
+              } else {
+
+                R[14] = ITRUE;
+                ob = (word *)R[3];
+                R[3] = R[14];
+                acc = 1;
+
+              }
+
+            } else {
+
+              R[12] = ITRUE;
+              ob = (word *)R[3];
+              R[3] = R[12];
+              acc = 1;
+
+            }
+
+          } else {
+
+            R[10] = ITRUE;
+            ob = (word *)R[3];
+            R[3] = R[10];
+            acc = 1;
+
+          }
+
+        } else {
+
+          R[8] = ITRUE;
+          ob = (word *)R[3];
+          R[3] = R[8];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1077:
+      if (acc == 3) {
+
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[1], 2);
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[6] = (word)fp;
+        fp += 4;
+        ob = (word *)R[3];
+        R[3] = R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1078:
+      if (acc == 5) {
+
+        if (R[6] == INULL) {
+
+          R[8] = ITRUE;
+          ob = (word *)R[3];
+          R[3] = R[8];
+          acc = 1;
+
+        } else {
+
+          assert(pairp(R[6]), R[6], 105);
+          R[8] = G(R[6], 1);
+          *fp = make_header(6, TPROC);
+          fp[1] = G(R[1], 2);
+          fp[5] = R[7];
+          fp[4] = R[3];
+          fp[3] = R[4];
+          fp[2] = R[6];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = R[4];
+          R[4] = R[5];
+          R[5] = R[8];
+          ob = (word *)R[10];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1079:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 4);
+          R[3] = IFALSE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          assert(pairp(R[4]), R[4], 105);
+          R[5] = G(R[4], 1);
+          R[6] = G(R[4], 2);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 4);
+          R[4] = G(R[1], 3);
+          R[3] = R[8];
+          ob = (word *)R[7];
+          acc = 5;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1080:
+      if (acc == 5) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[8] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[9] = 128 * 82 + 258;
+        if (R[8] == R[9]) {
+
+          R[10] = 128 * 0 + 258;
+          R[11] = prim_ref(R[4], R[10]);
+          R[12] = 128 * 2 + 258;
+          R[4] = prim_ref(R[4], R[12]);
+          *fp = make_header(6, TPROC);
+          fp[1] = G(R[1], 2);
+          fp[5] = R[7];
+          fp[4] = R[3];
+          fp[3] = R[11];
+          fp[2] = R[6];
+          R[3] = (word)fp;
+          fp += 6;
+          ob = (word *)R[7];
+          acc = 5;
+
+        } else {
+
+          {
+
+            word ob = R[4];
+            if (allocp(ob)) ob = V(ob);
+            R[10] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          R[11] = 128 * 84 + 258;
+          if (R[10] == R[11]) {
+
+            {
+
+              word *ob = (word *)R[4];
+              hval  hdr;
+              assert(allocp(R[4]), R[4], IFALSE);
+              hdr = *ob;
+              assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+              R[12] = ob[1];
+              R[13] = ob[2];
+
+            }
+
+            *fp = make_header(6, TPROC);
+            fp[1] = G(R[1], 5);
+            fp[5] = R[7];
+            fp[4] = R[3];
+            fp[3] = R[12];
+            fp[2] = R[6];
+            R[14] = (word)fp;
+            fp += 6;
+            R[15] = 128 * 0 + 258;
+            if (R[13] == R[15]) {
+
+              R[16] = 128 * 208 + 258;
+              R[17] = cons(R[16], R[5]);
+              R[3] = cons(R[11], R[17]);
+              ob = (word *)R[14];
+              acc = 1;
+
+            } else {
+
+              R[16] = 128 * 1 + 258;
+              if (R[13] == R[16]) {
+
+                R[17] = 128 * 208 + 258;
+                R[18] = cons(R[17], R[5]);
+                R[19] = 128 * 88 + 258;
+                R[3] = cons(R[19], R[18]);
+                ob = (word *)R[14];
+                acc = 1;
+
+              } else {
+
+                R[17] = G(R[1], 3);
+                *fp = make_header(7, TCLOS);
+                fp[1] = G(R[1], 4);
+                fp[6] = R[7];
+                fp[5] = R[14];
+                fp[4] = R[13];
+                fp[3] = R[6];
+                fp[2] = R[5];
+                R[3] = (word)fp;
+                fp += 7;
+                R[5] = F(0);
+                R[4] = R[13];
+                ob = (word *)R[17];
+                acc = 3;
+
+              }
+
+            }
+
+          } else {
+
+            R[12] = G(R[1], 3);
+            *fp = make_header(7, TCLOS);
+            fp[1] = G(R[1], 6);
+            fp[6] = R[3];
+            fp[5] = R[7];
+            fp[4] = R[5];
+            fp[3] = R[6];
+            fp[2] = R[4];
+            R[3] = (word)fp;
+            fp += 7;
+            R[5] = F(0);
+            ob = (word *)R[12];
+            acc = 3;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1081:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 6);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[8] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = F(0);
+          R[5] = G(R[1], 2);
+          R[8] = R[4];
+          R[4] = R[10];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1082:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 5);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[5] = R[7];
+        R[7] = R[4];
+        R[4] = R[3];
+        R[3] = R[6];
+        R[6] = R[8];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1083:
+      if (acc == 1) {
+
+        R[4] = 128 * 88 + 258;
+        R[3] = cons(R[4], R[3]);
+        R[6] = G(R[1], 2);
+        ob = (word *)R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1084:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 5);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 2);
+          R[9] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          R[6] = R[8];
+          ob = (word *)R[9];
+          acc = 4;
+
+        } else {
+
+          R[4] = G(R[2], 3);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 5);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[2], 4);
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          R[8] = G(R[1], 3);
+          R[9] = R[4];
+          R[4] = R[8];
+          ob = (word *)R[9];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1085:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = 128 * 208 + 258;
+          R[5] = G(R[1], 2);
+          R[6] = cons(R[4], R[5]);
+          R[7] = G(R[1], 6);
+          R[8] = G(R[1], 5);
+          *fp = make_header(3, TPROC);
+          fp[1] = G(R[2], 2);
+          fp[2] = R[8];
+          R[3] = (word)fp;
+          fp += 3;
+          R[4] = G(R[1], 4);
+          R[11] = G(R[1], 3);
+          R[5] = R[6];
+          R[6] = R[11];
+          ob = (word *)R[7];
+          acc = 5;
+
+        } else {
+
+          R[4] = 128 * 208 + 258;
+          R[5] = G(R[1], 2);
+          R[6] = cons(R[4], R[5]);
+          R[7] = G(R[1], 6);
+          R[8] = G(R[1], 5);
+          R[4] = G(R[1], 4);
+          R[10] = G(R[1], 3);
+          R[5] = R[6];
+          R[3] = R[8];
+          R[6] = R[10];
+          ob = (word *)R[7];
+          acc = 5;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1086:
+      if (acc == 1) {
+
+        R[4] = 128 * 84 + 258;
+        R[3] = cons(R[4], R[3]);
+        R[6] = G(R[1], 2);
+        ob = (word *)R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1087:
+      if (acc == 1) {
+
+        R[4] = 128 * 92 + 258;
+        R[5] = cons(R[4], R[3]);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 3);
+        R[9] = G(R[1], 2);
+        R[3] = R[7];
+        R[7] = R[6];
+        R[4] = R[8];
+        R[6] = R[9];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1088:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 4;
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 4);
+        fp[2] = R[6];
+        R[9] = (word)fp;
+        fp += 3;
+        R[6] = G(R[1], 5);
+        R[5] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[7];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1089:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[2] = R[3];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = G(R[1], 2);
+        R[8] = R[5];
+        R[3] = R[6];
+        R[5] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1090:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[2], 3);
+        R[7] = G(R[1], 2);
+        R[9] = R[4];
+        R[4] = R[6];
+        R[6] = R[3];
+        R[3] = R[5];
+        R[5] = R[7];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1091:
+      if (acc == 3) {
+
+        R[6] = cons(R[5], R[4]);
+        ob = (word *)R[3];
+        R[3] = R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1092:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[3] = R[3];
+        fp[2] = R[4];
+        R[6] = (word)fp;
+        fp += 4;
+        R[7] = 128 * 18 + 258;
+        R[8] = R[5];
+        R[3] = R[6];
+        R[5] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1093:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = G(R[1], 3);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[6] = (word)fp;
+        fp += 4;
+        if (R[3] == IFALSE) {
+
+          R[3] = 128 * 172 + 258;
+          ob = (word *)R[6];
+          acc = 1;
+
+        } else {
+
+          R[3] = 128 * 94 + 258;
+          ob = (word *)R[6];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1094:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[8] = (word)fp;
+        fp += 5;
+        R[5] = G(R[1], 2);
+        R[10] = R[4];
+        R[4] = R[3];
+        R[3] = R[8];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1095:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = G(R[1], 2);
+        R[5] = 128 * 0 + 258;
+        R[11] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[11];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1096:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(7, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 7;
+        R[10] = G(R[1], 2);
+        R[5] = 128 * 0 + 258;
+        R[8] = R[4];
+        R[4] = R[10];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1097:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 6);
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[11] = R[6];
+        R[12] = R[5];
+        R[5] = R[7];
+        R[7] = R[3];
+        R[6] = R[8];
+        R[8] = R[4];
+        R[4] = R[11];
+        R[3] = R[12];
+        ob = (word *)R[8];
+        acc = 6;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1098:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 5;
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1099:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[3];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 5;
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1100:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 4);
+          R[3] = G(R[1], 3);
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[1], 4);
+          R[3] = G(R[1], 2);
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1101:
+      if (acc == 3) {
+
+        if (R[5] == INULL) {
+
+          ob = (word *)R[3];
+          R[3] = R[5];
+          acc = 1;
+
+        } else {
+
+          assert(pairp(R[5]), R[5], 169);
+          R[6] = G(R[5], 2);
+          if (R[6] == INULL) {
+
+            ob = (word *)R[3];
+            R[3] = R[5];
+            acc = 1;
+
+          } else {
+
+            R[7] = G(R[1], 2);
+            ob = (word *)R[7];
+            acc = 3;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1102:
+      if (acc == 3) {
+
+        if (R[5] == INULL) {
+
+          ob = (word *)R[3];
+          R[3] = R[5];
+          acc = 1;
+
+        } else {
+
+          R[6] = G(R[1], 2);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[3] = R[3];
+          fp[2] = R[4];
+          R[7] = (word)fp;
+          fp += 4;
+          R[8] = INULL;
+          R[9] = F(0);
+          R[10] = R[6];
+          R[3] = R[7];
+          R[6] = R[8];
+          R[7] = R[9];
+          ob = (word *)R[10];
+          acc = 5;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1103:
+      if (acc == 1) {
+
+        assert(pairp(R[3]), R[3], 169);
+        R[4] = G(R[3], 2);
+        if (R[4] == INULL) {
+
+          R[3] = G(R[3], 1);
+          R[6] = G(R[1], 3);
+          ob = (word *)R[6];
+          acc = 1;
+
+        } else {
+
+          R[5] = G(R[2], 2);
+          R[6] = G(R[1], 3);
+          R[4] = G(R[1], 2);
+          R[8] = R[5];
+          R[5] = R[3];
+          R[3] = R[6];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1104:
+      if (acc == 4) {
+
+        assert(pairp(R[5]), R[5], 169);
+        R[7] = G(R[5], 2);
+        if (R[7] == INULL) {
+
+          R[8] = G(R[5], 1);
+          ob = (word *)R[3];
+          R[3] = R[8];
+          acc = 1;
+
+        } else {
+
+          R[8] = G(R[1], 2);
+          *fp = make_header(5, TPROC);
+          fp[1] = G(R[1], 3);
+          fp[4] = R[6];
+          fp[3] = R[3];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 5;
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1105:
+      if (acc == 6) {
+
+        if (R[5] == INULL) {
+
+          if (R[6] == INULL) {
+
+            ob = (word *)R[3];
+            R[3] = R[6];
+            acc = 1;
+
+          } else {
+
+            R[9] = INULL;
+            R[10] = cons(R[6], R[9]);
+            ob = (word *)R[3];
+            R[3] = R[10];
+            acc = 1;
+
+          }
+
+        } else {
+
+          R[9] = 128 * 18 + 258;
+          if (R[7] == R[9]) {
+
+            assert(pairp(R[5]), R[5], 169);
+            R[10] = G(R[5], 2);
+            R[11] = G(R[5], 1);
+            R[12] = INULL;
+            R[13] = cons(R[11], R[12]);
+            *fp = make_header(4, TPROC);
+            fp[1] = G(R[1], 2);
+            fp[3] = R[3];
+            fp[2] = R[6];
+            R[3] = (word)fp;
+            fp += 4;
+            R[7] = 128 * 0 + 258;
+            R[5] = R[10];
+            R[6] = R[13];
+            ob = (word *)R[8];
+            acc = 6;
+
+          } else {
+
+            R[10] = 128 * 0 + 258;
+            {
+
+              hval r = immval(R[7]) + immval(R[10]);
+              R[12] = F(r >> FBITS);
+              R[11] = F(r);
+
+            }
+
+            assert(pairp(R[5]), R[5], 169);
+            R[13] = G(R[5], 2);
+            R[5] = G(R[5], 1);
+            R[15] = G(R[1], 3);
+            *fp = make_header(7, TPROC);
+            fp[1] = G(R[1], 4);
+            fp[6] = R[8];
+            fp[5] = R[3];
+            fp[4] = R[4];
+            fp[3] = R[13];
+            fp[2] = R[11];
+            R[3] = (word)fp;
+            fp += 7;
+            R[9] = R[6];
+            R[6] = R[4];
+            R[4] = R[9];
+            ob = (word *)R[15];
+            acc = 4;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1106:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 6);
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[11] = R[5];
+        R[5] = R[7];
+        R[7] = R[8];
+        R[8] = R[4];
+        R[4] = R[6];
+        R[6] = R[3];
+        R[3] = R[11];
+        ob = (word *)R[8];
+        acc = 6;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1107:
+      if (acc == 4) {
+
+        if (R[5] == INULL) {
+
+          ob = (word *)R[3];
+          R[3] = R[5];
+          acc = 1;
+
+        } else {
+
+          assert(pairp(R[5]), R[5], 105);
+          R[7] = G(R[5], 1);
+          R[8] = G(R[5], 2);
+          if (R[8] == INULL) {
+
+            R[9] = INULL;
+            R[10] = cons(R[7], R[9]);
+            ob = (word *)R[3];
+            R[3] = R[10];
+            acc = 1;
+
+          } else {
+
+            assert(pairp(R[8]), R[8], 105);
+            R[9] = G(R[8], 1);
+            R[10] = G(R[8], 2);
+            R[11] = G(R[1], 2);
+            *fp = make_header(6, TCLOS);
+            fp[1] = G(R[1], 3);
+            fp[5] = R[3];
+            fp[4] = R[6];
+            fp[3] = R[4];
+            fp[2] = R[10];
+            R[3] = (word)fp;
+            fp += 6;
+            R[5] = R[7];
+            R[6] = R[9];
+            ob = (word *)R[11];
+            acc = 4;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1108:
+      if (acc == 5) {
+
+        if (R[5] == INULL) {
+
+          ob = (word *)R[3];
+          R[3] = R[6];
+          acc = 1;
+
+        } else {
+
+          if (R[6] == INULL) {
+
+            ob = (word *)R[3];
+            R[3] = R[5];
+            acc = 1;
+
+          } else {
+
+            assert(pairp(R[6]), R[6], 105);
+            R[8] = G(R[6], 1);
+            assert(pairp(R[5]), R[5], 105);
+            R[9] = G(R[5], 1);
+            *fp = make_header(7, TCLOS);
+            fp[1] = G(R[1], 2);
+            fp[6] = R[3];
+            fp[5] = R[7];
+            fp[4] = R[4];
+            fp[3] = R[5];
+            fp[2] = R[6];
+            R[3] = (word)fp;
+            fp += 7;
+            R[11] = R[4];
+            R[4] = R[8];
+            R[5] = R[9];
+            ob = (word *)R[11];
+            acc = 3;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1109:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 3);
+          assert(pairp(R[4]), R[4], 105);
+          R[5] = G(R[4], 1);
+          R[6] = G(R[4], 2);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[2], 2);
+          fp[3] = R[8];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          R[4] = G(R[1], 4);
+          R[11] = G(R[1], 2);
+          R[5] = R[6];
+          R[6] = R[11];
+          ob = (word *)R[7];
+          acc = 5;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          assert(pairp(R[4]), R[4], 105);
+          R[5] = G(R[4], 1);
+          R[6] = G(R[4], 2);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[8];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          R[4] = G(R[1], 4);
+          R[5] = G(R[1], 3);
+          ob = (word *)R[7];
+          acc = 5;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1110:
+      if (acc == 5) {
+
+        if (R[4] == INULL) {
+
+          R[8] = INULL;
+          R[9] = cons(R[5], R[8]);
+          ob = (word *)R[3];
+          R[3] = R[9];
+          acc = 1;
+
+        } else {
+
+          assert(pairp(R[4]), R[4], 105);
+          R[8] = G(R[4], 1);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[1], 2);
+          fp[6] = R[3];
+          fp[5] = R[7];
+          fp[4] = R[5];
+          fp[3] = R[6];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 7;
+          R[4] = R[5];
+          R[5] = R[8];
+          ob = (word *)R[6];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1111:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 2);
+          assert(pairp(R[4]), R[4], 105);
+          R[5] = G(R[4], 1);
+          R[6] = G(R[4], 2);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[2], 2);
+          fp[3] = R[8];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          R[5] = G(R[1], 4);
+          R[11] = G(R[1], 3);
+          R[4] = R[6];
+          R[6] = R[11];
+          ob = (word *)R[7];
+          acc = 5;
+
+        } else {
+
+          R[4] = G(R[1], 4);
+          R[5] = G(R[1], 2);
+          R[3] = cons(R[4], R[5]);
+          R[7] = G(R[1], 6);
+          ob = (word *)R[7];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1112:
+      if (acc == 3) {
+
+        if (R[4] == INULL) {
+
+          R[6] = IFALSE;
+          ob = (word *)R[3];
+          R[3] = R[6];
+          acc = 1;
+
+        } else {
+
+          R[6] = G(R[1], 2);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[4] = R[5];
+          fp[3] = R[3];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 5;
+          ob = (word *)R[6];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1113:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[2], 2);
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[1], 3);
+          R[3] = G(R[1], 2);
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1114:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[6] = F(0);
+        R[7] = R[5];
+        R[5] = R[6];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1115:
+      if (acc == 3) {
+
+        if (R[4] == INULL) {
+
+          ob = (word *)R[3];
+          R[3] = R[4];
+          acc = 1;
+
+        } else {
+
+          R[6] = G(R[1], 2);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[4] = R[3];
+          fp[3] = R[5];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 5;
+          ob = (word *)R[6];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1116:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 3);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[2], 2);
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          assert(pairp(R[4]), R[4], 105);
+          R[5] = G(R[4], 1);
+          R[6] = G(R[4], 2);
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 4);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[8];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[5];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1117:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[5] = 128 * 0 + 258;
+        R[9] = R[4];
+        R[4] = R[3];
+        R[3] = R[7];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1118:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[5] = G(R[2], 4);
+        R[9] = R[4];
+        R[4] = R[3];
+        R[3] = R[7];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1119:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[8] = R[5];
+        R[5] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[5];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1120:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[6] = (word)fp;
+        fp += 4;
+        R[7] = G(R[1], 2);
+        R[5] = 128 * 0 + 258;
+        R[9] = R[4];
+        R[3] = R[6];
+        R[4] = R[7];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1121:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 5);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 2);
+        R[10] = R[5];
+        R[5] = R[6];
+        R[6] = R[7];
+        R[7] = R[4];
+        R[4] = R[10];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1122:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[3];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 6;
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1123:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 2);
+          if (R[4] == INULL) {
+
+            R[5] = G(R[1], 5);
+            R[3] = G(R[1], 3);
+            ob = (word *)R[5];
+            acc = 1;
+
+          } else {
+
+            R[5] = G(R[1], 5);
+            R[6] = G(R[1], 3);
+            R[7] = G(R[1], 4);
+            *fp = make_header(5, TCLOS);
+            fp[1] = G(R[2], 2);
+            fp[4] = R[7];
+            fp[3] = R[6];
+            fp[2] = R[4];
+            R[3] = (word)fp;
+            fp += 5;
+            ob = (word *)R[5];
+            acc = 1;
+
+          }
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          assert(pairp(R[4]), R[4], 105);
+          R[5] = G(R[4], 1);
+          R[6] = G(R[4], 2);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[8];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          R[5] = G(R[1], 3);
+          R[4] = R[6];
+          R[6] = R[7];
+          ob = (word *)R[6];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1124:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 5;
+        ob = (word *)R[4];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1125:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 3);
+          if (R[4] == INULL) {
+
+            R[5] = G(R[1], 5);
+            R[3] = G(R[1], 2);
+            ob = (word *)R[5];
+            acc = 1;
+
+          } else {
+
+            R[5] = G(R[1], 2);
+            R[6] = G(R[1], 4);
+            R[7] = G(R[1], 5);
+            R[8] = G(R[1], 6);
+            *fp = make_header(6, TPROC);
+            fp[1] = G(R[2], 2);
+            fp[5] = R[8];
+            fp[4] = R[7];
+            fp[3] = R[6];
+            fp[2] = R[5];
+            R[3] = (word)fp;
+            fp += 6;
+            ob = (word *)R[4];
+            acc = 1;
+
+          }
+
+        } else {
+
+          R[4] = G(R[1], 3);
+          assert(pairp(R[4]), R[4], 105);
+          R[5] = G(R[4], 1);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          *fp = make_header(6, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = G(R[1], 2);
+          R[4] = R[5];
+          R[5] = R[10];
+          ob = (word *)R[6];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1126:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 2);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[6] = R[7];
+        fp[5] = R[3];
+        fp[4] = R[4];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[4] = R[6];
+        ob = (word *)R[8];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1127:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[3];
+        fp[4] = R[4];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1128:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 4);
+          if (R[4] == INULL) {
+
+            R[5] = G(R[1], 5);
+            R[3] = G(R[1], 2);
+            ob = (word *)R[5];
+            acc = 2;
+
+          } else {
+
+            R[5] = G(R[1], 2);
+            R[6] = G(R[1], 5);
+            R[7] = G(R[1], 3);
+            *fp = make_header(5, TPROC);
+            fp[1] = G(R[2], 2);
+            fp[4] = R[7];
+            fp[3] = R[6];
+            fp[2] = R[5];
+            R[3] = (word)fp;
+            fp += 5;
+            ob = (word *)R[4];
+            acc = 1;
+
+          }
+
+        } else {
+
+          R[4] = G(R[1], 4);
+          assert(pairp(R[4]), R[4], 105);
+          R[5] = G(R[4], 1);
+          R[4] = G(R[4], 2);
+          R[7] = G(R[1], 5);
+          R[3] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1129:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 5;
+        ob = (word *)R[6];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1130:
+      if (acc == 4) {
+
+        if (R[5] == F(0)) {
+
+          R[7] = INULL;
+          R[8] = cons(R[5], R[7]);
+          R[9] = cons(R[4], R[8]);
+          R[10] = G(R[1], 4);
+          R[5] = cons(R[10], R[9]);
+          R[12] = G(R[1], 2);
+          R[4] = G(R[1], 3);
+          ob = (word *)R[12];
+          acc = 3;
+
+        } else {
+
+          {
+
+            word ob = R[4];
+            if (allocp(ob)) ob = V(ob);
+            R[7] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          R[8] = 128 * 84 + 258;
+          if (R[7] == R[8]) {
+
+            {
+
+              word ob = R[5];
+              if (allocp(ob)) ob = V(ob);
+              R[9] = F((hval)ob >> TPOS & 63);
+
+            }
+
+            if (R[9] == R[8]) {
+
+              {
+
+                word *ob = (word *)R[4];
+                hval  hdr;
+                assert(allocp(R[4]), R[4], IFALSE);
+                hdr = *ob;
+                assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+                R[10] = ob[1];
+                R[11] = ob[2];
+
+              }
+
+              {
+
+                word *ob = (word *)R[5];
+                hval  hdr;
+                assert(allocp(R[5]), R[5], IFALSE);
+                hdr = *ob;
+                assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+                R[12] = ob[1];
+                R[13] = ob[2];
+
+              }
+
+              R[14] = G(R[1], 5);
+              *fp = make_header(8, TCLOS);
+              fp[1] = G(R[1], 6);
+              fp[7] = R[3];
+              fp[6] = R[6];
+              fp[5] = R[10];
+              fp[4] = R[13];
+              fp[3] = R[11];
+              fp[2] = R[12];
+              R[3] = (word)fp;
+              fp += 8;
+              R[4] = R[12];
+              R[5] = R[12];
+              ob = (word *)R[14];
+              acc = 3;
+
+            } else {
+
+              {
+
+                word *ob = (word *)R[4];
+                hval  hdr;
+                assert(allocp(R[4]), R[4], IFALSE);
+                hdr = *ob;
+                assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+                R[10] = ob[1];
+                R[11] = ob[2];
+
+              }
+
+              R[12] = G(R[1], 5);
+              *fp = make_header(7, TCLOS);
+              fp[1] = G(R[1], 7);
+              fp[6] = R[3];
+              fp[5] = R[6];
+              fp[4] = R[11];
+              fp[3] = R[5];
+              fp[2] = R[10];
+              R[3] = (word)fp;
+              fp += 7;
+              R[4] = R[5];
+              ob = (word *)R[12];
+              acc = 3;
+
+            }
+
+          } else {
+
+            {
+
+              word ob = R[5];
+              if (allocp(ob)) ob = V(ob);
+              R[9] = F((hval)ob >> TPOS & 63);
+
+            }
+
+            if (R[9] == R[8]) {
+
+              {
+
+                word *ob = (word *)R[5];
+                hval  hdr;
+                assert(allocp(R[5]), R[5], IFALSE);
+                hdr = *ob;
+                assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+                R[10] = ob[1];
+                R[11] = ob[2];
+
+              }
+
+              R[12] = G(R[1], 5);
+              *fp = make_header(7, TCLOS);
+              fp[1] = G(R[1], 8);
+              fp[6] = R[3];
+              fp[5] = R[6];
+              fp[4] = R[4];
+              fp[3] = R[11];
+              fp[2] = R[10];
+              R[3] = (word)fp;
+              fp += 7;
+              R[4] = R[10];
+              R[5] = R[10];
+              ob = (word *)R[12];
+              acc = 3;
+
+            } else {
+
+              {
+
+                word ob = R[4];
+                if (allocp(ob)) ob = V(ob);
+                R[10] = F((hval)ob >> TPOS & 63);
+
+              }
+
+              R[11] = 128 * 82 + 258;
+              if (R[10] == R[11]) {
+
+                {
+
+                  word ob = R[5];
+                  if (allocp(ob)) ob = V(ob);
+                  R[12] = F((hval)ob >> TPOS & 63);
+
+                }
+
+                if (R[12] == R[11]) {
+
+                  R[13] = 128 * 0 + 258;
+                  R[14] = prim_ref(R[4], R[13]);
+                  R[15] = 128 * 2 + 258;
+                  R[16] = prim_ref(R[5], R[15]);
+                  R[17] = G(R[1], 5);
+                  *fp = make_header(6, TCLOS);
+                  fp[1] = G(R[1], 9);
+                  fp[5] = R[6];
+                  fp[4] = R[3];
+                  fp[3] = R[5];
+                  fp[2] = R[4];
+                  R[3] = (word)fp;
+                  fp += 6;
+                  R[4] = R[14];
+                  R[5] = R[16];
+                  ob = (word *)R[17];
+                  acc = 3;
+
+                } else {
+
+                  R[13] = 128 * 0 + 258;
+                  R[14] = prim_ref(R[4], R[13]);
+                  R[15] = 128 * 2 + 258;
+                  R[4] = prim_ref(R[4], R[15]);
+                  R[17] = G(R[1], 5);
+                  *fp = make_header(4, TCLOS);
+                  fp[1] = G(R[1], 10);
+                  fp[3] = R[3];
+                  fp[2] = R[14];
+                  R[3] = (word)fp;
+                  fp += 4;
+                  ob = (word *)R[17];
+                  acc = 3;
+
+                }
+
+              } else {
+
+                {
+
+                  word ob = R[5];
+                  if (allocp(ob)) ob = V(ob);
+                  R[12] = F((hval)ob >> TPOS & 63);
+
+                }
+
+                if (R[12] == R[11]) {
+
+                  R[13] = 128 * 2 + 258;
+                  R[14] = prim_ref(R[5], R[13]);
+                  R[15] = G(R[1], 5);
+                  *fp = make_header(4, TCLOS);
+                  fp[1] = G(R[1], 11);
+                  fp[3] = R[3];
+                  fp[2] = R[5];
+                  R[3] = (word)fp;
+                  fp += 4;
+                  R[5] = R[14];
+                  ob = (word *)R[15];
+                  acc = 3;
+
+                } else {
+
+                  R[13] = G(R[1], 12);
+                  ob = (word *)R[13];
+                  acc = 3;
+
+                }
+
+              }
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1131:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = 128 * 2 + 258;
+        R[6] = prim_ref(R[4], R[5]);
+        R[7] = G(R[1], 3);
+        R[8] = 128 * 0 + 258;
+        R[5] = prim_ref(R[7], R[8]);
+        R[10] = G(R[2], 2);
+        R[11] = G(R[1], 4);
+        R[12] = G(R[1], 5);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[12];
+        fp[3] = R[11];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 5;
+        R[4] = R[6];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1132:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 8;
+        R[8] = R[4];
+        R[4] = R[6];
+        R[5] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1133:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[5] = G(R[1], 2);
+        R[8] = R[4];
+        R[4] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1134:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 6;
+        R[10] = F(0);
+        R[8] = R[4];
+        R[5] = R[3];
+        R[3] = R[9];
+        R[4] = R[10];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1135:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[10] = G(R[1], 2);
+        R[8] = R[4];
+        R[4] = R[10];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1136:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 5);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 6);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[6] = R[8];
+        fp[5] = R[4];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 7;
+        R[6] = R[4];
+        R[4] = R[3];
+        R[5] = R[7];
+        R[3] = R[9];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1137:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[11] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[11];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1138:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 9;
+        R[8] = R[4];
+        R[4] = R[7];
+        R[5] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1139:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[3];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 9;
+        R[9] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1140:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 7);
+        R[11] = G(R[1], 8);
+        *fp = make_header(10, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[9] = R[11];
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 10;
+        R[8] = R[4];
+        R[4] = R[6];
+        R[5] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1141:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        R[11] = G(R[1], 9);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[11];
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[12] = (word)fp;
+        fp += 9;
+        R[13] = G(R[1], 2);
+        R[8] = R[4];
+        R[5] = R[3];
+        R[3] = R[12];
+        R[4] = R[13];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1142:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 7);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        R[10] = G(R[1], 8);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[8] = R[10];
+        fp[7] = R[4];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[11] = (word)fp;
+        fp += 9;
+        R[6] = R[4];
+        R[4] = R[3];
+        R[5] = R[9];
+        R[3] = R[11];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1143:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        R[8] = G(R[1], 7);
+        R[9] = G(R[1], 8);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[9];
+        fp[6] = R[3];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 8;
+        R[11] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[8] = R[4];
+        R[4] = R[11];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1144:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        R[8] = G(R[1], 7);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 7;
+        R[10] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[8] = R[4];
+        R[4] = R[10];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1145:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[5] = G(R[1], 2);
+        R[6] = R[4];
+        R[4] = R[3];
+        R[3] = R[7];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1146:
+      if (acc == 4) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[7] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[8] = F(0);
+        R[9] = BOOL(R[7] == R[8]);
+        if (R[9] == IFALSE) {
+
+          R[10] = 128 * 62 + 258;
+          R[11] = BOOL(R[7] == R[10]);
+          if (R[11] == IFALSE) {
+
+            R[12] = 128 * 78 + 258;
+            R[13] = BOOL(R[7] == R[12]);
+            if (R[13] == IFALSE) {
+
+              R[14] = 128 * 80 + 258;
+              R[15] = BOOL(R[7] == R[14]);
+              if (R[15] == IFALSE) {
+
+                R[16] = 128 * 82 + 258;
+                R[17] = BOOL(R[7] == R[16]);
+                if (R[17] == IFALSE) {
+
+                  R[18] = 128 * 84 + 258;
+                  R[19] = BOOL(R[7] == R[18]);
+                  if (R[19] == IFALSE) {
+
+                    R[20] = G(R[1], 2);
+                    ob = (word *)R[20];
+                    acc = 3;
+
+                  } else {
+
+                    {
+
+                      word ob = R[5];
+                      if (allocp(ob)) ob = V(ob);
+                      R[20] = F((hval)ob >> TPOS & 63);
+
+                    }
+
+                    if (R[20] == R[18]) {
+
+                      {
+
+                        word *ob = (word *)R[4];
+                        hval  hdr;
+                        assert(allocp(R[4]), R[4], IFALSE);
+                        hdr = *ob;
+                        assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+                        R[21] = ob[1];
+                        R[22] = ob[2];
+
+                      }
+
+                      {
+
+                        word *ob = (word *)R[5];
+                        hval  hdr;
+                        assert(allocp(R[5]), R[5], IFALSE);
+                        hdr = *ob;
+                        assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+                        R[23] = ob[1];
+                        R[24] = ob[2];
+
+                      }
+
+                      *fp = make_header(8, TCLOS);
+                      fp[1] = G(R[1], 3);
+                      fp[7] = R[3];
+                      fp[6] = R[6];
+                      fp[5] = R[21];
+                      fp[4] = R[24];
+                      fp[3] = R[22];
+                      fp[2] = R[23];
+                      R[3] = (word)fp;
+                      fp += 8;
+                      R[4] = R[21];
+                      R[5] = R[23];
+                      ob = (word *)R[6];
+                      acc = 4;
+
+                    } else {
+
+                      {
+
+                        word *ob = (word *)R[4];
+                        hval  hdr;
+                        assert(allocp(R[4]), R[4], IFALSE);
+                        hdr = *ob;
+                        assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+                        R[21] = ob[1];
+                        R[22] = ob[2];
+
+                      }
+
+                      *fp = make_header(6, TCLOS);
+                      fp[1] = G(R[1], 4);
+                      fp[5] = R[3];
+                      fp[4] = R[6];
+                      fp[3] = R[22];
+                      fp[2] = R[5];
+                      R[3] = (word)fp;
+                      fp += 6;
+                      R[4] = R[21];
+                      ob = (word *)R[6];
+                      acc = 4;
+
+                    }
+
+                  }
+
+                } else {
+
+                  {
+
+                    word ob = R[5];
+                    if (allocp(ob)) ob = V(ob);
+                    R[18] = F((hval)ob >> TPOS & 63);
+
+                  }
+
+                  R[19] = BOOL(R[18] == R[16]);
+                  if (R[19] == IFALSE) {
+
+                    R[20] = 128 * 84 + 258;
+                    R[21] = BOOL(R[18] == R[20]);
+                    if (R[21] == IFALSE) {
+
+                      R[22] = 128 * 0 + 258;
+                      R[23] = prim_ref(R[4], R[22]);
+                      *fp = make_header(4, TCLOS);
+                      fp[1] = G(R[1], 5);
+                      fp[3] = R[3];
+                      fp[2] = R[4];
+                      R[3] = (word)fp;
+                      fp += 4;
+                      R[4] = R[23];
+                      ob = (word *)R[6];
+                      acc = 4;
+
+                    } else {
+
+                      {
+
+                        word *ob = (word *)R[5];
+                        hval  hdr;
+                        assert(allocp(R[5]), R[5], IFALSE);
+                        hdr = *ob;
+                        assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+                        R[22] = ob[1];
+                        R[23] = ob[2];
+
+                      }
+
+                      *fp = make_header(6, TCLOS);
+                      fp[1] = G(R[1], 6);
+                      fp[5] = R[3];
+                      fp[4] = R[6];
+                      fp[3] = R[4];
+                      fp[2] = R[23];
+                      R[3] = (word)fp;
+                      fp += 6;
+                      R[5] = R[22];
+                      ob = (word *)R[6];
+                      acc = 4;
+
+                    }
+
+                  } else {
+
+                    R[20] = 128 * 0 + 258;
+                    R[21] = prim_ref(R[4], R[20]);
+                    R[22] = prim_ref(R[5], R[20]);
+                    *fp = make_header(6, TCLOS);
+                    fp[1] = G(R[1], 7);
+                    fp[5] = R[3];
+                    fp[4] = R[6];
+                    fp[3] = R[5];
+                    fp[2] = R[4];
+                    R[3] = (word)fp;
+                    fp += 6;
+                    R[4] = R[21];
+                    R[5] = R[22];
+                    ob = (word *)R[6];
+                    acc = 4;
+
+                  }
+
+                }
+
+              } else {
+
+                {
+
+                  word ob = R[5];
+                  if (allocp(ob)) ob = V(ob);
+                  R[16] = F((hval)ob >> TPOS & 63);
+
+                }
+
+                R[17] = 128 * 82 + 258;
+                R[18] = BOOL(R[16] == R[17]);
+                if (R[18] == IFALSE) {
+
+                  R[19] = 128 * 84 + 258;
+                  R[20] = BOOL(R[16] == R[19]);
+                  if (R[20] == IFALSE) {
+
+                    R[21] = G(R[1], 2);
+                    ob = (word *)R[21];
+                    acc = 3;
+
+                  } else {
+
+                    {
+
+                      word *ob = (word *)R[5];
+                      hval  hdr;
+                      assert(allocp(R[5]), R[5], IFALSE);
+                      hdr = *ob;
+                      assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+                      R[21] = ob[1];
+                      R[22] = ob[2];
+
+                    }
+
+                    *fp = make_header(6, TCLOS);
+                    fp[1] = G(R[1], 8);
+                    fp[5] = R[3];
+                    fp[4] = R[6];
+                    fp[3] = R[4];
+                    fp[2] = R[22];
+                    R[3] = (word)fp;
+                    fp += 6;
+                    R[5] = R[21];
+                    ob = (word *)R[6];
+                    acc = 4;
+
+                  }
+
+                } else {
+
+                  R[19] = 128 * 0 + 258;
+                  R[20] = prim_ref(R[5], R[19]);
+                  *fp = make_header(4, TCLOS);
+                  fp[1] = G(R[1], 9);
+                  fp[3] = R[3];
+                  fp[2] = R[5];
+                  R[3] = (word)fp;
+                  fp += 4;
+                  R[5] = R[20];
+                  ob = (word *)R[6];
+                  acc = 4;
+
+                }
+
+              }
+
+            } else {
+
+              {
+
+                word ob = R[5];
+                if (allocp(ob)) ob = V(ob);
+                R[14] = F((hval)ob >> TPOS & 63);
+
+              }
+
+              R[15] = 128 * 82 + 258;
+              R[16] = BOOL(R[14] == R[15]);
+              if (R[16] == IFALSE) {
+
+                R[17] = 128 * 84 + 258;
+                R[18] = BOOL(R[14] == R[17]);
+                if (R[18] == IFALSE) {
+
+                  R[19] = G(R[1], 2);
+                  ob = (word *)R[19];
+                  acc = 3;
+
+                } else {
+
+                  {
+
+                    word *ob = (word *)R[5];
+                    hval  hdr;
+                    assert(allocp(R[5]), R[5], IFALSE);
+                    hdr = *ob;
+                    assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+                    R[19] = ob[1];
+                    R[20] = ob[2];
+
+                  }
+
+                  *fp = make_header(6, TCLOS);
+                  fp[1] = G(R[1], 10);
+                  fp[5] = R[3];
+                  fp[4] = R[6];
+                  fp[3] = R[4];
+                  fp[2] = R[20];
+                  R[3] = (word)fp;
+                  fp += 6;
+                  R[5] = R[19];
+                  ob = (word *)R[6];
+                  acc = 4;
+
+                }
+
+              } else {
+
+                R[17] = 128 * 0 + 258;
+                R[18] = prim_ref(R[5], R[17]);
+                *fp = make_header(4, TCLOS);
+                fp[1] = G(R[1], 11);
+                fp[3] = R[3];
+                fp[2] = R[5];
+                R[3] = (word)fp;
+                fp += 4;
+                R[5] = R[18];
+                ob = (word *)R[6];
+                acc = 4;
+
+              }
+
+            }
+
+          } else {
+
+            {
+
+              word ob = R[5];
+              if (allocp(ob)) ob = V(ob);
+              R[12] = F((hval)ob >> TPOS & 63);
+
+            }
+
+            R[13] = 128 * 82 + 258;
+            R[14] = BOOL(R[12] == R[13]);
+            if (R[14] == IFALSE) {
+
+              R[15] = 128 * 84 + 258;
+              R[16] = BOOL(R[12] == R[15]);
+              if (R[16] == IFALSE) {
+
+                R[17] = G(R[1], 2);
+                ob = (word *)R[17];
+                acc = 3;
+
+              } else {
+
+                {
+
+                  word *ob = (word *)R[5];
+                  hval  hdr;
+                  assert(allocp(R[5]), R[5], IFALSE);
+                  hdr = *ob;
+                  assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+                  R[17] = ob[1];
+                  R[18] = ob[2];
+
+                }
+
+                *fp = make_header(6, TCLOS);
+                fp[1] = G(R[1], 12);
+                fp[5] = R[3];
+                fp[4] = R[6];
+                fp[3] = R[4];
+                fp[2] = R[18];
+                R[3] = (word)fp;
+                fp += 6;
+                R[5] = R[17];
+                ob = (word *)R[6];
+                acc = 4;
+
+              }
+
+            } else {
+
+              R[15] = 128 * 0 + 258;
+              R[16] = prim_ref(R[5], R[15]);
+              *fp = make_header(4, TCLOS);
+              fp[1] = G(R[1], 13);
+              fp[3] = R[3];
+              fp[2] = R[5];
+              R[3] = (word)fp;
+              fp += 4;
+              R[5] = R[16];
+              ob = (word *)R[6];
+              acc = 4;
+
+            }
+
+          }
+
+        } else {
+
+          {
+
+            word ob = R[5];
+            if (allocp(ob)) ob = V(ob);
+            R[10] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          R[11] = 128 * 82 + 258;
+          R[12] = BOOL(R[10] == R[11]);
+          if (R[12] == IFALSE) {
+
+            R[13] = 128 * 84 + 258;
+            R[14] = BOOL(R[10] == R[13]);
+            if (R[14] == IFALSE) {
+
+              R[15] = G(R[1], 2);
+              ob = (word *)R[15];
+              acc = 3;
+
+            } else {
+
+              {
+
+                word *ob = (word *)R[5];
+                hval  hdr;
+                assert(allocp(R[5]), R[5], IFALSE);
+                hdr = *ob;
+                assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+                R[15] = ob[1];
+                R[16] = ob[2];
+
+              }
+
+              *fp = make_header(6, TCLOS);
+              fp[1] = G(R[1], 14);
+              fp[5] = R[3];
+              fp[4] = R[6];
+              fp[3] = R[4];
+              fp[2] = R[16];
+              R[3] = (word)fp;
+              fp += 6;
+              R[5] = R[15];
+              ob = (word *)R[6];
+              acc = 4;
+
+            }
+
+          } else {
+
+            R[13] = 128 * 0 + 258;
+            R[14] = prim_ref(R[5], R[13]);
+            *fp = make_header(4, TCLOS);
+            fp[1] = G(R[1], 15);
+            fp[3] = R[3];
+            fp[2] = R[5];
+            R[3] = (word)fp;
+            fp += 4;
+            R[5] = R[14];
+            ob = (word *)R[6];
+            acc = 4;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1147:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = 128 * 2 + 258;
+        R[6] = prim_ref(R[4], R[5]);
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 3);
+        R[4] = R[3];
+        R[5] = R[6];
+        R[3] = R[8];
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1148:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 6);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 7);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[8] = R[9];
+        fp[7] = R[4];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 9;
+        R[9] = R[6];
+        R[6] = R[4];
+        R[5] = R[7];
+        R[4] = R[9];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1149:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[11] = (word)fp;
+        fp += 8;
+        R[12] = G(R[1], 2);
+        R[8] = R[4];
+        R[5] = R[3];
+        R[3] = R[11];
+        R[4] = R[12];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1150:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 6);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 7);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[6] = R[7];
+        fp[5] = R[3];
+        fp[4] = R[4];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[9] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[6] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1151:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 6);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[7] = (word)fp;
+        fp += 5;
+        R[8] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[6] = R[4];
+        R[3] = R[7];
+        R[4] = R[8];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1152:
+      if (acc == 3) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[6] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[7] = 128 * 84 + 258;
+        if (R[6] == R[7]) {
+
+          {
+
+            word ob = R[5];
+            if (allocp(ob)) ob = V(ob);
+            R[8] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          if (R[8] == R[7]) {
+
+            {
+
+              word *ob = (word *)R[4];
+              hval  hdr;
+              assert(allocp(R[4]), R[4], IFALSE);
+              hdr = *ob;
+              assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+              R[9] = ob[1];
+              R[10] = ob[2];
+
+            }
+
+            {
+
+              word *ob = (word *)R[5];
+              hval  hdr;
+              assert(allocp(R[5]), R[5], IFALSE);
+              hdr = *ob;
+              assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+              R[11] = ob[1];
+              R[12] = ob[2];
+
+            }
+
+            R[13] = G(R[1], 2);
+            R[4] = R[9];
+            R[5] = R[10];
+            R[6] = R[11];
+            R[7] = R[12];
+            ob = (word *)R[13];
+            acc = 5;
+
+          } else {
+
+            {
+
+              word *ob = (word *)R[4];
+              hval  hdr;
+              assert(allocp(R[4]), R[4], IFALSE);
+              hdr = *ob;
+              assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+              R[9] = ob[1];
+              R[10] = ob[2];
+
+            }
+
+            R[11] = G(R[1], 2);
+            R[7] = F(0);
+            R[6] = R[5];
+            R[4] = R[9];
+            R[5] = R[10];
+            ob = (word *)R[11];
+            acc = 5;
+
+          }
+
+        } else {
+
+          {
+
+            word *ob = (word *)R[5];
+            hval  hdr;
+            assert(allocp(R[5]), R[5], IFALSE);
+            hdr = *ob;
+            assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+            R[8] = ob[1];
+            R[9] = ob[2];
+
+          }
+
+          R[10] = G(R[1], 2);
+          R[5] = F(0);
+          R[6] = R[8];
+          R[7] = R[9];
+          ob = (word *)R[10];
+          acc = 5;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1153:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 5;
+        R[4] = R[5];
+        R[5] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1154:
+      if (acc == 1) {
+
+        if (R[3] == F(0)) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 2);
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[5];
+          fp[2] = R[3];
+          R[6] = (word)fp;
+          fp += 4;
+          R[7] = G(R[1], 3);
+          R[5] = G(R[1], 2);
+          R[9] = R[4];
+          R[3] = R[6];
+          R[4] = R[7];
+          ob = (word *)R[9];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1155:
+      if (acc == 3) {
+
+        {
+
+          word ob = R[5];
+          if (allocp(ob)) ob = V(ob);
+          R[6] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[7] = 128 * 84 + 258;
+        if (R[6] == R[7]) {
+
+          {
+
+            word *ob = (word *)R[4];
+            hval  hdr;
+            assert(allocp(R[4]), R[4], IFALSE);
+            hdr = *ob;
+            assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+            R[8] = ob[1];
+            R[9] = ob[2];
+
+          }
+
+          {
+
+            word *ob = (word *)R[5];
+            hval  hdr;
+            assert(allocp(R[5]), R[5], IFALSE);
+            hdr = *ob;
+            assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+            R[10] = ob[1];
+            R[11] = ob[2];
+
+          }
+
+          R[12] = G(R[1], 2);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[4] = R[3];
+          fp[3] = R[9];
+          fp[2] = R[11];
+          R[3] = (word)fp;
+          fp += 5;
+          R[4] = R[8];
+          R[5] = R[10];
+          ob = (word *)R[12];
+          acc = 3;
+
+        } else {
+
+          {
+
+            word *ob = (word *)R[4];
+            hval  hdr;
+            assert(allocp(R[4]), R[4], IFALSE);
+            hdr = *ob;
+            assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+            R[8] = ob[1];
+            R[9] = ob[2];
+
+          }
+
+          R[10] = G(R[1], 2);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[1], 4);
+          fp[3] = R[3];
+          fp[2] = R[9];
+          R[3] = (word)fp;
+          fp += 4;
+          R[4] = R[8];
+          ob = (word *)R[10];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1156:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        *fp = make_header(3, 43);
+        fp[1] = R[3];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 3;
+        R[6] = G(R[1], 3);
+        ob = (word *)R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1157:
+      if (acc == 1) {
+
+        if (R[3] == F(0)) {
+
+          R[4] = G(R[1], 3);
+          R[3] = G(R[1], 2);
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          *fp = make_header(3, 43);
+          fp[1] = R[4];
+          fp[2] = R[3];
+          R[3] = (word)fp;
+          fp += 3;
+          R[6] = G(R[1], 3);
+          ob = (word *)R[6];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1158:
+      if (acc == 4) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[7] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[8] = F(0);
+        R[9] = BOOL(R[7] == R[8]);
+        if (R[9] == IFALSE) {
+
+          R[10] = 128 * 62 + 258;
+          R[11] = BOOL(R[7] == R[10]);
+          if (R[11] == IFALSE) {
+
+            R[12] = 128 * 78 + 258;
+            R[13] = BOOL(R[7] == R[12]);
+            if (R[13] == IFALSE) {
+
+              R[14] = 128 * 80 + 258;
+              R[15] = BOOL(R[7] == R[14]);
+              if (R[15] == IFALSE) {
+
+                R[16] = 128 * 82 + 258;
+                R[17] = BOOL(R[7] == R[16]);
+                if (R[17] == IFALSE) {
+
+                  R[18] = 128 * 84 + 258;
+                  R[19] = BOOL(R[7] == R[18]);
+                  if (R[19] == IFALSE) {
+
+                    R[20] = G(R[1], 2);
+                    R[21] = G(R[1], 3);
+                    R[6] = R[5];
+                    R[5] = R[4];
+                    R[4] = R[21];
+                    ob = (word *)R[20];
+                    acc = 4;
+
+                  } else {
+
+                    {
+
+                      word ob = R[5];
+                      if (allocp(ob)) ob = V(ob);
+                      R[20] = F((hval)ob >> TPOS & 63);
+
+                    }
+
+                    if (R[20] == R[18]) {
+
+                      R[21] = 128 * 0 + 258;
+                      R[22] = prim_ref(R[4], R[21]);
+                      R[23] = prim_ref(R[5], R[21]);
+                      *fp = make_header(6, TPROC);
+                      fp[1] = G(R[1], 4);
+                      fp[5] = R[6];
+                      fp[4] = R[3];
+                      fp[3] = R[5];
+                      fp[2] = R[4];
+                      R[3] = (word)fp;
+                      fp += 6;
+                      R[4] = R[22];
+                      R[5] = R[23];
+                      ob = (word *)R[6];
+                      acc = 4;
+
+                    } else {
+
+                      R[21] = IFALSE;
+                      ob = (word *)R[3];
+                      R[3] = R[21];
+                      acc = 1;
+
+                    }
+
+                  }
+
+                } else {
+
+                  {
+
+                    word ob = R[5];
+                    if (allocp(ob)) ob = V(ob);
+                    R[18] = F((hval)ob >> TPOS & 63);
+
+                  }
+
+                  R[19] = BOOL(R[18] == R[16]);
+                  if (R[19] == IFALSE) {
+
+                    R[20] = IFALSE;
+                    ob = (word *)R[3];
+                    R[3] = R[20];
+                    acc = 1;
+
+                  } else {
+
+                    R[20] = 128 * 0 + 258;
+                    R[21] = prim_ref(R[4], R[20]);
+                    R[22] = prim_ref(R[5], R[20]);
+                    *fp = make_header(6, TPROC);
+                    fp[1] = G(R[1], 5);
+                    fp[5] = R[6];
+                    fp[4] = R[3];
+                    fp[3] = R[5];
+                    fp[2] = R[4];
+                    R[3] = (word)fp;
+                    fp += 6;
+                    R[4] = R[21];
+                    R[5] = R[22];
+                    ob = (word *)R[6];
+                    acc = 4;
+
+                  }
+
+                }
+
+              } else {
+
+                {
+
+                  word ob = R[5];
+                  if (allocp(ob)) ob = V(ob);
+                  R[16] = F((hval)ob >> TPOS & 63);
+
+                }
+
+                R[17] = BOOL(R[16] == R[14]);
+                if (R[17] == IFALSE) {
+
+                  R[18] = IFALSE;
+                  ob = (word *)R[3];
+                  R[3] = R[18];
+                  acc = 1;
+
+                } else {
+
+                  R[18] = G(R[1], 6);
+                  ob = (word *)R[18];
+                  acc = 3;
+
+                }
+
+              }
+
+            } else {
+
+              {
+
+                word ob = R[5];
+                if (allocp(ob)) ob = V(ob);
+                R[14] = F((hval)ob >> TPOS & 63);
+
+              }
+
+              R[15] = BOOL(R[14] == R[12]);
+              if (R[15] == IFALSE) {
+
+                R[16] = IFALSE;
+                ob = (word *)R[3];
+                R[3] = R[16];
+                acc = 1;
+
+              } else {
+
+                R[16] = G(R[1], 6);
+                ob = (word *)R[16];
+                acc = 3;
+
+              }
+
+            }
+
+          } else {
+
+            R[12] = BOOL(R[4] == R[5]);
+            ob = (word *)R[3];
+            R[3] = R[12];
+            acc = 1;
+
+          }
+
+        } else {
+
+          R[10] = BOOL(R[4] == R[5]);
+          ob = (word *)R[3];
+          R[3] = R[10];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1159:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 4);
+          R[3] = IFALSE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          R[5] = 128 * 2 + 258;
+          R[6] = prim_ref(R[4], R[5]);
+          R[7] = G(R[1], 3);
+          R[5] = prim_ref(R[7], R[5]);
+          R[9] = G(R[1], 5);
+          R[3] = G(R[1], 4);
+          R[4] = R[6];
+          R[6] = R[9];
+          ob = (word *)R[6];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1160:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 3;
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1161:
+      if (acc == 4) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[7] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[8] = 128 * 82 + 258;
+        if (R[7] == R[8]) {
+
+          {
+
+            word ob = R[5];
+            if (allocp(ob)) ob = V(ob);
+            R[9] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          R[10] = BOOL(R[9] == R[8]);
+          if (R[10] == IFALSE) {
+
+            R[11] = F(0);
+            R[12] = BOOL(R[9] == R[11]);
+            if (R[12] == IFALSE) {
+
+              R[13] = 128 * 62 + 258;
+              R[14] = BOOL(R[9] == R[13]);
+              if (R[14] == IFALSE) {
+
+                R[15] = 128 * 78 + 258;
+                R[16] = BOOL(R[9] == R[15]);
+                if (R[16] == IFALSE) {
+
+                  R[17] = 128 * 80 + 258;
+                  R[18] = BOOL(R[9] == R[17]);
+                  if (R[18] == IFALSE) {
+
+                    R[19] = G(R[1], 2);
+                    ob = (word *)R[19];
+                    acc = 3;
+
+                  } else {
+
+                    R[19] = G(R[2], 2);
+                    ob = (word *)R[19];
+                    acc = 3;
+
+                  }
+
+                } else {
+
+                  R[17] = G(R[2], 2);
+                  ob = (word *)R[17];
+                  acc = 3;
+
+                }
+
+              } else {
+
+                R[15] = G(R[2], 2);
+                ob = (word *)R[15];
+                acc = 3;
+
+              }
+
+            } else {
+
+              R[13] = G(R[2], 2);
+              ob = (word *)R[13];
+              acc = 3;
+
+            }
+
+          } else {
+
+            R[11] = 128 * 2 + 258;
+            R[12] = prim_ref(R[4], R[11]);
+            R[13] = prim_ref(R[5], R[11]);
+            if (R[12] == R[13]) {
+
+              R[14] = 128 * 0 + 258;
+              R[4] = prim_ref(R[4], R[14]);
+              R[5] = prim_ref(R[5], R[14]);
+              R[17] = G(R[2], 3);
+              *fp = make_header(4, TCLOS);
+              fp[1] = G(R[2], 4);
+              fp[3] = R[3];
+              fp[2] = R[12];
+              R[3] = (word)fp;
+              fp += 4;
+              ob = (word *)R[17];
+              acc = 3;
+
+            } else {
+
+              R[14] = 128 * 0 + 258;
+              R[4] = prim_ref(R[4], R[14]);
+              R[16] = prim_ref(R[5], R[14]);
+              R[17] = G(R[2], 5);
+              *fp = make_header(6, TCLOS);
+              fp[1] = G(R[2], 6);
+              fp[5] = R[3];
+              fp[4] = R[12];
+              fp[3] = R[13];
+              fp[2] = R[16];
+              R[3] = (word)fp;
+              fp += 6;
+              R[5] = R[13];
+              ob = (word *)R[17];
+              acc = 3;
+
+            }
+
+          }
+
+        } else {
+
+          {
+
+            word ob = R[5];
+            if (allocp(ob)) ob = V(ob);
+            R[9] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          if (R[9] == R[8]) {
+
+            {
+
+              word ob = R[4];
+              if (allocp(ob)) ob = V(ob);
+              R[10] = F((hval)ob >> TPOS & 63);
+
+            }
+
+            R[11] = F(0);
+            R[12] = BOOL(R[10] == R[11]);
+            if (R[12] == IFALSE) {
+
+              R[13] = 128 * 62 + 258;
+              R[14] = BOOL(R[10] == R[13]);
+              if (R[14] == IFALSE) {
+
+                R[15] = 128 * 78 + 258;
+                R[16] = BOOL(R[10] == R[15]);
+                if (R[16] == IFALSE) {
+
+                  R[17] = 128 * 80 + 258;
+                  R[18] = BOOL(R[10] == R[17]);
+                  if (R[18] == IFALSE) {
+
+                    R[19] = G(R[1], 2);
+                    ob = (word *)R[19];
+                    acc = 3;
+
+                  } else {
+
+                    R[19] = G(R[2], 7);
+                    ob = (word *)R[19];
+                    acc = 3;
+
+                  }
+
+                } else {
+
+                  R[17] = G(R[2], 7);
+                  ob = (word *)R[17];
+                  acc = 3;
+
+                }
+
+              } else {
+
+                R[15] = G(R[2], 7);
+                ob = (word *)R[15];
+                acc = 3;
+
+              }
+
+            } else {
+
+              R[13] = G(R[2], 7);
+              ob = (word *)R[13];
+              acc = 3;
+
+            }
+
+          } else {
+
+            R[10] = G(R[1], 2);
+            ob = (word *)R[10];
+            acc = 3;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1162:
+      if (acc == 3) {
+
+        {
+
+          word *ob = (word *)R[5];
+          hval  hdr;
+          assert(allocp(R[5]), R[5], IFALSE);
+          hdr = *ob;
+          assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+          R[6] = ob[1];
+          R[7] = ob[2];
+
+        }
+
+        R[8] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[3];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 5;
+        R[5] = R[4];
+        R[4] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1163:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[5] = G(R[1], 2);
+        R[9] = R[4];
+        R[4] = R[3];
+        R[3] = R[7];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1164:
+      if (acc == 3) {
+
+        {
+
+          word *ob = (word *)R[4];
+          hval  hdr;
+          assert(allocp(R[4]), R[4], IFALSE);
+          hdr = *ob;
+          assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+          R[6] = ob[1];
+          R[7] = ob[2];
+
+        }
+
+        R[8] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[3];
+        fp[3] = R[7];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 5;
+        R[4] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1165:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        *fp = make_header(3, 42);
+        fp[1] = R[3];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 3;
+        R[6] = G(R[1], 3);
+        ob = (word *)R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1166:
+      if (acc == 3) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[6] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[7] = 128 * 82 + 258;
+        if (R[6] == R[7]) {
+
+          {
+
+            word ob = R[5];
+            if (allocp(ob)) ob = V(ob);
+            R[8] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          R[9] = BOOL(R[8] == R[7]);
+          if (R[9] == IFALSE) {
+
+            R[10] = 128 * 84 + 258;
+            R[11] = BOOL(R[8] == R[10]);
+            if (R[11] == IFALSE) {
+
+              R[12] = 128 * 0 + 258;
+              R[13] = prim_ref(R[4], R[12]);
+              R[14] = 128 * 2 + 258;
+              R[15] = prim_ref(R[4], R[14]);
+              R[16] = G(R[2], 2);
+              *fp = make_header(5, TCLOS);
+              fp[1] = G(R[2], 3);
+              fp[4] = R[3];
+              fp[3] = R[4];
+              fp[2] = R[13];
+              R[3] = (word)fp;
+              fp += 5;
+              R[4] = R[5];
+              R[5] = R[15];
+              ob = (word *)R[16];
+              acc = 3;
+
+            } else {
+
+              R[12] = G(R[1], 2);
+              R[8] = R[5];
+              R[5] = R[4];
+              R[4] = R[8];
+              ob = (word *)R[12];
+              acc = 3;
+
+            }
+
+          } else {
+
+            R[10] = 128 * 2 + 258;
+            R[11] = prim_ref(R[4], R[10]);
+            R[12] = prim_ref(R[5], R[10]);
+            if (R[11] == R[12]) {
+
+              R[13] = 128 * 0 + 258;
+              R[4] = prim_ref(R[4], R[13]);
+              R[5] = prim_ref(R[5], R[13]);
+              R[16] = G(R[2], 4);
+              *fp = make_header(4, TCLOS);
+              fp[1] = G(R[2], 5);
+              fp[3] = R[3];
+              fp[2] = R[11];
+              R[3] = (word)fp;
+              fp += 4;
+              ob = (word *)R[16];
+              acc = 3;
+
+            } else {
+
+              R[13] = 128 * 0 + 258;
+              R[4] = prim_ref(R[4], R[13]);
+              R[15] = prim_ref(R[5], R[13]);
+              R[16] = G(R[2], 2);
+              *fp = make_header(6, TCLOS);
+              fp[1] = G(R[2], 6);
+              fp[5] = R[3];
+              fp[4] = R[11];
+              fp[3] = R[12];
+              fp[2] = R[15];
+              R[3] = (word)fp;
+              fp += 6;
+              R[5] = R[12];
+              ob = (word *)R[16];
+              acc = 3;
+
+            }
+
+          }
+
+        } else {
+
+          R[8] = G(R[1], 2);
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1167:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = G(R[1], 2);
+        R[10] = R[4];
+        R[5] = R[6];
+        R[4] = R[9];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1168:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[8] = (word)fp;
+        fp += 5;
+        R[9] = G(R[1], 2);
+        R[10] = R[4];
+        R[5] = R[3];
+        R[3] = R[8];
+        R[4] = R[9];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1169:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[6] = (word)fp;
+        fp += 4;
+        R[7] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[9] = R[4];
+        R[3] = R[6];
+        R[4] = R[7];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1170:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = 128 * 2 + 258;
+        R[6] = prim_ref(R[4], R[5]);
+        *fp = make_header(3, 42);
+        fp[1] = R[3];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 3;
+        R[8] = G(R[1], 3);
+        ob = (word *)R[8];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1171:
+      if (acc == 4) {
+
+        {
+
+          word ob = R[5];
+          if (allocp(ob)) ob = V(ob);
+          R[7] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[8] = 128 * 62 + 258;
+        if (R[7] == R[8]) {
+
+          R[9] = G(R[1], 2);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[4] = R[6];
+          fp[3] = R[3];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          ob = (word *)R[9];
+          acc = 2;
+
+        } else {
+
+          {
+
+            word ob = R[5];
+            if (allocp(ob)) ob = V(ob);
+            R[9] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          R[10] = 128 * 80 + 258;
+          if (R[9] == R[10]) {
+
+            R[11] = G(R[1], 2);
+            *fp = make_header(5, TCLOS);
+            fp[1] = G(R[1], 4);
+            fp[4] = R[6];
+            fp[3] = R[3];
+            fp[2] = R[5];
+            R[3] = (word)fp;
+            fp += 5;
+            ob = (word *)R[11];
+            acc = 2;
+
+          } else {
+
+            R[11] = G(R[1], 5);
+            *fp = make_header(5, TCLOS);
+            fp[1] = G(R[1], 6);
+            fp[4] = R[3];
+            fp[3] = R[5];
+            fp[2] = R[4];
+            R[3] = (word)fp;
+            fp += 5;
+            ob = (word *)R[11];
+            acc = 3;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1172:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[9] = R[4];
+          R[4] = R[5];
+          R[5] = R[6];
+          ob = (word *)R[9];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 4);
+          R[7] = R[4];
+          R[4] = R[3];
+          R[3] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1173:
+      if (acc == 1) {
+
+        R[4] = 128 * 0 + 258;
+        if (R[3] == R[4]) {
+
+          R[5] = G(R[1], 3);
+          if (R[5] == R[4]) {
+
+            R[6] = G(R[1], 4);
+            R[3] = G(R[1], 2);
+            ob = (word *)R[6];
+            acc = 1;
+
+          } else {
+
+            R[6] = G(R[1], 2);
+            *fp = make_header(3, 42);
+            fp[1] = R[6];
+            fp[2] = R[5];
+            R[3] = (word)fp;
+            fp += 3;
+            R[8] = G(R[1], 4);
+            ob = (word *)R[8];
+            acc = 1;
+
+          }
+
+        } else {
+
+          R[5] = G(R[2], 2);
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 4);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[3];
+          fp[2] = R[6];
+          R[9] = (word)fp;
+          fp += 6;
+          R[8] = R[5];
+          R[4] = R[3];
+          R[5] = R[7];
+          R[3] = R[9];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1174:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[9] = G(R[1], 2);
+          R[10] = R[4];
+          R[4] = R[9];
+          ob = (word *)R[10];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 5);
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 3);
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1175:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[6] = (word)fp;
+        fp += 4;
+        R[7] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[9] = R[4];
+        R[3] = R[6];
+        R[4] = R[7];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1176:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 5;
+        R[8] = G(R[1], 2);
+        R[9] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[9];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1177:
+      if (acc == 3) {
+
+        {
+
+          word ob = R[5];
+          if (allocp(ob)) ob = V(ob);
+          R[6] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        if (R[6] == F(0)) {
+
+          {
+
+            word ob = R[4];
+            if (allocp(ob)) ob = V(ob);
+            R[7] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          if (R[7] == F(0)) {
+
+            R[8] = F(0);
+            {
+
+              uint64_t a = (uint64_t)immval(R[8]) << FBITS | immval(R[4]);
+              hval     b = immval(R[5]);
+              uint64_t q = a / b;
+              R[9] = F(q >> FBITS);
+              R[10] = F(q);
+              R[11] = F(a - q * b);
+
+            }
+
+            if (R[11] == F(0)) {
+
+              ob = (word *)R[3];
+              R[3] = R[10];
+              acc = 1;
+
+            } else {
+
+              R[12] = IFALSE;
+              ob = (word *)R[3];
+              R[3] = R[12];
+              acc = 1;
+
+            }
+
+          } else {
+
+            R[8] = IFALSE;
+            ob = (word *)R[3];
+            R[3] = R[8];
+            acc = 1;
+
+          }
+
+        } else {
+
+          R[7] = IFALSE;
+          ob = (word *)R[3];
+          R[3] = R[7];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1178:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 5;
+        R[8] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[10] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1179:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        *fp = make_header(3, 42);
+        fp[1] = R[4];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 3;
+        R[6] = G(R[1], 3);
+        ob = (word *)R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1180:
+      if (acc == 2) {
+
+        assert(pairp(R[4]), R[4], 105);
+        R[5] = G(R[4], 1);
+        R[6] = G(R[4], 2);
+        R[7] = G(R[1], 2);
+        R[4] = G(R[1], 3);
+        ob = (word *)R[7];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1181:
+      if (acc == 4) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[7] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[8] = 128 * 62 + 258;
+        if (R[7] == R[8]) {
+
+          R[9] = G(R[1], 2);
+          *fp = make_header(5, TPROC);
+          fp[1] = G(R[1], 3);
+          fp[4] = R[6];
+          fp[3] = R[3];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          ob = (word *)R[9];
+          acc = 2;
+
+        } else {
+
+          {
+
+            word ob = R[4];
+            if (allocp(ob)) ob = V(ob);
+            R[9] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          R[10] = 128 * 80 + 258;
+          if (R[9] == R[10]) {
+
+            R[11] = G(R[1], 2);
+            *fp = make_header(5, TPROC);
+            fp[1] = G(R[1], 4);
+            fp[4] = R[6];
+            fp[3] = R[3];
+            fp[2] = R[5];
+            R[3] = (word)fp;
+            fp += 5;
+            ob = (word *)R[11];
+            acc = 2;
+
+          } else {
+
+            {
+
+              word ob = R[5];
+              if (allocp(ob)) ob = V(ob);
+              R[11] = F((hval)ob >> TPOS & 63);
+
+            }
+
+            if (R[11] == R[8]) {
+
+              R[12] = G(R[1], 2);
+              *fp = make_header(5, TPROC);
+              fp[1] = G(R[1], 5);
+              fp[4] = R[6];
+              fp[3] = R[3];
+              fp[2] = R[4];
+              R[3] = (word)fp;
+              fp += 5;
+              R[4] = R[5];
+              ob = (word *)R[12];
+              acc = 2;
+
+            } else {
+
+              {
+
+                word ob = R[5];
+                if (allocp(ob)) ob = V(ob);
+                R[12] = F((hval)ob >> TPOS & 63);
+
+              }
+
+              if (R[12] == R[10]) {
+
+                R[13] = G(R[1], 2);
+                *fp = make_header(5, TPROC);
+                fp[1] = G(R[1], 6);
+                fp[4] = R[6];
+                fp[3] = R[3];
+                fp[2] = R[4];
+                R[3] = (word)fp;
+                fp += 5;
+                R[4] = R[5];
+                ob = (word *)R[13];
+                acc = 2;
+
+              } else {
+
+                {
+
+                  word ob = R[4];
+                  if (allocp(ob)) ob = V(ob);
+                  R[13] = F((hval)ob >> TPOS & 63);
+
+                }
+
+                if (R[13] == F(0)) {
+
+                  R[14] = G(R[1], 7);
+                  ob = (word *)R[14];
+                  acc = 3;
+
+                } else {
+
+                  {
+
+                    word ob = R[5];
+                    if (allocp(ob)) ob = V(ob);
+                    R[14] = F((hval)ob >> TPOS & 63);
+
+                  }
+
+                  if (R[14] == F(0)) {
+
+                    R[15] = G(R[1], 7);
+                    ob = (word *)R[15];
+                    acc = 3;
+
+                  } else {
+
+                    if (R[4] == R[5]) {
+
+                      ob = (word *)R[3];
+                      R[3] = R[4];
+                      acc = 1;
+
+                    } else {
+
+                      R[15] = G(R[1], 8);
+                      ob = (word *)R[15];
+                      acc = 3;
+
+                    }
+
+                  }
+
+                }
+
+              }
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1182:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[9] = R[5];
+        R[5] = R[6];
+        R[6] = R[4];
+        R[4] = R[3];
+        R[3] = R[9];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1183:
+      if (acc == 3) {
+
+        R[6] = 128 * 0 + 258;
+        R[7] = cons(R[6], R[4]);
+        R[5] = cons(R[6], R[5]);
+        R[9] = G(R[1], 2);
+        R[6] = F(0);
+        R[4] = R[7];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1184:
+      if (acc == 5) {
+
+        assert(pairp(R[4]), R[4], 169);
+        R[8] = G(R[4], 2);
+        assert(pairp(R[5]), R[5], 169);
+        R[9] = G(R[5], 2);
+        if (R[8] == F(0)) {
+
+          R[10] = G(R[1], 2);
+          R[5] = R[6];
+          R[4] = R[9];
+          ob = (word *)R[10];
+          acc = 3;
+
+        } else {
+
+          if (R[9] == F(0)) {
+
+            R[10] = G(R[1], 2);
+            R[5] = R[6];
+            R[4] = R[8];
+            ob = (word *)R[10];
+            acc = 3;
+
+          } else {
+
+            R[10] = G(R[4], 1);
+            R[11] = G(R[1], 3);
+            *fp = make_header(9, TCLOS);
+            fp[1] = G(R[1], 4);
+            fp[8] = R[7];
+            fp[7] = R[3];
+            fp[6] = R[6];
+            fp[5] = R[9];
+            fp[4] = R[5];
+            fp[3] = R[8];
+            fp[2] = R[4];
+            R[3] = (word)fp;
+            fp += 9;
+            R[4] = R[8];
+            R[5] = R[10];
+            ob = (word *)R[11];
+            acc = 3;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1185:
+      if (acc == 1) {
+
+        if (R[3] == F(0)) {
+
+          R[4] = G(R[1], 4);
+          assert(pairp(R[4]), R[4], 105);
+          R[5] = G(R[4], 1);
+          R[6] = G(R[2], 2);
+          R[7] = G(R[1], 2);
+          R[8] = G(R[1], 6);
+          R[9] = G(R[1], 7);
+          R[10] = G(R[1], 8);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[6] = R[10];
+          fp[5] = R[9];
+          fp[4] = R[4];
+          fp[3] = R[8];
+          fp[2] = R[7];
+          R[3] = (word)fp;
+          fp += 7;
+          R[4] = G(R[1], 5);
+          ob = (word *)R[6];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[1], 4);
+          assert(pairp(R[4]), R[4], 105);
+          R[5] = G(R[4], 1);
+          R[6] = G(R[2], 2);
+          R[7] = G(R[1], 2);
+          R[8] = G(R[1], 3);
+          R[9] = G(R[1], 5);
+          R[10] = G(R[1], 6);
+          R[11] = G(R[1], 7);
+          R[12] = G(R[1], 8);
+          *fp = make_header(9, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[8] = R[12];
+          fp[7] = R[11];
+          fp[6] = R[10];
+          fp[5] = R[9];
+          fp[4] = R[4];
+          fp[3] = R[8];
+          fp[2] = R[7];
+          R[3] = (word)fp;
+          fp += 9;
+          R[4] = R[9];
+          ob = (word *)R[6];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1186:
+      if (acc == 1) {
+
+        if (R[3] == F(0)) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 6);
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 7);
+          R[8] = G(R[1], 8);
+          *fp = make_header(6, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = G(R[1], 4);
+          R[7] = R[4];
+          R[4] = R[10];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          assert(pairp(R[4]), R[4], 105);
+          R[5] = G(R[4], 1);
+          R[6] = G(R[2], 4);
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 4);
+          R[9] = G(R[1], 5);
+          R[10] = G(R[1], 6);
+          R[11] = G(R[1], 7);
+          R[12] = G(R[1], 8);
+          *fp = make_header(8, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[7] = R[12];
+          fp[6] = R[11];
+          fp[5] = R[10];
+          fp[4] = R[9];
+          fp[3] = R[8];
+          fp[2] = R[7];
+          R[3] = (word)fp;
+          fp += 8;
+          R[4] = G(R[2], 6);
+          R[15] = F(0);
+          R[9] = R[6];
+          R[6] = R[15];
+          ob = (word *)R[9];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1187:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[10] = (word)fp;
+        fp += 7;
+        R[11] = G(R[1], 2);
+        R[8] = R[4];
+        R[5] = R[3];
+        R[3] = R[10];
+        R[4] = R[11];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1188:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        assert(pairp(R[4]), R[4], 105);
+        R[5] = G(R[4], 1);
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 5);
+        R[10] = G(R[1], 6);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[10];
+        fp[5] = R[9];
+        fp[4] = R[8];
+        fp[3] = R[3];
+        fp[2] = R[7];
+        R[3] = (word)fp;
+        fp += 7;
+        R[4] = G(R[2], 4);
+        R[13] = F(0);
+        R[9] = R[6];
+        R[6] = R[13];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1189:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[9] = (word)fp;
+        fp += 7;
+        R[8] = R[4];
+        R[4] = R[5];
+        R[5] = R[3];
+        R[3] = R[9];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1190:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[10] = (word)fp;
+        fp += 8;
+        R[7] = R[4];
+        R[4] = R[3];
+        R[3] = R[10];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1191:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = 128 * 2 + 258;
+          R[5] = G(R[1], 2);
+          R[6] = cons(R[4], R[5]);
+          R[7] = 128 * 0 + 258;
+          R[8] = G(R[1], 3);
+          R[5] = cons(R[7], R[8]);
+          R[7] = G(R[1], 7);
+          R[3] = G(R[1], 6);
+          R[12] = G(R[1], 5);
+          R[4] = R[6];
+          R[6] = R[12];
+          ob = (word *)R[7];
+          acc = 5;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 6);
+          R[8] = G(R[1], 7);
+          *fp = make_header(6, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = G(R[1], 2);
+          R[7] = R[4];
+          R[4] = R[10];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1192:
+      if (acc == 1) {
+
+        R[4] = 128 * 2 + 258;
+        R[5] = cons(R[4], R[3]);
+        R[6] = 128 * 0 + 258;
+        R[7] = G(R[1], 2);
+        R[8] = cons(R[6], R[7]);
+        R[7] = G(R[1], 5);
+        R[3] = G(R[1], 4);
+        R[6] = G(R[1], 3);
+        R[4] = R[5];
+        R[5] = R[8];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1193:
+      if (acc == 1) {
+
+        if (R[3] == F(0)) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = G(R[1], 2);
+          R[7] = R[4];
+          R[4] = R[10];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 6);
+          *fp = make_header(6, TPROC);
+          fp[1] = G(R[2], 4);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = G(R[1], 2);
+          R[7] = R[4];
+          R[4] = R[10];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1194:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = G(R[1], 2);
+        R[7] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1195:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = G(R[1], 2);
+        R[5] = 128 * 0 + 258;
+        R[11] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[11];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1196:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[3] = cons(R[3], R[4]);
+        R[6] = G(R[1], 3);
+        ob = (word *)R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1197:
+      if (acc == 2) {
+
+        assert(pairp(R[4]), R[4], 105);
+        R[5] = G(R[4], 1);
+        R[6] = G(R[1], 2);
+        if (R[5] == R[6]) {
+
+          R[7] = G(R[4], 2);
+          {
+
+            word ob = R[7];
+            if (allocp(ob)) ob = V(ob);
+            R[8] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          if (R[8] == F(0)) {
+
+            R[9] = 128 * 0 + 258;
+            R[10] = F(0);
+            R[11] = cons(R[9], R[10]);
+            ob = (word *)R[3];
+            R[3] = R[11];
+            acc = 1;
+
+          } else {
+
+            R[9] = 128 * 2 + 258;
+            R[10] = prim_ref(R[7], R[9]);
+            R[11] = prim_ref(R[10], R[9]);
+            if (R[11] == INULL) {
+
+              R[12] = 128 * 0 + 258;
+              R[13] = prim_ref(R[10], R[12]);
+              R[14] = cons(R[12], R[13]);
+              ob = (word *)R[3];
+              R[3] = R[14];
+              acc = 1;
+
+            } else {
+
+              R[12] = 128 * 0 + 258;
+              R[13] = cons(R[12], R[10]);
+              ob = (word *)R[3];
+              R[3] = R[13];
+              acc = 1;
+
+            }
+
+          }
+
+        } else {
+
+          {
+
+            hval r = immval(R[5]) + immval(R[5]);
+            R[8] = F(r >> FBITS);
+            R[7] = F(r);
+
+          }
+
+          R[9] = G(R[4], 2);
+          R[10] = cons(R[7], R[9]);
+          ob = (word *)R[3];
+          R[3] = R[10];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1198:
+      if (acc == 4) {
+
+        if (R[5] == F(0)) {
+
+          ob = (word *)R[3];
+          R[3] = R[4];
+          acc = 1;
+
+        } else {
+
+          R[7] = G(R[1], 2);
+          *fp = make_header(5, TPROC);
+          fp[1] = G(R[1], 3);
+          fp[4] = R[6];
+          fp[3] = R[3];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          ob = (word *)R[7];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1199:
+      if (acc == 3) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[6] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[7] = 128 * 82 + 258;
+        if (R[6] == R[7]) {
+
+          {
+
+            word ob = R[5];
+            if (allocp(ob)) ob = V(ob);
+            R[8] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          if (R[8] == R[7]) {
+
+            R[9] = 128 * 0 + 258;
+            R[10] = prim_ref(R[4], R[9]);
+            R[11] = 128 * 2 + 258;
+            R[12] = prim_ref(R[5], R[11]);
+            R[13] = G(R[1], 2);
+            *fp = make_header(5, TCLOS);
+            fp[1] = G(R[1], 3);
+            fp[4] = R[3];
+            fp[3] = R[4];
+            fp[2] = R[5];
+            R[3] = (word)fp;
+            fp += 5;
+            R[4] = R[10];
+            R[5] = R[12];
+            ob = (word *)R[13];
+            acc = 3;
+
+          } else {
+
+            R[9] = 128 * 0 + 258;
+            R[10] = prim_ref(R[4], R[9]);
+            R[11] = 128 * 2 + 258;
+            R[12] = prim_ref(R[4], R[11]);
+            R[13] = G(R[1], 2);
+            *fp = make_header(4, TCLOS);
+            fp[1] = G(R[1], 4);
+            fp[3] = R[3];
+            fp[2] = R[10];
+            R[3] = (word)fp;
+            fp += 4;
+            R[4] = R[5];
+            R[5] = R[12];
+            ob = (word *)R[13];
+            acc = 3;
+
+          }
+
+        } else {
+
+          {
+
+            word ob = R[5];
+            if (allocp(ob)) ob = V(ob);
+            R[8] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          if (R[8] == R[7]) {
+
+            R[9] = 128 * 2 + 258;
+            R[10] = prim_ref(R[5], R[9]);
+            R[11] = G(R[1], 2);
+            *fp = make_header(4, TCLOS);
+            fp[1] = G(R[1], 5);
+            fp[3] = R[3];
+            fp[2] = R[5];
+            R[3] = (word)fp;
+            fp += 4;
+            R[5] = R[10];
+            ob = (word *)R[11];
+            acc = 3;
+
+          } else {
+
+            R[9] = G(R[1], 6);
+            ob = (word *)R[9];
+            acc = 3;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1200:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = 128 * 0 + 258;
+        R[6] = prim_ref(R[4], R[5]);
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 3);
+        R[4] = R[3];
+        R[5] = R[6];
+        R[3] = R[8];
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1201:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = 128 * 0 + 258;
+        R[6] = prim_ref(R[4], R[5]);
+        R[7] = G(R[1], 3);
+        R[8] = 128 * 2 + 258;
+        R[5] = prim_ref(R[7], R[8]);
+        R[10] = G(R[2], 2);
+        R[11] = G(R[1], 4);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[11];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 4;
+        R[4] = R[6];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1202:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        R[7] = INULL;
+        R[10] = R[7];
+        R[7] = R[6];
+        R[6] = R[5];
+        R[5] = R[10];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1203:
+      if (acc == 5) {
+
+        if (R[4] == INULL) {
+
+          R[8] = G(R[1], 2);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[1], 3);
+          fp[3] = R[3];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 4;
+          R[4] = R[5];
+          ob = (word *)R[8];
+          acc = 2;
+
+        } else {
+
+          if (R[6] == F(0)) {
+
+            R[8] = G(R[1], 2);
+            *fp = make_header(4, TPROC);
+            fp[1] = G(R[1], 4);
+            fp[3] = R[3];
+            fp[2] = R[4];
+            R[3] = (word)fp;
+            fp += 4;
+            R[4] = R[5];
+            ob = (word *)R[8];
+            acc = 2;
+
+          } else {
+
+            assert(pairp(R[4]), R[4], 169);
+            R[8] = G(R[4], 2);
+            R[9] = G(R[4], 1);
+            R[10] = cons(R[9], R[5]);
+            R[11] = G(R[1], 5);
+            *fp = make_header(6, TPROC);
+            fp[1] = G(R[1], 6);
+            fp[5] = R[7];
+            fp[4] = R[3];
+            fp[3] = R[8];
+            fp[2] = R[10];
+            R[3] = (word)fp;
+            fp += 6;
+            R[5] = 128 * 0 + 258;
+            R[4] = R[6];
+            ob = (word *)R[11];
+            acc = 3;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1204:
+      if (acc == 3) {
+
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 2);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = INULL;
+        R[5] = R[7];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1205:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[3];
+        fp[4] = R[4];
+        fp[3] = R[5];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = F(0);
+        R[4] = R[5];
+        R[5] = R[9];
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1206:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[5] = F(0);
+          R[8] = R[4];
+          R[4] = R[6];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[8] = R[4];
+          R[4] = R[5];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1207:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[8] = R[4];
+          R[4] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 5);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[8] = R[4];
+          R[4] = R[5];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1208:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 5);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 2);
+          R[9] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          R[6] = R[8];
+          ob = (word *)R[9];
+          acc = 4;
+
+        } else {
+
+          R[4] = G(R[1], 5);
+          R[3] = INULL;
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1209:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 2);
+          R[5] = INULL;
+          R[6] = cons(R[4], R[5]);
+          R[7] = G(R[1], 3);
+          R[8] = cons(R[7], R[6]);
+          R[9] = G(R[1], 4);
+          R[10] = cons(R[9], R[8]);
+          R[11] = G(R[2], 4);
+          R[5] = cons(R[11], R[10]);
+          R[13] = G(R[2], 2);
+          R[3] = G(R[1], 5);
+          R[4] = G(R[2], 3);
+          ob = (word *)R[13];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[1], 5);
+          R[3] = INULL;
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1210:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 2);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[6] = R[3];
+        fp[5] = R[4];
+        fp[4] = R[7];
+        fp[3] = R[5];
+        fp[2] = R[6];
+        R[3] = (word)fp;
+        fp += 7;
+        R[5] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1211:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 6);
+          R[3] = INULL;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 6);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 7;
+          R[9] = R[4];
+          R[5] = R[6];
+          R[4] = R[8];
+          ob = (word *)R[9];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1212:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 6);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[8] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[10] = R[7];
+        R[7] = R[4];
+        R[4] = R[3];
+        R[5] = R[8];
+        R[3] = R[10];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1213:
+      if (acc == 4) {
+
+        if (R[5] == F(0)) {
+
+          ob = (word *)R[3];
+          R[3] = R[4];
+          acc = 1;
+
+        } else {
+
+          if (R[4] == INULL) {
+
+            ob = (word *)R[3];
+            R[3] = R[4];
+            acc = 1;
+
+          } else {
+
+            assert(pairp(R[4]), R[4], 169);
+            R[7] = G(R[4], 2);
+            R[8] = G(R[1], 2);
+            *fp = make_header(5, TPROC);
+            fp[1] = G(R[1], 3);
+            fp[4] = R[6];
+            fp[3] = R[3];
+            fp[2] = R[7];
+            R[3] = (word)fp;
+            fp += 5;
+            R[10] = 128 * 0 + 258;
+            R[4] = R[5];
+            R[5] = R[10];
+            ob = (word *)R[8];
+            acc = 3;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1214:
+      if (acc == 4) {
+
+        if (R[5] == F(0)) {
+
+          R[7] = INULL;
+          ob = (word *)R[3];
+          R[3] = R[7];
+          acc = 1;
+
+        } else {
+
+          if (R[4] == INULL) {
+
+            ob = (word *)R[3];
+            R[3] = R[4];
+            acc = 1;
+
+          } else {
+
+            assert(pairp(R[4]), R[4], 105);
+            R[7] = G(R[4], 1);
+            R[8] = G(R[4], 2);
+            R[9] = G(R[1], 2);
+            *fp = make_header(6, TCLOS);
+            fp[1] = G(R[1], 3);
+            fp[5] = R[3];
+            fp[4] = R[7];
+            fp[3] = R[6];
+            fp[2] = R[8];
+            R[3] = (word)fp;
+            fp += 6;
+            R[11] = 128 * 0 + 258;
+            R[4] = R[5];
+            R[5] = R[11];
+            ob = (word *)R[9];
+            acc = 3;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1215:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = F(0);
+        R[9] = R[5];
+        R[10] = R[6];
+        R[6] = R[4];
+        R[5] = R[7];
+        R[4] = R[10];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1216:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        R[5] = 128 * 0 + 258;
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1217:
+      if (acc == 5) {
+
+        if (R[5] == F(0)) {
+
+          R[8] = cons(R[6], R[4]);
+          ob = (word *)R[3];
+          R[3] = R[8];
+          acc = 1;
+
+        } else {
+
+          if (R[4] == INULL) {
+
+            R[8] = G(R[1], 2);
+            R[4] = G(R[1], 3);
+            ob = (word *)R[8];
+            acc = 3;
+
+          } else {
+
+            {
+
+              word *ob = (word *)R[4];
+              hval  hdr;
+              assert(allocp(R[4]), R[4], IFALSE);
+              hdr = *ob;
+              assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+              R[8] = ob[1];
+              R[9] = ob[2];
+
+            }
+
+            R[10] = G(R[1], 4);
+            *fp = make_header(7, TCLOS);
+            fp[1] = G(R[1], 5);
+            fp[6] = R[3];
+            fp[5] = R[8];
+            fp[4] = R[7];
+            fp[3] = R[9];
+            fp[2] = R[6];
+            R[3] = (word)fp;
+            fp += 7;
+            R[12] = 128 * 0 + 258;
+            R[4] = R[5];
+            R[5] = R[12];
+            ob = (word *)R[10];
+            acc = 3;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1218:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        assert(pairp(R[4]), R[4], 169);
+        R[5] = G(R[4], 2);
+        R[3] = cons(R[3], R[5]);
+        R[7] = G(R[1], 3);
+        ob = (word *)R[7];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1219:
+      if (acc == 5) {
+
+        if (R[5] == F(0)) {
+
+          ob = (word *)R[6];
+          acc = 2;
+
+        } else {
+
+          if (R[4] == INULL) {
+
+            R[8] = G(R[1], 2);
+            R[4] = G(R[1], 3);
+            ob = (word *)R[8];
+            acc = 3;
+
+          } else {
+
+            {
+
+              word *ob = (word *)R[4];
+              hval  hdr;
+              assert(allocp(R[4]), R[4], IFALSE);
+              hdr = *ob;
+              assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+              R[8] = ob[1];
+              R[9] = ob[2];
+
+            }
+
+            R[10] = G(R[1], 4);
+            *fp = make_header(7, TCLOS);
+            fp[1] = G(R[1], 5);
+            fp[6] = R[3];
+            fp[5] = R[8];
+            fp[4] = R[7];
+            fp[3] = R[9];
+            fp[2] = R[6];
+            R[3] = (word)fp;
+            fp += 7;
+            R[12] = 128 * 0 + 258;
+            R[4] = R[5];
+            R[5] = R[12];
+            ob = (word *)R[10];
+            acc = 3;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1220:
+      if (acc == 4) {
+
+        if (R[4] == INULL) {
+
+          R[7] = G(R[1], 2);
+          R[4] = G(R[1], 3);
+          ob = (word *)R[7];
+          acc = 3;
+
+        } else {
+
+          if (R[5] == F(0)) {
+
+            assert(pairp(R[4]), R[4], 169);
+            R[7] = G(R[4], 2);
+            ob = (word *)R[3];
+            R[3] = R[7];
+            acc = 1;
+
+          } else {
+
+            assert(pairp(R[4]), R[4], 105);
+            R[7] = G(R[4], 1);
+            R[8] = G(R[4], 2);
+            R[9] = G(R[1], 4);
+            *fp = make_header(6, TCLOS);
+            fp[1] = G(R[1], 5);
+            fp[5] = R[3];
+            fp[4] = R[7];
+            fp[3] = R[6];
+            fp[2] = R[8];
+            R[3] = (word)fp;
+            fp += 6;
+            R[11] = 128 * 0 + 258;
+            R[4] = R[5];
+            R[5] = R[11];
+            ob = (word *)R[9];
+            acc = 3;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1221:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[8] = G(R[1], 2);
+        R[5] = R[3];
+        R[6] = R[4];
+        R[3] = R[7];
+        R[4] = R[8];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1222:
+      if (acc == 5) {
+
+        if (R[4] == INULL) {
+
+          R[8] = G(R[1], 2);
+          R[4] = G(R[1], 3);
+          R[5] = R[6];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          if (R[5] == F(0)) {
+
+            assert(pairp(R[4]), R[4], 169);
+            R[8] = G(R[4], 2);
+            R[9] = cons(R[6], R[8]);
+            ob = (word *)R[3];
+            R[3] = R[9];
+            acc = 1;
+
+          } else {
+
+            assert(pairp(R[4]), R[4], 105);
+            R[8] = G(R[4], 1);
+            R[9] = G(R[4], 2);
+            R[10] = G(R[1], 4);
+            *fp = make_header(7, TCLOS);
+            fp[1] = G(R[1], 5);
+            fp[6] = R[3];
+            fp[5] = R[8];
+            fp[4] = R[7];
+            fp[3] = R[9];
+            fp[2] = R[6];
+            R[3] = (word)fp;
+            fp += 7;
+            R[12] = 128 * 0 + 258;
+            R[4] = R[5];
+            R[5] = R[12];
+            ob = (word *)R[10];
+            acc = 3;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1223:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 6);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[8] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[5] = R[3];
+        R[3] = R[7];
+        R[7] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1224:
+      if (acc == 4) {
+
+        if (R[4] == INULL) {
+
+          R[7] = G(R[1], 2);
+          R[4] = G(R[1], 3);
+          ob = (word *)R[7];
+          acc = 3;
+
+        } else {
+
+          if (R[5] == F(0)) {
+
+            assert(pairp(R[4]), R[4], 105);
+            R[7] = G(R[4], 1);
+            ob = (word *)R[3];
+            R[3] = R[7];
+            acc = 1;
+
+          } else {
+
+            assert(pairp(R[4]), R[4], 169);
+            R[7] = G(R[4], 2);
+            R[8] = G(R[1], 4);
+            *fp = make_header(5, TPROC);
+            fp[1] = G(R[1], 5);
+            fp[4] = R[6];
+            fp[3] = R[3];
+            fp[2] = R[7];
+            R[3] = (word)fp;
+            fp += 5;
+            R[10] = 128 * 0 + 258;
+            R[4] = R[5];
+            R[5] = R[10];
+            ob = (word *)R[8];
+            acc = 3;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1225:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 5);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 2);
+        R[9] = R[4];
+        R[10] = R[5];
+        R[5] = R[3];
+        R[4] = R[6];
+        R[6] = R[7];
+        R[3] = R[10];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1226:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 2);
+        R[9] = R[4];
+        R[4] = R[3];
+        R[3] = R[5];
+        R[5] = R[6];
+        R[6] = R[7];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1227:
+      if (acc == 3) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[6] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[7] = F(0);
+        R[8] = BOOL(R[6] == R[7]);
+        if (R[8] == IFALSE) {
+
+          R[9] = 128 * 62 + 258;
+          R[10] = BOOL(R[6] == R[9]);
+          if (R[10] == IFALSE) {
+
+            R[11] = 128 * 78 + 258;
+            R[12] = BOOL(R[6] == R[11]);
+            if (R[12] == IFALSE) {
+
+              R[13] = 128 * 80 + 258;
+              R[14] = BOOL(R[6] == R[13]);
+              if (R[14] == IFALSE) {
+
+                R[15] = G(R[1], 2);
+                R[16] = G(R[1], 3);
+                R[6] = R[5];
+                R[5] = R[4];
+                R[4] = R[16];
+                ob = (word *)R[15];
+                acc = 4;
+
+              } else {
+
+                {
+
+                  word ob = R[5];
+                  if (allocp(ob)) ob = V(ob);
+                  R[15] = F((hval)ob >> TPOS & 63);
+
+                }
+
+                R[16] = BOOL(R[15] == R[7]);
+                if (R[16] == IFALSE) {
+
+                  R[17] = BOOL(R[15] == R[9]);
+                  if (R[17] == IFALSE) {
+
+                    R[18] = BOOL(R[15] == R[11]);
+                    if (R[18] == IFALSE) {
+
+                      R[19] = BOOL(R[15] == R[13]);
+                      if (R[19] == IFALSE) {
+
+                        R[20] = G(R[1], 2);
+                        R[21] = G(R[1], 3);
+                        R[6] = R[5];
+                        R[5] = R[4];
+                        R[4] = R[21];
+                        ob = (word *)R[20];
+                        acc = 4;
+
+                      } else {
+
+                        R[20] = G(R[1], 4);
+                        *fp = make_header(4, TCLOS);
+                        fp[1] = G(R[1], 5);
+                        fp[3] = R[3];
+                        fp[2] = R[5];
+                        R[3] = (word)fp;
+                        fp += 4;
+                        ob = (word *)R[20];
+                        acc = 2;
+
+                      }
+
+                    } else {
+
+                      R[19] = G(R[1], 4);
+                      *fp = make_header(4, TCLOS);
+                      fp[1] = G(R[1], 6);
+                      fp[3] = R[3];
+                      fp[2] = R[5];
+                      R[3] = (word)fp;
+                      fp += 4;
+                      ob = (word *)R[19];
+                      acc = 2;
+
+                    }
+
+                  } else {
+
+                    R[18] = G(R[1], 7);
+                    *fp = make_header(3, TCLOS);
+                    fp[1] = G(R[1], 8);
+                    fp[2] = R[3];
+                    R[3] = (word)fp;
+                    fp += 3;
+                    ob = (word *)R[18];
+                    acc = 3;
+
+                  }
+
+                } else {
+
+                  R[17] = G(R[1], 7);
+                  *fp = make_header(3, TCLOS);
+                  fp[1] = G(R[1], 9);
+                  fp[2] = R[3];
+                  R[3] = (word)fp;
+                  fp += 3;
+                  ob = (word *)R[17];
+                  acc = 3;
+
+                }
+
+              }
+
+            } else {
+
+              {
+
+                word ob = R[5];
+                if (allocp(ob)) ob = V(ob);
+                R[13] = F((hval)ob >> TPOS & 63);
+
+              }
+
+              R[14] = BOOL(R[13] == R[7]);
+              if (R[14] == IFALSE) {
+
+                R[15] = BOOL(R[13] == R[9]);
+                if (R[15] == IFALSE) {
+
+                  R[16] = BOOL(R[13] == R[11]);
+                  if (R[16] == IFALSE) {
+
+                    R[17] = 128 * 80 + 258;
+                    R[18] = BOOL(R[13] == R[17]);
+                    if (R[18] == IFALSE) {
+
+                      R[19] = G(R[1], 2);
+                      R[20] = G(R[1], 3);
+                      R[6] = R[5];
+                      R[5] = R[4];
+                      R[4] = R[20];
+                      ob = (word *)R[19];
+                      acc = 4;
+
+                    } else {
+
+                      R[19] = G(R[1], 4);
+                      *fp = make_header(4, TCLOS);
+                      fp[1] = G(R[1], 10);
+                      fp[3] = R[3];
+                      fp[2] = R[4];
+                      R[3] = (word)fp;
+                      fp += 4;
+                      R[4] = R[5];
+                      ob = (word *)R[19];
+                      acc = 2;
+
+                    }
+
+                  } else {
+
+                    R[17] = G(R[1], 11);
+                    ob = (word *)R[17];
+                    acc = 3;
+
+                  }
+
+                } else {
+
+                  R[16] = G(R[1], 7);
+                  *fp = make_header(3, TPROC);
+                  fp[1] = G(R[1], 12);
+                  fp[2] = R[3];
+                  R[3] = (word)fp;
+                  fp += 3;
+                  ob = (word *)R[16];
+                  acc = 3;
+
+                }
+
+              } else {
+
+                R[15] = G(R[1], 7);
+                *fp = make_header(3, TPROC);
+                fp[1] = G(R[1], 13);
+                fp[2] = R[3];
+                R[3] = (word)fp;
+                fp += 3;
+                ob = (word *)R[15];
+                acc = 3;
+
+              }
+
+            }
+
+          } else {
+
+            {
+
+              word ob = R[5];
+              if (allocp(ob)) ob = V(ob);
+              R[11] = F((hval)ob >> TPOS & 63);
+
+            }
+
+            R[12] = BOOL(R[11] == R[7]);
+            if (R[12] == IFALSE) {
+
+              R[13] = BOOL(R[11] == R[9]);
+              if (R[13] == IFALSE) {
+
+                R[14] = 128 * 78 + 258;
+                R[15] = BOOL(R[11] == R[14]);
+                if (R[15] == IFALSE) {
+
+                  R[16] = 128 * 80 + 258;
+                  R[17] = BOOL(R[11] == R[16]);
+                  if (R[17] == IFALSE) {
+
+                    R[18] = G(R[1], 2);
+                    R[19] = G(R[1], 3);
+                    R[6] = R[5];
+                    R[5] = R[4];
+                    R[4] = R[19];
+                    ob = (word *)R[18];
+                    acc = 4;
+
+                  } else {
+
+                    ob = (word *)R[3];
+                    R[3] = R[4];
+                    acc = 1;
+
+                  }
+
+                } else {
+
+                  ob = (word *)R[3];
+                  R[3] = R[4];
+                  acc = 1;
+
+                }
+
+              } else {
+
+                {
+
+                  uint64_t a = (uint64_t)immval(R[7]) << FBITS | immval(R[4]);
+                  hval     b = immval(R[5]);
+                  uint64_t q = a / b;
+                  R[14] = F(q >> FBITS);
+                  R[15] = F(q);
+                  R[16] = F(a - q * b);
+
+                }
+
+                R[17] = G(R[1], 4);
+                R[4] = R[16];
+                ob = (word *)R[17];
+                acc = 2;
+
+              }
+
+            } else {
+
+              {
+
+                uint64_t a = (uint64_t)immval(R[7]) << FBITS | immval(R[4]);
+                hval     b = immval(R[5]);
+                uint64_t q = a / b;
+                R[13] = F(q >> FBITS);
+                R[14] = F(q);
+                R[15] = F(a - q * b);
+
+              }
+
+              R[16] = G(R[1], 4);
+              R[4] = R[15];
+              ob = (word *)R[16];
+              acc = 2;
+
+            }
+
+          }
+
+        } else {
+
+          {
+
+            word ob = R[5];
+            if (allocp(ob)) ob = V(ob);
+            R[9] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          R[10] = BOOL(R[9] == R[7]);
+          if (R[10] == IFALSE) {
+
+            R[11] = 128 * 62 + 258;
+            R[12] = BOOL(R[9] == R[11]);
+            if (R[12] == IFALSE) {
+
+              R[13] = 128 * 78 + 258;
+              R[14] = BOOL(R[9] == R[13]);
+              if (R[14] == IFALSE) {
+
+                R[15] = 128 * 80 + 258;
+                R[16] = BOOL(R[9] == R[15]);
+                if (R[16] == IFALSE) {
+
+                  R[17] = G(R[1], 2);
+                  R[18] = G(R[1], 3);
+                  R[6] = R[5];
+                  R[5] = R[4];
+                  R[4] = R[18];
+                  ob = (word *)R[17];
+                  acc = 4;
+
+                } else {
+
+                  ob = (word *)R[3];
+                  R[3] = R[4];
+                  acc = 1;
+
+                }
+
+              } else {
+
+                ob = (word *)R[3];
+                R[3] = R[4];
+                acc = 1;
+
+              }
+
+            } else {
+
+              {
+
+                uint64_t a = (uint64_t)immval(R[7]) << FBITS | immval(R[4]);
+                hval     b = immval(R[5]);
+                uint64_t q = a / b;
+                R[13] = F(q >> FBITS);
+                R[14] = F(q);
+                R[15] = F(a - q * b);
+
+              }
+
+              ob = (word *)R[3];
+              R[3] = R[15];
+              acc = 1;
+
+            }
+
+          } else {
+
+            {
+
+              uint64_t a = (uint64_t)immval(R[7]) << FBITS | immval(R[4]);
+              hval     b = immval(R[5]);
+              uint64_t q = a / b;
+              R[11] = F(q >> FBITS);
+              R[12] = F(q);
+              R[13] = F(a - q * b);
+
+            }
+
+            ob = (word *)R[3];
+            R[3] = R[13];
+            acc = 1;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1228:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[3] = R[4];
+        ob = (word *)R[5];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1229:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[3] = G(R[1], 2);
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1230:
+      if (acc == 3) {
+
+        if (R[5] == F(0)) {
+
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 3);
+          R[9] = R[6];
+          R[6] = R[5];
+          R[5] = R[4];
+          R[4] = R[7];
+          ob = (word *)R[9];
+          acc = 4;
+
+        } else {
+
+          {
+
+            word ob = R[4];
+            if (allocp(ob)) ob = V(ob);
+            R[6] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          R[7] = F(0);
+          R[8] = BOOL(R[6] == R[7]);
+          if (R[8] == IFALSE) {
+
+            R[9] = 128 * 62 + 258;
+            R[10] = BOOL(R[6] == R[9]);
+            if (R[10] == IFALSE) {
+
+              R[11] = 128 * 78 + 258;
+              R[12] = BOOL(R[6] == R[11]);
+              if (R[12] == IFALSE) {
+
+                R[13] = 128 * 80 + 258;
+                R[14] = BOOL(R[6] == R[13]);
+                if (R[14] == IFALSE) {
+
+                  R[15] = G(R[1], 2);
+                  R[16] = G(R[1], 3);
+                  R[6] = R[5];
+                  R[5] = R[4];
+                  R[4] = R[16];
+                  ob = (word *)R[15];
+                  acc = 4;
+
+                } else {
+
+                  {
+
+                    word ob = R[5];
+                    if (allocp(ob)) ob = V(ob);
+                    R[15] = F((hval)ob >> TPOS & 63);
+
+                  }
+
+                  R[16] = BOOL(R[15] == R[7]);
+                  if (R[16] == IFALSE) {
+
+                    R[17] = BOOL(R[15] == R[9]);
+                    if (R[17] == IFALSE) {
+
+                      R[18] = BOOL(R[15] == R[11]);
+                      if (R[18] == IFALSE) {
+
+                        R[19] = BOOL(R[15] == R[13]);
+                        if (R[19] == IFALSE) {
+
+                          R[20] = G(R[1], 2);
+                          R[21] = G(R[1], 3);
+                          R[6] = R[5];
+                          R[5] = R[4];
+                          R[4] = R[21];
+                          ob = (word *)R[20];
+                          acc = 4;
+
+                        } else {
+
+                          R[20] = G(R[1], 4);
+                          *fp = make_header(4, TCLOS);
+                          fp[1] = G(R[1], 5);
+                          fp[3] = R[3];
+                          fp[2] = R[5];
+                          R[3] = (word)fp;
+                          fp += 4;
+                          ob = (word *)R[20];
+                          acc = 2;
+
+                        }
+
+                      } else {
+
+                        R[19] = G(R[1], 4);
+                        *fp = make_header(4, TCLOS);
+                        fp[1] = G(R[1], 6);
+                        fp[3] = R[3];
+                        fp[2] = R[5];
+                        R[3] = (word)fp;
+                        fp += 4;
+                        ob = (word *)R[19];
+                        acc = 2;
+
+                      }
+
+                    } else {
+
+                      R[18] = G(R[1], 7);
+                      *fp = make_header(3, TPROC);
+                      fp[1] = G(R[1], 8);
+                      fp[2] = R[3];
+                      R[3] = (word)fp;
+                      fp += 3;
+                      ob = (word *)R[18];
+                      acc = 3;
+
+                    }
+
+                  } else {
+
+                    R[17] = G(R[1], 9);
+                    ob = (word *)R[17];
+                    acc = 3;
+
+                  }
+
+                }
+
+              } else {
+
+                {
+
+                  word ob = R[5];
+                  if (allocp(ob)) ob = V(ob);
+                  R[13] = F((hval)ob >> TPOS & 63);
+
+                }
+
+                R[14] = BOOL(R[13] == R[7]);
+                if (R[14] == IFALSE) {
+
+                  R[15] = BOOL(R[13] == R[9]);
+                  if (R[15] == IFALSE) {
+
+                    R[16] = BOOL(R[13] == R[11]);
+                    if (R[16] == IFALSE) {
+
+                      R[17] = 128 * 80 + 258;
+                      R[18] = BOOL(R[13] == R[17]);
+                      if (R[18] == IFALSE) {
+
+                        R[19] = G(R[1], 2);
+                        R[20] = G(R[1], 3);
+                        R[6] = R[5];
+                        R[5] = R[4];
+                        R[4] = R[20];
+                        ob = (word *)R[19];
+                        acc = 4;
+
+                      } else {
+
+                        R[19] = G(R[1], 4);
+                        *fp = make_header(4, TCLOS);
+                        fp[1] = G(R[1], 10);
+                        fp[3] = R[3];
+                        fp[2] = R[4];
+                        R[3] = (word)fp;
+                        fp += 4;
+                        R[4] = R[5];
+                        ob = (word *)R[19];
+                        acc = 2;
+
+                      }
+
+                    } else {
+
+                      R[17] = G(R[1], 11);
+                      ob = (word *)R[17];
+                      acc = 3;
+
+                    }
+
+                  } else {
+
+                    R[16] = G(R[1], 9);
+                    ob = (word *)R[16];
+                    acc = 3;
+
+                  }
+
+                } else {
+
+                  R[15] = G(R[1], 7);
+                  *fp = make_header(3, TPROC);
+                  fp[1] = G(R[1], 12);
+                  fp[2] = R[3];
+                  R[3] = (word)fp;
+                  fp += 3;
+                  ob = (word *)R[15];
+                  acc = 3;
+
+                }
+
+              }
+
+            } else {
+
+              {
+
+                word ob = R[5];
+                if (allocp(ob)) ob = V(ob);
+                R[11] = F((hval)ob >> TPOS & 63);
+
+              }
+
+              R[12] = BOOL(R[11] == R[7]);
+              if (R[12] == IFALSE) {
+
+                R[13] = BOOL(R[11] == R[9]);
+                if (R[13] == IFALSE) {
+
+                  R[14] = 128 * 78 + 258;
+                  R[15] = BOOL(R[11] == R[14]);
+                  if (R[15] == IFALSE) {
+
+                    R[16] = 128 * 80 + 258;
+                    R[17] = BOOL(R[11] == R[16]);
+                    if (R[17] == IFALSE) {
+
+                      R[18] = G(R[1], 2);
+                      R[19] = G(R[1], 3);
+                      R[6] = R[5];
+                      R[5] = R[4];
+                      R[4] = R[19];
+                      ob = (word *)R[18];
+                      acc = 4;
+
+                    } else {
+
+                      ob = (word *)R[3];
+                      R[3] = R[7];
+                      acc = 1;
+
+                    }
+
+                  } else {
+
+                    ob = (word *)R[3];
+                    R[3] = R[7];
+                    acc = 1;
+
+                  }
+
+                } else {
+
+                  {
+
+                    uint64_t a = (uint64_t)immval(R[7]) << FBITS | immval(R[4]);
+                    hval     b = immval(R[5]);
+                    uint64_t q = a / b;
+                    R[14] = F(q >> FBITS);
+                    R[15] = F(q);
+                    R[16] = F(a - q * b);
+
+                  }
+
+                  ob = (word *)R[3];
+                  R[3] = R[15];
+                  acc = 1;
+
+                }
+
+              } else {
+
+                R[13] = G(R[1], 13);
+                ob = (word *)R[13];
+                acc = 3;
+
+              }
+
+            }
+
+          } else {
+
+            {
+
+              word ob = R[5];
+              if (allocp(ob)) ob = V(ob);
+              R[9] = F((hval)ob >> TPOS & 63);
+
+            }
+
+            R[10] = BOOL(R[9] == R[7]);
+            if (R[10] == IFALSE) {
+
+              R[11] = 128 * 62 + 258;
+              R[12] = BOOL(R[9] == R[11]);
+              if (R[12] == IFALSE) {
+
+                R[13] = 128 * 78 + 258;
+                R[14] = BOOL(R[9] == R[13]);
+                if (R[14] == IFALSE) {
+
+                  R[15] = 128 * 80 + 258;
+                  R[16] = BOOL(R[9] == R[15]);
+                  if (R[16] == IFALSE) {
+
+                    R[17] = G(R[1], 2);
+                    R[18] = G(R[1], 3);
+                    R[6] = R[5];
+                    R[5] = R[4];
+                    R[4] = R[18];
+                    ob = (word *)R[17];
+                    acc = 4;
+
+                  } else {
+
+                    ob = (word *)R[3];
+                    R[3] = R[7];
+                    acc = 1;
+
+                  }
+
+                } else {
+
+                  ob = (word *)R[3];
+                  R[3] = R[7];
+                  acc = 1;
+
+                }
+
+              } else {
+
+                R[13] = G(R[1], 13);
+                ob = (word *)R[13];
+                acc = 3;
+
+              }
+
+            } else {
+
+              {
+
+                uint64_t a = (uint64_t)immval(R[7]) << FBITS | immval(R[4]);
+                hval     b = immval(R[5]);
+                uint64_t q = a / b;
+                R[11] = F(q >> FBITS);
+                R[12] = F(q);
+                R[13] = F(a - q * b);
+
+              }
+
+              ob = (word *)R[3];
+              R[3] = R[12];
+              acc = 1;
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1231:
+      if (acc == 2) {
+
+        {
+
+          word ob = R[3];
+          if (allocp(ob)) ob = V(ob);
+          R[5] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[6] = F(0);
+        R[7] = BOOL(R[5] == R[6]);
+        if (R[7] == IFALSE) {
+
+          R[8] = G(R[2], 2);
+          R[9] = G(R[1], 2);
+          R[4] = R[3];
+          R[3] = R[9];
+          ob = (word *)R[8];
+          acc = 2;
+
+        } else {
+
+          R[8] = G(R[2], 3);
+          R[9] = G(R[1], 2);
+          R[4] = R[3];
+          R[3] = R[9];
+          ob = (word *)R[8];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1232:
+      if (acc == 3) {
+
+        R[6] = F(0);
+        {
+
+          uint64_t a = (uint64_t)immval(R[6]) << FBITS | immval(R[4]);
+          hval     b = immval(R[5]);
+          uint64_t q = a / b;
+          R[7] = F(q >> FBITS);
+          R[8] = F(q);
+          R[9] = F(a - q * b);
+
+        }
+
+        if (R[8] == F(0)) {
+
+          ob = (word *)R[3];
+          R[3] = R[8];
+          acc = 1;
+
+        } else {
+
+          R[10] = G(R[1], 2);
+          R[4] = R[8];
+          ob = (word *)R[10];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1233:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[3];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 5;
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1234:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[8] = G(R[1], 2);
+        R[9] = R[4];
+        R[5] = R[3];
+        R[3] = R[7];
+        R[4] = R[8];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1235:
+      if (acc == 4) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[7] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[8] = 128 * 62 + 258;
+        R[9] = BOOL(R[7] == R[8]);
+        if (R[9] == IFALSE) {
+
+          R[10] = 128 * 80 + 258;
+          R[11] = BOOL(R[7] == R[10]);
+          if (R[11] == IFALSE) {
+
+            R[12] = G(R[1], 2);
+            ob = (word *)R[12];
+            acc = 3;
+
+          } else {
+
+            R[12] = G(R[1], 3);
+            *fp = make_header(5, TCLOS);
+            fp[1] = G(R[1], 4);
+            fp[4] = R[3];
+            fp[3] = R[6];
+            fp[2] = R[5];
+            R[3] = (word)fp;
+            fp += 5;
+            ob = (word *)R[12];
+            acc = 2;
+
+          }
+
+        } else {
+
+          R[10] = G(R[1], 3);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[1], 5);
+          fp[4] = R[3];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          ob = (word *)R[10];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1236:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 4);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = G(R[1], 2);
+        R[9] = R[6];
+        R[6] = R[4];
+        R[4] = R[3];
+        R[5] = R[7];
+        R[3] = R[9];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1237:
+      if (acc == 2) {
+
+        if (R[4] == IFALSE) {
+
+          ob = (word *)R[3];
+          R[3] = R[4];
+          acc = 1;
+
+        } else {
+
+          R[5] = G(R[1], 2);
+          ob = (word *)R[5];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1238:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[6];
+        fp[4] = R[3];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = 128 * 0 + 258;
+        R[4] = R[5];
+        R[5] = R[9];
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1239:
+      if (acc == 1) {
+
+        if (R[3] == F(0)) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = 128 * 0 + 258;
+          R[8] = R[4];
+          R[4] = R[5];
+          R[5] = R[10];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 4);
+          R[6] = 128 * 0 + 258;
+          R[7] = F(0);
+          R[8] = G(R[1], 2);
+          R[9] = G(R[1], 3);
+          R[10] = G(R[2], 5);
+          R[11] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          R[6] = R[8];
+          R[7] = R[9];
+          R[8] = R[10];
+          ob = (word *)R[11];
+          acc = 6;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1240:
+      if (acc == 1) {
+
+        if (R[3] == F(0)) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          R[9] = G(R[1], 2);
+          R[5] = 128 * 0 + 258;
+          R[11] = R[4];
+          R[4] = R[9];
+          ob = (word *)R[11];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[1], 4);
+          R[3] = IFALSE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1241:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 5;
+        R[8] = G(R[1], 2);
+        R[5] = 128 * 0 + 258;
+        R[10] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1242:
+      if (acc == 7) {
+
+        {
+
+          word ob = R[6];
+          if (allocp(ob)) ob = V(ob);
+          R[10] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[11] = 128 * 62 + 258;
+        if (R[10] == R[11]) {
+
+          R[12] = IFALSE;
+          ob = (word *)R[3];
+          R[3] = R[12];
+          acc = 1;
+
+        } else {
+
+          {
+
+            word ob = R[6];
+            if (allocp(ob)) ob = V(ob);
+            R[12] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          R[13] = 128 * 80 + 258;
+          if (R[12] == R[13]) {
+
+            R[14] = IFALSE;
+            ob = (word *)R[3];
+            R[3] = R[14];
+            acc = 1;
+
+          } else {
+
+            if (R[6] == F(0)) {
+
+              R[14] = G(R[1], 2);
+              R[4] = R[8];
+              ob = (word *)R[14];
+              acc = 2;
+
+            } else {
+
+              R[14] = G(R[1], 3);
+              *fp = make_header(9, TCLOS);
+              fp[1] = G(R[1], 4);
+              fp[8] = R[9];
+              fp[7] = R[3];
+              fp[6] = R[4];
+              fp[5] = R[5];
+              fp[4] = R[7];
+              fp[3] = R[8];
+              fp[2] = R[6];
+              R[3] = (word)fp;
+              fp += 9;
+              R[5] = R[4];
+              R[4] = R[6];
+              ob = (word *)R[14];
+              acc = 3;
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1243:
+      if (acc == 1) {
+
+        if (R[3] == F(0)) {
+
+          R[4] = G(R[1], 5);
+          R[5] = 128 * 44 + 258;
+          if (R[4] == R[5]) {
+
+            R[6] = G(R[1], 2);
+            R[7] = 128 * 2 + 258;
+            R[8] = prim_ref(R[6], R[7]);
+            R[9] = G(R[1], 3);
+            R[10] = G(R[1], 4);
+            R[11] = G(R[1], 7);
+            R[12] = G(R[1], 8);
+            *fp = make_header(6, TPROC);
+            fp[1] = G(R[2], 2);
+            fp[5] = R[12];
+            fp[4] = R[11];
+            fp[3] = R[10];
+            fp[2] = R[9];
+            R[13] = (word)fp;
+            fp += 6;
+            R[14] = prim_ref(R[8], R[7]);
+            if (R[14] == INULL) {
+
+              R[15] = 128 * 0 + 258;
+              R[3] = prim_ref(R[8], R[15]);
+              ob = (word *)R[13];
+              acc = 1;
+
+            } else {
+
+              R[3] = R[8];
+              ob = (word *)R[13];
+              acc = 1;
+
+            }
+
+          } else {
+
+            R[6] = G(R[1], 6);
+            {
+
+              hval r = immval(R[6]) + immval(R[6]);
+              R[8] = F(r >> FBITS);
+              R[7] = F(r);
+
+            }
+
+            R[9] = 128 * 0 + 258;
+            {
+
+              hval r = immval(R[4]) + immval(R[9]);
+              R[11] = F(r >> FBITS);
+              R[10] = F(r);
+
+            }
+
+            R[9] = G(R[1], 8);
+            R[3] = G(R[1], 7);
+            R[6] = G(R[1], 2);
+            R[15] = G(R[1], 4);
+            R[8] = G(R[1], 3);
+            R[4] = R[7];
+            R[5] = R[10];
+            R[7] = R[15];
+            ob = (word *)R[9];
+            acc = 7;
+
+          }
+
+        } else {
+
+          R[4] = G(R[2], 3);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 6);
+          R[10] = G(R[1], 7);
+          R[11] = G(R[1], 8);
+          *fp = make_header(9, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[8] = R[11];
+          fp[7] = R[10];
+          fp[6] = R[9];
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 9;
+          R[9] = R[4];
+          R[4] = R[7];
+          R[5] = R[8];
+          ob = (word *)R[9];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1244:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        *fp = make_header(8, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[10];
+        fp[6] = R[9];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[11] = (word)fp;
+        fp += 8;
+        R[12] = G(R[1], 2);
+        R[8] = R[4];
+        R[5] = R[3];
+        R[3] = R[11];
+        R[4] = R[12];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1245:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = 128 * 0 + 258;
+        R[6] = prim_ref(R[4], R[5]);
+        R[7] = G(R[1], 5);
+        R[8] = R[7] | R[6];
+        R[9] = 128 * 2 + 258;
+        R[10] = prim_ref(R[4], R[9]);
+        *fp = make_header(3, 40);
+        fp[1] = R[8];
+        fp[2] = R[10];
+        R[8] = (word)fp;
+        fp += 3;
+        R[9] = G(R[1], 7);
+        R[13] = G(R[1], 6);
+        R[5] = G(R[1], 4);
+        R[15] = G(R[1], 3);
+        R[6] = R[3];
+        R[4] = R[7];
+        R[3] = R[13];
+        R[7] = R[15];
+        ob = (word *)R[9];
+        acc = 7;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1246:
+      if (acc == 1) {
+
+        R[4] = F(0);
+        R[5] = G(R[1], 2);
+        *fp = make_header(3, 40);
+        fp[1] = R[4];
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 4);
+        R[9] = 128 * 0 + 258;
+        R[10] = G(R[1], 3);
+        R[12] = R[8];
+        R[8] = R[6];
+        R[6] = R[3];
+        R[5] = R[4];
+        R[4] = R[9];
+        R[9] = R[7];
+        R[7] = R[10];
+        R[3] = R[12];
+        ob = (word *)R[9];
+        acc = 7;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1247:
+      if (acc == 6) {
+
+        R[9] = G(R[1], 2);
+        ob = (word *)R[9];
+        acc = 7;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1248:
+      if (acc == 3) {
+
+        R[6] = 128 * 2 + 258;
+        R[7] = prim_ref(R[4], R[6]);
+        if (R[7] == INULL) {
+
+          R[8] = 128 * 0 + 258;
+          R[9] = prim_ref(R[4], R[8]);
+          ob = (word *)R[3];
+          R[3] = R[9];
+          acc = 1;
+
+        } else {
+
+          R[8] = 128 * 0 + 258;
+          R[9] = prim_ref(R[4], R[8]);
+          if (R[9] == F(0)) {
+
+            R[4] = prim_ref(R[4], R[6]);
+            ob = (word *)R[5];
+            acc = 3;
+
+          } else {
+
+            R[10] = G(R[1], 2);
+            R[5] = INULL;
+            ob = (word *)R[10];
+            acc = 3;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1249:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 4);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = G(R[1], 2);
+        R[5] = R[3];
+        R[3] = R[6];
+        R[6] = R[4];
+        R[4] = R[7];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1250:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = 128 * 2 + 258;
+        R[6] = prim_ref(R[4], R[5]);
+        R[7] = G(R[1], 3);
+        R[5] = prim_ref(R[7], R[5]);
+        R[9] = G(R[1], 4);
+        R[10] = G(R[1], 5);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[10];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 4;
+        R[4] = R[6];
+        R[6] = R[9];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1251:
+      if (acc == 3) {
+
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 2);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[5] = R[6];
+        ob = (word *)R[5];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1252:
+      if (acc == 3) {
+
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[5];
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[7];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = F(0);
+        R[10] = R[6];
+        R[5] = R[7];
+        R[6] = R[9];
+        ob = (word *)R[10];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1253:
+      if (acc == 1) {
+
+        R[4] = 128 * 2 + 258;
+        R[5] = prim_less(R[3], R[4]);
+        if (R[5] == IFALSE) {
+
+          R[6] = G(R[2], 2);
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 4);
+          R[9] = G(R[1], 5);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[9];
+          fp[3] = R[8];
+          fp[2] = R[7];
+          R[10] = (word)fp;
+          fp += 5;
+          R[4] = G(R[1], 2);
+          R[5] = R[3];
+          R[3] = R[10];
+          ob = (word *)R[6];
+          acc = 3;
+
+        } else {
+
+          R[6] = G(R[2], 4);
+          R[3] = G(R[1], 4);
+          R[4] = G(R[1], 3);
+          R[5] = G(R[1], 2);
+          ob = (word *)R[6];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1254:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[8] = G(R[1], 2);
+        R[9] = R[4];
+        R[5] = R[3];
+        R[3] = R[7];
+        R[4] = R[8];
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1255:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[5] = R[6];
+        fp[4] = R[3];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 6;
+        ob = (word *)R[7];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1256:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(7, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 7;
+        R[7] = R[4];
+        R[4] = R[3];
+        R[3] = R[9];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1257:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 6);
+          R[5] = G(R[1], 5);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 3);
+          R[9] = R[6];
+          R[6] = R[4];
+          R[3] = R[5];
+          R[5] = R[7];
+          R[4] = R[9];
+          ob = (word *)R[6];
+          acc = 4;
+
+        } else {
+
+          R[4] = G(R[1], 5);
+          R[3] = G(R[1], 2);
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1258:
+      if (acc == 3) {
+
+        if (R[5] == F(0)) {
+
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 3);
+          R[9] = R[6];
+          R[6] = R[5];
+          R[5] = R[4];
+          R[4] = R[7];
+          ob = (word *)R[9];
+          acc = 4;
+
+        } else {
+
+          {
+
+            word ob = R[4];
+            if (allocp(ob)) ob = V(ob);
+            R[6] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          R[7] = F(0);
+          R[8] = BOOL(R[6] == R[7]);
+          if (R[8] == IFALSE) {
+
+            R[9] = 128 * 78 + 258;
+            R[10] = BOOL(R[6] == R[9]);
+            if (R[10] == IFALSE) {
+
+              R[11] = 128 * 62 + 258;
+              R[12] = BOOL(R[6] == R[11]);
+              if (R[12] == IFALSE) {
+
+                R[13] = 128 * 80 + 258;
+                R[14] = BOOL(R[6] == R[13]);
+                if (R[14] == IFALSE) {
+
+                  R[15] = G(R[1], 2);
+                  R[16] = G(R[1], 3);
+                  R[6] = R[5];
+                  R[5] = R[4];
+                  R[4] = R[16];
+                  ob = (word *)R[15];
+                  acc = 4;
+
+                } else {
+
+                  {
+
+                    word ob = R[5];
+                    if (allocp(ob)) ob = V(ob);
+                    R[15] = F((hval)ob >> TPOS & 63);
+
+                  }
+
+                  R[16] = BOOL(R[15] == R[7]);
+                  if (R[16] == IFALSE) {
+
+                    R[17] = BOOL(R[15] == R[11]);
+                    if (R[17] == IFALSE) {
+
+                      R[18] = BOOL(R[15] == R[9]);
+                      if (R[18] == IFALSE) {
+
+                        R[19] = BOOL(R[15] == R[13]);
+                        if (R[19] == IFALSE) {
+
+                          R[20] = G(R[1], 2);
+                          R[21] = G(R[1], 3);
+                          R[6] = R[5];
+                          R[5] = R[4];
+                          R[4] = R[21];
+                          ob = (word *)R[20];
+                          acc = 4;
+
+                        } else {
+
+                          R[20] = G(R[1], 4);
+                          *fp = make_header(4, TCLOS);
+                          fp[1] = G(R[1], 5);
+                          fp[3] = R[3];
+                          fp[2] = R[5];
+                          R[3] = (word)fp;
+                          fp += 4;
+                          ob = (word *)R[20];
+                          acc = 2;
+
+                        }
+
+                      } else {
+
+                        R[19] = G(R[1], 4);
+                        *fp = make_header(4, TCLOS);
+                        fp[1] = G(R[1], 6);
+                        fp[3] = R[3];
+                        fp[2] = R[5];
+                        R[3] = (word)fp;
+                        fp += 4;
+                        ob = (word *)R[19];
+                        acc = 2;
+
+                      }
+
+                    } else {
+
+                      R[18] = G(R[1], 7);
+                      *fp = make_header(3, TCLOS);
+                      fp[1] = G(R[1], 8);
+                      fp[2] = R[3];
+                      R[3] = (word)fp;
+                      fp += 3;
+                      ob = (word *)R[18];
+                      acc = 3;
+
+                    }
+
+                  } else {
+
+                    R[17] = G(R[1], 7);
+                    *fp = make_header(3, TCLOS);
+                    fp[1] = G(R[1], 9);
+                    fp[2] = R[3];
+                    R[3] = (word)fp;
+                    fp += 3;
+                    ob = (word *)R[17];
+                    acc = 3;
+
+                  }
+
+                }
+
+              } else {
+
+                {
+
+                  word ob = R[5];
+                  if (allocp(ob)) ob = V(ob);
+                  R[13] = F((hval)ob >> TPOS & 63);
+
+                }
+
+                R[14] = BOOL(R[13] == R[7]);
+                if (R[14] == IFALSE) {
+
+                  R[15] = BOOL(R[13] == R[11]);
+                  if (R[15] == IFALSE) {
+
+                    R[16] = BOOL(R[13] == R[9]);
+                    if (R[16] == IFALSE) {
+
+                      R[17] = 128 * 80 + 258;
+                      R[18] = BOOL(R[13] == R[17]);
+                      if (R[18] == IFALSE) {
+
+                        R[19] = G(R[1], 2);
+                        R[20] = G(R[1], 3);
+                        R[6] = R[5];
+                        R[5] = R[4];
+                        R[4] = R[20];
+                        ob = (word *)R[19];
+                        acc = 4;
+
+                      } else {
+
+                        R[8] = R[3];
+                        R[3] = R[7];
+                        ob = (word *)R[8];
+                        acc = 2;
+
+                      }
+
+                    } else {
+
+                      R[8] = R[3];
+                      R[3] = R[7];
+                      ob = (word *)R[8];
+                      acc = 2;
+
+                    }
+
+                  } else {
+
+                    {
+
+                      uint64_t a =
+                          (uint64_t)immval(R[7]) << FBITS | immval(R[4]);
+                      hval     b = immval(R[5]);
+                      uint64_t q = a / b;
+                      R[16] = F(q >> FBITS);
+                      R[17] = F(q);
+                      R[18] = F(a - q * b);
+
+                    }
+
+                    R[19] = G(R[1], 4);
+                    *fp = make_header(4, TPROC);
+                    fp[1] = G(R[1], 10);
+                    fp[3] = R[3];
+                    fp[2] = R[17];
+                    R[3] = (word)fp;
+                    fp += 4;
+                    R[4] = R[18];
+                    ob = (word *)R[19];
+                    acc = 2;
+
+                  }
+
+                } else {
+
+                  {
+
+                    uint64_t a = (uint64_t)immval(R[7]) << FBITS | immval(R[4]);
+                    hval     b = immval(R[5]);
+                    uint64_t q = a / b;
+                    R[15] = F(q >> FBITS);
+                    R[16] = F(q);
+                    R[17] = F(a - q * b);
+
+                  }
+
+                  R[18] = G(R[1], 4);
+                  *fp = make_header(4, TCLOS);
+                  fp[1] = G(R[1], 11);
+                  fp[3] = R[3];
+                  fp[2] = R[17];
+                  R[3] = (word)fp;
+                  fp += 4;
+                  R[4] = R[16];
+                  ob = (word *)R[18];
+                  acc = 2;
+
+                }
+
+              }
+
+            } else {
+
+              {
+
+                word ob = R[5];
+                if (allocp(ob)) ob = V(ob);
+                R[11] = F((hval)ob >> TPOS & 63);
+
+              }
+
+              R[12] = BOOL(R[11] == R[7]);
+              if (R[12] == IFALSE) {
+
+                R[13] = BOOL(R[11] == R[9]);
+                if (R[13] == IFALSE) {
+
+                  R[14] = 128 * 62 + 258;
+                  R[15] = BOOL(R[11] == R[14]);
+                  if (R[15] == IFALSE) {
+
+                    R[16] = 128 * 80 + 258;
+                    R[17] = BOOL(R[11] == R[16]);
+                    if (R[17] == IFALSE) {
+
+                      R[18] = G(R[1], 2);
+                      R[19] = G(R[1], 3);
+                      R[6] = R[5];
+                      R[5] = R[4];
+                      R[4] = R[19];
+                      ob = (word *)R[18];
+                      acc = 4;
+
+                    } else {
+
+                      R[18] = G(R[1], 4);
+                      *fp = make_header(4, TCLOS);
+                      fp[1] = G(R[1], 12);
+                      fp[3] = R[3];
+                      fp[2] = R[4];
+                      R[3] = (word)fp;
+                      fp += 4;
+                      R[4] = R[5];
+                      ob = (word *)R[18];
+                      acc = 2;
+
+                    }
+
+                  } else {
+
+                    R[16] = G(R[1], 7);
+                    *fp = make_header(3, TCLOS);
+                    fp[1] = G(R[1], 13);
+                    fp[2] = R[3];
+                    R[3] = (word)fp;
+                    fp += 3;
+                    ob = (word *)R[16];
+                    acc = 3;
+
+                  }
+
+                } else {
+
+                  R[14] = G(R[1], 14);
+                  ob = (word *)R[14];
+                  acc = 3;
+
+                }
+
+              } else {
+
+                R[13] = G(R[1], 7);
+                *fp = make_header(3, TPROC);
+                fp[1] = G(R[1], 15);
+                fp[2] = R[3];
+                R[3] = (word)fp;
+                fp += 3;
+                ob = (word *)R[13];
+                acc = 3;
+
+              }
+
+            }
+
+          } else {
+
+            {
+
+              word ob = R[5];
+              if (allocp(ob)) ob = V(ob);
+              R[9] = F((hval)ob >> TPOS & 63);
+
+            }
+
+            R[10] = BOOL(R[9] == R[7]);
+            if (R[10] == IFALSE) {
+
+              R[11] = 128 * 78 + 258;
+              R[12] = BOOL(R[9] == R[11]);
+              if (R[12] == IFALSE) {
+
+                R[13] = 128 * 62 + 258;
+                R[14] = BOOL(R[9] == R[13]);
+                if (R[14] == IFALSE) {
+
+                  R[15] = 128 * 80 + 258;
+                  R[16] = BOOL(R[9] == R[15]);
+                  if (R[16] == IFALSE) {
+
+                    R[17] = G(R[1], 2);
+                    R[18] = G(R[1], 3);
+                    R[6] = R[5];
+                    R[5] = R[4];
+                    R[4] = R[18];
+                    ob = (word *)R[17];
+                    acc = 4;
+
+                  } else {
+
+                    R[8] = R[3];
+                    R[3] = R[7];
+                    ob = (word *)R[8];
+                    acc = 2;
+
+                  }
+
+                } else {
+
+                  {
+
+                    uint64_t a = (uint64_t)immval(R[7]) << FBITS | immval(R[4]);
+                    hval     b = immval(R[5]);
+                    uint64_t q = a / b;
+                    R[15] = F(q >> FBITS);
+                    R[16] = F(q);
+                    R[17] = F(a - q * b);
+
+                  }
+
+                  R[18] = G(R[1], 4);
+                  *fp = make_header(4, TPROC);
+                  fp[1] = G(R[1], 16);
+                  fp[3] = R[3];
+                  fp[2] = R[17];
+                  R[3] = (word)fp;
+                  fp += 4;
+                  R[4] = R[16];
+                  ob = (word *)R[18];
+                  acc = 2;
+
+                }
+
+              } else {
+
+                R[8] = R[3];
+                R[3] = R[7];
+                ob = (word *)R[8];
+                acc = 2;
+
+              }
+
+            } else {
+
+              {
+
+                uint64_t a = (uint64_t)immval(R[7]) << FBITS | immval(R[4]);
+                hval     b = immval(R[5]);
+                uint64_t q = a / b;
+                R[11] = F(q >> FBITS);
+                R[12] = F(q);
+                R[13] = F(a - q * b);
+
+              }
+
+              R[7] = R[3];
+              R[3] = R[12];
+              R[4] = R[13];
+              ob = (word *)R[7];
+              acc = 2;
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1259:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1260:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[4];
+        R[7] = (word)fp;
+        fp += 4;
+        R[4] = R[3];
+        R[3] = R[7];
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1261:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[4];
+        R[7] = (word)fp;
+        fp += 4;
+        R[4] = R[3];
+        R[3] = R[7];
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1262:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 4;
+        R[7] = G(R[1], 2);
+        R[8] = R[4];
+        R[4] = R[7];
+        ob = (word *)R[8];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1263:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 4;
+        R[7] = G(R[1], 2);
+        R[8] = R[4];
+        R[4] = R[7];
+        ob = (word *)R[8];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1264:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = G(R[1], 2);
+        R[8] = R[4];
+        R[5] = R[3];
+        R[3] = R[6];
+        R[4] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1265:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 4;
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1266:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        ob = (word *)R[5];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1267:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 3;
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1268:
+      if (acc == 2) {
+
+        R[5] = G(R[2], 2);
+        R[6] = G(R[1], 2);
+        R[4] = R[3];
+        R[3] = R[6];
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1269:
+      if (acc == 3) {
+
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 2);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = F(0);
+        R[5] = R[7];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1270:
+      if (acc == 4) {
+
+        R[7] = G(R[2], 2);
+        R[8] = G(R[1], 2);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[6];
+        fp[5] = R[3];
+        fp[4] = R[5];
+        fp[3] = R[4];
+        fp[2] = R[8];
+        R[3] = (word)fp;
+        fp += 7;
+        R[6] = F(0);
+        R[5] = R[8];
+        ob = (word *)R[7];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1271:
+      if (acc == 1) {
+
+        R[4] = 128 * 2 + 258;
+        R[5] = prim_less(R[3], R[4]);
+        if (R[5] == IFALSE) {
+
+          R[6] = G(R[2], 2);
+          R[7] = G(R[1], 3);
+          R[8] = G(R[1], 4);
+          R[9] = G(R[1], 5);
+          R[10] = G(R[1], 6);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[6] = R[10];
+          fp[5] = R[9];
+          fp[4] = R[8];
+          fp[3] = R[3];
+          fp[2] = R[7];
+          R[11] = (word)fp;
+          fp += 7;
+          R[4] = G(R[1], 2);
+          R[5] = R[3];
+          R[3] = R[11];
+          ob = (word *)R[6];
+          acc = 3;
+
+        } else {
+
+          R[6] = G(R[2], 4);
+          R[7] = G(R[1], 5);
+          R[4] = G(R[1], 3);
+          R[5] = G(R[1], 2);
+          R[10] = G(R[1], 4);
+          R[11] = R[6];
+          R[3] = R[7];
+          R[6] = R[10];
+          ob = (word *)R[11];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1272:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        R[9] = 128 * 0 + 258;
+        R[5] = G(R[1], 2);
+        R[11] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[11];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1273:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[8] = (word)fp;
+        fp += 5;
+        R[9] = G(R[1], 2);
+        R[10] = R[4];
+        R[5] = R[3];
+        R[3] = R[8];
+        R[4] = R[9];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1274:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 2);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[6] = R[7];
+        fp[5] = R[3];
+        fp[4] = R[5];
+        fp[3] = R[6];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 7;
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1275:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 6);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[3];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[10] = (word)fp;
+        fp += 8;
+        R[7] = R[4];
+        R[4] = R[3];
+        R[3] = R[10];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1276:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 6);
+          R[8] = G(R[1], 7);
+          *fp = make_header(6, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = G(R[1], 3);
+          R[7] = R[4];
+          R[4] = R[10];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[1], 6);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 2);
+          R[7] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1277:
+      if (acc == 2) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[5] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[6] = F(0);
+        R[7] = BOOL(R[5] == R[6]);
+        if (R[7] == IFALSE) {
+
+          R[8] = 128 * 62 + 258;
+          R[9] = BOOL(R[5] == R[8]);
+          if (R[9] == IFALSE) {
+
+            R[10] = 128 * 78 + 258;
+            R[11] = BOOL(R[5] == R[10]);
+            if (R[11] == IFALSE) {
+
+              R[12] = 128 * 80 + 258;
+              R[13] = BOOL(R[5] == R[12]);
+              if (R[13] == IFALSE) {
+
+                R[14] = 128 * 82 + 258;
+                R[15] = BOOL(R[5] == R[14]);
+                if (R[15] == IFALSE) {
+
+                  R[16] = G(R[1], 2);
+                  R[17] = G(R[1], 3);
+                  R[5] = R[4];
+                  R[4] = R[17];
+                  ob = (word *)R[16];
+                  acc = 3;
+
+                } else {
+
+                  R[16] = 128 * 0 + 258;
+                  R[17] = prim_ref(R[4], R[16]);
+                  {
+
+                    word ob = R[17];
+                    if (allocp(ob)) ob = V(ob);
+                    R[18] = F((hval)ob >> TPOS & 63);
+
+                  }
+
+                  R[19] = BOOL(R[18] == R[6]);
+                  if (R[19] == IFALSE) {
+
+                    R[20] = BOOL(R[18] == R[8]);
+                    if (R[20] == IFALSE) {
+
+                      R[21] = BOOL(R[18] == R[10]);
+                      if (R[21] == IFALSE) {
+
+                        R[22] = BOOL(R[18] == R[12]);
+                        if (R[22] == IFALSE) {
+
+                          R[23] = G(R[1], 2);
+                          R[24] = G(R[1], 4);
+                          R[5] = R[4];
+                          R[4] = R[24];
+                          ob = (word *)R[23];
+                          acc = 3;
+
+                        } else {
+
+                          R[23] = ITRUE;
+                          ob = (word *)R[3];
+                          R[3] = R[23];
+                          acc = 1;
+
+                        }
+
+                      } else {
+
+                        R[22] = IFALSE;
+                        ob = (word *)R[3];
+                        R[3] = R[22];
+                        acc = 1;
+
+                      }
+
+                    } else {
+
+                      R[21] = ITRUE;
+                      ob = (word *)R[3];
+                      R[3] = R[21];
+                      acc = 1;
+
+                    }
+
+                  } else {
+
+                    R[20] = IFALSE;
+                    ob = (word *)R[3];
+                    R[3] = R[20];
+                    acc = 1;
+
+                  }
+
+                }
+
+              } else {
+
+                R[14] = ITRUE;
+                ob = (word *)R[3];
+                R[3] = R[14];
+                acc = 1;
+
+              }
+
+            } else {
+
+              R[12] = IFALSE;
+              ob = (word *)R[3];
+              R[3] = R[12];
+              acc = 1;
+
+            }
+
+          } else {
+
+            R[10] = ITRUE;
+            ob = (word *)R[3];
+            R[3] = R[10];
+            acc = 1;
+
+          }
+
+        } else {
+
+          R[8] = IFALSE;
+          ob = (word *)R[3];
+          R[3] = R[8];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1278:
+      if (acc == 5) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[8] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        if (R[8] == F(0)) {
+
+          R[9] = F(0);
+          ob = (word *)R[3];
+          R[3] = R[9];
+          acc = 1;
+
+        } else {
+
+          R[9] = 128 * 2 + 258;
+          R[10] = prim_ref(R[4], R[9]);
+          R[11] = prim_ref(R[5], R[9]);
+          if (R[10] == INULL) {
+
+            if (R[11] == INULL) {
+
+              R[12] = 128 * 0 + 258;
+              R[13] = prim_ref(R[5], R[12]);
+              R[14] = G(R[1], 2);
+              if (R[13] == R[14]) {
+
+                if (R[6] == F(0)) {
+
+                  R[15] = F(0);
+                  ob = (word *)R[3];
+                  R[3] = R[15];
+                  acc = 1;
+
+                } else {
+
+                  R[15] = prim_ref(R[4], R[12]);
+                  R[16] = G(R[1], 3);
+                  *fp = make_header(4, TCLOS);
+                  fp[1] = G(R[1], 4);
+                  fp[3] = R[3];
+                  fp[2] = R[15];
+                  R[3] = (word)fp;
+                  fp += 4;
+                  R[4] = R[6];
+                  R[5] = R[12];
+                  ob = (word *)R[16];
+                  acc = 3;
+
+                }
+
+              } else {
+
+                R[15] = prim_ref(R[4], R[12]);
+                R[16] = G(R[1], 5);
+                *fp = make_header(5, TCLOS);
+                fp[1] = G(R[1], 6);
+                fp[4] = R[3];
+                fp[3] = R[6];
+                fp[2] = R[15];
+                R[3] = (word)fp;
+                fp += 5;
+                R[5] = R[12];
+                R[4] = R[13];
+                ob = (word *)R[16];
+                acc = 3;
+
+              }
+
+            } else {
+
+              R[12] = F(0);
+              ob = (word *)R[3];
+              R[3] = R[12];
+              acc = 1;
+
+            }
+
+          } else {
+
+            if (R[11] == INULL) {
+
+              R[12] = prim_ref(R[4], R[9]);
+              R[13] = G(R[1], 5);
+              *fp = make_header(6, TPROC);
+              fp[1] = G(R[1], 7);
+              fp[5] = R[7];
+              fp[4] = R[3];
+              fp[3] = R[12];
+              fp[2] = R[5];
+              R[3] = (word)fp;
+              fp += 6;
+              R[5] = 128 * 46 + 258;
+              R[4] = R[6];
+              ob = (word *)R[13];
+              acc = 3;
+
+            } else {
+
+              R[4] = prim_ref(R[4], R[9]);
+              R[5] = prim_ref(R[5], R[9]);
+              ob = (word *)R[7];
+              acc = 5;
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1279:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = prim_less(R[4], R[3]);
+        if (R[5] == IFALSE) {
+
+          R[6] = G(R[2], 2);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 3);
+          R[9] = R[6];
+          R[5] = R[3];
+          R[3] = R[7];
+          R[6] = R[8];
+          ob = (word *)R[9];
+          acc = 4;
+
+        } else {
+
+          R[6] = G(R[2], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 3);
+          R[9] = R[6];
+          R[5] = R[3];
+          R[3] = R[7];
+          R[6] = R[8];
+          ob = (word *)R[9];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1280:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[7] = G(R[2], 3);
+        R[9] = R[4];
+        R[4] = R[6];
+        R[6] = R[3];
+        R[3] = R[5];
+        R[5] = R[7];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1281:
+      if (acc == 5) {
+
+        if (R[4] == R[5]) {
+
+          R[8] = G(R[1], 2);
+          R[5] = 128 * 0 + 258;
+          R[4] = R[6];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[8] = prim_less(R[4], R[5]);
+          if (R[8] == IFALSE) {
+
+            {
+
+              hval r = immval(R[5]) + immval(R[5]);
+              R[10] = F(r >> FBITS);
+              R[9] = F(r);
+
+            }
+
+            if (R[10] == F(0)) {
+
+              R[11] = G(R[1], 3);
+              *fp = make_header(6, TPROC);
+              fp[1] = G(R[1], 4);
+              fp[5] = R[7];
+              fp[4] = R[3];
+              fp[3] = R[4];
+              fp[2] = R[9];
+              R[3] = (word)fp;
+              fp += 6;
+              R[4] = R[6];
+              ob = (word *)R[11];
+              acc = 2;
+
+            } else {
+
+              R[11] = G(R[1], 2);
+              R[4] = R[6];
+              R[5] = R[10];
+              ob = (word *)R[11];
+              acc = 3;
+
+            }
+
+          } else {
+
+            R[9] = G(R[1], 2);
+            R[5] = 128 * 0 + 258;
+            R[4] = R[6];
+            ob = (word *)R[9];
+            acc = 3;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1282:
+      if (acc == 5) {
+
+        if (R[6] == F(0)) {
+
+          R[8] = F(0);
+          ob = (word *)R[3];
+          R[3] = R[8];
+          acc = 1;
+
+        } else {
+
+          if (R[4] == R[5]) {
+
+            R[8] = G(R[1], 2);
+            R[5] = 128 * 0 + 258;
+            R[4] = R[6];
+            ob = (word *)R[8];
+            acc = 3;
+
+          } else {
+
+            R[8] = prim_less(R[5], R[4]);
+            if (R[8] == IFALSE) {
+
+              R[9] = 128 * 0 + 258;
+              {
+
+                hval x = immval(R[5]);
+                uint n = immval(R[9]);
+                R[10] = F(x >> n);
+                R[11] = F(x << (FBITS - n));
+
+              }
+
+              R[12] = G(R[1], 2);
+              *fp = make_header(6, TPROC);
+              fp[1] = G(R[1], 3);
+              fp[5] = R[7];
+              fp[4] = R[3];
+              fp[3] = R[4];
+              fp[2] = R[10];
+              R[3] = (word)fp;
+              fp += 6;
+              R[4] = R[6];
+              R[5] = R[9];
+              ob = (word *)R[12];
+              acc = 3;
+
+            } else {
+
+              ob = (word *)R[3];
+              R[3] = R[6];
+              acc = 1;
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1283:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 5);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 2);
+        R[10] = R[5];
+        R[5] = R[7];
+        R[7] = R[4];
+        R[4] = R[6];
+        R[6] = R[3];
+        R[3] = R[10];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1284:
+      if (acc == 4) {
+
+        if (R[4] == F(0)) {
+
+          R[7] = F(0);
+          ob = (word *)R[3];
+          R[3] = R[7];
+          acc = 1;
+
+        } else {
+
+          if (R[5] == F(0)) {
+
+            R[7] = F(0);
+            ob = (word *)R[3];
+            R[3] = R[7];
+            acc = 1;
+
+          } else {
+
+            {
+
+              word ob = R[4];
+              if (allocp(ob)) ob = V(ob);
+              R[7] = F((hval)ob >> TPOS & 63);
+
+            }
+
+            R[8] = F(0);
+            R[9] = BOOL(R[7] == R[8]);
+            if (R[9] == IFALSE) {
+
+              R[10] = 128 * 62 + 258;
+              R[11] = BOOL(R[7] == R[10]);
+              if (R[11] == IFALSE) {
+
+                R[12] = 128 * 78 + 258;
+                R[13] = BOOL(R[7] == R[12]);
+                if (R[13] == IFALSE) {
+
+                  R[14] = 128 * 80 + 258;
+                  R[15] = BOOL(R[7] == R[14]);
+                  if (R[15] == IFALSE) {
+
+                    R[16] = 128 * 82 + 258;
+                    R[17] = BOOL(R[7] == R[16]);
+                    if (R[17] == IFALSE) {
+
+                      R[18] = G(R[1], 2);
+                      R[19] = G(R[1], 3);
+                      R[6] = R[5];
+                      R[5] = R[4];
+                      R[4] = R[19];
+                      ob = (word *)R[18];
+                      acc = 4;
+
+                    } else {
+
+                      {
+
+                        word ob = R[5];
+                        if (allocp(ob)) ob = V(ob);
+                        R[18] = F((hval)ob >> TPOS & 63);
+
+                      }
+
+                      R[19] = BOOL(R[18] == R[16]);
+                      if (R[19] == IFALSE) {
+
+                        R[9] = R[5];
+                        R[5] = R[4];
+                        R[4] = R[9];
+                        ob = (word *)R[6];
+                        acc = 4;
+
+                      } else {
+
+                        R[20] = G(R[1], 2);
+                        R[21] = G(R[1], 3);
+                        R[6] = R[5];
+                        R[5] = R[4];
+                        R[4] = R[21];
+                        ob = (word *)R[20];
+                        acc = 4;
+
+                      }
+
+                    }
+
+                  } else {
+
+                    {
+
+                      word ob = R[5];
+                      if (allocp(ob)) ob = V(ob);
+                      R[16] = F((hval)ob >> TPOS & 63);
+
+                    }
+
+                    R[17] = BOOL(R[16] == R[8]);
+                    if (R[17] == IFALSE) {
+
+                      R[18] = BOOL(R[16] == R[10]);
+                      if (R[18] == IFALSE) {
+
+                        R[19] = BOOL(R[16] == R[12]);
+                        if (R[19] == IFALSE) {
+
+                          R[20] = BOOL(R[16] == R[14]);
+                          if (R[20] == IFALSE) {
+
+                            R[21] = G(R[1], 2);
+                            R[22] = G(R[1], 3);
+                            R[6] = R[5];
+                            R[5] = R[4];
+                            R[4] = R[22];
+                            ob = (word *)R[21];
+                            acc = 4;
+
+                          } else {
+
+                            R[21] = G(R[1], 4);
+                            ob = (word *)R[21];
+                            acc = 3;
+
+                          }
+
+                        } else {
+
+                          R[20] = G(R[1], 4);
+                          *fp = make_header(3, TCLOS);
+                          fp[1] = G(R[1], 5);
+                          fp[2] = R[3];
+                          R[3] = (word)fp;
+                          fp += 3;
+                          ob = (word *)R[20];
+                          acc = 3;
+
+                        }
+
+                      } else {
+
+                        R[19] = G(R[1], 6);
+                        R[9] = R[5];
+                        R[5] = R[4];
+                        R[6] = R[8];
+                        R[4] = R[9];
+                        ob = (word *)R[19];
+                        acc = 4;
+
+                      }
+
+                    } else {
+
+                      R[18] = G(R[1], 6);
+                      *fp = make_header(3, TCLOS);
+                      fp[1] = G(R[1], 7);
+                      fp[2] = R[3];
+                      R[3] = (word)fp;
+                      fp += 3;
+                      R[9] = R[5];
+                      R[5] = R[4];
+                      R[6] = R[8];
+                      R[4] = R[9];
+                      ob = (word *)R[18];
+                      acc = 4;
+
+                    }
+
+                  }
+
+                } else {
+
+                  {
+
+                    word ob = R[5];
+                    if (allocp(ob)) ob = V(ob);
+                    R[14] = F((hval)ob >> TPOS & 63);
+
+                  }
+
+                  R[15] = BOOL(R[14] == R[8]);
+                  if (R[15] == IFALSE) {
+
+                    R[16] = BOOL(R[14] == R[10]);
+                    if (R[16] == IFALSE) {
+
+                      R[17] = BOOL(R[14] == R[12]);
+                      if (R[17] == IFALSE) {
+
+                        R[18] = 128 * 80 + 258;
+                        R[19] = BOOL(R[14] == R[18]);
+                        if (R[19] == IFALSE) {
+
+                          R[20] = G(R[1], 2);
+                          R[21] = G(R[1], 3);
+                          R[6] = R[5];
+                          R[5] = R[4];
+                          R[4] = R[21];
+                          ob = (word *)R[20];
+                          acc = 4;
+
+                        } else {
+
+                          R[20] = G(R[1], 4);
+                          *fp = make_header(3, TCLOS);
+                          fp[1] = G(R[1], 8);
+                          fp[2] = R[3];
+                          R[3] = (word)fp;
+                          fp += 3;
+                          ob = (word *)R[20];
+                          acc = 3;
+
+                        }
+
+                      } else {
+
+                        R[18] = G(R[1], 4);
+                        ob = (word *)R[18];
+                        acc = 3;
+
+                      }
+
+                    } else {
+
+                      R[17] = G(R[1], 6);
+                      *fp = make_header(3, TCLOS);
+                      fp[1] = G(R[1], 9);
+                      fp[2] = R[3];
+                      R[3] = (word)fp;
+                      fp += 3;
+                      R[9] = R[5];
+                      R[5] = R[4];
+                      R[6] = R[8];
+                      R[4] = R[9];
+                      ob = (word *)R[17];
+                      acc = 4;
+
+                    }
+
+                  } else {
+
+                    R[16] = G(R[1], 6);
+                    R[9] = R[5];
+                    R[5] = R[4];
+                    R[6] = R[8];
+                    R[4] = R[9];
+                    ob = (word *)R[16];
+                    acc = 4;
+
+                  }
+
+                }
+
+              } else {
+
+                {
+
+                  word ob = R[5];
+                  if (allocp(ob)) ob = V(ob);
+                  R[12] = F((hval)ob >> TPOS & 63);
+
+                }
+
+                R[13] = BOOL(R[12] == R[8]);
+                if (R[13] == IFALSE) {
+
+                  R[14] = BOOL(R[12] == R[10]);
+                  if (R[14] == IFALSE) {
+
+                    R[15] = 128 * 78 + 258;
+                    R[16] = BOOL(R[12] == R[15]);
+                    if (R[16] == IFALSE) {
+
+                      R[17] = 128 * 80 + 258;
+                      R[18] = BOOL(R[12] == R[17]);
+                      if (R[18] == IFALSE) {
+
+                        R[19] = G(R[1], 2);
+                        R[20] = G(R[1], 3);
+                        R[6] = R[5];
+                        R[5] = R[4];
+                        R[4] = R[20];
+                        ob = (word *)R[19];
+                        acc = 4;
+
+                      } else {
+
+                        R[19] = G(R[1], 6);
+                        R[6] = R[8];
+                        ob = (word *)R[19];
+                        acc = 4;
+
+                      }
+
+                    } else {
+
+                      R[17] = G(R[1], 6);
+                      *fp = make_header(3, TCLOS);
+                      fp[1] = G(R[1], 10);
+                      fp[2] = R[3];
+                      R[3] = (word)fp;
+                      fp += 3;
+                      R[6] = R[8];
+                      ob = (word *)R[17];
+                      acc = 4;
+
+                    }
+
+                  } else {
+
+                    {
+
+                      uint64_t p = (uint64_t)immval(R[4]) * immval(R[5]);
+                      R[15] = F(p);
+                      R[16] = F(p >> FBITS);
+
+                    }
+
+                    R[17] = BOOL(R[16] == R[8]);
+                    if (R[17] == IFALSE) {
+
+                      R[18] = INULL;
+                      *fp = make_header(3, 40);
+                      fp[1] = R[16];
+                      fp[2] = R[18];
+                      R[19] = (word)fp;
+                      fp += 3;
+                      *fp = make_header(3, 40);
+                      fp[1] = R[15];
+                      fp[2] = R[19];
+                      R[20] = (word)fp;
+                      fp += 3;
+                      ob = (word *)R[3];
+                      R[3] = R[20];
+                      acc = 1;
+
+                    } else {
+
+                      ob = (word *)R[3];
+                      R[3] = R[15];
+                      acc = 1;
+
+                    }
+
+                  }
+
+                } else {
+
+                  {
+
+                    uint64_t p = (uint64_t)immval(R[4]) * immval(R[5]);
+                    R[14] = F(p);
+                    R[15] = F(p >> FBITS);
+
+                  }
+
+                  R[16] = BOOL(R[15] == R[8]);
+                  *fp = make_header(3, TCLOS);
+                  fp[1] = G(R[1], 11);
+                  fp[2] = R[3];
+                  R[17] = (word)fp;
+                  fp += 3;
+                  if (R[16] == IFALSE) {
+
+                    R[18] = INULL;
+                    *fp = make_header(3, 40);
+                    fp[1] = R[15];
+                    fp[2] = R[18];
+                    R[19] = (word)fp;
+                    fp += 3;
+                    *fp = make_header(3, 40);
+                    fp[1] = R[14];
+                    fp[2] = R[19];
+                    R[3] = (word)fp;
+                    fp += 3;
+                    ob = (word *)R[17];
+                    acc = 1;
+
+                  } else {
+
+                    R[3] = R[14];
+                    ob = (word *)R[17];
+                    acc = 1;
+
+                  }
+
+                }
+
+              }
+
+            } else {
+
+              {
+
+                word ob = R[5];
+                if (allocp(ob)) ob = V(ob);
+                R[10] = F((hval)ob >> TPOS & 63);
+
+              }
+
+              R[11] = BOOL(R[10] == R[8]);
+              if (R[11] == IFALSE) {
+
+                R[12] = 128 * 62 + 258;
+                R[13] = BOOL(R[10] == R[12]);
+                if (R[13] == IFALSE) {
+
+                  R[14] = 128 * 78 + 258;
+                  R[15] = BOOL(R[10] == R[14]);
+                  if (R[15] == IFALSE) {
+
+                    R[16] = 128 * 80 + 258;
+                    R[17] = BOOL(R[10] == R[16]);
+                    if (R[17] == IFALSE) {
+
+                      R[18] = G(R[1], 2);
+                      R[19] = G(R[1], 3);
+                      R[6] = R[5];
+                      R[5] = R[4];
+                      R[4] = R[19];
+                      ob = (word *)R[18];
+                      acc = 4;
+
+                    } else {
+
+                      R[18] = G(R[1], 6);
+                      *fp = make_header(3, TCLOS);
+                      fp[1] = G(R[1], 12);
+                      fp[2] = R[3];
+                      R[3] = (word)fp;
+                      fp += 3;
+                      R[6] = R[8];
+                      ob = (word *)R[18];
+                      acc = 4;
+
+                    }
+
+                  } else {
+
+                    R[16] = G(R[1], 6);
+                    R[6] = R[8];
+                    ob = (word *)R[16];
+                    acc = 4;
+
+                  }
+
+                } else {
+
+                  {
+
+                    uint64_t p = (uint64_t)immval(R[4]) * immval(R[5]);
+                    R[14] = F(p);
+                    R[15] = F(p >> FBITS);
+
+                  }
+
+                  R[16] = BOOL(R[15] == R[8]);
+                  *fp = make_header(3, TCLOS);
+                  fp[1] = G(R[1], 13);
+                  fp[2] = R[3];
+                  R[17] = (word)fp;
+                  fp += 3;
+                  if (R[16] == IFALSE) {
+
+                    R[18] = INULL;
+                    *fp = make_header(3, 40);
+                    fp[1] = R[15];
+                    fp[2] = R[18];
+                    R[19] = (word)fp;
+                    fp += 3;
+                    *fp = make_header(3, 40);
+                    fp[1] = R[14];
+                    fp[2] = R[19];
+                    R[3] = (word)fp;
+                    fp += 3;
+                    ob = (word *)R[17];
+                    acc = 1;
+
+                  } else {
+
+                    R[3] = R[14];
+                    ob = (word *)R[17];
+                    acc = 1;
+
+                  }
+
+                }
+
+              } else {
+
+                {
+
+                  uint64_t p = (uint64_t)immval(R[4]) * immval(R[5]);
+                  R[12] = F(p);
+                  R[13] = F(p >> FBITS);
+
+                }
+
+                R[14] = BOOL(R[13] == R[8]);
+                if (R[14] == IFALSE) {
+
+                  R[15] = INULL;
+                  *fp = make_header(3, 40);
+                  fp[1] = R[13];
+                  fp[2] = R[15];
+                  R[16] = (word)fp;
+                  fp += 3;
+                  *fp = make_header(3, 40);
+                  fp[1] = R[12];
+                  fp[2] = R[16];
+                  R[17] = (word)fp;
+                  fp += 3;
+                  ob = (word *)R[3];
+                  R[3] = R[17];
+                  acc = 1;
+
+                } else {
+
+                  ob = (word *)R[3];
+                  R[3] = R[12];
+                  acc = 1;
+
+                }
+
+              }
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1285:
+      if (acc == 4) {
+
+        if (R[4] == F(0)) {
+
+          R[7] = F(0);
+          ob = (word *)R[3];
+          R[3] = R[7];
+          acc = 1;
+
+        } else {
+
+          if (R[5] == F(0)) {
+
+            R[7] = F(0);
+            ob = (word *)R[3];
+            R[3] = R[7];
+            acc = 1;
+
+          } else {
+
+            R[7] = 128 * 0 + 258;
+            if (R[4] == R[7]) {
+
+              ob = (word *)R[3];
+              R[3] = R[5];
+              acc = 1;
+
+            } else {
+
+              if (R[5] == R[7]) {
+
+                ob = (word *)R[3];
+                R[3] = R[4];
+                acc = 1;
+
+              } else {
+
+                {
+
+                  word ob = R[4];
+                  if (allocp(ob)) ob = V(ob);
+                  R[8] = F((hval)ob >> TPOS & 63);
+
+                }
+
+                if (R[8] == F(0)) {
+
+                  {
+
+                    word ob = R[5];
+                    if (allocp(ob)) ob = V(ob);
+                    R[9] = F((hval)ob >> TPOS & 63);
+
+                  }
+
+                  if (R[9] == F(0)) {
+
+                    {
+
+                      uint64_t p = (uint64_t)immval(R[4]) * immval(R[5]);
+                      R[10] = F(p);
+                      R[11] = F(p >> FBITS);
+
+                    }
+
+                    R[12] = F(0);
+                    R[13] = BOOL(R[11] == R[12]);
+                    if (R[13] == IFALSE) {
+
+                      R[14] = INULL;
+                      *fp = make_header(3, 40);
+                      fp[1] = R[11];
+                      fp[2] = R[14];
+                      R[15] = (word)fp;
+                      fp += 3;
+                      *fp = make_header(3, 40);
+                      fp[1] = R[10];
+                      fp[2] = R[15];
+                      R[16] = (word)fp;
+                      fp += 3;
+                      ob = (word *)R[3];
+                      R[3] = R[16];
+                      acc = 1;
+
+                    } else {
+
+                      ob = (word *)R[3];
+                      R[3] = R[10];
+                      acc = 1;
+
+                    }
+
+                  } else {
+
+                    R[10] = G(R[1], 2);
+                    R[6] = F(0);
+                    ob = (word *)R[10];
+                    acc = 4;
+
+                  }
+
+                } else {
+
+                  {
+
+                    word ob = R[5];
+                    if (allocp(ob)) ob = V(ob);
+                    R[9] = F((hval)ob >> TPOS & 63);
+
+                  }
+
+                  if (R[9] == F(0)) {
+
+                    R[10] = G(R[1], 2);
+                    R[6] = F(0);
+                    R[9] = R[5];
+                    R[5] = R[4];
+                    R[4] = R[9];
+                    ob = (word *)R[10];
+                    acc = 4;
+
+                  } else {
+
+                    R[10] = 128 * 2 + 258;
+                    R[11] = prim_ref(R[4], R[10]);
+                    if (R[11] == INULL) {
+
+                      R[12] = prim_ref(R[5], R[10]);
+                      if (R[12] == INULL) {
+
+                        R[13] = prim_ref(R[4], R[7]);
+                        R[14] = prim_ref(R[5], R[7]);
+                        {
+
+                          uint64_t p = (uint64_t)immval(R[13]) * immval(R[14]);
+                          R[15] = F(p);
+                          R[16] = F(p >> FBITS);
+
+                        }
+
+                        R[17] = F(0);
+                        R[18] = BOOL(R[16] == R[17]);
+                        if (R[18] == IFALSE) {
+
+                          R[19] = INULL;
+                          *fp = make_header(3, 40);
+                          fp[1] = R[16];
+                          fp[2] = R[19];
+                          R[20] = (word)fp;
+                          fp += 3;
+                          *fp = make_header(3, 40);
+                          fp[1] = R[15];
+                          fp[2] = R[20];
+                          R[21] = (word)fp;
+                          fp += 3;
+                          ob = (word *)R[3];
+                          R[3] = R[21];
+                          acc = 1;
+
+                        } else {
+
+                          ob = (word *)R[3];
+                          R[3] = R[15];
+                          acc = 1;
+
+                        }
+
+                      } else {
+
+                        R[4] = prim_ref(R[4], R[7]);
+                        R[14] = G(R[1], 2);
+                        R[6] = F(0);
+                        ob = (word *)R[14];
+                        acc = 4;
+
+                      }
+
+                    } else {
+
+                      R[12] = prim_ref(R[5], R[10]);
+                      if (R[12] == INULL) {
+
+                        R[13] = prim_ref(R[5], R[7]);
+                        R[14] = G(R[1], 2);
+                        R[6] = F(0);
+                        R[5] = R[4];
+                        R[4] = R[13];
+                        ob = (word *)R[14];
+                        acc = 4;
+
+                      } else {
+
+                        R[13] = G(R[1], 3);
+                        *fp = make_header(6, TCLOS);
+                        fp[1] = G(R[1], 4);
+                        fp[5] = R[3];
+                        fp[4] = R[6];
+                        fp[3] = R[4];
+                        fp[2] = R[5];
+                        R[3] = (word)fp;
+                        fp += 6;
+                        R[8] = INULL;
+                        R[10] = ITRUE;
+                        R[11] = F(0);
+                        R[6] = R[4];
+                        R[7] = R[5];
+                        R[9] = R[8];
+                        ob = (word *)R[13];
+                        acc = 9;
+
+                      }
+
+                    }
+
+                  }
+
+                }
+
+              }
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1286:
+      if (acc == 5) {
+
+        R[8] = 128 * 58 + 258;
+        R[9] = prim_less(R[7], R[8]);
+        if (R[9] == IFALSE) {
+
+          R[10] = G(R[1], 4);
+          R[11] = G(R[1], 5);
+          *fp = make_header(9, TCLOS);
+          fp[1] = G(R[2], 2);
+          fp[8] = R[11];
+          fp[7] = R[7];
+          fp[6] = R[10];
+          fp[5] = R[5];
+          fp[4] = R[6];
+          fp[3] = R[3];
+          fp[2] = R[4];
+          R[12] = (word)fp;
+          fp += 9;
+          R[4] = R[3];
+          R[6] = R[10];
+          R[3] = R[12];
+          ob = (word *)R[6];
+          acc = 4;
+
+        } else {
+
+          R[10] = G(R[2], 3);
+          R[3] = G(R[1], 5);
+          R[4] = G(R[1], 3);
+          R[5] = G(R[1], 2);
+          ob = (word *)R[10];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1287:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 6);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        R[9] = G(R[1], 7);
+        R[10] = G(R[1], 8);
+        *fp = make_header(10, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[9] = R[10];
+        fp[8] = R[3];
+        fp[7] = R[9];
+        fp[6] = R[4];
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 10;
+        R[6] = R[4];
+        R[4] = R[5];
+        R[5] = R[7];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1288:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        R[8] = G(R[1], 7);
+        R[9] = G(R[1], 8);
+        R[10] = G(R[1], 9);
+        *fp = make_header(9, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[8] = R[10];
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[3];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 9;
+        R[12] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[8] = R[4];
+        R[4] = R[12];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1289:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        R[8] = G(R[1], 7);
+        R[9] = G(R[1], 8);
+        *fp = make_header(8, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[7] = R[9];
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 8;
+        R[11] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[8] = R[4];
+        R[4] = R[11];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1290:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 6);
+        R[8] = G(R[1], 7);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 6;
+        R[10] = G(R[1], 2);
+        R[5] = R[3];
+        R[6] = R[4];
+        R[3] = R[9];
+        R[4] = R[10];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1291:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 7;
+        R[8] = R[4];
+        R[4] = R[7];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1292:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 6;
+        R[10] = G(R[1], 2);
+        R[8] = R[4];
+        R[5] = R[3];
+        R[3] = R[9];
+        R[4] = R[10];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1293:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[7] = (word)fp;
+        fp += 5;
+        if (R[3] == F(0)) {
+
+          R[3] = G(R[1], 2);
+          ob = (word *)R[7];
+          acc = 1;
+
+        } else {
+
+          R[8] = G(R[2], 2);
+          R[9] = G(R[1], 2);
+          R[5] = R[3];
+          R[6] = R[4];
+          R[3] = R[7];
+          R[4] = R[9];
+          ob = (word *)R[8];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1294:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        if (R[4] == F(0)) {
+
+          R[5] = G(R[1], 4);
+          ob = (word *)R[5];
+          acc = 1;
+
+        } else {
+
+          R[5] = G(R[2], 2);
+          R[6] = G(R[1], 4);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[4] = R[6];
+          fp[3] = R[3];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 5;
+          R[4] = G(R[1], 2);
+          R[9] = 128 * 0 + 258;
+          R[10] = R[5];
+          R[5] = R[9];
+          ob = (word *)R[10];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1295:
+      if (acc == 10) {
+
+        if (R[4] == INULL) {
+
+          R[13] = G(R[1], 2);
+          *fp = make_header(7, TCLOS);
+          fp[1] = G(R[1], 3);
+          fp[6] = R[3];
+          fp[5] = R[11];
+          fp[4] = R[9];
+          fp[3] = R[7];
+          fp[2] = R[8];
+          R[3] = (word)fp;
+          fp += 7;
+          R[4] = R[6];
+          ob = (word *)R[13];
+          acc = 2;
+
+        } else {
+
+          if (R[5] == INULL) {
+
+            R[13] = G(R[1], 2);
+            *fp = make_header(7, TCLOS);
+            fp[1] = G(R[1], 4);
+            fp[6] = R[3];
+            fp[5] = R[11];
+            fp[4] = R[9];
+            fp[3] = R[7];
+            fp[2] = R[8];
+            R[3] = (word)fp;
+            fp += 7;
+            R[4] = R[6];
+            ob = (word *)R[13];
+            acc = 2;
+
+          } else {
+
+            if (R[10] == IFALSE) {
+
+              {
+
+                word *ob = (word *)R[6];
+                hval  hdr;
+                assert(allocp(R[6]), R[6], IFALSE);
+                hdr = *ob;
+                assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+                R[13] = ob[1];
+                R[14] = ob[2];
+
+              }
+
+              {
+
+                word *ob = (word *)R[7];
+                hval  hdr;
+                assert(allocp(R[7]), R[7], IFALSE);
+                hdr = *ob;
+                assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+                R[15] = ob[1];
+                R[16] = ob[2];
+
+              }
+
+              R[17] = 128 * 0 + 258;
+              {
+
+                hval r = immval(R[11]) + immval(R[17]);
+                R[19] = F(r >> FBITS);
+                R[18] = F(r);
+
+              }
+
+              R[20] = 128 * 2 + 258;
+              R[4] = prim_ref(R[4], R[20]);
+              R[5] = prim_ref(R[5], R[20]);
+              *fp = make_header(3, 40);
+              fp[1] = R[13];
+              fp[2] = R[8];
+              R[8] = (word)fp;
+              fp += 3;
+              *fp = make_header(3, 40);
+              fp[1] = R[15];
+              fp[2] = R[9];
+              R[9] = (word)fp;
+              fp += 3;
+              R[10] = ITRUE;
+              R[6] = R[14];
+              R[7] = R[16];
+              R[11] = R[18];
+              ob = (word *)R[12];
+              acc = 10;
+
+            } else {
+
+              R[13] = 128 * 2 + 258;
+              R[4] = prim_ref(R[4], R[13]);
+              R[5] = prim_ref(R[5], R[13]);
+              R[10] = IFALSE;
+              ob = (word *)R[12];
+              acc = 10;
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1296:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[3];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[10] = G(R[1], 2);
+        R[7] = R[4];
+        R[4] = R[10];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1297:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[3];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[10] = G(R[1], 2);
+        R[7] = R[4];
+        R[4] = R[10];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1298:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 6);
+        *fp = make_header(7, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[6] = R[8];
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[3];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[10] = G(R[1], 2);
+        R[7] = R[4];
+        R[4] = R[10];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1299:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 6);
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[10] = R[4];
+        R[4] = R[6];
+        R[6] = R[3];
+        R[3] = R[5];
+        R[5] = R[7];
+        R[7] = R[8];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1300:
+      if (acc == 9) {
+
+        R[12] = G(R[1], 2);
+        ob = (word *)R[12];
+        acc = 10;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1301:
+      if (acc == 3) {
+
+        if (R[4] == INULL) {
+
+          R[6] = F(0);
+          ob = (word *)R[3];
+          R[3] = R[6];
+          acc = 1;
+
+        } else {
+
+          {
+
+            word *ob = (word *)R[4];
+            hval  hdr;
+            assert(allocp(R[4]), R[4], IFALSE);
+            hdr = *ob;
+            assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+            R[6] = ob[1];
+            R[7] = ob[2];
+
+          }
+
+          if (R[7] == INULL) {
+
+            ob = (word *)R[3];
+            R[3] = R[6];
+            acc = 1;
+
+          } else {
+
+            if (R[6] == F(0)) {
+
+              R[4] = R[7];
+              ob = (word *)R[5];
+              acc = 3;
+
+            } else {
+
+              R[8] = G(R[1], 2);
+              R[5] = INULL;
+              ob = (word *)R[8];
+              acc = 3;
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1302:
+      if (acc == 2) {
+
+        R[5] = 128 * 2 + 258;
+        R[6] = prim_ref(R[4], R[5]);
+        if (R[6] == INULL) {
+
+          R[7] = 128 * 0 + 258;
+          R[8] = prim_ref(R[4], R[7]);
+          ob = (word *)R[3];
+          R[3] = R[8];
+          acc = 1;
+
+        } else {
+
+          ob = (word *)R[3];
+          R[3] = R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1303:
+      if (acc == 4) {
+
+        if (R[4] == INULL) {
+
+          R[7] = INULL;
+          ob = (word *)R[3];
+          R[3] = R[7];
+          acc = 1;
+
+        } else {
+
+          R[7] = 128 * 0 + 258;
+          R[8] = prim_ref(R[4], R[7]);
+          R[9] = 128 * 2 + 258;
+          R[4] = prim_ref(R[4], R[9]);
+          *fp = make_header(5, TCLOS);
+          fp[1] = G(R[1], 2);
+          fp[4] = R[3];
+          fp[3] = R[8];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 5;
+          ob = (word *)R[6];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1304:
+      if (acc == 1) {
+
+        R[4] = F(0);
+        *fp = make_header(3, 40);
+        fp[1] = R[4];
+        fp[2] = R[3];
+        R[5] = (word)fp;
+        fp += 3;
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 4);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[7];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 4;
+        R[9] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[11] = R[6];
+        R[6] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[11];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1305:
+      if (acc == 5) {
+
+        if (R[6] == F(0)) {
+
+          if (R[4] == INULL) {
+
+            R[8] = G(R[1], 2);
+            R[4] = R[5];
+            ob = (word *)R[8];
+            acc = 2;
+
+          } else {
+
+            R[8] = G(R[1], 3);
+            ob = (word *)R[8];
+            acc = 3;
+
+          }
+
+        } else {
+
+          if (R[4] == INULL) {
+
+            R[8] = G(R[1], 4);
+            *fp = make_header(5, TCLOS);
+            fp[1] = G(R[1], 5);
+            fp[4] = R[3];
+            fp[3] = R[7];
+            fp[2] = R[5];
+            R[3] = (word)fp;
+            fp += 5;
+            R[5] = 128 * 0 + 258;
+            R[4] = R[6];
+            ob = (word *)R[8];
+            acc = 3;
+
+          } else {
+
+            {
+
+              word ob = R[4];
+              if (allocp(ob)) ob = V(ob);
+              R[8] = F((hval)ob >> TPOS & 63);
+
+            }
+
+            if (R[8] == F(0)) {
+
+              R[9] = INULL;
+              *fp = make_header(3, 40);
+              fp[1] = R[4];
+              fp[2] = R[9];
+              R[4] = (word)fp;
+              fp += 3;
+              ob = (word *)R[7];
+              acc = 5;
+
+            } else {
+
+              {
+
+                word ob = R[6];
+                if (allocp(ob)) ob = V(ob);
+                R[9] = F((hval)ob >> TPOS & 63);
+
+              }
+
+              if (R[9] == F(0)) {
+
+                R[10] = 128 * 0 + 258;
+                {
+
+                  hval r = immval(R[6]) - immval(R[10]);
+                  R[12] = F(r >> FBITS & 1);
+                  R[11] = F(r);
+
+                }
+
+                {
+
+                  word *ob = (word *)R[4];
+                  hval  hdr;
+                  assert(allocp(R[4]), R[4], IFALSE);
+                  hdr = *ob;
+                  assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+                  R[13] = ob[1];
+                  R[14] = ob[2];
+
+                }
+
+                *fp = make_header(4, TPROC);
+                fp[1] = G(R[1], 6);
+                fp[3] = R[3];
+                fp[2] = R[13];
+                R[3] = (word)fp;
+                fp += 4;
+                R[6] = R[11];
+                R[4] = R[14];
+                ob = (word *)R[7];
+                acc = 5;
+
+              } else {
+
+                R[10] = 128 * 0 + 258;
+                R[11] = prim_ref(R[4], R[10]);
+                R[12] = 128 * 2 + 258;
+                R[13] = prim_ref(R[4], R[12]);
+                R[14] = G(R[1], 4);
+                *fp = make_header(7, TCLOS);
+                fp[1] = G(R[1], 7);
+                fp[6] = R[3];
+                fp[5] = R[11];
+                fp[4] = R[7];
+                fp[3] = R[13];
+                fp[2] = R[5];
+                R[3] = (word)fp;
+                fp += 7;
+                R[4] = R[6];
+                R[5] = R[10];
+                ob = (word *)R[14];
+                acc = 3;
+
+              }
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1306:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 6);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[8] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[6] = R[3];
+        R[3] = R[7];
+        R[7] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1307:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 4);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = INULL;
+        R[8] = G(R[1], 2);
+        R[10] = R[7];
+        R[11] = R[6];
+        R[6] = R[3];
+        R[7] = R[4];
+        R[5] = R[8];
+        R[4] = R[10];
+        R[3] = R[11];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1308:
+      if (acc == 2) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[5] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        if (R[5] == F(0)) {
+
+          R[6] = INULL;
+          *fp = make_header(3, 40);
+          fp[1] = R[4];
+          fp[2] = R[6];
+          R[7] = (word)fp;
+          fp += 3;
+          ob = (word *)R[3];
+          R[3] = R[7];
+          acc = 1;
+
+        } else {
+
+          ob = (word *)R[3];
+          R[3] = R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1309:
+      if (acc == 5) {
+
+        if (R[5] == INULL) {
+
+          if (R[6] == F(0)) {
+
+            R[8] = INULL;
+            ob = (word *)R[3];
+            R[3] = R[8];
+            acc = 1;
+
+          } else {
+
+            R[8] = INULL;
+            *fp = make_header(3, 40);
+            fp[1] = R[6];
+            fp[2] = R[8];
+            R[9] = (word)fp;
+            fp += 3;
+            ob = (word *)R[3];
+            R[3] = R[9];
+            acc = 1;
+
+          }
+
+        } else {
+
+          if (R[6] == F(0)) {
+
+            R[8] = 128 * 0 + 258;
+            R[9] = prim_ref(R[5], R[8]);
+            {
+
+              uint64_t p = (uint64_t)immval(R[4]) * immval(R[9]);
+              R[10] = F(p);
+              R[11] = F(p >> FBITS);
+
+            }
+
+            R[12] = 128 * 2 + 258;
+            R[5] = prim_ref(R[5], R[12]);
+            *fp = make_header(4, TPROC);
+            fp[1] = G(R[1], 2);
+            fp[3] = R[3];
+            fp[2] = R[10];
+            R[3] = (word)fp;
+            fp += 4;
+            R[6] = R[11];
+            ob = (word *)R[7];
+            acc = 5;
+
+          } else {
+
+            R[8] = 128 * 0 + 258;
+            R[9] = prim_ref(R[5], R[8]);
+            {
+
+              uint64_t p = (uint64_t)immval(R[4]) * immval(R[9]);
+              R[10] = F(p);
+              R[11] = F(p >> FBITS);
+
+            }
+
+            {
+
+              hval r = immval(R[10]) + immval(R[6]);
+              R[13] = F(r >> FBITS);
+              R[12] = F(r);
+
+            }
+
+            {
+
+              hval r = immval(R[11]) + immval(R[13]);
+              R[15] = F(r >> FBITS);
+              R[14] = F(r);
+
+            }
+
+            R[16] = 128 * 2 + 258;
+            R[5] = prim_ref(R[5], R[16]);
+            *fp = make_header(4, TPROC);
+            fp[1] = G(R[1], 3);
+            fp[3] = R[3];
+            fp[2] = R[12];
+            R[3] = (word)fp;
+            fp += 4;
+            R[6] = R[14];
+            ob = (word *)R[7];
+            acc = 5;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1310:
+      if (acc == 3) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[6] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[7] = F(0);
+        R[8] = BOOL(R[6] == R[7]);
+        if (R[8] == IFALSE) {
+
+          R[9] = 128 * 78 + 258;
+          R[10] = BOOL(R[6] == R[9]);
+          if (R[10] == IFALSE) {
+
+            R[11] = G(R[1], 2);
+            R[12] = G(R[1], 3);
+            R[6] = R[5];
+            R[5] = R[4];
+            R[4] = R[12];
+            ob = (word *)R[11];
+            acc = 4;
+
+          } else {
+
+            {
+
+              word ob = R[5];
+              if (allocp(ob)) ob = V(ob);
+              R[11] = F((hval)ob >> TPOS & 63);
+
+            }
+
+            R[12] = BOOL(R[11] == R[7]);
+            if (R[12] == IFALSE) {
+
+              R[13] = BOOL(R[11] == R[9]);
+              if (R[13] == IFALSE) {
+
+                R[14] = G(R[1], 2);
+                R[15] = G(R[1], 3);
+                R[6] = R[5];
+                R[5] = R[4];
+                R[4] = R[15];
+                ob = (word *)R[14];
+                acc = 4;
+
+              } else {
+
+                R[14] = G(R[1], 4);
+                ob = (word *)R[14];
+                acc = 3;
+
+              }
+
+            } else {
+
+              R[13] = 128 * 0 + 258;
+              R[14] = prim_ref(R[4], R[13]);
+              R[15] = R[5] ^ (FMAX << IPOS & R[14]);
+              R[16] = 128 * 2 + 258;
+              R[17] = prim_ref(R[4], R[16]);
+              *fp = make_header(3, 40);
+              fp[1] = R[15];
+              fp[2] = R[17];
+              R[18] = (word)fp;
+              fp += 3;
+              ob = (word *)R[3];
+              R[3] = R[18];
+              acc = 1;
+
+            }
+
+          }
+
+        } else {
+
+          {
+
+            word ob = R[5];
+            if (allocp(ob)) ob = V(ob);
+            R[9] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          R[10] = BOOL(R[9] == R[7]);
+          if (R[10] == IFALSE) {
+
+            R[11] = 128 * 78 + 258;
+            R[12] = BOOL(R[9] == R[11]);
+            if (R[12] == IFALSE) {
+
+              R[13] = G(R[1], 2);
+              R[14] = G(R[1], 3);
+              R[6] = R[5];
+              R[5] = R[4];
+              R[4] = R[14];
+              ob = (word *)R[13];
+              acc = 4;
+
+            } else {
+
+              R[13] = 128 * 0 + 258;
+              R[14] = prim_ref(R[5], R[13]);
+              R[15] = R[4] ^ (FMAX << IPOS & R[14]);
+              R[16] = 128 * 2 + 258;
+              R[17] = prim_ref(R[5], R[16]);
+              *fp = make_header(3, 40);
+              fp[1] = R[15];
+              fp[2] = R[17];
+              R[18] = (word)fp;
+              fp += 3;
+              ob = (word *)R[3];
+              R[3] = R[18];
+              acc = 1;
+
+            }
+
+          } else {
+
+            R[11] = R[4] ^ (FMAX << IPOS & R[5]);
+            ob = (word *)R[3];
+            R[3] = R[11];
+            acc = 1;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1311:
+      if (acc == 3) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[6] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[7] = F(0);
+        R[8] = BOOL(R[6] == R[7]);
+        if (R[8] == IFALSE) {
+
+          R[9] = 128 * 78 + 258;
+          R[10] = BOOL(R[6] == R[9]);
+          if (R[10] == IFALSE) {
+
+            R[11] = G(R[1], 2);
+            R[12] = G(R[1], 3);
+            R[6] = R[5];
+            R[5] = R[4];
+            R[4] = R[12];
+            ob = (word *)R[11];
+            acc = 4;
+
+          } else {
+
+            {
+
+              word ob = R[5];
+              if (allocp(ob)) ob = V(ob);
+              R[11] = F((hval)ob >> TPOS & 63);
+
+            }
+
+            R[12] = BOOL(R[11] == R[7]);
+            if (R[12] == IFALSE) {
+
+              R[13] = BOOL(R[11] == R[9]);
+              if (R[13] == IFALSE) {
+
+                R[14] = G(R[1], 2);
+                R[15] = G(R[1], 3);
+                R[6] = R[5];
+                R[5] = R[4];
+                R[4] = R[15];
+                ob = (word *)R[14];
+                acc = 4;
+
+              } else {
+
+                R[14] = G(R[1], 4);
+                ob = (word *)R[14];
+                acc = 3;
+
+              }
+
+            } else {
+
+              R[13] = 128 * 0 + 258;
+              R[14] = prim_ref(R[4], R[13]);
+              R[15] = R[5] | R[14];
+              R[16] = 128 * 2 + 258;
+              R[17] = prim_ref(R[4], R[16]);
+              *fp = make_header(3, 40);
+              fp[1] = R[15];
+              fp[2] = R[17];
+              R[18] = (word)fp;
+              fp += 3;
+              ob = (word *)R[3];
+              R[3] = R[18];
+              acc = 1;
+
+            }
+
+          }
+
+        } else {
+
+          {
+
+            word ob = R[5];
+            if (allocp(ob)) ob = V(ob);
+            R[9] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          R[10] = BOOL(R[9] == R[7]);
+          if (R[10] == IFALSE) {
+
+            R[11] = 128 * 78 + 258;
+            R[12] = BOOL(R[9] == R[11]);
+            if (R[12] == IFALSE) {
+
+              R[13] = G(R[1], 2);
+              R[14] = G(R[1], 3);
+              R[6] = R[5];
+              R[5] = R[4];
+              R[4] = R[14];
+              ob = (word *)R[13];
+              acc = 4;
+
+            } else {
+
+              R[13] = 128 * 0 + 258;
+              R[14] = prim_ref(R[5], R[13]);
+              R[15] = R[4] | R[14];
+              R[16] = 128 * 2 + 258;
+              R[17] = prim_ref(R[5], R[16]);
+              *fp = make_header(3, 40);
+              fp[1] = R[15];
+              fp[2] = R[17];
+              R[18] = (word)fp;
+              fp += 3;
+              ob = (word *)R[3];
+              R[3] = R[18];
+              acc = 1;
+
+            }
+
+          } else {
+
+            R[11] = R[4] | R[5];
+            ob = (word *)R[3];
+            R[3] = R[11];
+            acc = 1;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1312:
+      if (acc == 3) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[6] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[7] = F(0);
+        R[8] = BOOL(R[6] == R[7]);
+        if (R[8] == IFALSE) {
+
+          R[9] = 128 * 78 + 258;
+          R[10] = BOOL(R[6] == R[9]);
+          if (R[10] == IFALSE) {
+
+            R[11] = G(R[1], 2);
+            R[12] = G(R[1], 3);
+            R[6] = R[5];
+            R[5] = R[4];
+            R[4] = R[12];
+            ob = (word *)R[11];
+            acc = 4;
+
+          } else {
+
+            {
+
+              word ob = R[5];
+              if (allocp(ob)) ob = V(ob);
+              R[11] = F((hval)ob >> TPOS & 63);
+
+            }
+
+            R[12] = BOOL(R[11] == R[7]);
+            if (R[12] == IFALSE) {
+
+              R[13] = BOOL(R[11] == R[9]);
+              if (R[13] == IFALSE) {
+
+                R[14] = G(R[1], 2);
+                R[15] = G(R[1], 3);
+                R[6] = R[5];
+                R[5] = R[4];
+                R[4] = R[15];
+                ob = (word *)R[14];
+                acc = 4;
+
+              } else {
+
+                R[14] = G(R[1], 4);
+                ob = (word *)R[14];
+                acc = 3;
+
+              }
+
+            } else {
+
+              R[13] = 128 * 0 + 258;
+              R[14] = prim_ref(R[4], R[13]);
+              R[15] = R[14] & R[5];
+              ob = (word *)R[3];
+              R[3] = R[15];
+              acc = 1;
+
+            }
+
+          }
+
+        } else {
+
+          {
+
+            word ob = R[5];
+            if (allocp(ob)) ob = V(ob);
+            R[9] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          R[10] = BOOL(R[9] == R[7]);
+          if (R[10] == IFALSE) {
+
+            R[11] = 128 * 78 + 258;
+            R[12] = BOOL(R[9] == R[11]);
+            if (R[12] == IFALSE) {
+
+              R[13] = G(R[1], 2);
+              R[14] = G(R[1], 3);
+              R[6] = R[5];
+              R[5] = R[4];
+              R[4] = R[14];
+              ob = (word *)R[13];
+              acc = 4;
+
+            } else {
+
+              R[13] = 128 * 0 + 258;
+              R[14] = prim_ref(R[5], R[13]);
+              R[15] = R[4] & R[14];
+              ob = (word *)R[3];
+              R[3] = R[15];
+              acc = 1;
+
+            }
+
+          } else {
+
+            R[11] = R[4] & R[5];
+            ob = (word *)R[3];
+            R[3] = R[11];
+            acc = 1;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1313:
+      if (acc == 1) {
+
+        if (R[3] == INULL) {
+
+          R[4] = G(R[1], 2);
+          R[3] = F(0);
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = 128 * 2 + 258;
+          R[5] = prim_ref(R[3], R[4]);
+          if (R[5] == INULL) {
+
+            R[6] = 128 * 0 + 258;
+            R[3] = prim_ref(R[3], R[6]);
+            R[8] = G(R[1], 2);
+            ob = (word *)R[8];
+            acc = 1;
+
+          } else {
+
+            R[6] = G(R[1], 2);
+            ob = (word *)R[6];
+            acc = 1;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1314:
+      if (acc == 4) {
+
+        if (R[4] == INULL) {
+
+          ob = (word *)R[3];
+          R[3] = R[5];
+          acc = 1;
+
+        } else {
+
+          if (R[5] == INULL) {
+
+            ob = (word *)R[3];
+            R[3] = R[4];
+            acc = 1;
+
+          } else {
+
+            R[7] = 128 * 0 + 258;
+            R[8] = prim_ref(R[4], R[7]);
+            R[9] = prim_ref(R[5], R[7]);
+            R[10] = R[8] ^ (FMAX << IPOS & R[9]);
+            R[11] = 128 * 2 + 258;
+            R[4] = prim_ref(R[4], R[11]);
+            R[5] = prim_ref(R[5], R[11]);
+            *fp = make_header(4, TPROC);
+            fp[1] = G(R[1], 2);
+            fp[3] = R[3];
+            fp[2] = R[10];
+            R[3] = (word)fp;
+            fp += 4;
+            ob = (word *)R[6];
+            acc = 4;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1315:
+      if (acc == 1) {
+
+        if (R[3] == INULL) {
+
+          R[4] = G(R[1], 2);
+          if (R[4] == F(0)) {
+
+            R[5] = G(R[1], 3);
+            R[3] = INULL;
+            ob = (word *)R[5];
+            acc = 1;
+
+          } else {
+
+            *fp = make_header(3, 40);
+            fp[1] = R[4];
+            fp[2] = R[3];
+            R[3] = (word)fp;
+            fp += 3;
+            R[6] = G(R[1], 3);
+            ob = (word *)R[6];
+            acc = 1;
+
+          }
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          *fp = make_header(3, 40);
+          fp[1] = R[4];
+          fp[2] = R[3];
+          R[3] = (word)fp;
+          fp += 3;
+          R[6] = G(R[1], 3);
+          ob = (word *)R[6];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1316:
+      if (acc == 4) {
+
+        if (R[4] == INULL) {
+
+          ob = (word *)R[3];
+          R[3] = R[5];
+          acc = 1;
+
+        } else {
+
+          if (R[5] == INULL) {
+
+            ob = (word *)R[3];
+            R[3] = R[4];
+            acc = 1;
+
+          } else {
+
+            R[7] = 128 * 0 + 258;
+            R[8] = prim_ref(R[4], R[7]);
+            R[9] = prim_ref(R[5], R[7]);
+            R[10] = R[8] | R[9];
+            R[11] = 128 * 2 + 258;
+            R[4] = prim_ref(R[4], R[11]);
+            R[5] = prim_ref(R[5], R[11]);
+            *fp = make_header(4, TPROC);
+            fp[1] = G(R[1], 2);
+            fp[3] = R[3];
+            fp[2] = R[10];
+            R[3] = (word)fp;
+            fp += 4;
+            ob = (word *)R[6];
+            acc = 4;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1317:
+      if (acc == 4) {
+
+        if (R[4] == INULL) {
+
+          R[7] = F(0);
+          ob = (word *)R[3];
+          R[3] = R[7];
+          acc = 1;
+
+        } else {
+
+          if (R[5] == INULL) {
+
+            R[7] = F(0);
+            ob = (word *)R[3];
+            R[3] = R[7];
+            acc = 1;
+
+          } else {
+
+            R[7] = 128 * 0 + 258;
+            R[8] = prim_ref(R[4], R[7]);
+            R[9] = prim_ref(R[5], R[7]);
+            R[10] = R[8] & R[9];
+            R[11] = 128 * 2 + 258;
+            R[4] = prim_ref(R[4], R[11]);
+            R[5] = prim_ref(R[5], R[11]);
+            *fp = make_header(4, TPROC);
+            fp[1] = G(R[1], 2);
+            fp[3] = R[3];
+            fp[2] = R[10];
+            R[3] = (word)fp;
+            fp += 4;
+            ob = (word *)R[6];
+            acc = 4;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1318:
+      if (acc == 1) {
+
+        if (R[3] == F(0)) {
+
+          R[4] = G(R[1], 3);
+          R[3] = G(R[1], 2);
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          {
+
+            word ob = R[3];
+            if (allocp(ob)) ob = V(ob);
+            R[4] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          if (R[4] == F(0)) {
+
+            R[5] = INULL;
+            *fp = make_header(3, 40);
+            fp[1] = R[3];
+            fp[2] = R[5];
+            R[6] = (word)fp;
+            fp += 3;
+            R[7] = G(R[1], 2);
+            *fp = make_header(3, 40);
+            fp[1] = R[7];
+            fp[2] = R[6];
+            R[3] = (word)fp;
+            fp += 3;
+            R[9] = G(R[1], 3);
+            ob = (word *)R[9];
+            acc = 1;
+
+          } else {
+
+            R[5] = G(R[1], 2);
+            *fp = make_header(3, 40);
+            fp[1] = R[5];
+            fp[2] = R[3];
+            R[3] = (word)fp;
+            fp += 3;
+            R[7] = G(R[1], 3);
+            ob = (word *)R[7];
+            acc = 1;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1319:
+      if (acc == 4) {
+
+        if (R[4] == F(0)) {
+
+          R[7] = F(0);
+          ob = (word *)R[3];
+          R[3] = R[7];
+          acc = 1;
+
+        } else {
+
+          {
+
+            word ob = R[5];
+            if (allocp(ob)) ob = V(ob);
+            R[7] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          if (R[7] == F(0)) {
+
+            R[8] = F(0);
+            R[9] = 128 * 46 + 258;
+            {
+
+              uint64_t a = (uint64_t)immval(R[8]) << FBITS | immval(R[5]);
+              hval     b = immval(R[9]);
+              uint64_t q = a / b;
+              R[10] = F(q >> FBITS);
+              R[11] = F(q);
+              R[12] = F(a - q * b);
+
+            }
+
+            {
+
+              hval r = immval(R[9]) - immval(R[12]);
+              R[14] = F(r >> FBITS & 1);
+              R[13] = F(r);
+
+            }
+
+            {
+
+              word ob = R[4];
+              if (allocp(ob)) ob = V(ob);
+              R[15] = F((hval)ob >> TPOS & 63);
+
+            }
+
+            R[16] = BOOL(R[15] == R[8]);
+            if (R[16] == IFALSE) {
+
+              R[17] = 128 * 62 + 258;
+              R[18] = BOOL(R[15] == R[17]);
+              if (R[18] == IFALSE) {
+
+                R[19] = 128 * 78 + 258;
+                R[20] = BOOL(R[15] == R[19]);
+                if (R[20] == IFALSE) {
+
+                  R[21] = 128 * 80 + 258;
+                  R[22] = BOOL(R[15] == R[21]);
+                  if (R[22] == IFALSE) {
+
+                    R[23] = G(R[1], 2);
+                    R[24] = G(R[1], 3);
+                    R[6] = R[5];
+                    R[5] = R[4];
+                    R[4] = R[24];
+                    ob = (word *)R[23];
+                    acc = 4;
+
+                  } else {
+
+                    R[23] = G(R[1], 4);
+                    *fp = make_header(4, TCLOS);
+                    fp[1] = G(R[1], 5);
+                    fp[3] = R[3];
+                    fp[2] = R[11];
+                    R[3] = (word)fp;
+                    fp += 4;
+                    R[6] = R[8];
+                    R[5] = R[13];
+                    ob = (word *)R[23];
+                    acc = 4;
+
+                  }
+
+                } else {
+
+                  R[21] = G(R[1], 4);
+                  *fp = make_header(4, TCLOS);
+                  fp[1] = G(R[1], 6);
+                  fp[3] = R[3];
+                  fp[2] = R[11];
+                  R[3] = (word)fp;
+                  fp += 4;
+                  R[6] = R[8];
+                  R[5] = R[13];
+                  ob = (word *)R[21];
+                  acc = 4;
+
+                }
+
+              } else {
+
+                {
+
+                  hval x = immval(R[4]);
+                  uint n = immval(R[13]);
+                  R[19] = F(x >> n);
+                  R[20] = F(x << (FBITS - n));
+
+                }
+
+                if (R[19] == F(0)) {
+
+                  if (R[11] == F(0)) {
+
+                    R[21] = G(R[1], 7);
+                    R[4] = R[20];
+                    ob = (word *)R[21];
+                    acc = 2;
+
+                  } else {
+
+                    R[21] = INULL;
+                    *fp = make_header(3, 40);
+                    fp[1] = R[20];
+                    fp[2] = R[21];
+                    R[4] = (word)fp;
+                    fp += 3;
+                    R[23] = G(R[1], 8);
+                    *fp = make_header(3, TCLOS);
+                    fp[1] = G(R[1], 9);
+                    fp[2] = R[3];
+                    R[3] = (word)fp;
+                    fp += 3;
+                    R[5] = R[11];
+                    ob = (word *)R[23];
+                    acc = 3;
+
+                  }
+
+                } else {
+
+                  R[21] = INULL;
+                  *fp = make_header(3, 40);
+                  fp[1] = R[19];
+                  fp[2] = R[21];
+                  R[22] = (word)fp;
+                  fp += 3;
+                  *fp = make_header(3, 40);
+                  fp[1] = R[20];
+                  fp[2] = R[22];
+                  R[4] = (word)fp;
+                  fp += 3;
+                  R[24] = G(R[1], 8);
+                  *fp = make_header(3, TCLOS);
+                  fp[1] = G(R[1], 10);
+                  fp[2] = R[3];
+                  R[3] = (word)fp;
+                  fp += 3;
+                  R[5] = R[11];
+                  ob = (word *)R[24];
+                  acc = 3;
+
+                }
+
+              }
+
+            } else {
+
+              {
+
+                hval x = immval(R[4]);
+                uint n = immval(R[13]);
+                R[17] = F(x >> n);
+                R[18] = F(x << (FBITS - n));
+
+              }
+
+              if (R[17] == F(0)) {
+
+                if (R[11] == F(0)) {
+
+                  ob = (word *)R[3];
+                  R[3] = R[18];
+                  acc = 1;
+
+                } else {
+
+                  R[19] = INULL;
+                  *fp = make_header(3, 40);
+                  fp[1] = R[18];
+                  fp[2] = R[19];
+                  R[4] = (word)fp;
+                  fp += 3;
+                  R[21] = G(R[1], 8);
+                  R[5] = R[11];
+                  ob = (word *)R[21];
+                  acc = 3;
+
+                }
+
+              } else {
+
+                if (R[11] == F(0)) {
+
+                  R[19] = INULL;
+                  *fp = make_header(3, 40);
+                  fp[1] = R[17];
+                  fp[2] = R[19];
+                  R[20] = (word)fp;
+                  fp += 3;
+                  *fp = make_header(3, 40);
+                  fp[1] = R[18];
+                  fp[2] = R[20];
+                  R[21] = (word)fp;
+                  fp += 3;
+                  ob = (word *)R[3];
+                  R[3] = R[21];
+                  acc = 1;
+
+                } else {
+
+                  R[19] = INULL;
+                  *fp = make_header(3, 40);
+                  fp[1] = R[17];
+                  fp[2] = R[19];
+                  R[20] = (word)fp;
+                  fp += 3;
+                  *fp = make_header(3, 40);
+                  fp[1] = R[18];
+                  fp[2] = R[20];
+                  R[4] = (word)fp;
+                  fp += 3;
+                  R[22] = G(R[1], 8);
+                  R[5] = R[11];
+                  ob = (word *)R[22];
+                  acc = 3;
+
+                }
+
+              }
+
+            }
+
+          } else {
+
+            {
+
+              word ob = R[5];
+              if (allocp(ob)) ob = V(ob);
+              R[8] = F((hval)ob >> TPOS & 63);
+
+            }
+
+            R[9] = 128 * 78 + 258;
+            if (R[8] == R[9]) {
+
+              *fp = make_header(5, TCLOS);
+              fp[1] = G(R[1], 11);
+              fp[4] = R[6];
+              fp[3] = R[3];
+              fp[2] = R[5];
+              R[3] = (word)fp;
+              fp += 5;
+              R[5] = G(R[1], 12);
+              ob = (word *)R[6];
+              acc = 4;
+
+            } else {
+
+              R[10] = G(R[1], 2);
+              R[11] = G(R[1], 3);
+              R[6] = R[5];
+              R[5] = R[4];
+              R[4] = R[11];
+              ob = (word *)R[10];
+              acc = 4;
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1320:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 4);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[6];
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 5;
+        R[8] = G(R[1], 2);
+        R[5] = G(R[2], 4);
+        R[10] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[10];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1321:
+      if (acc == 4) {
+
+        if (R[5] == F(0)) {
+
+          ob = (word *)R[3];
+          R[3] = R[4];
+          acc = 1;
+
+        } else {
+
+          R[7] = 128 * 0 + 258;
+          {
+
+            hval r = immval(R[5]) - immval(R[7]);
+            R[9] = F(r >> FBITS & 1);
+            R[8] = F(r);
+
+          }
+
+          R[10] = F(0);
+          *fp = make_header(3, 40);
+          fp[1] = R[10];
+          fp[2] = R[4];
+          R[4] = (word)fp;
+          fp += 3;
+          R[5] = R[8];
+          ob = (word *)R[6];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1322:
+      if (acc == 5) {
+
+        if (R[4] == INULL) {
+
+          if (R[6] == F(0)) {
+
+            R[8] = INULL;
+            ob = (word *)R[3];
+            R[3] = R[8];
+            acc = 1;
+
+          } else {
+
+            R[8] = INULL;
+            *fp = make_header(3, 40);
+            fp[1] = R[6];
+            fp[2] = R[8];
+            R[9] = (word)fp;
+            fp += 3;
+            ob = (word *)R[3];
+            R[3] = R[9];
+            acc = 1;
+
+          }
+
+        } else {
+
+          R[8] = 128 * 0 + 258;
+          R[9] = prim_ref(R[4], R[8]);
+          {
+
+            hval x = immval(R[9]);
+            uint n = immval(R[5]);
+            R[10] = F(x >> n);
+            R[11] = F(x << (FBITS - n));
+
+          }
+
+          R[12] = R[6] | R[11];
+          R[13] = 128 * 2 + 258;
+          R[4] = prim_ref(R[4], R[13]);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[1], 2);
+          fp[3] = R[3];
+          fp[2] = R[12];
+          R[3] = (word)fp;
+          fp += 4;
+          R[6] = R[10];
+          ob = (word *)R[7];
+          acc = 5;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1323:
+      if (acc == 4) {
+
+        {
+
+          word ob = R[5];
+          if (allocp(ob)) ob = V(ob);
+          R[7] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[8] = F(0);
+        R[9] = BOOL(R[7] == R[8]);
+        if (R[9] == IFALSE) {
+
+          R[10] = 128 * 78 + 258;
+          R[11] = BOOL(R[7] == R[10]);
+          if (R[11] == IFALSE) {
+
+            R[12] = G(R[1], 2);
+            R[13] = G(R[1], 3);
+            R[6] = R[5];
+            R[5] = R[4];
+            R[4] = R[13];
+            ob = (word *)R[12];
+            acc = 4;
+
+          } else {
+
+            if (R[4] == F(0)) {
+
+              ob = (word *)R[3];
+              R[3] = R[8];
+              acc = 1;
+
+            } else {
+
+              R[12] = 128 * 2 + 258;
+              R[13] = prim_ref(R[4], R[12]);
+              R[14] = G(R[1], 4);
+              *fp = make_header(5, TPROC);
+              fp[1] = G(R[1], 5);
+              fp[4] = R[6];
+              fp[3] = R[3];
+              fp[2] = R[13];
+              R[3] = (word)fp;
+              fp += 5;
+              R[16] = 128 * 46 + 258;
+              R[4] = R[5];
+              R[5] = R[16];
+              ob = (word *)R[14];
+              acc = 3;
+
+            }
+
+          }
+
+        } else {
+
+          R[10] = 128 * 46 + 258;
+          {
+
+            uint64_t a = (uint64_t)immval(R[8]) << FBITS | immval(R[5]);
+            hval     b = immval(R[10]);
+            uint64_t q = a / b;
+            R[11] = F(q >> FBITS);
+            R[12] = F(q);
+            R[13] = F(a - q * b);
+
+          }
+
+          if (R[12] == F(0)) {
+
+            {
+
+              word ob = R[4];
+              if (allocp(ob)) ob = V(ob);
+              R[14] = F((hval)ob >> TPOS & 63);
+
+            }
+
+            R[15] = BOOL(R[14] == R[8]);
+            if (R[15] == IFALSE) {
+
+              R[16] = 128 * 62 + 258;
+              R[17] = BOOL(R[14] == R[16]);
+              if (R[17] == IFALSE) {
+
+                R[18] = 128 * 78 + 258;
+                R[19] = BOOL(R[14] == R[18]);
+                if (R[19] == IFALSE) {
+
+                  R[20] = 128 * 80 + 258;
+                  R[21] = BOOL(R[14] == R[20]);
+                  if (R[21] == IFALSE) {
+
+                    R[22] = G(R[1], 2);
+                    R[23] = G(R[1], 3);
+                    R[6] = R[5];
+                    R[5] = R[4];
+                    R[4] = R[23];
+                    ob = (word *)R[22];
+                    acc = 4;
+
+                  } else {
+
+                    R[22] = G(R[1], 6);
+                    *fp = make_header(3, TCLOS);
+                    fp[1] = G(R[1], 7);
+                    fp[2] = R[3];
+                    R[3] = (word)fp;
+                    fp += 3;
+                    R[5] = R[13];
+                    ob = (word *)R[22];
+                    acc = 3;
+
+                  }
+
+                } else {
+
+                  R[20] = G(R[1], 6);
+                  R[5] = R[13];
+                  ob = (word *)R[20];
+                  acc = 3;
+
+                }
+
+              } else {
+
+                {
+
+                  hval x = immval(R[4]);
+                  uint n = immval(R[13]);
+                  R[18] = F(x >> n);
+                  R[19] = F(x << (FBITS - n));
+
+                }
+
+                if (R[18] == F(0)) {
+
+                  ob = (word *)R[3];
+                  R[3] = R[8];
+                  acc = 1;
+
+                } else {
+
+                  R[20] = G(R[1], 8);
+                  R[4] = R[18];
+                  ob = (word *)R[20];
+                  acc = 2;
+
+                }
+
+              }
+
+            } else {
+
+              {
+
+                hval x = immval(R[4]);
+                uint n = immval(R[13]);
+                R[16] = F(x >> n);
+                R[17] = F(x << (FBITS - n));
+
+              }
+
+              ob = (word *)R[3];
+              R[3] = R[16];
+              acc = 1;
+
+            }
+
+          } else {
+
+            {
+
+              word ob = R[4];
+              if (allocp(ob)) ob = V(ob);
+              R[14] = F((hval)ob >> TPOS & 63);
+
+            }
+
+            R[15] = BOOL(R[14] == R[8]);
+            if (R[15] == IFALSE) {
+
+              R[16] = 128 * 62 + 258;
+              R[17] = BOOL(R[14] == R[16]);
+              if (R[17] == IFALSE) {
+
+                R[18] = 128 * 78 + 258;
+                R[19] = BOOL(R[14] == R[18]);
+                if (R[19] == IFALSE) {
+
+                  R[20] = 128 * 80 + 258;
+                  R[21] = BOOL(R[14] == R[20]);
+                  if (R[21] == IFALSE) {
+
+                    R[22] = G(R[1], 2);
+                    R[23] = G(R[1], 3);
+                    R[6] = R[5];
+                    R[5] = R[4];
+                    R[4] = R[23];
+                    ob = (word *)R[22];
+                    acc = 4;
+
+                  } else {
+
+                    R[22] = G(R[1], 9);
+                    *fp = make_header(4, TCLOS);
+                    fp[1] = G(R[1], 10);
+                    fp[3] = R[3];
+                    fp[2] = R[13];
+                    R[3] = (word)fp;
+                    fp += 4;
+                    R[5] = R[12];
+                    ob = (word *)R[22];
+                    acc = 3;
+
+                  }
+
+                } else {
+
+                  R[20] = G(R[1], 9);
+                  *fp = make_header(4, TCLOS);
+                  fp[1] = G(R[1], 11);
+                  fp[3] = R[3];
+                  fp[2] = R[13];
+                  R[3] = (word)fp;
+                  fp += 4;
+                  R[5] = R[12];
+                  ob = (word *)R[20];
+                  acc = 3;
+
+                }
+
+              } else {
+
+                ob = (word *)R[3];
+                R[3] = R[8];
+                acc = 1;
+
+              }
+
+            } else {
+
+              ob = (word *)R[3];
+              R[3] = R[8];
+              acc = 1;
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1324:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[5] = G(R[1], 2);
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1325:
+      if (acc == 4) {
+
+        if (R[5] == F(0)) {
+
+          ob = (word *)R[3];
+          R[3] = R[4];
+          acc = 1;
+
+        } else {
+
+          if (R[4] == INULL) {
+
+            ob = (word *)R[3];
+            R[3] = R[4];
+            acc = 1;
+
+          } else {
+
+            R[7] = 128 * 0 + 258;
+            {
+
+              hval r = immval(R[5]) - immval(R[7]);
+              R[9] = F(r >> FBITS & 1);
+              R[8] = F(r);
+
+            }
+
+            R[10] = 128 * 2 + 258;
+            R[4] = prim_ref(R[4], R[10]);
+            R[5] = R[8];
+            ob = (word *)R[6];
+            acc = 4;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1326:
+      if (acc == 3) {
+
+        if (R[4] == INULL) {
+
+          R[6] = F(0);
+          ob = (word *)R[3];
+          R[3] = R[6];
+          acc = 1;
+
+        } else {
+
+          R[6] = 128 * 0 + 258;
+          R[7] = prim_ref(R[4], R[6]);
+          {
+
+            hval x = immval(R[7]);
+            uint n = immval(R[5]);
+            R[8] = F(x >> n);
+            R[9] = F(x << (FBITS - n));
+
+          }
+
+          R[10] = 128 * 2 + 258;
+          R[11] = prim_ref(R[4], R[10]);
+          R[12] = G(R[1], 2);
+          R[7] = ITRUE;
+          R[6] = R[5];
+          R[4] = R[8];
+          R[5] = R[11];
+          ob = (word *)R[12];
+          acc = 5;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1327:
+      if (acc == 6) {
+
+        if (R[5] == INULL) {
+
+          if (R[7] == IFALSE) {
+
+            if (R[4] == F(0)) {
+
+              R[9] = IFALSE;
+              ob = (word *)R[3];
+              R[3] = R[9];
+              acc = 1;
+
+            } else {
+
+              R[9] = INULL;
+              *fp = make_header(3, 40);
+              fp[1] = R[4];
+              fp[2] = R[9];
+              R[10] = (word)fp;
+              fp += 3;
+              ob = (word *)R[3];
+              R[3] = R[10];
+              acc = 1;
+
+            }
+
+          } else {
+
+            ob = (word *)R[3];
+            R[3] = R[4];
+            acc = 1;
+
+          }
+
+        } else {
+
+          R[9] = 128 * 0 + 258;
+          R[10] = prim_ref(R[5], R[9]);
+          {
+
+            hval x = immval(R[10]);
+            uint n = immval(R[6]);
+            R[11] = F(x >> n);
+            R[12] = F(x << (FBITS - n));
+
+          }
+
+          R[13] = R[4] | R[12];
+          R[14] = 128 * 2 + 258;
+          R[5] = prim_ref(R[5], R[14]);
+          *fp = make_header(5, TPROC);
+          fp[1] = G(R[1], 2);
+          fp[4] = R[3];
+          fp[3] = R[13];
+          fp[2] = R[7];
+          R[3] = (word)fp;
+          fp += 5;
+          R[7] = IFALSE;
+          R[4] = R[11];
+          ob = (word *)R[8];
+          acc = 6;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1328:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 3);
+          if (R[4] == F(0)) {
+
+            R[5] = G(R[1], 2);
+            if (R[5] == IFALSE) {
+
+              R[6] = G(R[1], 4);
+              R[3] = IFALSE;
+              ob = (word *)R[6];
+              acc = 1;
+
+            } else {
+
+              R[6] = G(R[1], 4);
+              R[3] = F(0);
+              ob = (word *)R[6];
+              acc = 1;
+
+            }
+
+          } else {
+
+            R[5] = G(R[1], 2);
+            if (R[5] == IFALSE) {
+
+              R[6] = INULL;
+              *fp = make_header(3, 40);
+              fp[1] = R[4];
+              fp[2] = R[6];
+              R[3] = (word)fp;
+              fp += 3;
+              R[8] = G(R[1], 4);
+              ob = (word *)R[8];
+              acc = 1;
+
+            } else {
+
+              R[6] = G(R[1], 4);
+              R[3] = R[4];
+              ob = (word *)R[6];
+              acc = 1;
+
+            }
+
+          }
+
+        } else {
+
+          R[4] = G(R[1], 3);
+          *fp = make_header(3, 40);
+          fp[1] = R[4];
+          fp[2] = R[3];
+          R[3] = (word)fp;
+          fp += 3;
+          R[6] = G(R[1], 4);
+          ob = (word *)R[6];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1329:
+      if (acc == 3) {
+
+        if (R[5] == F(0)) {
+
+          R[6] = G(R[1], 2);
+          R[7] = G(R[1], 3);
+          R[9] = R[6];
+          R[6] = R[5];
+          R[5] = R[4];
+          R[4] = R[7];
+          ob = (word *)R[9];
+          acc = 4;
+
+        } else {
+
+          R[6] = G(R[1], 4);
+          *fp = make_header(4, TCLOS);
+          fp[1] = G(R[1], 5);
+          fp[3] = R[3];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          R[5] = INULL;
+          ob = (word *)R[6];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1330:
+      if (acc == 1) {
+
+        {
+
+          word *ob = (word *)R[3];
+          hval  hdr;
+          assert(allocp(R[3]), R[3], IFALSE);
+          hdr = *ob;
+          assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+          R[4] = ob[1];
+          R[5] = ob[2];
+
+        }
+
+        R[6] = G(R[2], 2);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[9] = INULL;
+        R[10] = R[6];
+        R[3] = R[7];
+        R[6] = R[8];
+        R[7] = R[9];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1331:
+      if (acc == 4) {
+
+        if (R[4] == INULL) {
+
+          ob = (word *)R[3];
+          R[3] = R[5];
+          acc = 1;
+
+        } else {
+
+          R[7] = 128 * 2 + 258;
+          R[8] = prim_ref(R[4], R[7]);
+          R[9] = 128 * 0 + 258;
+          R[10] = prim_ref(R[4], R[9]);
+          *fp = make_header(3, 40);
+          fp[1] = R[10];
+          fp[2] = R[5];
+          R[5] = (word)fp;
+          fp += 3;
+          R[4] = R[8];
+          ob = (word *)R[6];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1332:
+      if (acc == 6) {
+
+        if (R[5] == INULL) {
+
+          R[9] = 128 * 2 + 258;
+          R[10] = prim_ref(R[7], R[9]);
+          if (R[10] == INULL) {
+
+            R[11] = 128 * 0 + 258;
+            R[12] = prim_ref(R[7], R[11]);
+            R[7] = R[3];
+            R[3] = R[12];
+            ob = (word *)R[7];
+            acc = 2;
+
+          } else {
+
+            R[8] = R[3];
+            R[3] = R[7];
+            ob = (word *)R[8];
+            acc = 2;
+
+          }
+
+        } else {
+
+          {
+
+            word *ob = (word *)R[5];
+            hval  hdr;
+            assert(allocp(R[5]), R[5], IFALSE);
+            hdr = *ob;
+            assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+            R[9] = ob[1];
+            R[10] = ob[2];
+
+          }
+
+          {
+
+            uint64_t a = (uint64_t)immval(R[4]) << FBITS | immval(R[9]);
+            hval     b = immval(R[6]);
+            uint64_t q = a / b;
+            R[11] = F(q >> FBITS);
+            R[12] = F(q);
+            R[13] = F(a - q * b);
+
+          }
+
+          if (R[11] == F(0)) {
+
+            *fp = make_header(3, 40);
+            fp[1] = R[12];
+            fp[2] = R[7];
+            R[7] = (word)fp;
+            fp += 3;
+            R[5] = R[10];
+            R[4] = R[13];
+            ob = (word *)R[8];
+            acc = 6;
+
+          } else {
+
+            *fp = make_header(3, 40);
+            fp[1] = R[11];
+            fp[2] = R[7];
+            R[14] = (word)fp;
+            fp += 3;
+            *fp = make_header(3, 40);
+            fp[1] = R[12];
+            fp[2] = R[14];
+            R[7] = (word)fp;
+            fp += 3;
+            R[5] = R[10];
+            R[4] = R[13];
+            ob = (word *)R[8];
+            acc = 6;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1333:
+      if (acc == 3) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[6] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[7] = F(0);
+        R[8] = BOOL(R[6] == R[7]);
+        if (R[8] == IFALSE) {
+
+          R[9] = 128 * 62 + 258;
+          R[10] = BOOL(R[6] == R[9]);
+          if (R[10] == IFALSE) {
+
+            R[11] = 128 * 78 + 258;
+            R[12] = BOOL(R[6] == R[11]);
+            if (R[12] == IFALSE) {
+
+              R[13] = 128 * 80 + 258;
+              R[14] = BOOL(R[6] == R[13]);
+              if (R[14] == IFALSE) {
+
+                R[15] = G(R[1], 2);
+                ob = (word *)R[15];
+                acc = 3;
+
+              } else {
+
+                {
+
+                  word ob = R[5];
+                  if (allocp(ob)) ob = V(ob);
+                  R[15] = F((hval)ob >> TPOS & 63);
+
+                }
+
+                R[16] = BOOL(R[15] == R[7]);
+                if (R[16] == IFALSE) {
+
+                  R[17] = BOOL(R[15] == R[9]);
+                  if (R[17] == IFALSE) {
+
+                    R[18] = BOOL(R[15] == R[11]);
+                    if (R[18] == IFALSE) {
+
+                      R[19] = BOOL(R[15] == R[13]);
+                      if (R[19] == IFALSE) {
+
+                        R[20] = G(R[1], 2);
+                        R[8] = R[5];
+                        R[5] = R[4];
+                        R[4] = R[8];
+                        ob = (word *)R[20];
+                        acc = 3;
+
+                      } else {
+
+                        R[20] = G(R[2], 2);
+                        *fp = make_header(3, TCLOS);
+                        fp[1] = G(R[2], 3);
+                        fp[2] = R[3];
+                        R[3] = (word)fp;
+                        fp += 3;
+                        R[6] = R[7];
+                        ob = (word *)R[20];
+                        acc = 4;
+
+                      }
+
+                    } else {
+
+                      R[19] = G(R[2], 4);
+                      R[8] = R[5];
+                      R[5] = R[4];
+                      R[4] = R[8];
+                      ob = (word *)R[19];
+                      acc = 3;
+
+                    }
+
+                  } else {
+
+                    R[18] = G(R[2], 5);
+                    *fp = make_header(3, TCLOS);
+                    fp[1] = G(R[2], 6);
+                    fp[2] = R[3];
+                    R[3] = (word)fp;
+                    fp += 3;
+                    R[8] = R[5];
+                    R[5] = R[4];
+                    R[4] = R[8];
+                    ob = (word *)R[18];
+                    acc = 3;
+
+                  }
+
+                } else {
+
+                  R[17] = G(R[2], 7);
+                  R[6] = ITRUE;
+                  R[9] = R[5];
+                  R[5] = R[4];
+                  R[4] = R[9];
+                  ob = (word *)R[17];
+                  acc = 4;
+
+                }
+
+              }
+
+            } else {
+
+              {
+
+                word ob = R[5];
+                if (allocp(ob)) ob = V(ob);
+                R[13] = F((hval)ob >> TPOS & 63);
+
+              }
+
+              R[14] = BOOL(R[13] == R[7]);
+              if (R[14] == IFALSE) {
+
+                R[15] = BOOL(R[13] == R[9]);
+                if (R[15] == IFALSE) {
+
+                  R[16] = BOOL(R[13] == R[11]);
+                  if (R[16] == IFALSE) {
+
+                    R[17] = 128 * 80 + 258;
+                    R[18] = BOOL(R[13] == R[17]);
+                    if (R[18] == IFALSE) {
+
+                      R[19] = G(R[1], 2);
+                      R[8] = R[5];
+                      R[5] = R[4];
+                      R[4] = R[8];
+                      ob = (word *)R[19];
+                      acc = 3;
+
+                    } else {
+
+                      R[19] = G(R[2], 4);
+                      ob = (word *)R[19];
+                      acc = 3;
+
+                    }
+
+                  } else {
+
+                    R[17] = G(R[2], 2);
+                    R[6] = R[7];
+                    ob = (word *)R[17];
+                    acc = 4;
+
+                  }
+
+                } else {
+
+                  R[16] = G(R[2], 8);
+                  R[6] = ITRUE;
+                  ob = (word *)R[16];
+                  acc = 4;
+
+                }
+
+              } else {
+
+                R[15] = G(R[2], 5);
+                R[8] = R[5];
+                R[5] = R[4];
+                R[4] = R[8];
+                ob = (word *)R[15];
+                acc = 3;
+
+              }
+
+            }
+
+          } else {
+
+            {
+
+              word ob = R[5];
+              if (allocp(ob)) ob = V(ob);
+              R[11] = F((hval)ob >> TPOS & 63);
+
+            }
+
+            R[12] = BOOL(R[11] == R[7]);
+            if (R[12] == IFALSE) {
+
+              R[13] = BOOL(R[11] == R[9]);
+              if (R[13] == IFALSE) {
+
+                R[14] = 128 * 78 + 258;
+                R[15] = BOOL(R[11] == R[14]);
+                if (R[15] == IFALSE) {
+
+                  R[16] = 128 * 80 + 258;
+                  R[17] = BOOL(R[11] == R[16]);
+                  if (R[17] == IFALSE) {
+
+                    R[18] = G(R[1], 2);
+                    R[8] = R[5];
+                    R[5] = R[4];
+                    R[4] = R[8];
+                    ob = (word *)R[18];
+                    acc = 3;
+
+                  } else {
+
+                    R[18] = G(R[2], 5);
+                    *fp = make_header(3, TCLOS);
+                    fp[1] = G(R[2], 9);
+                    fp[2] = R[3];
+                    R[3] = (word)fp;
+                    fp += 3;
+                    ob = (word *)R[18];
+                    acc = 3;
+
+                  }
+
+                } else {
+
+                  R[16] = G(R[2], 8);
+                  R[6] = ITRUE;
+                  R[9] = R[5];
+                  R[5] = R[4];
+                  R[4] = R[9];
+                  ob = (word *)R[16];
+                  acc = 4;
+
+                }
+
+              } else {
+
+                R[14] = G(R[2], 10);
+                ob = (word *)R[14];
+                acc = 3;
+
+              }
+
+            } else {
+
+              {
+
+                hval r = immval(R[5]) - immval(R[4]);
+                R[14] = F(r >> FBITS & 1);
+                R[13] = F(r);
+
+              }
+
+              R[15] = BOOL(R[14] == R[7]);
+              if (R[15] == IFALSE) {
+
+                {
+
+                  hval r = immval(R[4]) - immval(R[5]);
+                  R[17] = F(r >> FBITS & 1);
+                  R[16] = F(r);
+
+                }
+
+                R[18] = G(R[2], 11);
+                R[4] = R[16];
+                ob = (word *)R[18];
+                acc = 2;
+
+              } else {
+
+                ob = (word *)R[3];
+                R[3] = R[13];
+                acc = 1;
+
+              }
+
+            }
+
+          }
+
+        } else {
+
+          {
+
+            word ob = R[5];
+            if (allocp(ob)) ob = V(ob);
+            R[9] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          R[10] = BOOL(R[9] == R[7]);
+          if (R[10] == IFALSE) {
+
+            R[11] = 128 * 62 + 258;
+            R[12] = BOOL(R[9] == R[11]);
+            if (R[12] == IFALSE) {
+
+              R[13] = 128 * 78 + 258;
+              R[14] = BOOL(R[9] == R[13]);
+              if (R[14] == IFALSE) {
+
+                R[15] = 128 * 80 + 258;
+                R[16] = BOOL(R[9] == R[15]);
+                if (R[16] == IFALSE) {
+
+                  R[17] = G(R[1], 2);
+                  R[8] = R[5];
+                  R[5] = R[4];
+                  R[4] = R[8];
+                  ob = (word *)R[17];
+                  acc = 3;
+
+                } else {
+
+                  R[17] = G(R[2], 7);
+                  R[6] = ITRUE;
+                  ob = (word *)R[17];
+                  acc = 4;
+
+                }
+
+              } else {
+
+                R[15] = G(R[2], 5);
+                ob = (word *)R[15];
+                acc = 3;
+
+              }
+
+            } else {
+
+              {
+
+                hval r = immval(R[4]) - immval(R[5]);
+                R[14] = F(r >> FBITS & 1);
+                R[13] = F(r);
+
+              }
+
+              R[15] = BOOL(R[14] == R[7]);
+              if (R[15] == IFALSE) {
+
+                {
+
+                  hval r = immval(R[5]) - immval(R[4]);
+                  R[17] = F(r >> FBITS & 1);
+                  R[16] = F(r);
+
+                }
+
+                R[18] = G(R[2], 11);
+                R[4] = R[16];
+                ob = (word *)R[18];
+                acc = 2;
+
+              } else {
+
+                ob = (word *)R[3];
+                R[3] = R[13];
+                acc = 1;
+
+              }
+
+            }
+
+          } else {
+
+            {
+
+              hval r = immval(R[4]) + immval(R[5]);
+              R[12] = F(r >> FBITS);
+              R[11] = F(r);
+
+            }
+
+            R[13] = BOOL(R[12] == R[7]);
+            if (R[13] == IFALSE) {
+
+              R[14] = G(R[2], 12);
+              *fp = make_header(3, 40);
+              fp[1] = R[11];
+              fp[2] = R[14];
+              R[15] = (word)fp;
+              fp += 3;
+              ob = (word *)R[3];
+              R[3] = R[15];
+              acc = 1;
+
+            } else {
+
+              ob = (word *)R[3];
+              R[3] = R[11];
+              acc = 1;
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1334:
+      if (acc == 2) {
+
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 2);
+        fp[2] = R[4];
+        R[5] = (word)fp;
+        fp += 3;
+        ob = (word *)R[3];
+        R[3] = R[5];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1335:
+      if (acc == 3) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[6] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[7] = F(0);
+        R[8] = BOOL(R[6] == R[7]);
+        if (R[8] == IFALSE) {
+
+          R[9] = 128 * 62 + 258;
+          R[10] = BOOL(R[6] == R[9]);
+          if (R[10] == IFALSE) {
+
+            R[11] = 128 * 78 + 258;
+            R[12] = BOOL(R[6] == R[11]);
+            if (R[12] == IFALSE) {
+
+              R[13] = 128 * 80 + 258;
+              R[14] = BOOL(R[6] == R[13]);
+              if (R[14] == IFALSE) {
+
+                R[15] = G(R[1], 2);
+                ob = (word *)R[15];
+                acc = 3;
+
+              } else {
+
+                {
+
+                  word ob = R[5];
+                  if (allocp(ob)) ob = V(ob);
+                  R[15] = F((hval)ob >> TPOS & 63);
+
+                }
+
+                R[16] = BOOL(R[15] == R[7]);
+                if (R[16] == IFALSE) {
+
+                  R[17] = BOOL(R[15] == R[9]);
+                  if (R[17] == IFALSE) {
+
+                    R[18] = BOOL(R[15] == R[11]);
+                    if (R[18] == IFALSE) {
+
+                      R[19] = BOOL(R[15] == R[13]);
+                      if (R[19] == IFALSE) {
+
+                        R[20] = G(R[1], 2);
+                        ob = (word *)R[20];
+                        acc = 3;
+
+                      } else {
+
+                        R[20] = G(R[2], 2);
+                        R[8] = R[5];
+                        R[5] = R[4];
+                        R[4] = R[8];
+                        ob = (word *)R[20];
+                        acc = 3;
+
+                      }
+
+                    } else {
+
+                      R[19] = G(R[2], 3);
+                      *fp = make_header(3, TCLOS);
+                      fp[1] = G(R[2], 4);
+                      fp[2] = R[3];
+                      R[3] = (word)fp;
+                      fp += 3;
+                      R[6] = R[7];
+                      ob = (word *)R[19];
+                      acc = 4;
+
+                    }
+
+                  } else {
+
+                    R[18] = G(R[2], 5);
+                    R[6] = ITRUE;
+                    R[9] = R[5];
+                    R[5] = R[4];
+                    R[4] = R[9];
+                    ob = (word *)R[18];
+                    acc = 4;
+
+                  }
+
+                } else {
+
+                  R[17] = G(R[2], 6);
+                  *fp = make_header(3, TCLOS);
+                  fp[1] = G(R[2], 7);
+                  fp[2] = R[3];
+                  R[3] = (word)fp;
+                  fp += 3;
+                  R[8] = R[5];
+                  R[5] = R[4];
+                  R[4] = R[8];
+                  ob = (word *)R[17];
+                  acc = 3;
+
+                }
+
+              }
+
+            } else {
+
+              {
+
+                word ob = R[5];
+                if (allocp(ob)) ob = V(ob);
+                R[13] = F((hval)ob >> TPOS & 63);
+
+              }
+
+              R[14] = BOOL(R[13] == R[7]);
+              if (R[14] == IFALSE) {
+
+                R[15] = BOOL(R[13] == R[9]);
+                if (R[15] == IFALSE) {
+
+                  R[16] = BOOL(R[13] == R[11]);
+                  if (R[16] == IFALSE) {
+
+                    R[17] = 128 * 80 + 258;
+                    R[18] = BOOL(R[13] == R[17]);
+                    if (R[18] == IFALSE) {
+
+                      R[19] = G(R[1], 2);
+                      ob = (word *)R[19];
+                      acc = 3;
+
+                    } else {
+
+                      R[19] = G(R[2], 3);
+                      R[6] = R[7];
+                      ob = (word *)R[19];
+                      acc = 4;
+
+                    }
+
+                  } else {
+
+                    R[17] = G(R[2], 2);
+                    ob = (word *)R[17];
+                    acc = 3;
+
+                  }
+
+                } else {
+
+                  R[16] = G(R[2], 6);
+                  R[8] = R[5];
+                  R[5] = R[4];
+                  R[4] = R[8];
+                  ob = (word *)R[16];
+                  acc = 3;
+
+                }
+
+              } else {
+
+                R[15] = G(R[2], 8);
+                R[6] = ITRUE;
+                ob = (word *)R[15];
+                acc = 4;
+
+              }
+
+            }
+
+          } else {
+
+            {
+
+              word ob = R[5];
+              if (allocp(ob)) ob = V(ob);
+              R[11] = F((hval)ob >> TPOS & 63);
+
+            }
+
+            R[12] = BOOL(R[11] == R[7]);
+            if (R[12] == IFALSE) {
+
+              R[13] = BOOL(R[11] == R[9]);
+              if (R[13] == IFALSE) {
+
+                R[14] = 128 * 78 + 258;
+                R[15] = BOOL(R[11] == R[14]);
+                if (R[15] == IFALSE) {
+
+                  R[16] = 128 * 80 + 258;
+                  R[17] = BOOL(R[11] == R[16]);
+                  if (R[17] == IFALSE) {
+
+                    R[18] = G(R[1], 2);
+                    ob = (word *)R[18];
+                    acc = 3;
+
+                  } else {
+
+                    R[18] = G(R[2], 8);
+                    R[6] = ITRUE;
+                    R[9] = R[5];
+                    R[5] = R[4];
+                    R[4] = R[9];
+                    ob = (word *)R[18];
+                    acc = 4;
+
+                  }
+
+                } else {
+
+                  R[16] = G(R[2], 6);
+                  *fp = make_header(3, TCLOS);
+                  fp[1] = G(R[2], 9);
+                  fp[2] = R[3];
+                  R[3] = (word)fp;
+                  fp += 3;
+                  ob = (word *)R[16];
+                  acc = 3;
+
+                }
+
+              } else {
+
+                {
+
+                  hval r = immval(R[5]) - immval(R[4]);
+                  R[15] = F(r >> FBITS & 1);
+                  R[14] = F(r);
+
+                }
+
+                R[16] = BOOL(R[15] == R[7]);
+                if (R[16] == IFALSE) {
+
+                  {
+
+                    hval r = immval(R[4]) - immval(R[5]);
+                    R[18] = F(r >> FBITS & 1);
+                    R[17] = F(r);
+
+                  }
+
+                  R[19] = G(R[2], 10);
+                  R[4] = R[17];
+                  ob = (word *)R[19];
+                  acc = 2;
+
+                } else {
+
+                  ob = (word *)R[3];
+                  R[3] = R[14];
+                  acc = 1;
+
+                }
+
+              }
+
+            } else {
+
+              R[13] = G(R[2], 11);
+              ob = (word *)R[13];
+              acc = 3;
+
+            }
+
+          }
+
+        } else {
+
+          {
+
+            word ob = R[5];
+            if (allocp(ob)) ob = V(ob);
+            R[9] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          R[10] = BOOL(R[9] == R[7]);
+          if (R[10] == IFALSE) {
+
+            R[11] = 128 * 62 + 258;
+            R[12] = BOOL(R[9] == R[11]);
+            if (R[12] == IFALSE) {
+
+              R[13] = 128 * 78 + 258;
+              R[14] = BOOL(R[9] == R[13]);
+              if (R[14] == IFALSE) {
+
+                R[15] = 128 * 80 + 258;
+                R[16] = BOOL(R[9] == R[15]);
+                if (R[16] == IFALSE) {
+
+                  R[17] = G(R[1], 2);
+                  ob = (word *)R[17];
+                  acc = 3;
+
+                } else {
+
+                  R[17] = G(R[2], 6);
+                  ob = (word *)R[17];
+                  acc = 3;
+
+                }
+
+              } else {
+
+                R[15] = G(R[2], 5);
+                R[6] = ITRUE;
+                ob = (word *)R[15];
+                acc = 4;
+
+              }
+
+            } else {
+
+              {
+
+                hval r = immval(R[4]) + immval(R[5]);
+                R[14] = F(r >> FBITS);
+                R[13] = F(r);
+
+              }
+
+              R[15] = BOOL(R[14] == R[7]);
+              if (R[15] == IFALSE) {
+
+                R[16] = G(R[2], 12);
+                *fp = make_header(3, 40);
+                fp[1] = R[13];
+                fp[2] = R[16];
+                R[17] = (word)fp;
+                fp += 3;
+                ob = (word *)R[3];
+                R[3] = R[17];
+                acc = 1;
+
+              } else {
+
+                ob = (word *)R[3];
+                R[3] = R[13];
+                acc = 1;
+
+              }
+
+            }
+
+          } else {
+
+            {
+
+              hval r = immval(R[4]) - immval(R[5]);
+              R[12] = F(r >> FBITS & 1);
+              R[11] = F(r);
+
+            }
+
+            R[13] = BOOL(R[12] == R[7]);
+            if (R[13] == IFALSE) {
+
+              {
+
+                hval r = immval(R[5]) - immval(R[4]);
+                R[15] = F(r >> FBITS & 1);
+                R[14] = F(r);
+
+              }
+
+              R[16] = G(R[2], 10);
+              R[4] = R[14];
+              ob = (word *)R[16];
+              acc = 2;
+
+            } else {
+
+              ob = (word *)R[3];
+              R[3] = R[11];
+              acc = 1;
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1336:
+      if (acc == 3) {
+
+        {
+
+          hval r = immval(R[4]) + immval(R[5]);
+          R[7] = F(r >> FBITS);
+          R[6] = F(r);
+
+        }
+
+        if (R[7] == F(0)) {
+
+          R[8] = G(R[1], 2);
+          R[4] = R[6];
+          ob = (word *)R[8];
+          acc = 2;
+
+        } else {
+
+          R[8] = G(R[1], 3);
+          *fp = make_header(3, 41);
+          fp[1] = R[6];
+          fp[2] = R[8];
+          R[9] = (word)fp;
+          fp += 3;
+          ob = (word *)R[3];
+          R[3] = R[9];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1337:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 5;
+        R[8] = IFALSE;
+        R[9] = R[6];
+        R[3] = R[7];
+        R[6] = R[8];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1338:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 2);
+          R[8] = F(0);
+          R[9] = ITRUE;
+          R[10] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          R[6] = R[8];
+          R[7] = R[9];
+          ob = (word *)R[10];
+          acc = 5;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          *fp = make_header(3, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[2] = R[5];
+          R[6] = (word)fp;
+          fp += 3;
+          R[7] = G(R[1], 2);
+          R[8] = G(R[1], 3);
+          R[9] = F(0);
+          R[10] = ITRUE;
+          R[11] = R[4];
+          R[3] = R[6];
+          R[4] = R[7];
+          R[5] = R[8];
+          R[6] = R[9];
+          R[7] = R[10];
+          ob = (word *)R[11];
+          acc = 5;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1339:
+      if (acc == 1) {
+
+        if (R[3] == F(0)) {
+
+          R[4] = G(R[1], 2);
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          {
+
+            word ob = R[3];
+            if (allocp(ob)) ob = V(ob);
+            R[4] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          if (R[4] == F(0)) {
+
+            R[5] = G(R[2], 2);
+            R[6] = G(R[1], 2);
+            R[4] = R[3];
+            R[3] = R[6];
+            ob = (word *)R[5];
+            acc = 2;
+
+          } else {
+
+            R[5] = G(R[2], 3);
+            R[6] = G(R[1], 2);
+            R[4] = R[3];
+            R[3] = R[6];
+            ob = (word *)R[5];
+            acc = 2;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1340:
+      if (acc == 6) {
+
+        if (R[4] == INULL) {
+
+          R[9] = IFALSE;
+          ob = (word *)R[3];
+          R[3] = R[9];
+          acc = 1;
+
+        } else {
+
+          if (R[5] == INULL) {
+
+            if (R[6] == F(0)) {
+
+              ob = (word *)R[3];
+              R[3] = R[4];
+              acc = 1;
+
+            } else {
+
+              R[9] = G(R[1], 2);
+              R[5] = R[6];
+              R[6] = R[7];
+              ob = (word *)R[9];
+              acc = 4;
+
+            }
+
+          } else {
+
+            R[9] = 128 * 0 + 258;
+            R[10] = prim_ref(R[4], R[9]);
+            R[11] = prim_ref(R[5], R[9]);
+            {
+
+              hval r = immval(R[10]) - immval(R[11]);
+              R[13] = F(r >> FBITS & 1);
+              R[12] = F(r);
+
+            }
+
+            if (R[6] == F(0)) {
+
+              R[14] = 128 * 2 + 258;
+              R[4] = prim_ref(R[4], R[14]);
+              R[5] = prim_ref(R[5], R[14]);
+              *fp = make_header(5, TPROC);
+              fp[1] = G(R[1], 3);
+              fp[4] = R[3];
+              fp[3] = R[7];
+              fp[2] = R[12];
+              R[3] = (word)fp;
+              fp += 5;
+              R[7] = IFALSE;
+              R[6] = R[13];
+              ob = (word *)R[8];
+              acc = 6;
+
+            } else {
+
+              {
+
+                hval r = immval(R[12]) - immval(R[9]);
+                R[15] = F(r >> FBITS & 1);
+                R[14] = F(r);
+
+              }
+
+              R[16] = 128 * 2 + 258;
+              R[4] = prim_ref(R[4], R[16]);
+              R[5] = prim_ref(R[5], R[16]);
+              R[6] = R[13] | R[15];
+              *fp = make_header(5, TPROC);
+              fp[1] = G(R[1], 4);
+              fp[4] = R[3];
+              fp[3] = R[7];
+              fp[2] = R[14];
+              R[3] = (word)fp;
+              fp += 5;
+              R[7] = IFALSE;
+              ob = (word *)R[8];
+              acc = 6;
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1341:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 3;
+        R[6] = ITRUE;
+        R[10] = R[5];
+        R[5] = R[4];
+        R[4] = R[10];
+        ob = (word *)R[7];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1342:
+      if (acc == 1) {
+
+        {
+
+          word ob = R[3];
+          if (allocp(ob)) ob = V(ob);
+          R[4] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[5] = F(0);
+        R[6] = BOOL(R[4] == R[5]);
+        if (R[6] == IFALSE) {
+
+          R[7] = G(R[2], 2);
+          R[8] = G(R[1], 2);
+          R[4] = R[3];
+          R[3] = R[8];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[7] = G(R[2], 3);
+          R[8] = G(R[1], 2);
+          R[4] = R[3];
+          R[3] = R[8];
+          ob = (word *)R[7];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1343:
+      if (acc == 5) {
+
+        R[8] = 128 * 0 + 258;
+        R[9] = prim_ref(R[4], R[8]);
+        {
+
+          hval r = immval(R[9]) - immval(R[5]);
+          R[11] = F(r >> FBITS & 1);
+          R[10] = F(r);
+
+        }
+
+        if (R[11] == F(0)) {
+
+          if (R[10] == F(0)) {
+
+            R[12] = 128 * 2 + 258;
+            R[13] = prim_ref(R[4], R[12]);
+            if (R[13] == INULL) {
+
+              if (R[6] == IFALSE) {
+
+                R[14] = IFALSE;
+                ob = (word *)R[3];
+                R[3] = R[14];
+                acc = 1;
+
+              } else {
+
+                ob = (word *)R[3];
+                R[3] = R[10];
+                acc = 1;
+
+              }
+
+            } else {
+
+              *fp = make_header(3, 40);
+              fp[1] = R[10];
+              fp[2] = R[13];
+              R[14] = (word)fp;
+              fp += 3;
+              ob = (word *)R[3];
+              R[3] = R[14];
+              acc = 1;
+
+            }
+
+          } else {
+
+            R[12] = 128 * 2 + 258;
+            R[13] = prim_ref(R[4], R[12]);
+            *fp = make_header(3, 40);
+            fp[1] = R[10];
+            fp[2] = R[13];
+            R[14] = (word)fp;
+            fp += 3;
+            ob = (word *)R[3];
+            R[3] = R[14];
+            acc = 1;
+
+          }
+
+        } else {
+
+          R[12] = 128 * 2 + 258;
+          R[4] = prim_ref(R[4], R[12]);
+          *fp = make_header(5, TPROC);
+          fp[1] = G(R[1], 2);
+          fp[4] = R[3];
+          fp[3] = R[6];
+          fp[2] = R[10];
+          R[3] = (word)fp;
+          fp += 5;
+          R[6] = IFALSE;
+          R[5] = R[11];
+          ob = (word *)R[7];
+          acc = 5;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1344:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 3);
+          if (R[4] == IFALSE) {
+
+            R[5] = G(R[1], 2);
+            if (R[5] == F(0)) {
+
+              R[6] = G(R[1], 4);
+              R[3] = IFALSE;
+              ob = (word *)R[6];
+              acc = 1;
+
+            } else {
+
+              R[6] = INULL;
+              *fp = make_header(3, 40);
+              fp[1] = R[5];
+              fp[2] = R[6];
+              R[3] = (word)fp;
+              fp += 3;
+              R[8] = G(R[1], 4);
+              ob = (word *)R[8];
+              acc = 1;
+
+            }
+
+          } else {
+
+            R[5] = G(R[1], 4);
+            R[3] = G(R[1], 2);
+            ob = (word *)R[5];
+            acc = 1;
+
+          }
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          *fp = make_header(3, 40);
+          fp[1] = R[4];
+          fp[2] = R[3];
+          R[3] = (word)fp;
+          fp += 3;
+          R[6] = G(R[1], 4);
+          ob = (word *)R[6];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1345:
+      if (acc == 5) {
+
+        if (R[4] == INULL) {
+
+          if (R[5] == INULL) {
+
+            if (R[6] == F(0)) {
+
+              R[8] = INULL;
+              ob = (word *)R[3];
+              R[3] = R[8];
+              acc = 1;
+
+            } else {
+
+              R[8] = G(R[1], 2);
+              ob = (word *)R[3];
+              R[3] = R[8];
+              acc = 1;
+
+            }
+
+          } else {
+
+            if (R[6] == F(0)) {
+
+              ob = (word *)R[3];
+              R[3] = R[5];
+              acc = 1;
+
+            } else {
+
+              R[8] = G(R[1], 3);
+              R[4] = R[6];
+              ob = (word *)R[8];
+              acc = 3;
+
+            }
+
+          }
+
+        } else {
+
+          if (R[5] == INULL) {
+
+            if (R[6] == F(0)) {
+
+              ob = (word *)R[3];
+              R[3] = R[4];
+              acc = 1;
+
+            } else {
+
+              R[8] = G(R[1], 3);
+              R[5] = R[4];
+              R[4] = R[6];
+              ob = (word *)R[8];
+              acc = 3;
+
+            }
+
+          } else {
+
+            R[8] = 128 * 0 + 258;
+            R[9] = prim_ref(R[4], R[8]);
+            R[10] = prim_ref(R[5], R[8]);
+            {
+
+              hval r = immval(R[9]) + immval(R[10]);
+              R[12] = F(r >> FBITS);
+              R[11] = F(r);
+
+            }
+
+            if (R[6] == F(0)) {
+
+              R[13] = 128 * 2 + 258;
+              R[4] = prim_ref(R[4], R[13]);
+              R[5] = prim_ref(R[5], R[13]);
+              *fp = make_header(4, TPROC);
+              fp[1] = G(R[1], 4);
+              fp[3] = R[3];
+              fp[2] = R[11];
+              R[3] = (word)fp;
+              fp += 4;
+              R[6] = R[12];
+              ob = (word *)R[7];
+              acc = 5;
+
+            } else {
+
+              {
+
+                hval r = immval(R[11]) + immval(R[6]);
+                R[14] = F(r >> FBITS);
+                R[13] = F(r);
+
+              }
+
+              R[15] = 128 * 2 + 258;
+              R[4] = prim_ref(R[4], R[15]);
+              R[5] = prim_ref(R[5], R[15]);
+              R[6] = R[12] | R[14];
+              *fp = make_header(4, TPROC);
+              fp[1] = G(R[1], 5);
+              fp[3] = R[3];
+              fp[2] = R[13];
+              R[3] = (word)fp;
+              fp += 4;
+              ob = (word *)R[7];
+              acc = 5;
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1346:
+      if (acc == 4) {
+
+        {
+
+          word *ob = (word *)R[5];
+          hval  hdr;
+          assert(allocp(R[5]), R[5], IFALSE);
+          hdr = *ob;
+          assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+          R[7] = ob[1];
+          R[8] = ob[2];
+
+        }
+
+        {
+
+          hval r = immval(R[4]) + immval(R[7]);
+          R[10] = F(r >> FBITS);
+          R[9] = F(r);
+
+        }
+
+        if (R[10] == F(0)) {
+
+          *fp = make_header(3, 40);
+          fp[1] = R[9];
+          fp[2] = R[8];
+          R[11] = (word)fp;
+          fp += 3;
+          ob = (word *)R[3];
+          R[3] = R[11];
+          acc = 1;
+
+        } else {
+
+          if (R[8] == INULL) {
+
+            R[11] = G(R[1], 2);
+            *fp = make_header(3, 40);
+            fp[1] = R[9];
+            fp[2] = R[11];
+            R[12] = (word)fp;
+            fp += 3;
+            ob = (word *)R[3];
+            R[3] = R[12];
+            acc = 1;
+
+          } else {
+
+            *fp = make_header(4, TPROC);
+            fp[1] = G(R[1], 3);
+            fp[3] = R[3];
+            fp[2] = R[9];
+            R[3] = (word)fp;
+            fp += 4;
+            R[5] = R[8];
+            R[4] = R[10];
+            ob = (word *)R[6];
+            acc = 4;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1347:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        *fp = make_header(3, 40);
+        fp[1] = R[4];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 3;
+        R[6] = G(R[1], 3);
+        ob = (word *)R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1348:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[9] = R[6];
+        R[10] = R[5];
+        R[5] = R[3];
+        R[6] = R[4];
+        R[4] = R[9];
+        R[3] = R[10];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1349:
+      if (acc == 3) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[6] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        if (R[6] == F(0)) {
+
+          R[7] = G(R[1], 2);
+          if (R[4] == R[7]) {
+
+            R[8] = G(R[1], 3);
+            ob = (word *)R[3];
+            R[3] = R[8];
+            acc = 1;
+
+          } else {
+
+            R[8] = 128 * 0 + 258;
+            {
+
+              hval r = immval(R[4]) + immval(R[8]);
+              R[10] = F(r >> FBITS);
+              R[9] = F(r);
+
+            }
+
+            ob = (word *)R[3];
+            R[3] = R[9];
+            acc = 1;
+
+          }
+
+        } else {
+
+          R[7] = 128 * 78 + 258;
+          if (R[6] == R[7]) {
+
+            R[8] = 128 * 0 + 258;
+            R[9] = prim_ref(R[4], R[8]);
+            R[10] = G(R[1], 2);
+            if (R[9] == R[10]) {
+
+              R[11] = 128 * 2 + 258;
+              R[4] = prim_ref(R[4], R[11]);
+              *fp = make_header(3, TPROC);
+              fp[1] = G(R[1], 4);
+              fp[2] = R[3];
+              R[3] = (word)fp;
+              fp += 3;
+              ob = (word *)R[5];
+              acc = 3;
+
+            } else {
+
+              {
+
+                hval r = immval(R[9]) + immval(R[8]);
+                R[12] = F(r >> FBITS);
+                R[11] = F(r);
+
+              }
+
+              R[13] = 128 * 2 + 258;
+              R[14] = prim_ref(R[4], R[13]);
+              *fp = make_header(3, 40);
+              fp[1] = R[11];
+              fp[2] = R[14];
+              R[15] = (word)fp;
+              fp += 3;
+              ob = (word *)R[3];
+              R[3] = R[15];
+              acc = 1;
+
+            }
+
+          } else {
+
+            if (R[4] == INULL) {
+
+              R[8] = G(R[1], 5);
+              ob = (word *)R[3];
+              R[3] = R[8];
+              acc = 1;
+
+            } else {
+
+              R[8] = G(R[1], 6);
+              R[9] = G(R[1], 7);
+              R[5] = R[4];
+              R[6] = R[4];
+              R[4] = R[9];
+              ob = (word *)R[8];
+              acc = 4;
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1350:
+      if (acc == 1) {
+
+        R[4] = F(0);
+        *fp = make_header(3, 40);
+        fp[1] = R[4];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 3;
+        R[6] = G(R[1], 2);
+        ob = (word *)R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1351:
+      if (acc == 3) {
+
+        R[6] = INULL;
+        R[7] = cons(R[5], R[6]);
+        R[5] = cons(R[4], R[7]);
+        R[9] = G(R[1], 2);
+        R[4] = G(R[1], 3);
+        ob = (word *)R[9];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1352:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[3];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 5;
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1353:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 2);
+          R[8] = R[4];
+          R[3] = R[5];
+          R[4] = R[6];
+          R[5] = R[7];
+          ob = (word *)R[8];
+          acc = 3;
+
+        } else {
+
+          R[4] = G(R[1], 4);
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1354:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        R[8] = R[5];
+        R[5] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1355:
+      if (acc == 3) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[6] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[7] = F(0);
+        R[8] = BOOL(R[6] == R[7]);
+        if (R[8] == IFALSE) {
+
+          R[9] = 128 * 62 + 258;
+          R[10] = BOOL(R[6] == R[9]);
+          if (R[10] == IFALSE) {
+
+            R[11] = 128 * 78 + 258;
+            R[12] = BOOL(R[6] == R[11]);
+            if (R[12] == IFALSE) {
+
+              R[13] = 128 * 80 + 258;
+              R[14] = BOOL(R[6] == R[13]);
+              if (R[14] == IFALSE) {
+
+                R[15] = G(R[1], 2);
+                R[16] = G(R[1], 3);
+                R[6] = R[5];
+                R[5] = R[4];
+                R[4] = R[16];
+                ob = (word *)R[15];
+                acc = 4;
+
+              } else {
+
+                {
+
+                  word ob = R[5];
+                  if (allocp(ob)) ob = V(ob);
+                  R[15] = F((hval)ob >> TPOS & 63);
+
+                }
+
+                R[16] = BOOL(R[15] == R[13]);
+                if (R[16] == IFALSE) {
+
+                  R[17] = IFALSE;
+                  ob = (word *)R[3];
+                  R[3] = R[17];
+                  acc = 1;
+
+                } else {
+
+                  R[17] = G(R[1], 4);
+                  ob = (word *)R[17];
+                  acc = 3;
+
+                }
+
+              }
+
+            } else {
+
+              {
+
+                word ob = R[5];
+                if (allocp(ob)) ob = V(ob);
+                R[13] = F((hval)ob >> TPOS & 63);
+
+              }
+
+              R[14] = BOOL(R[13] == R[11]);
+              if (R[14] == IFALSE) {
+
+                R[15] = IFALSE;
+                ob = (word *)R[3];
+                R[3] = R[15];
+                acc = 1;
+
+              } else {
+
+                R[15] = G(R[1], 4);
+                ob = (word *)R[15];
+                acc = 3;
+
+              }
+
+            }
+
+          } else {
+
+            R[11] = BOOL(R[4] == R[5]);
+            ob = (word *)R[3];
+            R[3] = R[11];
+            acc = 1;
+
+          }
+
+        } else {
+
+          R[9] = BOOL(R[4] == R[5]);
+          ob = (word *)R[3];
+          R[3] = R[9];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1356:
+      if (acc == 3) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[6] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[7] = F(0);
+        R[8] = BOOL(R[6] == R[7]);
+        if (R[8] == IFALSE) {
+
+          R[9] = 128 * 62 + 258;
+          R[10] = BOOL(R[6] == R[9]);
+          if (R[10] == IFALSE) {
+
+            R[11] = 128 * 78 + 258;
+            R[12] = BOOL(R[6] == R[11]);
+            if (R[12] == IFALSE) {
+
+              R[13] = 128 * 80 + 258;
+              R[14] = BOOL(R[6] == R[13]);
+              if (R[14] == IFALSE) {
+
+                R[15] = G(R[1], 2);
+                R[16] = G(R[1], 3);
+                R[6] = R[5];
+                R[5] = R[4];
+                R[4] = R[16];
+                ob = (word *)R[15];
+                acc = 4;
+
+              } else {
+
+                {
+
+                  word ob = R[5];
+                  if (allocp(ob)) ob = V(ob);
+                  R[15] = F((hval)ob >> TPOS & 63);
+
+                }
+
+                R[16] = BOOL(R[15] == R[13]);
+                if (R[16] == IFALSE) {
+
+                  R[17] = ITRUE;
+                  ob = (word *)R[3];
+                  R[3] = R[17];
+                  acc = 1;
+
+                } else {
+
+                  R[17] = G(R[1], 4);
+                  *fp = make_header(3, TPROC);
+                  fp[1] = G(R[1], 5);
+                  fp[2] = R[3];
+                  R[3] = (word)fp;
+                  fp += 3;
+                  R[6] = IFALSE;
+                  ob = (word *)R[17];
+                  acc = 4;
+
+                }
+
+              }
+
+            } else {
+
+              {
+
+                word ob = R[5];
+                if (allocp(ob)) ob = V(ob);
+                R[13] = F((hval)ob >> TPOS & 63);
+
+              }
+
+              R[14] = BOOL(R[13] == R[11]);
+              if (R[14] == IFALSE) {
+
+                R[15] = IFALSE;
+                ob = (word *)R[3];
+                R[3] = R[15];
+                acc = 1;
+
+              } else {
+
+                R[15] = G(R[1], 4);
+                R[6] = IFALSE;
+                ob = (word *)R[15];
+                acc = 4;
+
+              }
+
+            }
+
+          } else {
+
+            {
+
+              word ob = R[5];
+              if (allocp(ob)) ob = V(ob);
+              R[11] = F((hval)ob >> TPOS & 63);
+
+            }
+
+            R[12] = BOOL(R[11] == R[7]);
+            if (R[12] == IFALSE) {
+
+              R[13] = BOOL(R[11] == R[9]);
+              if (R[13] == IFALSE) {
+
+                R[14] = 128 * 78 + 258;
+                R[15] = BOOL(R[11] == R[14]);
+                if (R[15] == IFALSE) {
+
+                  R[16] = IFALSE;
+                  ob = (word *)R[3];
+                  R[3] = R[16];
+                  acc = 1;
+
+                } else {
+
+                  R[16] = ITRUE;
+                  ob = (word *)R[3];
+                  R[3] = R[16];
+                  acc = 1;
+
+                }
+
+              } else {
+
+                if (R[4] == R[5]) {
+
+                  R[14] = IFALSE;
+                  ob = (word *)R[3];
+                  R[3] = R[14];
+                  acc = 1;
+
+                } else {
+
+                  R[14] = prim_less(R[5], R[4]);
+                  ob = (word *)R[3];
+                  R[3] = R[14];
+                  acc = 1;
+
+                }
+
+              }
+
+            } else {
+
+              R[13] = ITRUE;
+              ob = (word *)R[3];
+              R[3] = R[13];
+              acc = 1;
+
+            }
+
+          }
+
+        } else {
+
+          {
+
+            word ob = R[5];
+            if (allocp(ob)) ob = V(ob);
+            R[9] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          R[10] = BOOL(R[9] == R[7]);
+          if (R[10] == IFALSE) {
+
+            R[11] = 128 * 78 + 258;
+            R[12] = BOOL(R[9] == R[11]);
+            if (R[12] == IFALSE) {
+
+              R[13] = IFALSE;
+              ob = (word *)R[3];
+              R[3] = R[13];
+              acc = 1;
+
+            } else {
+
+              R[13] = ITRUE;
+              ob = (word *)R[3];
+              R[3] = R[13];
+              acc = 1;
+
+            }
+
+          } else {
+
+            R[11] = prim_less(R[4], R[5]);
+            ob = (word *)R[3];
+            R[3] = R[11];
+            acc = 1;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1357:
+      if (acc == 5) {
+
+        if (R[4] == R[5]) {
+
+          ob = (word *)R[3];
+          R[3] = R[6];
+          acc = 1;
+
+        } else {
+
+          if (R[4] == INULL) {
+
+            R[8] = ITRUE;
+            ob = (word *)R[3];
+            R[3] = R[8];
+            acc = 1;
+
+          } else {
+
+            if (R[5] == INULL) {
+
+              R[8] = IFALSE;
+              ob = (word *)R[3];
+              R[3] = R[8];
+              acc = 1;
+
+            } else {
+
+              R[8] = 128 * 0 + 258;
+              R[9] = prim_ref(R[4], R[8]);
+              R[10] = prim_ref(R[5], R[8]);
+              R[11] = prim_less(R[9], R[10]);
+              if (R[11] == IFALSE) {
+
+                if (R[9] == R[10]) {
+
+                  R[12] = 128 * 2 + 258;
+                  R[4] = prim_ref(R[4], R[12]);
+                  R[5] = prim_ref(R[5], R[12]);
+                  ob = (word *)R[7];
+                  acc = 5;
+
+                } else {
+
+                  R[12] = 128 * 2 + 258;
+                  R[4] = prim_ref(R[4], R[12]);
+                  R[5] = prim_ref(R[5], R[12]);
+                  R[6] = IFALSE;
+                  ob = (word *)R[7];
+                  acc = 5;
+
+                }
+
+              } else {
+
+                R[12] = 128 * 2 + 258;
+                R[4] = prim_ref(R[4], R[12]);
+                R[5] = prim_ref(R[5], R[12]);
+                R[6] = ITRUE;
+                ob = (word *)R[7];
+                acc = 5;
+
+              }
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1358:
+      if (acc == 4) {
+
+        if (R[4] == R[5]) {
+
+          R[7] = ITRUE;
+          ob = (word *)R[3];
+          R[3] = R[7];
+          acc = 1;
+
+        } else {
+
+          if (R[4] == INULL) {
+
+            R[7] = IFALSE;
+            ob = (word *)R[3];
+            R[3] = R[7];
+            acc = 1;
+
+          } else {
+
+            if (R[5] == INULL) {
+
+              R[7] = IFALSE;
+              ob = (word *)R[3];
+              R[3] = R[7];
+              acc = 1;
+
+            } else {
+
+              R[7] = 128 * 0 + 258;
+              R[8] = prim_ref(R[4], R[7]);
+              R[9] = prim_ref(R[5], R[7]);
+              if (R[8] == R[9]) {
+
+                R[10] = 128 * 2 + 258;
+                R[4] = prim_ref(R[4], R[10]);
+                R[5] = prim_ref(R[5], R[10]);
+                ob = (word *)R[6];
+                acc = 4;
+
+              } else {
+
+                R[10] = IFALSE;
+                ob = (word *)R[3];
+                R[3] = R[10];
+                acc = 1;
+
+              }
+
+            }
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1359:
+      if (acc == 2) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[5] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[6] = F(0);
+        R[7] = BOOL(R[5] == R[6]);
+        if (R[7] == IFALSE) {
+
+          R[8] = 128 * 62 + 258;
+          R[9] = BOOL(R[5] == R[8]);
+          if (R[9] == IFALSE) {
+
+            R[10] = 128 * 78 + 258;
+            R[11] = BOOL(R[5] == R[10]);
+            if (R[11] == IFALSE) {
+
+              R[12] = 128 * 80 + 258;
+              R[13] = BOOL(R[5] == R[12]);
+              if (R[13] == IFALSE) {
+
+                R[14] = IFALSE;
+                ob = (word *)R[3];
+                R[3] = R[14];
+                acc = 1;
+
+              } else {
+
+                R[14] = G(R[1], 2);
+                ob = (word *)R[14];
+                acc = 2;
+
+              }
+
+            } else {
+
+              R[12] = G(R[1], 3);
+              ob = (word *)R[12];
+              acc = 2;
+
+            }
+
+          } else {
+
+            R[10] = R[6] ^ (FMAX << IPOS & R[4]);
+            ob = (word *)R[3];
+            R[3] = R[10];
+            acc = 1;
+
+          }
+
+        } else {
+
+          if (R[4] == F(0)) {
+
+            ob = (word *)R[3];
+            R[3] = R[6];
+            acc = 1;
+
+          } else {
+
+            R[8] = G(R[1], 4);
+            ob = (word *)R[8];
+            acc = 2;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1360:
+      if (acc == 4) {
+
+        R[7] = INULL;
+        R[8] = cons(R[6], R[7]);
+        R[9] = cons(R[5], R[8]);
+        R[5] = cons(R[4], R[9]);
+        R[11] = G(R[1], 2);
+        R[4] = G(R[1], 3);
+        ob = (word *)R[11];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1361:
+      if (acc == 2) {
+
+        R[5] = 128 * 0 + 258;
+        R[6] = prim_ref(R[4], R[5]);
+        R[7] = 128 * 2 + 258;
+        R[8] = prim_ref(R[4], R[7]);
+        *fp = make_header(3, 41);
+        fp[1] = R[6];
+        fp[2] = R[8];
+        R[9] = (word)fp;
+        fp += 3;
+        ob = (word *)R[3];
+        R[3] = R[9];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1362:
+      if (acc == 2) {
+
+        R[5] = 128 * 0 + 258;
+        R[6] = prim_ref(R[4], R[5]);
+        R[7] = 128 * 2 + 258;
+        R[8] = prim_ref(R[4], R[7]);
+        *fp = make_header(3, 40);
+        fp[1] = R[6];
+        fp[2] = R[8];
+        R[9] = (word)fp;
+        fp += 3;
+        ob = (word *)R[3];
+        R[3] = R[9];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1363:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[2], 3);
+        R[8] = R[4];
+        R[9] = R[5];
+        R[5] = R[3];
+        R[4] = R[6];
+        R[3] = R[9];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1364:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[7] = R[4];
+        R[4] = R[3];
+        R[3] = R[5];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1365:
+      if (acc == 4) {
+
+        R[7] = cons(R[5], R[4]);
+        ob = (word *)R[3];
+        R[3] = R[7];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1366:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[1], 3);
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 3;
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1367:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 2);
+        R[9] = R[4];
+        R[4] = R[6];
+        R[6] = R[3];
+        R[3] = R[5];
+        R[5] = R[7];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1368:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[1], 3);
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 3;
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1369:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = INULL;
+        R[9] = R[5];
+        R[10] = R[6];
+        R[6] = R[4];
+        R[5] = R[7];
+        R[4] = R[10];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1370:
+      if (acc == 4) {
+
+        R[7] = cons(R[5], R[6]);
+        R[8] = cons(R[7], R[4]);
+        ob = (word *)R[3];
+        R[3] = R[8];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1371:
+      if (acc == 3) {
+
+        assert(pairp(R[5]), R[5], 105);
+        R[6] = G(R[5], 1);
+        R[7] = G(R[5], 2);
+        R[8] = G(R[1], 2);
+        R[5] = R[6];
+        R[6] = R[7];
+        ob = (word *)R[8];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1372:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 5);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 6);
+        R[7] = G(R[1], 7);
+        *fp = make_header(6, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[5] = R[7];
+        fp[4] = R[6];
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[8] = (word)fp;
+        fp += 6;
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[11] = R[4];
+        R[4] = R[3];
+        R[3] = R[8];
+        ob = (word *)R[11];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1373:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 5);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 2);
+        R[10] = R[6];
+        R[11] = R[5];
+        R[5] = R[3];
+        R[6] = R[7];
+        R[7] = R[4];
+        R[4] = R[10];
+        R[3] = R[11];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1374:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 5);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 2);
+        R[9] = R[4];
+        R[4] = R[3];
+        R[3] = R[5];
+        R[5] = R[6];
+        R[6] = R[7];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1375:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[10] = R[4];
+        R[4] = R[3];
+        R[3] = R[5];
+        R[5] = R[6];
+        R[6] = R[7];
+        R[7] = R[8];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1376:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 5);
+        R[6] = G(R[1], 4);
+        R[7] = G(R[1], 3);
+        R[8] = G(R[1], 2);
+        R[10] = R[4];
+        R[11] = R[5];
+        R[5] = R[7];
+        R[7] = R[3];
+        R[4] = R[6];
+        R[6] = R[8];
+        R[3] = R[11];
+        ob = (word *)R[10];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1377:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 2);
+          R[3] = ITRUE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          R[3] = IFALSE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1378:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[6] = INULL;
+        R[7] = R[5];
+        R[5] = R[4];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1379:
+      if (acc == 5) {
+
+        if (R[5] == INULL) {
+
+          R[8] = G(R[1], 2);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[1], 3);
+          fp[3] = R[3];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 4;
+          R[4] = R[6];
+          ob = (word *)R[8];
+          acc = 2;
+
+        } else {
+
+          assert(pairp(R[5]), R[5], 169);
+          R[8] = G(R[5], 2);
+          if (R[8] == INULL) {
+
+            assert(pairp(R[4]), R[4], 105);
+            R[9] = G(R[4], 1);
+            R[10] = cons(R[9], R[6]);
+            R[11] = G(R[1], 2);
+            *fp = make_header(4, TPROC);
+            fp[1] = G(R[1], 4);
+            fp[3] = R[3];
+            fp[2] = R[4];
+            R[3] = (word)fp;
+            fp += 4;
+            R[4] = R[10];
+            ob = (word *)R[11];
+            acc = 2;
+
+          } else {
+
+            assert(pairp(R[4]), R[4], 169);
+            R[9] = G(R[4], 2);
+            assert(pairp(R[8]), R[8], 169);
+            R[5] = G(R[8], 2);
+            R[11] = G(R[4], 1);
+            R[6] = cons(R[11], R[6]);
+            R[4] = R[9];
+            ob = (word *)R[7];
+            acc = 5;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1380:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        assert(pairp(R[4]), R[4], 169);
+        R[5] = G(R[4], 2);
+        R[6] = G(R[1], 3);
+        R[4] = R[5];
+        ob = (word *)R[6];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1381:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 5);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[5] = R[8];
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[9] = (word)fp;
+        fp += 6;
+        R[7] = R[4];
+        R[4] = R[3];
+        R[3] = R[9];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1382:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 4);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[4] = R[7];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[8] = (word)fp;
+        fp += 5;
+        R[7] = R[4];
+        R[4] = R[3];
+        R[3] = R[8];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1383:
+      if (acc == 4) {
+
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 2);
+        fp[2] = R[4];
+        R[7] = (word)fp;
+        fp += 3;
+        R[8] = INULL;
+        R[4] = R[5];
+        R[5] = R[6];
+        R[6] = R[8];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1384:
+      if (acc == 5) {
+
+        if (R[5] == INULL) {
+
+          R[8] = G(R[2], 2);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[3];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 4;
+          R[4] = R[6];
+          ob = (word *)R[8];
+          acc = 2;
+
+        } else {
+
+          assert(pairp(R[5]), R[5], 105);
+          R[8] = G(R[5], 1);
+          R[9] = G(R[1], 2);
+          *fp = make_header(6, TPROC);
+          fp[1] = G(R[2], 4);
+          fp[5] = R[7];
+          fp[4] = R[3];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[5] = R[8];
+          ob = (word *)R[9];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1385:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        assert(pairp(R[5]), R[5], 169);
+        R[6] = G(R[5], 2);
+        R[7] = G(R[1], 3);
+        R[8] = cons(R[4], R[7]);
+        R[7] = G(R[1], 5);
+        R[10] = G(R[1], 4);
+        R[4] = R[3];
+        R[5] = R[6];
+        R[6] = R[8];
+        R[3] = R[10];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1386:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[7] = (word)fp;
+        fp += 4;
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[7];
+        ob = (word *)R[8];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1387:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[8] = R[4];
+        R[4] = R[3];
+        R[3] = R[5];
+        R[5] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1388:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[2] = R[4];
+        R[7] = (word)fp;
+        fp += 3;
+        R[8] = INULL;
+        R[9] = R[6];
+        R[6] = R[5];
+        R[4] = R[7];
+        R[5] = R[8];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1389:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[4] = R[3];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 5;
+        ob = (word *)R[6];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1390:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 4);
+          R[3] = G(R[1], 3);
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          R[5] = G(R[1], 3);
+          R[3] = cons(R[4], R[5]);
+          R[7] = G(R[1], 4);
+          ob = (word *)R[7];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1391:
+      if (acc == 3) {
+
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 2);
+        fp[2] = R[4];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = INULL;
+        R[4] = R[5];
+        R[5] = R[7];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1392:
+      if (acc == 4) {
+
+        if (R[4] == INULL) {
+
+          R[7] = G(R[2], 2);
+          *fp = make_header(3, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[2] = R[3];
+          R[3] = (word)fp;
+          fp += 3;
+          R[4] = R[5];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          assert(pairp(R[4]), R[4], 105);
+          R[7] = G(R[4], 1);
+          R[8] = G(R[1], 2);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 4);
+          fp[5] = R[6];
+          fp[4] = R[3];
+          fp[3] = R[5];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 6;
+          R[4] = R[7];
+          ob = (word *)R[8];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1393:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 4);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          R[8] = G(R[1], 3);
+          R[9] = R[4];
+          R[4] = R[8];
+          ob = (word *)R[9];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          assert(pairp(R[4]), R[4], 169);
+          R[5] = G(R[4], 2);
+          R[6] = G(R[4], 1);
+          R[7] = G(R[1], 3);
+          R[8] = cons(R[6], R[7]);
+          R[6] = G(R[1], 5);
+          R[3] = G(R[1], 4);
+          R[4] = R[5];
+          R[5] = R[8];
+          ob = (word *)R[6];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1394:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[7] = R[4];
+        R[4] = R[5];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1395:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = INULL;
+        R[7] = R[4];
+        R[4] = R[5];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1396:
+      if (acc == 4) {
+
+        if (R[4] == INULL) {
+
+          ob = (word *)R[3];
+          R[3] = R[5];
+          acc = 1;
+
+        } else {
+
+          assert(pairp(R[4]), R[4], 169);
+          R[7] = G(R[4], 2);
+          R[8] = G(R[4], 1);
+          R[5] = cons(R[8], R[5]);
+          R[4] = R[7];
+          ob = (word *)R[6];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1397:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(5, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[3];
+        fp[3] = R[5];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 5;
+        ob = (word *)R[6];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1398:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 4);
+          R[3] = G(R[1], 2);
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          assert(pairp(R[4]), R[4], 169);
+          R[5] = G(R[4], 2);
+          if (R[5] == INULL) {
+
+            R[3] = G(R[4], 1);
+            R[7] = G(R[1], 4);
+            ob = (word *)R[7];
+            acc = 1;
+
+          } else {
+
+            R[6] = G(R[4], 1);
+            R[4] = G(R[4], 2);
+            R[5] = G(R[1], 3);
+            R[9] = G(R[1], 4);
+            *fp = make_header(4, TCLOS);
+            fp[1] = G(R[2], 2);
+            fp[3] = R[9];
+            fp[2] = R[6];
+            R[3] = (word)fp;
+            fp += 4;
+            ob = (word *)R[5];
+            acc = 3;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1399:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[8] = R[4];
+        R[9] = R[5];
+        R[5] = R[3];
+        R[4] = R[6];
+        R[3] = R[9];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1400:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        R[7] = G(R[1], 3);
+        R[9] = R[6];
+        R[6] = R[4];
+        R[4] = R[7];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1401:
+      if (acc == 3) {
+
+        ob = (word *)R[3];
+        R[3] = R[5];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1402:
+      if (acc == 4) {
+
+        if (R[5] == INULL) {
+
+          R[7] = IFALSE;
+          ob = (word *)R[3];
+          R[3] = R[7];
+          acc = 1;
+
+        } else {
+
+          assert(pairp(R[5]), R[5], 105);
+          R[7] = G(R[5], 1);
+          if (R[7] == R[4]) {
+
+            ob = (word *)R[3];
+            R[3] = R[5];
+            acc = 1;
+
+          } else {
+
+            R[5] = G(R[5], 2);
+            ob = (word *)R[6];
+            acc = 4;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1403:
+      if (acc == 4) {
+
+        if (R[5] == INULL) {
+
+          R[7] = INULL;
+          ob = (word *)R[3];
+          R[3] = R[7];
+          acc = 1;
+
+        } else {
+
+          {
+
+            word *ob = (word *)R[5];
+            hval  hdr;
+            assert(allocp(R[5]), R[5], IFALSE);
+            hdr = *ob;
+            assert_not(rawp(hdr) || objsize(hdr) != 3, ob, IFALSE);
+            R[7] = ob[1];
+            R[8] = ob[2];
+
+          }
+
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[1], 2);
+          fp[5] = R[3];
+          fp[4] = R[6];
+          fp[3] = R[4];
+          fp[2] = R[8];
+          R[3] = (word)fp;
+          fp += 6;
+          R[8] = R[4];
+          R[4] = R[7];
+          ob = (word *)R[8];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1404:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 5);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[6] = (word)fp;
+        fp += 4;
+        R[7] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[3] = R[6];
+        R[6] = R[4];
+        R[4] = R[7];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1405:
+      if (acc == 5) {
+
+        if (R[6] == INULL) {
+
+          ob = (word *)R[3];
+          R[3] = R[5];
+          acc = 1;
+
+        } else {
+
+          assert(pairp(R[6]), R[6], 105);
+          R[8] = G(R[6], 1);
+          R[6] = G(R[6], 2);
+          *fp = make_header(5, TPROC);
+          fp[1] = G(R[1], 2);
+          fp[4] = R[4];
+          fp[3] = R[3];
+          fp[2] = R[8];
+          R[3] = (word)fp;
+          fp += 5;
+          ob = (word *)R[7];
+          acc = 5;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1406:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 4);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[8] = R[4];
+        R[9] = R[5];
+        R[5] = R[3];
+        R[4] = R[6];
+        R[3] = R[9];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1407:
+      if (acc == 6) {
+
+        if (R[7] == INULL) {
+
+          R[7] = R[3];
+          R[3] = R[5];
+          R[4] = R[6];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          assert(pairp(R[7]), R[7], 105);
+          R[9] = G(R[7], 1);
+          *fp = make_header(6, TPROC);
+          fp[1] = G(R[1], 2);
+          fp[5] = R[8];
+          fp[4] = R[3];
+          fp[3] = R[4];
+          fp[2] = R[7];
+          R[3] = (word)fp;
+          fp += 6;
+          R[11] = R[4];
+          R[4] = R[5];
+          R[5] = R[6];
+          R[6] = R[9];
+          ob = (word *)R[11];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1408:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        assert(pairp(R[5]), R[5], 169);
+        R[6] = G(R[5], 2);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 4);
+        R[9] = G(R[1], 3);
+        R[5] = R[3];
+        R[3] = R[8];
+        R[8] = R[7];
+        R[7] = R[6];
+        R[6] = R[4];
+        R[4] = R[9];
+        ob = (word *)R[8];
+        acc = 6;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1409:
+      if (acc == 5) {
+
+        *fp = make_header(7, TCLOS);
+        fp[1] = G(R[1], 2);
+        fp[6] = R[3];
+        fp[5] = R[7];
+        fp[4] = R[4];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 7;
+        R[4] = R[5];
+        ob = (word *)R[6];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1410:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 4);
+          R[5] = G(R[1], 3);
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 6);
+          *fp = make_header(6, TCLOS);
+          fp[1] = G(R[2], 2);
+          fp[5] = R[7];
+          fp[4] = R[6];
+          fp[3] = R[4];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          R[9] = G(R[1], 2);
+          R[7] = R[4];
+          R[4] = R[9];
+          ob = (word *)R[7];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[1], 6);
+          R[3] = INULL;
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1411:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 5);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[6];
+        fp[2] = R[3];
+        R[7] = (word)fp;
+        fp += 4;
+        R[8] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[3] = R[7];
+        R[7] = R[5];
+        R[5] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1412:
+      if (acc == 5) {
+
+        if (R[6] == INULL) {
+
+          ob = (word *)R[3];
+          R[3] = R[5];
+          acc = 1;
+
+        } else {
+
+          assert(pairp(R[6]), R[6], 105);
+          R[8] = G(R[6], 1);
+          *fp = make_header(6, TPROC);
+          fp[1] = G(R[1], 2);
+          fp[5] = R[7];
+          fp[4] = R[3];
+          fp[3] = R[4];
+          fp[2] = R[6];
+          R[3] = (word)fp;
+          fp += 6;
+          R[10] = R[4];
+          R[4] = R[5];
+          R[5] = R[8];
+          ob = (word *)R[10];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1413:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        assert(pairp(R[4]), R[4], 169);
+        R[5] = G(R[4], 2);
+        R[6] = G(R[1], 5);
+        R[7] = G(R[1], 4);
+        R[8] = G(R[1], 3);
+        R[10] = R[7];
+        R[7] = R[6];
+        R[6] = R[5];
+        R[5] = R[3];
+        R[4] = R[8];
+        R[3] = R[10];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1414:
+      if (acc == 3) {
+
+        if (R[4] == INULL) {
+
+          R[6] = ITRUE;
+          ob = (word *)R[3];
+          R[3] = R[6];
+          acc = 1;
+
+        } else {
+
+          R[6] = G(R[1], 2);
+          *fp = make_header(5, TPROC);
+          fp[1] = G(R[1], 3);
+          fp[4] = R[5];
+          fp[3] = R[3];
+          fp[2] = R[4];
+          R[3] = (word)fp;
+          fp += 5;
+          ob = (word *)R[6];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1415:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 3);
+          R[3] = IFALSE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[1], 2);
+          assert(pairp(R[4]), R[4], 169);
+          R[5] = G(R[4], 2);
+          R[6] = G(R[1], 4);
+          R[3] = G(R[1], 3);
+          R[4] = R[5];
+          R[5] = R[6];
+          ob = (word *)R[5];
+          acc = 3;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1416:
+      if (acc == 2) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[5] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[6] = 128 * 0 + 258;
+        R[7] = BOOL(R[6] == R[5]);
+        ob = (word *)R[3];
+        R[3] = R[7];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1417:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[2], 3);
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 3;
+        R[7] = R[4];
+        R[4] = R[3];
+        R[3] = R[6];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1418:
+      if (acc == 2) {
+
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[1], 2);
+        fp[2] = R[4];
+        R[5] = (word)fp;
+        fp += 3;
+        ob = (word *)R[3];
+        R[3] = R[5];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1419:
+      if (acc == 4) {
+
+        if (R[5] == R[6]) {
+
+          R[7] = ITRUE;
+          ob = (word *)R[3];
+          R[3] = R[7];
+          acc = 1;
+
+        } else {
+
+          {
+
+            word ob = R[5];
+            if (allocp(ob)) ob = V(ob);
+            R[7] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          R[8] = 128 * 6 + 258;
+          if (R[7] == R[8]) {
+
+            R[9] = IFALSE;
+            ob = (word *)R[3];
+            R[3] = R[9];
+            acc = 1;
+
+          } else {
+
+            R[9] = G(R[1], 2);
+            *fp = make_header(7, TCLOS);
+            fp[1] = G(R[1], 3);
+            fp[6] = R[3];
+            fp[5] = R[5];
+            fp[4] = R[6];
+            fp[3] = R[4];
+            fp[2] = R[7];
+            R[3] = (word)fp;
+            fp += 7;
+            R[4] = R[5];
+            ob = (word *)R[9];
+            acc = 2;
+
+          }
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1420:
+      if (acc == 1) {
+
+        if (R[3] == F(0)) {
+
+          R[4] = G(R[1], 6);
+          R[3] = IFALSE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 3);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 5);
+          R[9] = G(R[1], 6);
+          *fp = make_header(8, TCLOS);
+          fp[1] = G(R[2], 3);
+          fp[7] = R[9];
+          fp[6] = R[8];
+          fp[5] = R[7];
+          fp[4] = R[6];
+          fp[3] = R[3];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 8;
+          R[8] = R[4];
+          R[4] = R[7];
+          ob = (word *)R[8];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1421:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        if (R[4] == R[3]) {
+
+          R[5] = G(R[1], 5);
+          {
+
+            word ob = R[5];
+            if (allocp(ob)) ob = V(ob);
+            R[6] = F((hval)ob >> TPOS & 63);
+
+          }
+
+          R[7] = G(R[1], 2);
+          if (R[7] == R[6]) {
+
+            R[8] = G(R[1], 6);
+            if (immediatep(R[8])) {
+
+              R[9] = IFALSE;
+
+            } else {
+
+              hval h = V(R[8]);
+              R[9] = rawp(h) ? F(payl_len(h)) : IFALSE;
+
+            }
+
+            if (R[9] == IFALSE) {
+
+              R[10] = G(R[2], 2);
+              R[3] = G(R[1], 7);
+              R[6] = G(R[1], 4);
+              R[7] = R[4];
+              R[4] = R[8];
+              ob = (word *)R[10];
+              acc = 5;
+
+            } else {
+
+              if (immediatep(R[5])) {
+
+                R[10] = IFALSE;
+
+              } else {
+
+                hval h = V(R[5]);
+                R[10] = rawp(h) ? F(payl_len(h)) : IFALSE;
+
+              }
+
+              if (R[9] == R[10]) {
+
+                R[11] = G(R[2], 3);
+                R[3] = G(R[1], 7);
+                R[4] = R[8];
+                R[6] = R[9];
+                ob = (word *)R[11];
+                acc = 4;
+
+              } else {
+
+                R[11] = G(R[1], 7);
+                R[3] = IFALSE;
+                ob = (word *)R[11];
+                acc = 1;
+
+              }
+
+            }
+
+          } else {
+
+            R[8] = G(R[1], 7);
+            R[3] = IFALSE;
+            ob = (word *)R[8];
+            acc = 1;
+
+          }
+
+        } else {
+
+          R[5] = G(R[1], 7);
+          R[3] = IFALSE;
+          ob = (word *)R[5];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1422:
+      if (acc == 5) {
+
+        R[8] = F(0);
+        R[9] = BOOL(R[6] == R[8]);
+        if (R[9] == IFALSE) {
+
+          R[10] = 128 * 0 + 258;
+          {
+
+            hval r = immval(R[6]) - immval(R[10]);
+            R[12] = F(r >> FBITS & 1);
+            R[11] = F(r);
+
+          }
+
+          R[13] = prim_ref(R[4], R[11]);
+          R[14] = prim_ref(R[5], R[11]);
+          if (R[13] == R[14]) {
+
+            R[6] = R[11];
+            ob = (word *)R[7];
+            acc = 5;
+
+          } else {
+
+            R[15] = IFALSE;
+            ob = (word *)R[3];
+            R[3] = R[15];
+            acc = 1;
+
+          }
+
+        } else {
+
+          ob = (word *)R[3];
+          R[3] = R[9];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1423:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1424:
+      if (acc == 6) {
+
+        R[9] = 128 * 0 + 258;
+        R[10] = BOOL(R[7] == R[9]);
+        if (R[10] == IFALSE) {
+
+          {
+
+            hval r = immval(R[7]) - immval(R[9]);
+            R[12] = F(r >> FBITS & 1);
+            R[11] = F(r);
+
+          }
+
+          R[13] = prim_ref(R[4], R[11]);
+          R[14] = prim_ref(R[5], R[11]);
+          *fp = make_header(8, TPROC);
+          fp[1] = G(R[1], 2);
+          fp[7] = R[3];
+          fp[6] = R[8];
+          fp[5] = R[4];
+          fp[4] = R[5];
+          fp[3] = R[6];
+          fp[2] = R[11];
+          R[3] = (word)fp;
+          fp += 8;
+          R[4] = R[13];
+          R[5] = R[14];
+          ob = (word *)R[6];
+          acc = 3;
+
+        } else {
+
+          ob = (word *)R[3];
+          R[3] = R[10];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1425:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[1], 7);
+          R[3] = IFALSE;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[1], 6);
+          R[5] = G(R[1], 7);
+          R[6] = G(R[1], 5);
+          R[7] = G(R[1], 4);
+          R[8] = G(R[1], 3);
+          R[9] = G(R[1], 2);
+          R[11] = R[6];
+          R[6] = R[8];
+          R[8] = R[4];
+          R[3] = R[5];
+          R[5] = R[7];
+          R[7] = R[9];
+          R[4] = R[11];
+          ob = (word *)R[8];
+          acc = 6;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1426:
+      if (acc == 5) {
+
+        R[8] = G(R[1], 2);
+        ob = (word *)R[8];
+        acc = 6;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1427:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[3] = R[4];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 4;
+        ob = (word *)R[6];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1428:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 2);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 3);
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 3;
+        R[7] = G(R[1], 3);
+        *fp = make_header(3, TPROC);
+        fp[1] = G(R[2], 4);
+        fp[2] = R[7];
+        R[8] = (word)fp;
+        fp += 3;
+        R[7] = R[4];
+        R[4] = R[8];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1429:
+      if (acc == 2) {
+
+        R[5] = 128 * 0 + 258;
+        R[6] = prim_ref(R[4], R[5]);
+        R[7] = G(R[1], 2);
+        R[8] = BOOL(R[6] == R[7]);
+        ob = (word *)R[3];
+        R[3] = R[8];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1430:
+      if (acc == 1) {
+
+        R[4] = 128 * 2 + 258;
+        R[3] = prim_ref(R[3], R[4]);
+        R[6] = G(R[1], 2);
+        ob = (word *)R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1431:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 5);
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 3);
+        R[7] = G(R[1], 2);
+        R[10] = R[5];
+        R[5] = R[6];
+        R[6] = R[7];
+        R[7] = R[4];
+        R[4] = R[3];
+        R[3] = R[10];
+        ob = (word *)R[7];
+        acc = 5;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1432:
+      if (acc == 2) {
+
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 4);
+        fp[2] = R[4];
+        R[5] = (word)fp;
+        fp += 3;
+        R[6] = G(R[1], 2);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[1], 3);
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 4;
+        ob = (word *)R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1433:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(6, TCLOS);
+        fp[1] = G(R[2], 2);
+        fp[5] = R[3];
+        fp[4] = R[4];
+        fp[3] = R[6];
+        fp[2] = R[5];
+        R[3] = (word)fp;
+        fp += 6;
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1434:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 2);
+          R[6] = G(R[1], 4);
+          R[7] = G(R[1], 5);
+          R[8] = G(R[1], 3);
+          *fp = make_header(6, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[5] = R[8];
+          fp[4] = R[7];
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 6;
+          ob = (word *)R[4];
+          acc = 1;
+
+        } else {
+
+          R[4] = G(R[2], 4);
+          R[5] = G(R[1], 4);
+          R[6] = G(R[1], 5);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[2], 5);
+          fp[3] = R[6];
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 4;
+          R[8] = G(R[1], 2);
+          R[9] = R[4];
+          R[4] = R[8];
+          ob = (word *)R[9];
+          acc = 2;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1435:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[3] = G(R[1], 2);
+        ob = (word *)R[4];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1436:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[6] = cons(R[4], R[5]);
+        R[7] = G(R[1], 5);
+        R[8] = G(R[1], 4);
+        R[4] = R[3];
+        R[5] = R[6];
+        R[6] = R[7];
+        R[3] = R[8];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1437:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[6] = INULL;
+        R[9] = R[5];
+        R[5] = R[6];
+        R[6] = R[4];
+        R[4] = R[3];
+        R[3] = R[9];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1438:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[5] = 128 * 24 + 258;
+        R[6] = IFALSE;
+        R[9] = R[4];
+        R[4] = R[5];
+        R[5] = R[6];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1439:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 4);
+        R[6] = G(R[1], 2);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[1], 3);
+        fp[3] = R[5];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 4;
+        ob = (word *)R[6];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1440:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[3] = R[3];
+        fp[2] = R[4];
+        R[6] = (word)fp;
+        fp += 4;
+        R[7] = 128 * 36 + 258;
+        R[9] = R[5];
+        R[5] = R[4];
+        R[3] = R[6];
+        R[6] = R[4];
+        R[4] = R[7];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1441:
+      if (acc == 1) {
+
+        R[4] = G(R[2], 2);
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[7] = R[4];
+        R[3] = R[5];
+        R[4] = R[6];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1442:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        R[7] = 128 * 16 + 258;
+        R[9] = R[6];
+        R[6] = R[5];
+        R[5] = R[4];
+        R[4] = R[7];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1443:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[6] = 128 * 10 + 258;
+        R[9] = R[5];
+        R[10] = R[6];
+        R[5] = R[4];
+        R[6] = R[4];
+        R[4] = R[10];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1444:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        R[7] = 128 * 8 + 258;
+        R[9] = R[6];
+        R[6] = R[5];
+        R[5] = R[4];
+        R[4] = R[7];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1445:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[6] = 128 * 2 + 258;
+        R[9] = R[5];
+        R[10] = R[6];
+        R[5] = R[4];
+        R[6] = R[4];
+        R[4] = R[10];
+        ob = (word *)R[9];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1446:
+      if (acc == 4) {
+
+        R[7] = G(R[1], 2);
+        *fp = make_header(5, TPROC);
+        fp[1] = G(R[1], 3);
+        fp[4] = R[4];
+        fp[3] = R[5];
+        fp[2] = R[6];
+        R[4] = (word)fp;
+        fp += 5;
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1447:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[8] = R[5];
+        R[5] = R[4];
+        R[4] = R[3];
+        R[3] = R[8];
+        ob = (word *)R[5];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1448:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[1], 3);
+        fp[3] = R[3];
+        fp[2] = R[4];
+        R[3] = (word)fp;
+        fp += 4;
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1449:
+      if (acc == 1) {
+
+        if (R[3] == IFALSE) {
+
+          R[4] = G(R[2], 2);
+          R[5] = G(R[1], 3);
+          *fp = make_header(3, TPROC);
+          fp[1] = G(R[2], 3);
+          fp[2] = R[5];
+          R[3] = (word)fp;
+          fp += 3;
+          R[7] = G(R[1], 2);
+          R[8] = R[4];
+          R[4] = R[7];
+          ob = (word *)R[8];
+          acc = 2;
+
+        } else {
+
+          R[4] = G(R[1], 3);
+          R[3] = F(0);
+          ob = (word *)R[4];
+          acc = 1;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1450:
+      if (acc == 1) {
+
+        R[4] = 128 * 14 + 258;
+        {
+
+          hval x = immval(R[3]);
+          uint n = immval(R[4]);
+          R[5] = F(x >> n);
+          R[6] = F(x << (FBITS - n));
+
+        }
+
+        R[7] = G(R[1], 2);
+        R[3] = R[5];
+        ob = (word *)R[7];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1451:
+      if (acc == 2) {
+
+        *fp = make_header(3, TCLOS);
+        fp[1] = G(R[1], 2);
+        fp[2] = R[3];
+        R[5] = (word)fp;
+        fp += 3;
+        R[7] = R[4];
+        R[4] = R[5];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1452:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        ob = (word *)R[5];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1453:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[6] = F(0);
+        R[9] = R[6];
+        R[6] = R[5];
+        R[5] = R[9];
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1454:
+      if (acc == 4) {
+
+        if (R[4] == INULL) {
+
+          ob = (word *)R[3];
+          R[3] = R[5];
+          acc = 1;
+
+        } else {
+
+          assert(pairp(R[4]), R[4], 105);
+          R[7] = G(R[4], 1);
+          R[4] = G(R[4], 2);
+          *fp = make_header(4, TPROC);
+          fp[1] = G(R[1], 2);
+          fp[3] = R[3];
+          fp[2] = R[7];
+          R[3] = (word)fp;
+          fp += 4;
+          ob = (word *)R[6];
+          acc = 4;
+
+        }
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1455:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        R[3] = cons(R[4], R[3]);
+        R[6] = G(R[1], 3);
+        ob = (word *)R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1456:
+      if (acc == 3) {
+
+        R[6] = G(R[1], 2);
+        ob = (word *)R[6];
+        acc = 4;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1457:
+      if (acc == 2) {
+
+        {
+
+          word ob = R[4];
+          if (allocp(ob)) ob = V(ob);
+          R[5] = F((hval)ob >> TPOS & 63);
+
+        }
+
+        R[6] = 128 * 8 + 258;
+        R[7] = BOOL(R[6] == R[5]);
+        ob = (word *)R[3];
+        R[3] = R[7];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1458:
+      if (acc == 2) {
+
+        R[5] = F(0);
+        R[6] = R[4] & R[5];
+        R[7] = BOOL(R[6] == R[5]);
+        ob = (word *)R[3];
+        R[3] = R[7];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1459:
+      if (acc == 2) {
+
+        ob = (word *)R[3];
+        R[3] = R[4];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1460:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[8] = R[5];
+        R[5] = R[4];
+        R[4] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1461:
+      if (acc == 3) {
+
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[1], 2);
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 4;
+        ob = (word *)R[3];
+        R[3] = R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1462:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 3);
+        R[6] = G(R[1], 2);
+        R[8] = R[5];
+        R[5] = R[6];
+        ob = (word *)R[8];
+        acc = 3;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1463:
+      if (acc == 3) {
+
+        *fp = make_header(4, TCLOS);
+        fp[1] = G(R[1], 2);
+        fp[3] = R[4];
+        fp[2] = R[5];
+        R[6] = (word)fp;
+        fp += 4;
+        ob = (word *)R[3];
+        R[3] = R[6];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1464:
+      if (acc == 2) {
+
+        R[5] = G(R[1], 2);
+        R[6] = G(R[1], 3);
+        *fp = make_header(4, TPROC);
+        fp[1] = G(R[2], 2);
+        fp[3] = R[6];
+        fp[2] = R[3];
+        R[3] = (word)fp;
+        fp += 4;
+        ob = (word *)R[5];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1465:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 3);
+        R[5] = G(R[1], 2);
+        R[7] = R[4];
+        R[4] = R[3];
+        R[3] = R[5];
+        ob = (word *)R[7];
+        acc = 2;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+    case 1466:
+      if (acc == 1) {
+
+        R[4] = G(R[1], 2);
+        ob = (word *)R[3];
+        R[3] = R[4];
+        acc = 1;
+
+      } else {
+
+        error(61, ob, F(acc));
+
+      }
+
+      break;
+
+    default:
+      error(258, F(op), ITRUE);
+
+  }
+
+  goto apply;
+
+invoke_mcp:           /* R4-R6 set, set R3=cont and R4=syscall and call mcp */
+  ob = (word *)R[0];
+  R[0] = IFALSE;
+  R[3] = F(3);
+  if (allocp(ob)) {
+
+    acc = 4;
+    goto apply;
+
+  }
+
+  return 1;        /* no mcp to handle error (fail in it?), so nonzero exit */
+
+}
+
+/* Initial FASL image decoding */
+
+static word get_nat() {
+
+  word result = 0;
+  word new, i;
+  do {
+
+    i = *hp++;
+    new = result << 7;
+    if (result != new >> 7) exit(9);                      /* overflow kills */
+    result = new + (i & 127);
+
+  } while (i & 128);
+
+  return result;
+
+}
+
+static word *get_field(word *ptrs, int pos) {
+
+  if (0 == *hp) {
+
+    byte type;
+    hp++;
+    type = *hp++;
+    *fp++ = make_immediate(get_nat(), type);
+
+  } else {
+
+    word diff = get_nat();
+    if (ptrs != NULL) *fp++ = ptrs[pos - diff];
+
+  }
+
+  return fp;
+
+}
+
+static word *get_obj(word *ptrs, int me) {
+
+  uint type, size;
+  if (ptrs != NULL) ptrs[me] = (word)fp;
+  switch (*hp++) { /* TODO: adding type information here would reduce fasl and
+                      executable size */
+    case 1:
+      type = *hp++;
+      size = get_nat();
+      *fp++ = make_header(size + 1, type);  /* +1 to include header in size */
+      while (size--)
+        fp = get_field(ptrs, me);
+      break;
+    case 2: {
+
+      type = *hp++ & 31;                 /* low 5 bits, the others are pads */
+      size = get_nat();
+      memcpy((word *)mkraw(type, size) + 1, hp, size);
+      hp += size;
+      break;
+
+    }
+
+    default:
+      exit(42);
+
+  }
+
+  return fp;
+
+}
+
+/* dry run fasl decode - just compute sizes */
+static void get_obj_metrics(int *rwords, int *rnobjs) {
+
+  int size;
+  switch (*hp++) {
+
+    case 1:
+      hp++;
+      size = get_nat();
+      *rnobjs += 1;
+      *rwords += size;
+      while (size--) {
+
+        if (0 == *hp) hp += 2;
+        get_nat();
+
+      }
+
+      break;
+    case 2:
+      hp++;
+      size = get_nat();
+      *rnobjs += 1;
+      *rwords += (W + size + W - 1) / W;
+      hp += size;
+      break;
+    default:
+      exit(42);
+
+  }
+
+}
+
+/* count number of objects and measure heap size */
+static void heap_metrics(int *rwords, int *rnobjs) {
+
+  const byte *hp_start = hp;
+  while (*hp != 0)
+    get_obj_metrics(rwords, rnobjs);
+  hp = hp_start;
+
+}
+
+/*
+static void read_heap(const char *path) {
+
+   struct stat st;
+   off_t pos = 0;
+   ssize_t n;
+   int fd = open(path, O_RDONLY);
+   if (fd == -1)
+      exit(1);
+   if (fstat(fd, &st) != 0)
+      exit(2);
+   file_heap = realloc(NULL, st.st_size);
+   if (file_heap == NULL)
+      exit(3);
+   do {
+
+      n = read(fd, file_heap + pos, st.st_size - pos);
+      if (n == -1)
+         exit(4);
+
+   } while (n && (pos += n) < st.st_size);
+
+   close(fd);
+
+}
+
+*/
+
+/* find a fasl image source to *hp or exit */
+// static void find_heap(int *nargs, char ***argv, int *nobjs, int *nwords) {
+
+//   file_heap = NULL;
+//   if ((word)heap == 0) {
+
+/* if no preloaded heap, try to load it from first vm arg */
+//      if (*nargs < 2)
+//         exit(1);
+//      read_heap(argv[0][1]);
+//      ++*argv;
+//      --*nargs;
+//      hp = file_heap;
+//      if (*hp == '#')
+//         while (*hp++ != '\n');
+//   } else {
+
+//      hp = heap;                                          /* builtin heap */
+//   }
+//   heap_metrics(nwords, nobjs);
+//}
+
+static word *decode_fasl(uint nobjs) {
+
+  word *ptrs;
+  word *entry;
+  uint  pos;
+  allocate(nobjs + 1, ptrs);
+  for (pos = 0; pos != nobjs; ++pos) {
+
+    if (fp >= memend)                                                /* bug */
+      exit(1);
+    fp = get_obj(ptrs, pos);
+
+  }
+
+  entry = (word *)ptrs[pos - 1];
+  *ptrs = make_header(nobjs + 1, 0) | RAWBIT;
+  return entry;
+
+}
+
+static word *load_heap(uint nobjs) {
+
+  word *entry = decode_fasl(nobjs);
+  if (file_heap != NULL) free(file_heap);
+  return entry;
+
+}
+
+/*
+static void setup(int nwords, int nobjs) {
+
+   tcgetattr(0, &tsettings);
+   state = IFALSE;
+   set_signal_handler();
+   max_heap_mb = W == 4 ? 4096 : 65535;
+   nwords += nobjs + INITCELLS;
+   memstart = genstart = fp = realloc(NULL, (nwords + MEMPAD) * W);
+   if (memstart == NULL)
+      exit(4);
+   memend = memstart + nwords - MEMPAD;
+
+}
+
+static int secondary(int nargs, char **argv) {
+
+   word *prog;
+   int rval, nobjs=0, nwords=0;
+   find_heap(&nargs, &argv, &nobjs, &nwords);
+   setup(nwords, nobjs);
+   prog = load_heap(nobjs);
+   rval = vm(prog, onum((uintptr_t)argv, 0));
+   setdown();
+   if (fixnump(rval)) {
+
+      int n = immval(rval);
+      if (!(n & ~127))
+         return n;
+
+   }
+
+   return 127;
+
+}
+
+*/
+
+void radamsa_init(void) {
+
+  int nobjs = 0, nwords = 0;
+  hp = (byte *)&heap;                                       /* builtin heap */
+  state = IFALSE;
+  heap_metrics(&nwords, &nobjs);
+  max_heap_mb = (W == 4) ? 4096 : 65535;
+  nwords += nobjs + INITCELLS;
+  memstart = genstart = fp = (word *)realloc(NULL, (nwords + MEMPAD) * W);
+  if (!memstart) return;
+  memend = memstart + nwords - MEMPAD;
+  state = (word)load_heap(nobjs);
+
+}
+
+/* bvec → value library call test with preserved state */
+static word library_call(word val) {
+
+  word program_state = state;
+  word res;
+  state = IFALSE;
+  if (program_state == IFALSE) { exit(1); }
+  res = vm((word *)program_state, val);
+  return res;
+
+}
+
+/*
+static size_t list_length(word lispval) {
+
+   size_t l = 0;
+   while(lispval != INULL) {
+
+      lispval = G(lispval, 2);
+      l++;
+
+   }
+
+   return l;
+
+}
+
+*/
+
+static size_t copy_list(uint8_t *ptr, word lispval, size_t max) {
+
+  size_t n = 0;
+  while (pairp((word)lispval) && max-- && lispval != INULL) {
+
+    *ptr++ = 255 & immval(G(lispval, 1));  // *ptr++ = car(list)
+    n++;
+    lispval = G(lispval, 2);  // list   = cdr(list)
+
+  }
+
+  if (lispval != INULL && max == 0) {
+
+    printf("ERROR: lisp return value was not a proper list. Trailing %lu\n",
+           (unsigned long)lispval);
+
+  }
+
+  return n;
+
+}
+
+/* read data from *ptr - *(ptr + len), write output to *target and return amount
+ * of data written */
+size_t radamsa(uint8_t *ptr, size_t len, uint8_t *target, size_t max,
+               unsigned int seed) {
+
+  word *arg, res;
+  word  lptr = onum((word)ptr, 0);
+  word  llen = onum((word)len, 0);
+  word  lmax = onum((word)max, 0);
+  word  lseed = onum((word)seed, 0);
+  arg = fp;
+  fp += 5;
+  arg[0] = make_header(5, TTUPLE);
+  arg[1] = lptr;
+  arg[2] = llen;
+  arg[3] = lmax;
+  arg[4] = lseed;
+  res = library_call((word)arg);
+  return copy_list(target, res, max);
+
+}
+
+size_t radamsa_inplace(uint8_t *ptr, size_t len, size_t max,
+                       unsigned int seed) {
+
+  return radamsa(ptr, len, ptr, max, seed);
+
+}
+
diff --git a/custom_mutators/radamsa/radamsa-mutator.c b/custom_mutators/radamsa/radamsa-mutator.c
new file mode 100644
index 00000000..82d28001
--- /dev/null
+++ b/custom_mutators/radamsa/radamsa-mutator.c
@@ -0,0 +1,70 @@
+// This simple example just creates random buffer <= 100 filled with 'A'
+// needs -I /path/to/AFLplusplus/include
+//#include "custom_mutator_helpers.h"
+
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "radamsa.h"
+#include "custom_mutator_helpers.h"
+
+typedef struct my_mutator {
+
+  afl_t *afl;
+
+  u8 *mutator_buf;
+
+  unsigned int seed;
+
+} my_mutator_t;
+
+my_mutator_t *afl_custom_init(afl_t *afl, unsigned int seed) {
+
+  srand(seed);
+  my_mutator_t *data = calloc(1, sizeof(my_mutator_t));
+  if (!data) {
+
+    perror("afl_custom_init alloc");
+    return NULL;
+
+  }
+
+  if ((data->mutator_buf = malloc(MAX_FILE)) == NULL) {
+
+    perror("mutator_buf alloc");
+    return NULL;
+
+  }
+
+  data->afl = afl;
+  data->seed = seed;
+
+  radamsa_init();
+
+  return data;
+
+}
+
+size_t afl_custom_fuzz(my_mutator_t *data, uint8_t *buf, size_t buf_size,
+                       u8 **out_buf, uint8_t *add_buf, size_t add_buf_size,
+                       size_t max_size) {
+
+  *out_buf = data->mutator_buf;
+  return radamsa(buf, buf_size, data->mutator_buf, max_size, data->seed++);
+
+}
+
+/**
+ * Deinitialize everything
+ *
+ * @param data The data ptr from afl_custom_init
+ */
+void afl_custom_deinit(my_mutator_t *data) {
+
+  free(data->mutator_buf);
+  free(data);
+
+}
+
diff --git a/custom_mutators/radamsa/radamsa.h b/custom_mutators/radamsa/radamsa.h
new file mode 100644
index 00000000..f698930c
--- /dev/null
+++ b/custom_mutators/radamsa/radamsa.h
@@ -0,0 +1,10 @@
+#include <inttypes.h>
+#include <stddef.h>
+
+void radamsa_init(void);
+
+size_t radamsa(uint8_t *ptr, size_t len, uint8_t *target, size_t max,
+               unsigned int seed);
+
+size_t radamsa_inplace(uint8_t *ptr, size_t len, size_t max, unsigned int seed);
+
diff --git a/dictionaries/ftp.dict b/dictionaries/ftp.dict
new file mode 100644
index 00000000..2f253ac8
--- /dev/null
+++ b/dictionaries/ftp.dict
@@ -0,0 +1,124 @@
+# from https://github.com/antonio-morales/Fuzzing/Dictionaries/FTP/Example.dict.txt

+#Parameters

+#tls = {0,1,2,3}

+

+#Input1

+"user"

+"pass"

+"syst"

+"acct"

+"feat"

+"noop"

+"help"

+"stat"

+"stru"

+"adat"

+"site"

+

+#Input2

+"mkd"

+"cwd"

+"pwd"

+"cdup"

+

+#Input3

+"port"

+"list"

+"mlst"

+"nlst"

+"mlsd"

+

+#Input4

+"rmd"

+

+#Input5

+"stor"

+

+#Input6

+"retr"

+

+#Input7

+"dele"

+

+#Input8

+"pasv"

+

+#Input9

+"epsv"

+

+#Input10

+"type"

+"size"

+

+#Input11

+"mode"

+

+#Input12

+"rnfr"

+"rnto"

+

+#Input13

+"appe"

+

+#Input14

+"allo"

+"quit"

+

+#Input15

+"connect"

+

+#Input16

+"esta"

+"estp"

+

+#Input17

+"mdtm"

+"opts"

+"eprt"

+

+#Input18

+"mfmt"

+"pret"

+"stou"

+"rest"

+

+

+#-------------------------------------

+"\x00"

+"\x0d\x0a"

+"\x0d"

+"\x0a"

+"-"

+"-a "

+"-C "

+"-d "

+"-F "

+"-l "

+"-r "

+"-R "

+"-S "

+"-t"

+" "

+"fuzzing"

+"test"

+"teste"

+".txt"

+"test.txt"

+" UTC"

+"C"

+"E"

+"P"

+"S"

+"abor"

+

+#ifdef WITH_TLS

+"pbsz"

+"auth"

+"prot"

+"ccc"

+

+#ifdef DEBUG

+"xdbg"

+

+# ifdef WITH_DIRALIASES

+"alias"

diff --git a/dictionaries/http.dict b/dictionaries/http.dict
index 60ed1fbf..092697d9 100644
--- a/dictionaries/http.dict
+++ b/dictionaries/http.dict
@@ -71,7 +71,7 @@
 "Location"
 "Max-Forwards"
 "Origin"
-"P3P	"
+"P3P"
 "Pragma"
 "Proxy-Authenticate"
 "Proxy-Authorization"
diff --git a/dictionaries/otf.dict b/dictionaries/otf.dict
index cb9cf650..b5b603e5 100644
--- a/dictionaries/otf.dict
+++ b/dictionaries/otf.dict
@@ -373,7 +373,7 @@
 "ALT "
 "AMH "
 "ANG "
-"APPH"	
+"APPH"
 "ARA "
 "ARG "
 "ARI "
@@ -394,9 +394,9 @@
 "BAR "
 "BAU "
 "BBC "
-"BBR "	
+"BBR "
 "BCH "
-"BCR "	
+"BCR "
 "BDY "
 "BEL "
 "BEM "
@@ -416,7 +416,7 @@
 "BLN "
 "BLT "
 "BMB "
-"BML "	
+"BML "
 "BOS "
 "BPY "
 "BRE "
@@ -521,7 +521,7 @@
 "GAE "
 "GAG "
 "GAL "
-"GAR "	
+"GAR "
 "GAW "
 "GEZ "
 "GIH "
@@ -725,7 +725,7 @@
 "MOK "
 "MOL "
 "MON "
-"MOR "	
+"MOR "
 "MOS "
 "MRI "
 "MTH "
@@ -751,7 +751,7 @@
 "NEP "
 "NEW "
 "NGA "
-"NGR "	
+"NGR "
 "NHC "
 "NIS "
 "NIU "
@@ -930,7 +930,7 @@
 "VIT "
 "VOL "
 "VRO "
-"WA	 "
+"WA "
 "WAG "
 "WAR "
 "WCR "
@@ -949,7 +949,7 @@
 "YAP "
 "YBA "
 "YCR "
-"YIC "	
+"YIC "
 "YIM "
 "ZEA "
 "ZGH "
diff --git a/docs/Changelog.md b/docs/Changelog.md
index eaaeb529..1ecea274 100644
--- a/docs/Changelog.md
+++ b/docs/Changelog.md
@@ -11,21 +11,32 @@ sending a mail to <afl-users+subscribe@googlegroups.com>.
 
 ### Version ++2.65d (dev)
   - afl-fuzz:
-     - -S secondary nodes now only sync from the main node to increase performance,
-       the -M main node still syncs from everyone. Added checks that ensure
-       exactly one main node is present and warn otherwise
-     - If no main node is present at a sync one secondary node automatically becomes
-       a temporary main node until a real main nodes shows up
+     - -S secondary nodes now only sync from the main node to increase
+       performance, the -M main node still syncs from everyone. Added checks
+       that ensure exactly one main node is present and warn otherwise
+     - Add -D after -S to force a secondary to perform deterministic fuzzing
+     - If no main node is present at a sync one secondary node automatically
+       becomes a temporary main node until a real main nodes shows up
+     - Fixed a mayor performance issue we inherited from AFLfast
+     - switched murmur2 hashing and random() for xxh3 and xoshiro256**,
+       resulting in an up to 5.5% speed increase
+     - Resizing the window does not crash afl-fuzz anymore
+     - Ensure that the targets are killed on exit
      - fix/update to MOpt (thanks to arnow117)
+     - added MOpt dictionary support from repo
+     - added experimental SEEK power schedule. It is EXPLORE with ignoring
+       the runtime and less focus on the length of the test case
   - llvm_mode:
-    - the default instrumentation is now PCGUARD, as it is faster and provides
-      better coverage. The original afl instrumentation can be set via
-      AFL_LLVM_INSTRUMENT=AFL. This is automatically done when the WHITELIST
-      feature is used.
-    - some targets want a ld variant for LD that is not gcc/clang but ld, added
-      afl-ld-lto to solve this
-    - lowered minimum required llvm version to 3.4 (except LLVMInsTrim,
-      which needs 3.8.0)
+    - the default instrumentation is now PCGUARD if the llvm version is >= 7,
+      as it is faster and provides better coverage. The original afl
+      instrumentation can be set via AFL_LLVM_INSTRUMENT=AFL. This is
+      automatically done when the WHITELIST feature is used. 
+    - PCGUARD mode is now even better because we made it collision free - plus
+      it has a fixed map size, so it is also faster! :)
+    - some targets want a ld variant for LD that is not gcc/clang but ld,
+      added afl-ld-lto to solve this
+    - lowered minimum required llvm version to 3.4 (except LLVMInsTrim, which
+      needs 3.8.0)
     - WHITELIST feature now supports wildcards (thanks to sirmc)
     - small change to cmplog to make it work with current llvm 11-dev
     - added AFL_LLVM_LAF_ALL, sets all laf-intel settings
@@ -37,16 +48,23 @@ sending a mail to <afl-users+subscribe@googlegroups.com>.
     - enable snapshot lkm also for persistent mode
   - Unicornafl
     - Added powerPC support from unicorn/next
+    - rust bindings!
+  - CMPLOG/Redqueen now also works for MMAP sharedmem
+  - ensure shmem is released on errors
+  - we moved radamsa to be a custom mutator in ./custom_mutators/. It is not
+    compiled by default anymore.
+  - allow running in /tmp (only unsafe with umask 0)
   - persistent mode shared memory testcase handover (instead of via
     files/stdin) - 10-100% performance increase
   - General support for 64 bit PowerPC, RiscV, Sparc etc.
+  - fix afl-cmin.bash
   - slightly better performance compilation options for afl++ and targets
   - fixed afl-gcc/afl-as that could break on fast systems reusing pids in
     the same second
   - added lots of dictionaries from oss-fuzz, go-fuzz and Jakub Wilk
   - added former post_library examples to examples/custom_mutators/
-  - Dockerfile upgraded to Ubuntu 20.04 Focal and installing llvm 11 and gcc 10
-    so afl-clang-lto can be build
+  - Dockerfile upgraded to Ubuntu 20.04 Focal and installing llvm 11 and
+    gcc 10 so afl-clang-lto can be build
 
 
 ### Version ++2.65c (release):
diff --git a/docs/README.radamsa.md b/docs/README.radamsa.md
deleted file mode 100644
index b01a4c83..00000000
--- a/docs/README.radamsa.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# libradamsa
-
-Pretranslated radamsa library. This code belongs to the radamsa author.
-
-> Original repository: https://gitlab.com/akihe/radamsa
-
-> Source commit: 7b2cc2d0
-
-> The code here is adapted for AFL++ with minor changes respect the original version
diff --git a/docs/ideas.md b/docs/ideas.md
index 686c262d..65e2e8e6 100644
--- a/docs/ideas.md
+++ b/docs/ideas.md
@@ -6,7 +6,7 @@ for future AFL++ versions.
 For GSOC2020 interested students please see
 [https://github.com/AFLplusplus/AFLplusplus/issues/208](https://github.com/AFLplusplus/AFLplusplus/issues/208)
 
-## Flexible Grammar Mutator
+## Flexible Grammar Mutator (currently in development)
 
 Currently, AFL++'s mutation does not have deeper knowledge about the fuzzed
 binary, apart from feedback, even though the developer may have insights
@@ -25,41 +25,21 @@ various results.
 
 Mentor: andreafioraldi 
 
-## Expand on the MOpt mutator
-
-Work on the MOpt mutator that is already in AFL++.
-
-This is an excellent mutations scheduler based on Particle Swarm
-Optimization but the current implementation schedule only the mutations
-that were present on AFL.
-
-AFL++ added a lot of optional mutators like the Input-2-State one based
-on Redqueen, the Radamsa mutator, the Custom mutator (the user can define
-its own mutator) and the work is to generalize MOpt for all the current
-and future mutators.
-
-Mentor: vanhauser-thc or andreafioraldi
-
 ## perf-fuzz Linux Kernel Module
 
-Either Port the patch to the upcoming Ubuntu LTS 20.04 default kernel
-and provide a qemu-kvm image or find a different userspace snapshot
-solution that has a good performance and is reliable, e.g. with docker.
-[perf-fuzz](https://gts3.org/assets/papers/2017/xu:os-fuzz.pdf)
-The perf-fuzz kernel can be found at [https://github.com/sslab-gatech/perf-fuzz](https://github.com/sslab-gatech/perf-fuzz)
-There also is/was a FreeBSD project at [https://github.com/veracode-research/freebsd-perf-fuzz](https://github.com/veracode-research/freebsd-perf-fuzz)
-
-This enables snapshot fuzzing on Linux with an incredible performance!
+Expand on [snapshot LKM](https://github.com/AFLplusplus/AFL-Snapshot-LKM)
+To make it thread safe, can snapshot several processes at once and increase
+overall performance.
 
 Mentor: any
-Idea/Issue tracker: [https://github.com/AFLplusplus/AFLplusplus/issues/248](https://github.com/AFLplusplus/AFLplusplus/issues/248)
 
-## QEMU 4-based Instrumentation
+## QEMU 5-based Instrumentation
 
 First tests to use QEMU 4 for binary-only AFL++ showed that caching behavior
 changed, which vastly decreases fuzzing speeds.
 
-This is the cause why, right now, we cannot switch to QEMU 4.2.
+In this task test if QEMU 5 performs better and port the afl++ QEMU 3.1
+patches to QEMU 5.
 
 Understanding the current instrumentation and fixing the current caching
 issues will be needed.
@@ -86,7 +66,7 @@ Either improve a single mutator thorugh learning of many different bugs
 
 Mentor: domenukk
 
-## Reengineer `afl-fuzz` as Thread Safe, Embeddable Library
+## Reengineer `afl-fuzz` as Thread Safe, Embeddable Library (currently in development)
 
 Right now, afl-fuzz is single threaded, cannot safely be embedded in tools,
 and not multi-threaded. It makes use of a large number of globals, must always
diff --git a/docs/power_schedules.md b/docs/power_schedules.md
index 067a1d91..06fefa12 100644
--- a/docs/power_schedules.md
+++ b/docs/power_schedules.md
@@ -21,6 +21,7 @@ We find that AFL's exploitation-based constant schedule assigns **too much energ
 | `-p exploit` (AFL) | ![LIN](http://latex.codecogs.com/gif.latex?p%28i%29%20%3D%20%5Calpha%28i%29) |
 | `-p mmopt` | Experimental: `explore` with no weighting to runtime and increased weighting on the last 5 queue entries |
 | `-p rare` | Experimental: `rare` puts focus on queue entries that hit rare edges |
+| `-p seek` | Experimental: `seek` is EXPLORE but ignoring the runtime of the queue input and less focus on the size |
 where *α(i)* is the performance score that AFL uses to compute for the seed input *i*, *β(i)>1* is a constant, *s(i)* is the number of times that seed *i* has been chosen from the queue, *f(i)* is the number of generated inputs that exercise the same path as seed *i*, and *μ* is the average number of generated inputs exercising a path.
   
 More details can be found in the paper that was accepted at the [23rd ACM Conference on Computer and Communications Security (CCS'16)](https://www.sigsac.org/ccs/CCS2016/accepted-papers/).
diff --git a/examples/aflpp_driver/GNUmakefile b/examples/aflpp_driver/GNUmakefile
index 7ddfc485..a993c8a9 100644
--- a/examples/aflpp_driver/GNUmakefile
+++ b/examples/aflpp_driver/GNUmakefile
@@ -7,20 +7,22 @@ ifneq "" "$(LLVM_BINDIR)"
   LLVM_BINDIR := $(LLVM_BINDIR)/
 endif
 
-FLAGS=-O3 -funroll-loops
+FLAGS=-O3 -funroll-loops -g
 
 all:	libAFLDriver.a libAFLQemuDriver.a aflpp_qemu_driver_hook.so
 
 aflpp_driver.o:	aflpp_driver.cpp
-	$(LLVM_BINDIR)clang++ $(FLAGS) -stdlib=libc++ -funroll-loops -std=c++11 -c aflpp_driver.cpp
+	$(LLVM_BINDIR)clang++ $(FLAGS) -stdlib=libc++ -std=c++11 -c aflpp_driver.cpp
 
 libAFLDriver.a:	aflpp_driver.o
 	ar ru libAFLDriver.a aflpp_driver.o
 
 debug:
-	$(LLVM_BINDIR)clang++ -D_DEBUG=\"1\" $(FLAGS) -stdlib=libc++ -funroll-loops -std=c++11 -c aflpp_driver.cpp
-	ar ru libAFLDriver.a aflpp_driver.o
-	
+	$(LLVM_BINDIR)clang++ -Wno-deprecated -I../../include $(FLAGS) -D_DEBUG=\"1\" -c -o afl-performance.o ../../src/afl-performance.c
+	$(LLVM_BINDIR)clang++ -I../../include -D_DEBUG=\"1\" -g -stdlib=libc++ -funroll-loops -std=c++11 -c aflpp_driver.cpp
+	#$(LLVM_BINDIR)clang++ -S -emit-llvm -Wno-deprecated -I../../include $(FLAGS) -D_DEBUG=\"1\" -c -o afl-performance.ll ../../src/afl-performance.c
+	#$(LLVM_BINDIR)clang++ -S -emit-llvm -I../../include -D_DEBUG=\"1\" -g -stdlib=libc++ -funroll-loops -std=c++11 -c aflpp_driver.cpp
+	ar ru libAFLDriver.a afl-performance.o aflpp_driver.o
 
 aflpp_qemu_driver.o:	aflpp_qemu_driver.c
 	$(LLVM_BINDIR)clang $(FLAGS) -O0 -funroll-loops -c aflpp_qemu_driver.c
@@ -34,8 +36,9 @@ aflpp_qemu_driver_hook.so:	aflpp_qemu_driver_hook.o
 aflpp_qemu_driver_hook.o:	aflpp_qemu_driver_hook.c
 	$(LLVM_BINDIR)clang -fPIC $(FLAGS) -funroll-loops -c aflpp_qemu_driver_hook.c
 
-test:	libAFLDriver.a aflpp_driver_test.cpp
-	afl-clang-fast++ -Wl,--allow-multiple-definition -stdlib=libc++ -funroll-loops -std=c++11 -o aflpp_driver_test aflpp_driver_test.cpp libAFLDriver.a
+test:	debug
+	#clang++ -S -emit-llvm -D_DEBUG=\"1\" -I../../include -Wl,--allow-multiple-definition -stdlib=libc++ -funroll-loops -std=c++11 -o aflpp_driver_test.ll aflpp_driver_test.cpp
+	afl-clang-fast++ -D_DEBUG=\"1\" -I../../include -Wl,--allow-multiple-definition -stdlib=libc++ -funroll-loops -std=c++11 -o aflpp_driver_test aflpp_driver_test.cpp libAFLDriver.a
 
 clean:
 	rm -f *.o libAFLDriver*.a libAFLQemuDriver.a aflpp_qemu_driver_hook.so *~ core aflpp_driver_test
diff --git a/examples/aflpp_driver/aflpp_driver.cpp b/examples/aflpp_driver/aflpp_driver.cpp
index a60eb264..d6163bdf 100644
--- a/examples/aflpp_driver/aflpp_driver.cpp
+++ b/examples/aflpp_driver/aflpp_driver.cpp
@@ -54,6 +54,10 @@ If 1, close stdout at startup. If 2 close stderr; if 3 close both.
 #include <iostream>
 #include <vector>
 
+#ifdef _DEBUG
+#include "hash.h"
+#endif
+
 // Platform detection. Copied from FuzzerInternal.h
 #ifdef __linux__
 #define LIBFUZZER_LINUX 1
@@ -273,7 +277,11 @@ int main(int argc, char **argv) {
   int num_runs = 0;
   while (__afl_persistent_loop(N)) {
 #ifdef _DEBUG
-    fprintf(stderr, "len: %u\n", *__afl_fuzz_len);
+    fprintf(stderr, "CLIENT crc: %016llx len: %u\n", hash64(__afl_fuzz_ptr, *__afl_fuzz_len, 0xa5b35705), *__afl_fuzz_len);
+    fprintf(stderr, "RECV:");
+    for (int i = 0; i < *__afl_fuzz_len; i++)
+      fprintf(stderr, "%02x", __afl_fuzz_ptr[i]);
+    fprintf(stderr,"\n");
 #endif
     if (*__afl_fuzz_len) {
       num_runs++;
diff --git a/examples/aflpp_driver/aflpp_driver_test.cpp b/examples/aflpp_driver/aflpp_driver_test.cpp
index 81aa9db4..13dc09b9 100644
--- a/examples/aflpp_driver/aflpp_driver_test.cpp
+++ b/examples/aflpp_driver/aflpp_driver_test.cpp
@@ -1,19 +1,21 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
+#include "hash.h"
 
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) {
 
-  fprintf(stderr, "Received size %lu\n", Size);
+  fprintf(stderr, "FUNC crc: %016llx len: %lu\n", hash64((u8*)Data, (unsigned int) Size, (unsigned long long int) 0xa5b35705), Size);
   
-  if (Size < 4)
+  if (Size < 5)
     return 0;
 
   if (Data[0] == 'F')
     if (Data[1] == 'A')
       if (Data[2] == '$')
         if (Data[3] == '$')
-          abort();
+          if (Data[4] == '$')
+            abort();
           
   return 0;
 
diff --git a/examples/persistent_demo/persistent_demo_new.c b/examples/persistent_demo/persistent_demo_new.c
index 98909442..e4e328b0 100644
--- a/examples/persistent_demo/persistent_demo_new.c
+++ b/examples/persistent_demo/persistent_demo_new.c
@@ -49,9 +49,13 @@ int main(int argc, char **argv) {
 
     len = __AFL_FUZZ_TESTCASE_LEN;
 
+    fprintf(stderr, "input: %zd \"%s\"\n", len, buf);
+
     /* do we have enough data? */
     if (len < 8) continue;
 
+    if (strcmp((char *)buf, "thisisateststring") == 0) printf("teststring\n");
+
     if (buf[0] == 'f') {
 
       printf("one\n");
diff --git a/gcc_plugin/GNUmakefile b/gcc_plugin/GNUmakefile
index 9a404966..60f04bb7 100644
--- a/gcc_plugin/GNUmakefile
+++ b/gcc_plugin/GNUmakefile
@@ -28,11 +28,12 @@ MAN_PATH    ?= $(PREFIX)/man/man8
 
 VERSION     = $(shell grep '^$(HASH)define VERSION ' ../config.h | cut -d '"' -f2)
 
-CFLAGS      ?= -O3 -g -funroll-loops -D_FORTIFY_SOURCE=2
-CFLAGS = -Wall -I../include -Wno-pointer-sign \
-               -DAFL_PATH=\"$(HELPER_PATH)\" -DBIN_PATH=\"$(BIN_PATH)\" \
-               -DGCC_VERSION=\"$(GCCVER)\" -DGCC_BINDIR=\"$(GCCBINDIR)\" \
-               -Wno-unused-function
+CFLAGS          ?= -O3 -g -funroll-loops -D_FORTIFY_SOURCE=2
+CFLAGS_SAFE     := -Wall -I../include -Wno-pointer-sign \
+                   -DAFL_PATH=\"$(HELPER_PATH)\" -DBIN_PATH=\"$(BIN_PATH)\" \
+                   -DGCC_VERSION=\"$(GCCVER)\" -DGCC_BINDIR=\"$(GCCBINDIR)\" \
+                   -Wno-unused-function
+override CFLAGS += $(CFLAGS_SAFE)
 
 CXXFLAGS    ?= -O3 -g -funroll-loops -D_FORTIFY_SOURCE=2
 CXXEFLAGS   := $(CXXFLAGS) -Wall
@@ -60,13 +61,15 @@ ifeq "$(shell echo '$(HASH)include <sys/ipc.h>@$(HASH)include <sys/shm.h>@int ma
 	SHMAT_OK=1
 else
 	SHMAT_OK=0
-	CFLAGS+=-DUSEMMAP=1
-	LDFLAGS += -lrt
+	override CFLAGS += -DUSEMMAP=1
 endif
 
 ifeq "$(TEST_MMAP)" "1"
 	SHMAT_OK=0
-	CFLAGS+=-DUSEMMAP=1
+	override CFLAGS += -DUSEMMAP=1
+endif
+
+ifneq "$(shell uname -s)" "Haiku"
 	LDFLAGS += -lrt
 endif
 
@@ -111,7 +114,7 @@ afl-common.o: ../src/afl-common.c
 	$(CXX) $(CXXEFLAGS) $(PLUGIN_FLAGS) -shared $< -o $@
 
 ../afl-gcc-rt.o: afl-gcc-rt.o.c | test_deps
-	$(CC) $(CFLAGS) -fPIC -c $< -o $@
+	$(CC) $(CFLAGS_SAFE) -fPIC -c $< -o $@
 
 test_build: $(PROGS)
 	@echo "[*] Testing the CC wrapper and instrumentation output..."
diff --git a/gcc_plugin/afl-gcc-fast.c b/gcc_plugin/afl-gcc-fast.c
index 164c72c2..bd780b40 100644
--- a/gcc_plugin/afl-gcc-fast.c
+++ b/gcc_plugin/afl-gcc-fast.c
@@ -231,7 +231,7 @@ static void edit_params(u32 argc, char **argv) {
 
   }
 
-#ifdef USEMMAP
+#if defined(USEMMAP) && !defined(__HAIKU__)
   cc_params[cc_par_cnt++] = "-lrt";
 #endif
 
diff --git a/gcc_plugin/afl-gcc-rt.o.c b/gcc_plugin/afl-gcc-rt.o.c
index f41bea17..49a03cae 100644
--- a/gcc_plugin/afl-gcc-rt.o.c
+++ b/gcc_plugin/afl-gcc-rt.o.c
@@ -35,7 +35,9 @@
 #include <assert.h>
 
 #include <sys/mman.h>
-#include <sys/shm.h>
+#ifndef USEMMAP
+  #include <sys/shm.h>
+#endif
 #include <sys/wait.h>
 #include <sys/types.h>
 
diff --git a/include/afl-fuzz.h b/include/afl-fuzz.h
index 3b5cc0e2..c9f84c61 100644
--- a/include/afl-fuzz.h
+++ b/include/afl-fuzz.h
@@ -49,6 +49,7 @@
 #include "sharedmem.h"
 #include "forkserver.h"
 #include "common.h"
+#include "hash.h"
 
 #include <stdio.h>
 #include <unistd.h>
@@ -66,7 +67,9 @@
 
 #include <sys/wait.h>
 #include <sys/time.h>
-#include <sys/shm.h>
+#ifndef USEMMAP
+  #include <sys/shm.h>
+#endif
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <sys/resource.h>
@@ -83,7 +86,7 @@
    can hope... */
 
 #if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
-    defined(__DragonFly__)
+    defined(__DragonFly__) || defined(__sun)
   #define HAVE_AFFINITY 1
   #if defined(__FreeBSD__) || defined(__DragonFly__)
     #include <sys/param.h>
@@ -96,6 +99,11 @@
     #define cpu_set_t cpuset_t
   #elif defined(__NetBSD__)
     #include <pthread.h>
+  #elif defined(__sun)
+    #include <sys/types.h>
+    #include <kstat.h>
+    #include <sys/sysinfo.h>
+    #include <sys/pset.h>
   #endif
 #endif                                                         /* __linux__ */
 
@@ -134,13 +142,13 @@ struct queue_entry {
       fully_colorized;                  /* Do not run redqueen stage again  */
 
   u32 bitmap_size,                      /* Number of bits set in bitmap     */
-      fuzz_level,                       /* Number of fuzzing iterations     */
-      exec_cksum;                       /* Checksum of the execution trace  */
+      fuzz_level;                       /* Number of fuzzing iterations     */
 
   u64 exec_us,                          /* Execution time (us)              */
       handicap,                         /* Number of queue cycles behind    */
-      n_fuzz,                          /* Number of fuzz, does not overflow */
-      depth;                            /* Path depth                       */
+      n_fuzz,                           /* Number of fuzz, does not overflow*/
+      depth,                            /* Path depth                       */
+      exec_cksum;                       /* Checksum of the execution trace  */
 
   u8 *trace_mini;                       /* Trace bytes, if kept             */
   u32 tc_ref;                           /* Trace bytes ref count            */
@@ -180,10 +188,11 @@ enum {
   /* 15 */ STAGE_HAVOC,
   /* 16 */ STAGE_SPLICE,
   /* 17 */ STAGE_PYTHON,
-  /* 18 */ STAGE_RADAMSA,
-  /* 19 */ STAGE_CUSTOM_MUTATOR,
-  /* 20 */ STAGE_COLORIZATION,
-  /* 21 */ STAGE_ITS,
+  /* 18 */ STAGE_CUSTOM_MUTATOR,
+  /* 19 */ STAGE_COLORIZATION,
+  /* 20 */ STAGE_ITS,
+
+  STAGE_NUM_MAX
 
 };
 
@@ -197,7 +206,7 @@ enum {
 
 };
 
-#define operator_num 16
+#define operator_num 18
 #define swarm_num 5
 #define period_core 500000
 
@@ -211,18 +220,21 @@ enum {
 #define STAGE_DELETEBYTE 13
 #define STAGE_Clone75 14
 #define STAGE_OverWrite75 15
+#define STAGE_OverWriteExtra 16
+#define STAGE_InsertExtra 17
 #define period_pilot 50000
 
 enum {
 
   /* 00 */ EXPLORE, /* AFL default, Exploration-based constant schedule */
-  /* 01 */ FAST,    /* Exponential schedule             */
-  /* 02 */ COE,     /* Cut-Off Exponential schedule     */
-  /* 03 */ LIN,     /* Linear schedule                  */
-  /* 04 */ QUAD,    /* Quadratic schedule               */
-  /* 05 */ EXPLOIT, /* AFL's exploitation-based const.  */
-  /* 06 */ MMOPT,   /* Modified MOPT schedule           */
-  /* 07 */ RARE,    /* Rare edges                       */
+  /* 01 */ EXPLOIT, /* AFL's exploitation-based const.  */
+  /* 02 */ FAST,    /* Exponential schedule             */
+  /* 03 */ COE,     /* Cut-Off Exponential schedule     */
+  /* 04 */ LIN,     /* Linear schedule                  */
+  /* 05 */ QUAD,    /* Quadratic schedule               */
+  /* 06 */ RARE,    /* Rare edges                       */
+  /* 07 */ MMOPT,   /* Modified MOPT schedule           */
+  /* 08 */ SEEK,    /* EXPLORE that ignores timings     */
 
   POWER_SCHEDULES_NUM
 
@@ -416,9 +428,6 @@ typedef struct afl_state {
   u8 schedule;                          /* Power schedule (default: EXPLORE)*/
   u8 havoc_max_mult;
 
-  u8 use_radamsa;
-  size_t (*radamsa_mutate_ptr)(u8 *, size_t, u8 *, size_t, u32);
-
   u8 skip_deterministic,                /* Skip deterministic stages?       */
       use_splicing,                     /* Recombine input files?           */
       non_instrumented_mode,            /* Run in non-instrumented mode?    */
@@ -515,11 +524,9 @@ typedef struct afl_state {
   u64 stage_finds[32],                  /* Patterns found per fuzz stage    */
       stage_cycles[32];                 /* Execs per fuzz stage             */
 
-#ifndef HAVE_ARC4RANDOM
   u32 rand_cnt;                         /* Random number counter            */
-#endif
 
-  u32 rand_seed[2];
+  u64 rand_seed[4];
   s64 init_seed;
 
   u64 total_cal_us,                     /* Total calibration time (us)      */
@@ -937,7 +944,10 @@ u8 common_fuzz_cmplog_stuff(afl_state_t *afl, u8 *out_buf, u32 len);
 
 /* RedQueen */
 u8 input_to_state_stage(afl_state_t *afl, u8 *orig_buf, u8 *buf, u32 len,
-                        u32 exec_cksum);
+                        u64 exec_cksum);
+
+/* xoshiro256** */
+uint64_t rand_next(afl_state_t *afl);
 
 /**** Inline routines ****/
 
@@ -946,34 +956,31 @@ u8 input_to_state_stage(afl_state_t *afl, u8 *orig_buf, u8 *buf, u32 len,
 
 static inline u32 rand_below(afl_state_t *afl, u32 limit) {
 
-#ifdef HAVE_ARC4RANDOM
-  if (unlikely(afl->fixed_seed)) { return random() % limit; }
-
   /* The boundary not being necessarily a power of 2,
      we need to ensure the result uniformity. */
-  return arc4random_uniform(limit);
-#else
   if (unlikely(!afl->rand_cnt--) && likely(!afl->fixed_seed)) {
 
     ck_read(afl->fsrv.dev_urandom_fd, &afl->rand_seed, sizeof(afl->rand_seed),
             "/dev/urandom");
-    srandom(afl->rand_seed[0]);
+    // srandom(afl->rand_seed[0]);
     afl->rand_cnt = (RESEED_RNG / 2) + (afl->rand_seed[1] % RESEED_RNG);
 
   }
 
-  return random() % limit;
-#endif
+  return rand_next(afl) % limit;
 
 }
 
-static inline u32 get_rand_seed(afl_state_t *afl) {
+static inline s64 rand_get_seed(afl_state_t *afl) {
 
-  if (unlikely(afl->fixed_seed)) { return (u32)afl->init_seed; }
+  if (unlikely(afl->fixed_seed)) { return afl->init_seed; }
   return afl->rand_seed[0];
 
 }
 
+/* initialize randomness with a given seed. Can be called again at any time. */
+void rand_set_seed(afl_state_t *afl, s64 init_seed);
+
 /* Find first power of two greater or equal to val (assuming val under
    2^63). */
 
diff --git a/include/afl-prealloc.h b/include/afl-prealloc.h
index 5e5d7b85..edf69a67 100644
--- a/include/afl-prealloc.h
+++ b/include/afl-prealloc.h
@@ -60,7 +60,7 @@ typedef enum prealloc_status {
                                                                                \
     if ((prealloc_counter) >= (prealloc_size)) {                               \
                                                                                \
-      el_ptr = malloc(sizeof(*el_ptr));                                        \
+      el_ptr = (void *)malloc(sizeof(*el_ptr));                                \
       if (!el_ptr) { FATAL("error in list.h -> out of memory for element!"); } \
       el_ptr->pre_status = PRE_STATUS_MALLOC;                                  \
                                                                                \
diff --git a/include/alloc-inl.h b/include/alloc-inl.h
index ca593549..832b2de4 100644
--- a/include/alloc-inl.h
+++ b/include/alloc-inl.h
@@ -170,10 +170,10 @@ static inline u8 *DFL_ck_strdup(u8 *str) {
   size = strlen((char *)str) + 1;
 
   ALLOC_CHECK_SIZE(size);
-  ret = malloc(size);
+  ret = (u8 *)malloc(size);
   ALLOC_CHECK_RESULT(ret, size);
 
-  return memcpy(ret, str, size);
+  return (u8 *)memcpy(ret, str, size);
 
 }
 
@@ -204,7 +204,7 @@ static inline u8 *DFL_ck_memdup_str(u8 *mem, u32 size) {
   if (!mem || !size) { return NULL; }
 
   ALLOC_CHECK_SIZE(size);
-  ret = malloc(size + 1);
+  ret = (u8 *)malloc(size + 1);
   ALLOC_CHECK_RESULT(ret, size);
 
   memcpy(ret, mem, size);
diff --git a/include/config.h b/include/config.h
index 57efd0f6..087e0a76 100644
--- a/include/config.h
+++ b/include/config.h
@@ -293,7 +293,7 @@
 
 /* Call count interval between reseeding the libc PRNG from /dev/urandom: */
 
-#define RESEED_RNG 10000
+#define RESEED_RNG 100000
 
 /* Maximum line length passed from GCC to 'as' and used for parsing
    configuration files: */
@@ -397,12 +397,5 @@
 
 // #define IGNORE_FINDS
 
-/* for *BSD: use ARC4RANDOM and save a file descriptor */
-#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__)
-  #ifndef HAVE_ARC4RANDOM
-    #define HAVE_ARC4RANDOM 1
-  #endif
-#endif                           /* __APPLE__ || __FreeBSD__ || __OpenBSD__ */
-
 #endif                                                  /* ! _HAVE_CONFIG_H */
 
diff --git a/include/debug.h b/include/debug.h
index 9dd21ace..d1bd971b 100644
--- a/include/debug.h
+++ b/include/debug.h
@@ -262,7 +262,7 @@
                                                                            \
   } while (0)
 
-/* Die with FAULT() or PFAULT() depending on the value of res (used to
+/* Die with FATAL() or PFATAL() depending on the value of res (used to
    interpret different failure modes for read(), write(), etc). */
 
 #define RPFATAL(res, x...) \
diff --git a/include/forkserver.h b/include/forkserver.h
index 87a59eaa..717493db 100644
--- a/include/forkserver.h
+++ b/include/forkserver.h
@@ -47,9 +47,8 @@ typedef struct afl_forkserver {
       out_dir_fd;                       /* FD of the lock file              */
 
   s32 out_fd,                           /* Persistent fd for fsrv->out_file */
-#ifndef HAVE_ARC4RANDOM
       dev_urandom_fd,                   /* Persistent fd for /dev/urandom   */
-#endif
+
       dev_null_fd,                      /* Persistent fd for /dev/null      */
       fsrv_ctl_fd,                      /* Fork server control pipe (write) */
       fsrv_st_fd;                       /* Fork server status pipe (read)   */
diff --git a/include/hash.h b/include/hash.h
index cec51eac..9319ab95 100644
--- a/include/hash.h
+++ b/include/hash.h
@@ -30,11 +30,18 @@
 
 #include "types.h"
 
-#ifdef __x86_64__
+u32 hash32(u8 *key, u32 len, u32 seed);
+u64 hash64(u8 *key, u32 len, u64 seed);
 
-  #define ROL64(_x, _r) ((((u64)(_x)) << (_r)) | (((u64)(_x)) >> (64 - (_r))))
+#if 0
 
-static inline u32 hash32(const void *key, u32 len, u32 seed) {
+The following code is disabled because xxh3 is 30% faster
+
+  #ifdef __x86_64__
+
+    #define ROL64(_x, _r) ((((u64)(_x)) << (_r)) | (((u64)(_x)) >> (64 - (_r))))
+
+static inline u32 hash32(u8 *key, u32 len, u32 seed) {
 
   const u64 *data = (u64 *)key;
   u64        h1 = seed ^ len;
@@ -65,9 +72,9 @@ static inline u32 hash32(const void *key, u32 len, u32 seed) {
 
 }
 
-#else
+  #else
 
-  #define ROL32(_x, _r) ((((u32)(_x)) << (_r)) | (((u32)(_x)) >> (32 - (_r))))
+    #define ROL32(_x, _r) ((((u32)(_x)) << (_r)) | (((u32)(_x)) >> (32 - (_r))))
 
 static inline u32 hash32(const void *key, u32 len, u32 seed) {
 
@@ -100,7 +107,8 @@ static inline u32 hash32(const void *key, u32 len, u32 seed) {
 
 }
 
-#endif                                                       /* ^__x86_64__ */
+  #endif                                                     /* ^__x86_64__ */
+#endif
 
 #endif                                                     /* !_HAVE_HASH_H */
 
diff --git a/include/sharedmem.h b/include/sharedmem.h
index a77ab7c0..b15d0535 100644
--- a/include/sharedmem.h
+++ b/include/sharedmem.h
@@ -38,6 +38,8 @@ typedef struct sharedmem {
   /* ================ Proteas ================ */
   int  g_shm_fd;
   char g_shm_file_path[L_tmpnam];
+  int  cmplog_g_shm_fd;
+  char cmplog_g_shm_file_path[L_tmpnam];
 /* ========================================= */
 #else
   s32 shm_id;                          /* ID of the SHM region              */
diff --git a/include/xxh3.h b/include/xxh3.h
new file mode 100644
index 00000000..2354bde9
--- /dev/null
+++ b/include/xxh3.h
@@ -0,0 +1,3187 @@
+/*
+ * xxHash - Extremely Fast Hash algorithm
+ * Development source file for `xxh3`
+ * Copyright (C) 2019-2020 Yann Collet
+ *
+ * BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php)
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *    * Redistributions of source code must retain the above copyright
+ *      notice, this list of conditions and the following disclaimer.
+ *    * Redistributions in binary form must reproduce the above
+ *      copyright notice, this list of conditions and the following disclaimer
+ *      in the documentation and/or other materials provided with the
+ *      distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * You can contact the author at:
+ *   - xxHash homepage: https://www.xxhash.com
+ *   - xxHash source repository: https://github.com/Cyan4973/xxHash
+ */
+
+/*
+ * Note: This file is separated for development purposes.
+ * It will be integrated into `xxhash.h` when development stage is completed.
+ *
+ * Credit: most of the work on vectorial and asm variants comes from
+ * @easyaspi314
+ */
+
+#ifndef XXH3_H_1397135465
+#define XXH3_H_1397135465
+
+/* ===   Dependencies   === */
+#ifndef XXHASH_H_5627135585666179
+  /* special: when including `xxh3.h` directly, turn on XXH_INLINE_ALL */
+  #undef XXH_INLINE_ALL                               /* avoid redefinition */
+  #define XXH_INLINE_ALL
+#endif
+#include "xxhash.h"
+
+/* ===   Compiler specifics   === */
+
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L      /* >= C99 */
+  #define XXH_RESTRICT restrict
+#else
+  /* Note: it might be useful to define __restrict or __restrict__ for some C++
+   * compilers */
+  #define XXH_RESTRICT                                           /* disable */
+#endif
+
+#if (defined(__GNUC__) && (__GNUC__ >= 3)) ||                   \
+    (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 800)) || \
+    defined(__clang__)
+  #define XXH_likely(x) __builtin_expect(x, 1)
+  #define XXH_unlikely(x) __builtin_expect(x, 0)
+#else
+  #define XXH_likely(x) (x)
+  #define XXH_unlikely(x) (x)
+#endif
+
+#if defined(__GNUC__)
+  #if defined(__AVX2__)
+    #include <immintrin.h>
+  #elif defined(__SSE2__)
+    #include <emmintrin.h>
+  #elif defined(__ARM_NEON__) || defined(__ARM_NEON)
+    #define inline __inline__                                  /* clang bug */
+    #include <arm_neon.h>
+    #undef inline
+  #endif
+#elif defined(_MSC_VER)
+  #include <intrin.h>
+#endif
+
+/*
+ * One goal of XXH3 is to make it fast on both 32-bit and 64-bit, while
+ * remaining a true 64-bit/128-bit hash function.
+ *
+ * This is done by prioritizing a subset of 64-bit operations that can be
+ * emulated without too many steps on the average 32-bit machine.
+ *
+ * For example, these two lines seem similar, and run equally fast on 64-bit:
+ *
+ *   xxh_u64 x;
+ *   x ^= (x >> 47); // good
+ *   x ^= (x >> 13); // bad
+ *
+ * However, to a 32-bit machine, there is a major difference.
+ *
+ * x ^= (x >> 47) looks like this:
+ *
+ *   x.lo ^= (x.hi >> (47 - 32));
+ *
+ * while x ^= (x >> 13) looks like this:
+ *
+ *   // note: funnel shifts are not usually cheap.
+ *   x.lo ^= (x.lo >> 13) | (x.hi << (32 - 13));
+ *   x.hi ^= (x.hi >> 13);
+ *
+ * The first one is significantly faster than the second, simply because the
+ * shift is larger than 32. This means:
+ *  - All the bits we need are in the upper 32 bits, so we can ignore the lower
+ *    32 bits in the shift.
+ *  - The shift result will always fit in the lower 32 bits, and therefore,
+ *    we can ignore the upper 32 bits in the xor.
+ *
+ * Thanks to this optimization, XXH3 only requires these features to be
+ * efficient:
+ *
+ *  - Usable unaligned access
+ *  - A 32-bit or 64-bit ALU
+ *      - If 32-bit, a decent ADC instruction
+ *  - A 32 or 64-bit multiply with a 64-bit result
+ *  - For the 128-bit variant, a decent byteswap helps short inputs.
+ *
+ * The first two are already required by XXH32, and almost all 32-bit and 64-bit
+ * platforms which can run XXH32 can run XXH3 efficiently.
+ *
+ * Thumb-1, the classic 16-bit only subset of ARM's instruction set, is one
+ * notable exception.
+ *
+ * First of all, Thumb-1 lacks support for the UMULL instruction which
+ * performs the important long multiply. This means numerous __aeabi_lmul
+ * calls.
+ *
+ * Second of all, the 8 functional registers are just not enough.
+ * Setup for __aeabi_lmul, byteshift loads, pointers, and all arithmetic need
+ * Lo registers, and this shuffling results in thousands more MOVs than A32.
+ *
+ * A32 and T32 don't have this limitation. They can access all 14 registers,
+ * do a 32->64 multiply with UMULL, and the flexible operand allowing free
+ * shifts is helpful, too.
+ *
+ * Therefore, we do a quick sanity check.
+ *
+ * If compiling Thumb-1 for a target which supports ARM instructions, we will
+ * emit a warning, as it is not a "sane" platform to compile for.
+ *
+ * Usually, if this happens, it is because of an accident and you probably need
+ * to specify -march, as you likely meant to compile for a newer architecture.
+ */
+#if defined(__thumb__) && !defined(__thumb2__) && defined(__ARM_ARCH_ISA_ARM)
+  #warning "XXH3 is highly inefficient without ARM or Thumb-2."
+#endif
+
+/* ==========================================
+ * Vectorization detection
+ * ========================================== */
+#define XXH_SCALAR 0                             /* Portable scalar version */
+#define XXH_SSE2 1                     /* SSE2 for Pentium 4 and all x86_64 */
+#define XXH_AVX2 2                        /* AVX2 for Haswell and Bulldozer */
+#define XXH_AVX512 3                      /* AVX512 for Skylake and Icelake */
+#define XXH_NEON 4                 /* NEON for most ARMv7-A and all AArch64 */
+#define XXH_VSX 5                         /* VSX and ZVector for POWER8/z13 */
+
+#ifndef XXH_VECTOR                        /* can be defined on command line */
+  #if defined(__AVX512F__)
+    #define XXH_VECTOR XXH_AVX512
+  #elif defined(__AVX2__)
+    #define XXH_VECTOR XXH_AVX2
+  #elif defined(__SSE2__) || defined(_M_AMD64) || defined(_M_X64) || \
+      (defined(_M_IX86_FP) && (_M_IX86_FP == 2))
+    #define XXH_VECTOR XXH_SSE2
+  #elif defined(__GNUC__) /* msvc support maybe later */                   \
+      && (defined(__ARM_NEON__) || defined(__ARM_NEON)) &&                 \
+      (defined(__LITTLE_ENDIAN__) /* We only support little endian NEON */ \
+       ||                                                                  \
+       (defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__))
+    #define XXH_VECTOR XXH_NEON
+  #elif (defined(__PPC64__) && defined(__POWER8_VECTOR__)) || \
+      (defined(__s390x__) && defined(__VEC__)) &&             \
+          defined(__GNUC__)                                 /* TODO: IBM XL */
+    #define XXH_VECTOR XXH_VSX
+  #else
+    #define XXH_VECTOR XXH_SCALAR
+  #endif
+#endif
+
+/*
+ * Controls the alignment of the accumulator,
+ * for compatibility with aligned vector loads, which are usually faster.
+ */
+#ifndef XXH_ACC_ALIGN
+  #if defined(XXH_X86DISPATCH)
+    #define XXH_ACC_ALIGN 64               /* for compatibility with avx512 */
+  #elif XXH_VECTOR == XXH_SCALAR                                  /* scalar */
+    #define XXH_ACC_ALIGN 8
+  #elif XXH_VECTOR == XXH_SSE2                                      /* sse2 */
+    #define XXH_ACC_ALIGN 16
+  #elif XXH_VECTOR == XXH_AVX2                                      /* avx2 */
+    #define XXH_ACC_ALIGN 32
+  #elif XXH_VECTOR == XXH_NEON                                      /* neon */
+    #define XXH_ACC_ALIGN 16
+  #elif XXH_VECTOR == XXH_VSX                                        /* vsx */
+    #define XXH_ACC_ALIGN 16
+  #elif XXH_VECTOR == XXH_AVX512                                  /* avx512 */
+    #define XXH_ACC_ALIGN 64
+  #endif
+#endif
+
+#if defined(XXH_X86DISPATCH) || XXH_VECTOR == XXH_SSE2 || \
+    XXH_VECTOR == XXH_AVX2 || XXH_VECTOR == XXH_AVX512
+  #define XXH_SEC_ALIGN XXH_ACC_ALIGN
+#else
+  #define XXH_SEC_ALIGN 8
+#endif
+
+/*
+ * UGLY HACK:
+ * GCC usually generates the best code with -O3 for xxHash.
+ *
+ * However, when targeting AVX2, it is overzealous in its unrolling resulting
+ * in code roughly 3/4 the speed of Clang.
+ *
+ * There are other issues, such as GCC splitting _mm256_loadu_si256 into
+ * _mm_loadu_si128 + _mm256_inserti128_si256. This is an optimization which
+ * only applies to Sandy and Ivy Bridge... which don't even support AVX2.
+ *
+ * That is why when compiling the AVX2 version, it is recommended to use either
+ *   -O2 -mavx2 -march=haswell
+ * or
+ *   -O2 -mavx2 -mno-avx256-split-unaligned-load
+ * for decent performance, or to use Clang instead.
+ *
+ * Fortunately, we can control the first one with a pragma that forces GCC into
+ * -O2, but the other one we can't control without "failed to inline always
+ * inline function due to target mismatch" warnings.
+ */
+#if XXH_VECTOR == XXH_AVX2                      /* AVX2 */           \
+    && defined(__GNUC__) && !defined(__clang__) /* GCC, not Clang */ \
+    && defined(__OPTIMIZE__) &&                                      \
+    !defined(__OPTIMIZE_SIZE__)                      /* respect -O0 and -Os */
+  #pragma GCC push_options
+  #pragma GCC optimize("-O2")
+#endif
+
+#if XXH_VECTOR == XXH_NEON
+  /*
+   * NEON's setup for vmlal_u32 is a little more complicated than it is on
+   * SSE2, AVX2, and VSX.
+   *
+   * While PMULUDQ and VMULEUW both perform a mask, VMLAL.U32 performs an
+   * upcast.
+   *
+   * To do the same operation, the 128-bit 'Q' register needs to be split into
+   * two 64-bit 'D' registers, performing this operation::
+   *
+   *   [                a                 |                 b                ]
+   *            |              '---------. .--------'                |
+   *            |                         x                          |
+   *            |              .---------' '--------.                |
+   *   [ a & 0xFFFFFFFF | b & 0xFFFFFFFF ],[    a >> 32     |     b >> 32    ]
+   *
+   * Due to significant changes in aarch64, the fastest method for aarch64 is
+   * completely different than the fastest method for ARMv7-A.
+   *
+   * ARMv7-A treats D registers as unions overlaying Q registers, so modifying
+   * D11 will modify the high half of Q5. This is similar to how modifying AH
+   * will only affect bits 8-15 of AX on x86.
+   *
+   * VZIP takes two registers, and puts even lanes in one register and odd lanes
+   * in the other.
+   *
+   * On ARMv7-A, this strangely modifies both parameters in place instead of
+   * taking the usual 3-operand form.
+   *
+   * Therefore, if we want to do this, we can simply use a D-form VZIP.32 on the
+   * lower and upper halves of the Q register to end up with the high and low
+   * halves where we want - all in one instruction.
+   *
+   *   vzip.32   d10, d11       @ d10 = { d10[0], d11[0] }; d11 = { d10[1],
+   * d11[1] }
+   *
+   * Unfortunately we need inline assembly for this: Instructions modifying two
+   * registers at once is not possible in GCC or Clang's IR, and they have to
+   * create a copy.
+   *
+   * aarch64 requires a different approach.
+   *
+   * In order to make it easier to write a decent compiler for aarch64, many
+   * quirks were removed, such as conditional execution.
+   *
+   * NEON was also affected by this.
+   *
+   * aarch64 cannot access the high bits of a Q-form register, and writes to a
+   * D-form register zero the high bits, similar to how writes to W-form scalar
+   * registers (or DWORD registers on x86_64) work.
+   *
+   * The formerly free vget_high intrinsics now require a vext (with a few
+   * exceptions)
+   *
+   * Additionally, VZIP was replaced by ZIP1 and ZIP2, which are the equivalent
+   * of PUNPCKL* and PUNPCKH* in SSE, respectively, in order to only modify one
+   * operand.
+   *
+   * The equivalent of the VZIP.32 on the lower and upper halves would be this
+   * mess:
+   *
+   *   ext     v2.4s, v0.4s, v0.4s, #2 // v2 = { v0[2], v0[3], v0[0], v0[1] }
+   *   zip1    v1.2s, v0.2s, v2.2s     // v1 = { v0[0], v2[0] }
+   *   zip2    v0.2s, v0.2s, v1.2s     // v0 = { v0[1], v2[1] }
+   *
+   * Instead, we use a literal downcast, vmovn_u64 (XTN), and vshrn_n_u64
+   * (SHRN):
+   *
+   *   shrn    v1.2s, v0.2d, #32  // v1 = (uint32x2_t)(v0 >> 32);
+   *   xtn     v0.2s, v0.2d       // v0 = (uint32x2_t)(v0 & 0xFFFFFFFF);
+   *
+   * This is available on ARMv7-A, but is less efficient than a single VZIP.32.
+   */
+
+  /*
+   * Function-like macro:
+   * void XXH_SPLIT_IN_PLACE(uint64x2_t &in, uint32x2_t &outLo, uint32x2_t
+   * &outHi)
+   * {
+
+   *     outLo = (uint32x2_t)(in & 0xFFFFFFFF);
+   *     outHi = (uint32x2_t)(in >> 32);
+   *     in = UNDEFINED;
+   * }
+   */
+  #if !defined(XXH_NO_VZIP_HACK) /* define to disable */ \
+      && defined(__GNUC__) && !defined(__aarch64__) && !defined(__arm64__)
+    #define XXH_SPLIT_IN_PLACE(in, outLo, outHi)                                                   \
+      do {                                                                                         \
+                                                                                                   \
+        /* Undocumented GCC/Clang operand modifier: %e0 = lower D half, %f0 =                      \
+         * upper D half */                                                                         \
+        /* https://github.com/gcc-mirror/gcc/blob/38cf91e5/gcc/config/arm/arm.c#L22486             \
+         */                                                                                        \
+        /* https://github.com/llvm-mirror/llvm/blob/2c4ca683/lib/Target/ARM/ARMAsmPrinter.cpp#L399 \
+         */                                                                                        \
+        __asm__("vzip.32  %e0, %f0" : "+w"(in));                                                   \
+        (outLo) = vget_low_u32(vreinterpretq_u32_u64(in));                                         \
+        (outHi) = vget_high_u32(vreinterpretq_u32_u64(in));                                        \
+                                                                                                   \
+      } while (0)
+
+  #else
+    #define XXH_SPLIT_IN_PLACE(in, outLo, outHi) \
+      do {                                       \
+                                                 \
+        (outLo) = vmovn_u64(in);                 \
+        (outHi) = vshrn_n_u64((in), 32);         \
+                                                 \
+      } while (0)
+
+  #endif
+#endif                                            /* XXH_VECTOR == XXH_NEON */
+
+/*
+ * VSX and Z Vector helpers.
+ *
+ * This is very messy, and any pull requests to clean this up are welcome.
+ *
+ * There are a lot of problems with supporting VSX and s390x, due to
+ * inconsistent intrinsics, spotty coverage, and multiple endiannesses.
+ */
+#if XXH_VECTOR == XXH_VSX
+  #if defined(__s390x__)
+    #include <s390intrin.h>
+  #else
+    #include <altivec.h>
+  #endif
+
+  #undef vector                                       /* Undo the pollution */
+
+typedef __vector unsigned long long xxh_u64x2;
+typedef __vector unsigned char      xxh_u8x16;
+typedef __vector unsigned           xxh_u32x4;
+
+  #ifndef XXH_VSX_BE
+    #if defined(__BIG_ENDIAN__) || \
+        (defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
+      #define XXH_VSX_BE 1
+    #elif defined(__VEC_ELEMENT_REG_ORDER__) && \
+        __VEC_ELEMENT_REG_ORDER__ == __ORDER_BIG_ENDIAN__
+      #warning "-maltivec=be is not recommended. Please use native endianness."
+      #define XXH_VSX_BE 1
+    #else
+      #define XXH_VSX_BE 0
+    #endif
+  #endif                                            /* !defined(XXH_VSX_BE) */
+
+  #if XXH_VSX_BE
+    /* A wrapper for POWER9's vec_revb. */
+    #if defined(__POWER9_VECTOR__) || (defined(__clang__) && defined(__s390x__))
+      #define XXH_vec_revb vec_revb
+    #else
+XXH_FORCE_INLINE xxh_u64x2 XXH_vec_revb(xxh_u64x2 val) {
+
+  xxh_u8x16 const vByteSwap = {0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00,
+                               0x0F, 0x0E, 0x0D, 0x0C, 0x0B, 0x0A, 0x09, 0x08};
+  return vec_perm(val, val, vByteSwap);
+
+}
+
+    #endif
+  #endif                                                      /* XXH_VSX_BE */
+
+/*
+ * Performs an unaligned load and byte swaps it on big endian.
+ */
+XXH_FORCE_INLINE xxh_u64x2 XXH_vec_loadu(const void *ptr) {
+
+  xxh_u64x2 ret;
+  memcpy(&ret, ptr, sizeof(xxh_u64x2));
+  #if XXH_VSX_BE
+  ret = XXH_vec_revb(ret);
+  #endif
+  return ret;
+
+}
+
+  /*
+   * vec_mulo and vec_mule are very problematic intrinsics on PowerPC
+   *
+   * These intrinsics weren't added until GCC 8, despite existing for a while,
+   * and they are endian dependent. Also, their meaning swap depending on
+   * version.
+   * */
+  #if defined(__s390x__)
+    /* s390x is always big endian, no issue on this platform */
+    #define XXH_vec_mulo vec_mulo
+    #define XXH_vec_mule vec_mule
+  #elif defined(__clang__) && XXH_HAS_BUILTIN(__builtin_altivec_vmuleuw)
+    /* Clang has a better way to control this, we can just use the builtin which
+     * doesn't swap. */
+    #define XXH_vec_mulo __builtin_altivec_vmulouw
+    #define XXH_vec_mule __builtin_altivec_vmuleuw
+  #else
+/* gcc needs inline assembly */
+/* Adapted from
+ * https://github.com/google/highwayhash/blob/master/highwayhash/hh_vsx.h. */
+XXH_FORCE_INLINE xxh_u64x2 XXH_vec_mulo(xxh_u32x4 a, xxh_u32x4 b) {
+
+  xxh_u64x2 result;
+  __asm__("vmulouw %0, %1, %2" : "=v"(result) : "v"(a), "v"(b));
+  return result;
+
+}
+
+XXH_FORCE_INLINE xxh_u64x2 XXH_vec_mule(xxh_u32x4 a, xxh_u32x4 b) {
+
+  xxh_u64x2 result;
+  __asm__("vmuleuw %0, %1, %2" : "=v"(result) : "v"(a), "v"(b));
+  return result;
+
+}
+
+  #endif                                      /* XXH_vec_mulo, XXH_vec_mule */
+#endif                                             /* XXH_VECTOR == XXH_VSX */
+
+/* prefetch
+ * can be disabled, by declaring XXH_NO_PREFETCH build macro */
+#if defined(XXH_NO_PREFETCH)
+  #define XXH_PREFETCH(ptr) (void)(ptr)                         /* disabled */
+#else
+  #if defined(_MSC_VER) && \
+      (defined(_M_X64) ||  \
+       defined(_M_I86)) /* _mm_prefetch() is not defined outside of x86/x64 */
+    #include <mmintrin.h> /* https://msdn.microsoft.com/fr-fr/library/84szxsww(v=vs.90).aspx */
+    #define XXH_PREFETCH(ptr) _mm_prefetch((const char *)(ptr), _MM_HINT_T0)
+  #elif defined(__GNUC__) && \
+      ((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1)))
+    #define XXH_PREFETCH(ptr) \
+      __builtin_prefetch((ptr), 0 /* rw==read */, 3 /* locality */)
+  #else
+    #define XXH_PREFETCH(ptr) (void)(ptr)                       /* disabled */
+  #endif
+#endif                                                   /* XXH_NO_PREFETCH */
+
+/* ==========================================
+ * XXH3 default settings
+ * ========================================== */
+
+#define XXH_SECRET_DEFAULT_SIZE 192         /* minimum XXH3_SECRET_SIZE_MIN */
+
+#if (XXH_SECRET_DEFAULT_SIZE < XXH3_SECRET_SIZE_MIN)
+  #error "default keyset is not large enough"
+#endif
+
+/* Pseudorandom secret taken directly from FARSH */
+XXH_ALIGN(64)
+static const xxh_u8 XXH3_kSecret[XXH_SECRET_DEFAULT_SIZE] = {
+
+    0xb8, 0xfe, 0x6c, 0x39, 0x23, 0xa4, 0x4b, 0xbe, 0x7c, 0x01, 0x81, 0x2c,
+    0xf7, 0x21, 0xad, 0x1c, 0xde, 0xd4, 0x6d, 0xe9, 0x83, 0x90, 0x97, 0xdb,
+    0x72, 0x40, 0xa4, 0xa4, 0xb7, 0xb3, 0x67, 0x1f, 0xcb, 0x79, 0xe6, 0x4e,
+    0xcc, 0xc0, 0xe5, 0x78, 0x82, 0x5a, 0xd0, 0x7d, 0xcc, 0xff, 0x72, 0x21,
+    0xb8, 0x08, 0x46, 0x74, 0xf7, 0x43, 0x24, 0x8e, 0xe0, 0x35, 0x90, 0xe6,
+    0x81, 0x3a, 0x26, 0x4c, 0x3c, 0x28, 0x52, 0xbb, 0x91, 0xc3, 0x00, 0xcb,
+    0x88, 0xd0, 0x65, 0x8b, 0x1b, 0x53, 0x2e, 0xa3, 0x71, 0x64, 0x48, 0x97,
+    0xa2, 0x0d, 0xf9, 0x4e, 0x38, 0x19, 0xef, 0x46, 0xa9, 0xde, 0xac, 0xd8,
+    0xa8, 0xfa, 0x76, 0x3f, 0xe3, 0x9c, 0x34, 0x3f, 0xf9, 0xdc, 0xbb, 0xc7,
+    0xc7, 0x0b, 0x4f, 0x1d, 0x8a, 0x51, 0xe0, 0x4b, 0xcd, 0xb4, 0x59, 0x31,
+    0xc8, 0x9f, 0x7e, 0xc9, 0xd9, 0x78, 0x73, 0x64,
+
+    0xea, 0xc5, 0xac, 0x83, 0x34, 0xd3, 0xeb, 0xc3, 0xc5, 0x81, 0xa0, 0xff,
+    0xfa, 0x13, 0x63, 0xeb, 0x17, 0x0d, 0xdd, 0x51, 0xb7, 0xf0, 0xda, 0x49,
+    0xd3, 0x16, 0x55, 0x26, 0x29, 0xd4, 0x68, 0x9e, 0x2b, 0x16, 0xbe, 0x58,
+    0x7d, 0x47, 0xa1, 0xfc, 0x8f, 0xf8, 0xb8, 0xd1, 0x7a, 0xd0, 0x31, 0xce,
+    0x45, 0xcb, 0x3a, 0x8f, 0x95, 0x16, 0x04, 0x28, 0xaf, 0xd7, 0xfb, 0xca,
+    0xbb, 0x4b, 0x40, 0x7e,
+
+};
+
+#ifdef XXH_OLD_NAMES
+  #define kSecret XXH3_kSecret
+#endif
+
+/*
+ * Calculates a 32-bit to 64-bit long multiply.
+ *
+ * Wraps __emulu on MSVC x86 because it tends to call __allmul when it doesn't
+ * need to (but it shouldn't need to anyways, it is about 7 instructions to do
+ * a 64x64 multiply...). Since we know that this will _always_ emit MULL, we
+ * use that instead of the normal method.
+ *
+ * If you are compiling for platforms like Thumb-1 and don't have a better
+ * option, you may also want to write your own long multiply routine here.
+ *
+ * XXH_FORCE_INLINE xxh_u64 XXH_mult32to64(xxh_u64 x, xxh_u64 y)
+ * {
+
+ *    return (x & 0xFFFFFFFF) * (y & 0xFFFFFFFF);
+ * }
+ */
+#if defined(_MSC_VER) && defined(_M_IX86)
+  #include <intrin.h>
+  #define XXH_mult32to64(x, y) __emulu((unsigned)(x), (unsigned)(y))
+#else
+  /*
+   * Downcast + upcast is usually better than masking on older compilers like
+   * GCC 4.2 (especially 32-bit ones), all without affecting newer compilers.
+   *
+   * The other method, (x & 0xFFFFFFFF) * (y & 0xFFFFFFFF), will AND both
+   * operands and perform a full 64x64 multiply -- entirely redundant on 32-bit.
+   */
+  #define XXH_mult32to64(x, y) ((xxh_u64)(xxh_u32)(x) * (xxh_u64)(xxh_u32)(y))
+#endif
+
+/*
+ * Calculates a 64->128-bit long multiply.
+ *
+ * Uses __uint128_t and _umul128 if available, otherwise uses a scalar version.
+ */
+static XXH128_hash_t XXH_mult64to128(xxh_u64 lhs, xxh_u64 rhs) {
+
+  /*
+   * GCC/Clang __uint128_t method.
+   *
+   * On most 64-bit targets, GCC and Clang define a __uint128_t type.
+   * This is usually the best way as it usually uses a native long 64-bit
+   * multiply, such as MULQ on x86_64 or MUL + UMULH on aarch64.
+   *
+   * Usually.
+   *
+   * Despite being a 32-bit platform, Clang (and emscripten) define this type
+   * despite not having the arithmetic for it. This results in a laggy
+   * compiler builtin call which calculates a full 128-bit multiply.
+   * In that case it is best to use the portable one.
+   * https://github.com/Cyan4973/xxHash/issues/211#issuecomment-515575677
+   */
+#if defined(__GNUC__) && !defined(__wasm__) && defined(__SIZEOF_INT128__) || \
+    (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 128)
+
+  __uint128_t const product = (__uint128_t)lhs * (__uint128_t)rhs;
+  XXH128_hash_t     r128;
+  r128.low64 = (xxh_u64)(product);
+  r128.high64 = (xxh_u64)(product >> 64);
+  return r128;
+
+    /*
+     * MSVC for x64's _umul128 method.
+     *
+     * xxh_u64 _umul128(xxh_u64 Multiplier, xxh_u64 Multiplicand, xxh_u64
+     * *HighProduct);
+     *
+     * This compiles to single operand MUL on x64.
+     */
+#elif defined(_M_X64) || defined(_M_IA64)
+
+  #ifndef _MSC_VER
+    #pragma intrinsic(_umul128)
+  #endif
+  xxh_u64       product_high;
+  xxh_u64 const product_low = _umul128(lhs, rhs, &product_high);
+  XXH128_hash_t r128;
+  r128.low64 = product_low;
+  r128.high64 = product_high;
+  return r128;
+
+#else
+  /*
+   * Portable scalar method. Optimized for 32-bit and 64-bit ALUs.
+   *
+   * This is a fast and simple grade school multiply, which is shown below
+   * with base 10 arithmetic instead of base 0x100000000.
+   *
+   *           9 3 // D2 lhs = 93
+   *         x 7 5 // D2 rhs = 75
+   *     ----------
+   *           1 5 // D2 lo_lo = (93 % 10) * (75 % 10) = 15
+   *         4 5 | // D2 hi_lo = (93 / 10) * (75 % 10) = 45
+   *         2 1 | // D2 lo_hi = (93 % 10) * (75 / 10) = 21
+   *     + 6 3 | | // D2 hi_hi = (93 / 10) * (75 / 10) = 63
+   *     ---------
+   *         2 7 | // D2 cross = (15 / 10) + (45 % 10) + 21 = 27
+   *     + 6 7 | | // D2 upper = (27 / 10) + (45 / 10) + 63 = 67
+   *     ---------
+   *       6 9 7 5 // D4 res = (27 * 10) + (15 % 10) + (67 * 100) = 6975
+   *
+   * The reasons for adding the products like this are:
+   *  1. It avoids manual carry tracking. Just like how
+   *     (9 * 9) + 9 + 9 = 99, the same applies with this for UINT64_MAX.
+   *     This avoids a lot of complexity.
+   *
+   *  2. It hints for, and on Clang, compiles to, the powerful UMAAL
+   *     instruction available in ARM's Digital Signal Processing extension
+   *     in 32-bit ARMv6 and later, which is shown below:
+   *
+   *         void UMAAL(xxh_u32 *RdLo, xxh_u32 *RdHi, xxh_u32 Rn, xxh_u32 Rm)
+   *         {
+
+   *             xxh_u64 product = (xxh_u64)*RdLo * (xxh_u64)*RdHi + Rn + Rm;
+   *             *RdLo = (xxh_u32)(product & 0xFFFFFFFF);
+   *             *RdHi = (xxh_u32)(product >> 32);
+   *         }
+   *
+   *     This instruction was designed for efficient long multiplication, and
+   *     allows this to be calculated in only 4 instructions at speeds
+   *     comparable to some 64-bit ALUs.
+   *
+   *  3. It isn't terrible on other platforms. Usually this will be a couple
+   *     of 32-bit ADD/ADCs.
+   */
+
+  /* First calculate all of the cross products. */
+  xxh_u64 const lo_lo = XXH_mult32to64(lhs & 0xFFFFFFFF, rhs & 0xFFFFFFFF);
+  xxh_u64 const hi_lo = XXH_mult32to64(lhs >> 32, rhs & 0xFFFFFFFF);
+  xxh_u64 const lo_hi = XXH_mult32to64(lhs & 0xFFFFFFFF, rhs >> 32);
+  xxh_u64 const hi_hi = XXH_mult32to64(lhs >> 32, rhs >> 32);
+
+  /* Now add the products together. These will never overflow. */
+  xxh_u64 const cross = (lo_lo >> 32) + (hi_lo & 0xFFFFFFFF) + lo_hi;
+  xxh_u64 const upper = (hi_lo >> 32) + (cross >> 32) + hi_hi;
+  xxh_u64 const lower = (cross << 32) | (lo_lo & 0xFFFFFFFF);
+
+  XXH128_hash_t r128;
+  r128.low64 = lower;
+  r128.high64 = upper;
+  return r128;
+#endif
+
+}
+
+/*
+ * Does a 64-bit to 128-bit multiply, then XOR folds it.
+ *
+ * The reason for the separate function is to prevent passing too many structs
+ * around by value. This will hopefully inline the multiply, but we don't force
+ * it.
+ */
+static xxh_u64 XXH3_mul128_fold64(xxh_u64 lhs, xxh_u64 rhs) {
+
+  XXH128_hash_t product = XXH_mult64to128(lhs, rhs);
+  return product.low64 ^ product.high64;
+
+}
+
+/* Seems to produce slightly better code on GCC for some reason. */
+XXH_FORCE_INLINE xxh_u64 XXH_xorshift64(xxh_u64 v64, int shift) {
+
+  XXH_ASSERT(0 <= shift && shift < 64);
+  return v64 ^ (v64 >> shift);
+
+}
+
+/*
+ * We don't need to (or want to) mix as much as XXH64.
+ *
+ * Short hashes are more evenly distributed, so it isn't necessary.
+ */
+static XXH64_hash_t XXH3_avalanche(xxh_u64 h64) {
+
+  h64 = XXH_xorshift64(h64, 37);
+  h64 *= 0x165667919E3779F9ULL;
+  h64 = XXH_xorshift64(h64, 32);
+  return h64;
+
+}
+
+/* ==========================================
+ * Short keys
+ * ==========================================
+ * One of the shortcomings of XXH32 and XXH64 was that their performance was
+ * sub-optimal on short lengths. It used an iterative algorithm which strongly
+ * favored lengths that were a multiple of 4 or 8.
+ *
+ * Instead of iterating over individual inputs, we use a set of single shot
+ * functions which piece together a range of lengths and operate in constant
+ * time.
+ *
+ * Additionally, the number of multiplies has been significantly reduced. This
+ * reduces latency, especially when emulating 64-bit multiplies on 32-bit.
+ *
+ * Depending on the platform, this may or may not be faster than XXH32, but it
+ * is almost guaranteed to be faster than XXH64.
+ */
+
+/*
+ * At very short lengths, there isn't enough input to fully hide secrets, or use
+ * the entire secret.
+ *
+ * There is also only a limited amount of mixing we can do before significantly
+ * impacting performance.
+ *
+ * Therefore, we use different sections of the secret and always mix two secret
+ * samples with an XOR. This should have no effect on performance on the
+ * seedless or withSeed variants because everything _should_ be constant folded
+ * by modern compilers.
+ *
+ * The XOR mixing hides individual parts of the secret and increases entropy.
+ *
+ * This adds an extra layer of strength for custom secrets.
+ */
+XXH_FORCE_INLINE XXH64_hash_t XXH3_len_1to3_64b(const xxh_u8 *input, size_t len,
+                                                const xxh_u8 *secret,
+                                                XXH64_hash_t  seed) {
+
+  XXH_ASSERT(input != NULL);
+  XXH_ASSERT(1 <= len && len <= 3);
+  XXH_ASSERT(secret != NULL);
+  /*
+   * len = 1: combined = { input[0], 0x01, input[0], input[0] }
+   * len = 2: combined = { input[1], 0x02, input[0], input[1] }
+   * len = 3: combined = { input[2], 0x03, input[0], input[1] }
+   */
+  {
+
+    xxh_u8 const  c1 = input[0];
+    xxh_u8 const  c2 = input[len >> 1];
+    xxh_u8 const  c3 = input[len - 1];
+    xxh_u32 const combined = ((xxh_u32)c1 << 16) | ((xxh_u32)c2 << 24) |
+                             ((xxh_u32)c3 << 0) | ((xxh_u32)len << 8);
+    xxh_u64 const bitflip =
+        (XXH_readLE32(secret) ^ XXH_readLE32(secret + 4)) + seed;
+    xxh_u64 const keyed = (xxh_u64)combined ^ bitflip;
+    xxh_u64 const mixed = keyed * XXH_PRIME64_1;
+    return XXH3_avalanche(mixed);
+
+  }
+
+}
+
+XXH_FORCE_INLINE XXH64_hash_t XXH3_len_4to8_64b(const xxh_u8 *input, size_t len,
+                                                const xxh_u8 *secret,
+                                                XXH64_hash_t  seed) {
+
+  XXH_ASSERT(input != NULL);
+  XXH_ASSERT(secret != NULL);
+  XXH_ASSERT(4 <= len && len < 8);
+  seed ^= (xxh_u64)XXH_swap32((xxh_u32)seed) << 32;
+  {
+
+    xxh_u32 const input1 = XXH_readLE32(input);
+    xxh_u32 const input2 = XXH_readLE32(input + len - 4);
+    xxh_u64 const bitflip =
+        (XXH_readLE64(secret + 8) ^ XXH_readLE64(secret + 16)) - seed;
+    xxh_u64 const input64 = input2 + (((xxh_u64)input1) << 32);
+    xxh_u64       x = input64 ^ bitflip;
+    /* this mix is inspired by Pelle Evensen's rrmxmx */
+    x ^= XXH_rotl64(x, 49) ^ XXH_rotl64(x, 24);
+    x *= 0x9FB21C651E98DF25ULL;
+    x ^= (x >> 35) + len;
+    x *= 0x9FB21C651E98DF25ULL;
+    return XXH_xorshift64(x, 28);
+
+  }
+
+}
+
+XXH_FORCE_INLINE XXH64_hash_t XXH3_len_9to16_64b(const xxh_u8 *input,
+                                                 size_t        len,
+                                                 const xxh_u8 *secret,
+                                                 XXH64_hash_t  seed) {
+
+  XXH_ASSERT(input != NULL);
+  XXH_ASSERT(secret != NULL);
+  XXH_ASSERT(8 <= len && len <= 16);
+  {
+
+    xxh_u64 const bitflip1 =
+        (XXH_readLE64(secret + 24) ^ XXH_readLE64(secret + 32)) + seed;
+    xxh_u64 const bitflip2 =
+        (XXH_readLE64(secret + 40) ^ XXH_readLE64(secret + 48)) - seed;
+    xxh_u64 const input_lo = XXH_readLE64(input) ^ bitflip1;
+    xxh_u64 const input_hi = XXH_readLE64(input + len - 8) ^ bitflip2;
+    xxh_u64 const acc = len + XXH_swap64(input_lo) + input_hi +
+                        XXH3_mul128_fold64(input_lo, input_hi);
+    return XXH3_avalanche(acc);
+
+  }
+
+}
+
+XXH_FORCE_INLINE XXH64_hash_t XXH3_len_0to16_64b(const xxh_u8 *input,
+                                                 size_t        len,
+                                                 const xxh_u8 *secret,
+                                                 XXH64_hash_t  seed) {
+
+  XXH_ASSERT(len <= 16);
+  {
+
+    if (XXH_likely(len > 8))
+      return XXH3_len_9to16_64b(input, len, secret, seed);
+    if (XXH_likely(len >= 4))
+      return XXH3_len_4to8_64b(input, len, secret, seed);
+    if (len) return XXH3_len_1to3_64b(input, len, secret, seed);
+    return XXH3_avalanche((XXH_PRIME64_1 + seed) ^ (XXH_readLE64(secret + 56) ^
+                                                    XXH_readLE64(secret + 64)));
+
+  }
+
+}
+
+/*
+ * DISCLAIMER: There are known *seed-dependent* multicollisions here due to
+ * multiplication by zero, affecting hashes of lengths 17 to 240.
+ *
+ * However, they are very unlikely.
+ *
+ * Keep this in mind when using the unseeded XXH3_64bits() variant: As with all
+ * unseeded non-cryptographic hashes, it does not attempt to defend itself
+ * against specially crafted inputs, only random inputs.
+ *
+ * Compared to classic UMAC where a 1 in 2^31 chance of 4 consecutive bytes
+ * cancelling out the secret is taken an arbitrary number of times (addressed
+ * in XXH3_accumulate_512), this collision is very unlikely with random inputs
+ * and/or proper seeding:
+ *
+ * This only has a 1 in 2^63 chance of 8 consecutive bytes cancelling out, in a
+ * function that is only called up to 16 times per hash with up to 240 bytes of
+ * input.
+ *
+ * This is not too bad for a non-cryptographic hash function, especially with
+ * only 64 bit outputs.
+ *
+ * The 128-bit variant (which trades some speed for strength) is NOT affected
+ * by this, although it is always a good idea to use a proper seed if you care
+ * about strength.
+ */
+XXH_FORCE_INLINE xxh_u64 XXH3_mix16B(const xxh_u8 *XXH_RESTRICT input,
+                                     const xxh_u8 *XXH_RESTRICT secret,
+                                     xxh_u64                    seed64) {
+
+#if defined(__GNUC__) && !defined(__clang__)  /* GCC, not Clang */ \
+    && defined(__i386__) && defined(__SSE2__) /* x86 + SSE2 */     \
+    &&                                                             \
+    !defined(XXH_ENABLE_AUTOVECTORIZE) /* Define to disable like XXH32 hack */
+  /*
+   * UGLY HACK:
+   * GCC for x86 tends to autovectorize the 128-bit multiply, resulting in
+   * slower code.
+   *
+   * By forcing seed64 into a register, we disrupt the cost model and
+   * cause it to scalarize. See `XXH32_round()`
+   *
+   * FIXME: Clang's output is still _much_ faster -- On an AMD Ryzen 3600,
+   * XXH3_64bits @ len=240 runs at 4.6 GB/s with Clang 9, but 3.3 GB/s on
+   * GCC 9.2, despite both emitting scalar code.
+   *
+   * GCC generates much better scalar code than Clang for the rest of XXH3,
+   * which is why finding a more optimal codepath is an interest.
+   */
+  __asm__("" : "+r"(seed64));
+#endif
+  {
+
+    xxh_u64 const input_lo = XXH_readLE64(input);
+    xxh_u64 const input_hi = XXH_readLE64(input + 8);
+    return XXH3_mul128_fold64(input_lo ^ (XXH_readLE64(secret) + seed64),
+                              input_hi ^ (XXH_readLE64(secret + 8) - seed64));
+
+  }
+
+}
+
+/* For mid range keys, XXH3 uses a Mum-hash variant. */
+XXH_FORCE_INLINE XXH64_hash_t XXH3_len_17to128_64b(
+    const xxh_u8 *XXH_RESTRICT input, size_t len,
+    const xxh_u8 *XXH_RESTRICT secret, size_t secretSize, XXH64_hash_t seed) {
+
+  XXH_ASSERT(secretSize >= XXH3_SECRET_SIZE_MIN);
+  (void)secretSize;
+  XXH_ASSERT(16 < len && len <= 128);
+
+  {
+
+    xxh_u64 acc = len * XXH_PRIME64_1;
+    if (len > 32) {
+
+      if (len > 64) {
+
+        if (len > 96) {
+
+          acc += XXH3_mix16B(input + 48, secret + 96, seed);
+          acc += XXH3_mix16B(input + len - 64, secret + 112, seed);
+
+        }
+
+        acc += XXH3_mix16B(input + 32, secret + 64, seed);
+        acc += XXH3_mix16B(input + len - 48, secret + 80, seed);
+
+      }
+
+      acc += XXH3_mix16B(input + 16, secret + 32, seed);
+      acc += XXH3_mix16B(input + len - 32, secret + 48, seed);
+
+    }
+
+    acc += XXH3_mix16B(input + 0, secret + 0, seed);
+    acc += XXH3_mix16B(input + len - 16, secret + 16, seed);
+
+    return XXH3_avalanche(acc);
+
+  }
+
+}
+
+#define XXH3_MIDSIZE_MAX 240
+
+XXH_NO_INLINE XXH64_hash_t XXH3_len_129to240_64b(
+    const xxh_u8 *XXH_RESTRICT input, size_t len,
+    const xxh_u8 *XXH_RESTRICT secret, size_t secretSize, XXH64_hash_t seed) {
+
+  XXH_ASSERT(secretSize >= XXH3_SECRET_SIZE_MIN);
+  (void)secretSize;
+  XXH_ASSERT(128 < len && len <= XXH3_MIDSIZE_MAX);
+
+#define XXH3_MIDSIZE_STARTOFFSET 3
+#define XXH3_MIDSIZE_LASTOFFSET 17
+
+  {
+
+    xxh_u64   acc = len * XXH_PRIME64_1;
+    int const nbRounds = (int)len / 16;
+    int       i;
+    for (i = 0; i < 8; i++) {
+
+      acc += XXH3_mix16B(input + (16 * i), secret + (16 * i), seed);
+
+    }
+
+    acc = XXH3_avalanche(acc);
+    XXH_ASSERT(nbRounds >= 8);
+#if defined(__clang__)                                /* Clang */ \
+    && (defined(__ARM_NEON) || defined(__ARM_NEON__)) /* NEON */  \
+    && !defined(XXH_ENABLE_AUTOVECTORIZE)              /* Define to disable */
+  /*
+   * UGLY HACK:
+   * Clang for ARMv7-A tries to vectorize this loop, similar to GCC x86.
+   * In everywhere else, it uses scalar code.
+   *
+   * For 64->128-bit multiplies, even if the NEON was 100% optimal, it
+   * would still be slower than UMAAL (see XXH_mult64to128).
+   *
+   * Unfortunately, Clang doesn't handle the long multiplies properly and
+   * converts them to the nonexistent "vmulq_u64" intrinsic, which is then
+   * scalarized into an ugly mess of VMOV.32 instructions.
+   *
+   * This mess is difficult to avoid without turning autovectorization
+   * off completely, but they are usually relatively minor and/or not
+   * worth it to fix.
+   *
+   * This loop is the easiest to fix, as unlike XXH32, this pragma
+   * _actually works_ because it is a loop vectorization instead of an
+   * SLP vectorization.
+   */
+  #pragma clang loop vectorize(disable)
+#endif
+    for (i = 8; i < nbRounds; i++) {
+
+      acc +=
+          XXH3_mix16B(input + (16 * i),
+                      secret + (16 * (i - 8)) + XXH3_MIDSIZE_STARTOFFSET, seed);
+
+    }
+
+    /* last bytes */
+    acc += XXH3_mix16B(input + len - 16,
+                       secret + XXH3_SECRET_SIZE_MIN - XXH3_MIDSIZE_LASTOFFSET,
+                       seed);
+    return XXH3_avalanche(acc);
+
+  }
+
+}
+
+/* =======     Long Keys     ======= */
+
+#define XXH_STRIPE_LEN 64
+#define XXH_SECRET_CONSUME_RATE \
+  8                     /* nb of secret bytes consumed at each accumulation */
+#define XXH_ACC_NB (XXH_STRIPE_LEN / sizeof(xxh_u64))
+
+#ifdef XXH_OLD_NAMES
+  #define STRIPE_LEN XXH_STRIPE_LEN
+  #define ACC_NB XXH_ACC_NB
+#endif
+
+typedef enum { XXH3_acc_64bits, XXH3_acc_128bits } XXH3_accWidth_e;
+
+XXH_FORCE_INLINE void XXH_writeLE64(void *dst, xxh_u64 v64) {
+
+  if (!XXH_CPU_LITTLE_ENDIAN) v64 = XXH_swap64(v64);
+  memcpy(dst, &v64, sizeof(v64));
+
+}
+
+/* Several intrinsic functions below are supposed to accept __int64 as argument,
+ * as documented in
+ * https://software.intel.com/sites/landingpage/IntrinsicsGuide/ . However,
+ * several environments do not define __int64 type, requiring a workaround.
+ */
+#if !defined(__VMS) &&       \
+    (defined(__cplusplus) || \
+     (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) /* C99 */))
+typedef int64_t xxh_i64;
+#else
+/* the following type must have a width of 64-bit */
+typedef long long xxh_i64;
+#endif
+
+/*
+ * XXH3_accumulate_512 is the tightest loop for long inputs, and it is the most
+ * optimized.
+ *
+ * It is a hardened version of UMAC, based off of FARSH's implementation.
+ *
+ * This was chosen because it adapts quite well to 32-bit, 64-bit, and SIMD
+ * implementations, and it is ridiculously fast.
+ *
+ * We harden it by mixing the original input to the accumulators as well as the
+ * product.
+ *
+ * This means that in the (relatively likely) case of a multiply by zero, the
+ * original input is preserved.
+ *
+ * On 128-bit inputs, we swap 64-bit pairs when we add the input to improve
+ * cross-pollination, as otherwise the upper and lower halves would be
+ * essentially independent.
+ *
+ * This doesn't matter on 64-bit hashes since they all get merged together in
+ * the end, so we skip the extra step.
+ *
+ * Both XXH3_64bits and XXH3_128bits use this subroutine.
+ */
+
+#if (XXH_VECTOR == XXH_AVX512) || defined(XXH_X86DISPATCH)
+
+  #ifndef XXH_TARGET_AVX512
+    #define XXH_TARGET_AVX512                   /* disable attribute target */
+  #endif
+
+XXH_FORCE_INLINE XXH_TARGET_AVX512 void XXH3_accumulate_512_avx512(
+    void *XXH_RESTRICT acc, const void *XXH_RESTRICT input,
+    const void *XXH_RESTRICT secret, XXH3_accWidth_e accWidth) {
+
+  XXH_ALIGN(64) __m512i *const xacc = (__m512i *)acc;
+  XXH_ASSERT((((size_t)acc) & 63) == 0);
+  XXH_STATIC_ASSERT(XXH_STRIPE_LEN == sizeof(__m512i));
+
+  {
+
+    /* data_vec    = input[0]; */
+    __m512i const data_vec = _mm512_loadu_si512(input);
+    /* key_vec     = secret[0]; */
+    __m512i const key_vec = _mm512_loadu_si512(secret);
+    /* data_key    = data_vec ^ key_vec; */
+    __m512i const data_key = _mm512_xor_si512(data_vec, key_vec);
+    /* data_key_lo = data_key >> 32; */
+    __m512i const data_key_lo =
+        _mm512_shuffle_epi32(data_key, _MM_SHUFFLE(0, 3, 0, 1));
+    /* product     = (data_key & 0xffffffff) * (data_key_lo & 0xffffffff); */
+    __m512i const product = _mm512_mul_epu32(data_key, data_key_lo);
+    if (accWidth == XXH3_acc_128bits) {
+
+      /* xacc[0] += swap(data_vec); */
+      __m512i const data_swap =
+          _mm512_shuffle_epi32(data_vec, _MM_SHUFFLE(1, 0, 3, 2));
+      __m512i const sum = _mm512_add_epi64(*xacc, data_swap);
+      /* xacc[0] += product; */
+      *xacc = _mm512_add_epi64(product, sum);
+
+    } else {                                             /* XXH3_acc_64bits */
+
+      /* xacc[0] += data_vec; */
+      __m512i const sum = _mm512_add_epi64(*xacc, data_vec);
+      /* xacc[0] += product; */
+      *xacc = _mm512_add_epi64(product, sum);
+
+    }
+
+  }
+
+}
+
+/*
+ * XXH3_scrambleAcc: Scrambles the accumulators to improve mixing.
+ *
+ * Multiplication isn't perfect, as explained by Google in HighwayHash:
+ *
+ *  // Multiplication mixes/scrambles bytes 0-7 of the 64-bit result to
+ *  // varying degrees. In descending order of goodness, bytes
+ *  // 3 4 2 5 1 6 0 7 have quality 228 224 164 160 100 96 36 32.
+ *  // As expected, the upper and lower bytes are much worse.
+ *
+ * Source:
+ * https://github.com/google/highwayhash/blob/0aaf66b/highwayhash/hh_avx2.h#L291
+ *
+ * Since our algorithm uses a pseudorandom secret to add some variance into the
+ * mix, we don't need to (or want to) mix as often or as much as HighwayHash
+ * does.
+ *
+ * This isn't as tight as XXH3_accumulate, but still written in SIMD to avoid
+ * extraction.
+ *
+ * Both XXH3_64bits and XXH3_128bits use this subroutine.
+ */
+
+XXH_FORCE_INLINE XXH_TARGET_AVX512 void XXH3_scrambleAcc_avx512(
+    void *XXH_RESTRICT acc, const void *XXH_RESTRICT secret) {
+
+  XXH_ASSERT((((size_t)acc) & 63) == 0);
+  XXH_STATIC_ASSERT(XXH_STRIPE_LEN == sizeof(__m512i));
+  {
+
+    XXH_ALIGN(64) __m512i *const xacc = (__m512i *)acc;
+    const __m512i prime32 = _mm512_set1_epi32((int)XXH_PRIME32_1);
+
+    /* xacc[0] ^= (xacc[0] >> 47) */
+    __m512i const acc_vec = *xacc;
+    __m512i const shifted = _mm512_srli_epi64(acc_vec, 47);
+    __m512i const data_vec = _mm512_xor_si512(acc_vec, shifted);
+    /* xacc[0] ^= secret; */
+    __m512i const key_vec = _mm512_loadu_si512(secret);
+    __m512i const data_key = _mm512_xor_si512(data_vec, key_vec);
+
+    /* xacc[0] *= XXH_PRIME32_1; */
+    __m512i const data_key_hi =
+        _mm512_shuffle_epi32(data_key, _MM_SHUFFLE(0, 3, 0, 1));
+    __m512i const prod_lo = _mm512_mul_epu32(data_key, prime32);
+    __m512i const prod_hi = _mm512_mul_epu32(data_key_hi, prime32);
+    *xacc = _mm512_add_epi64(prod_lo, _mm512_slli_epi64(prod_hi, 32));
+
+  }
+
+}
+
+XXH_FORCE_INLINE XXH_TARGET_AVX512 void XXH3_initCustomSecret_avx512(
+    void *XXH_RESTRICT customSecret, xxh_u64 seed64) {
+
+  XXH_STATIC_ASSERT((XXH_SECRET_DEFAULT_SIZE & 63) == 0);
+  XXH_STATIC_ASSERT(XXH_SEC_ALIGN == 64);
+  XXH_ASSERT(((size_t)customSecret & 63) == 0);
+  (void)(&XXH_writeLE64);
+  {
+
+    int const     nbRounds = XXH_SECRET_DEFAULT_SIZE / sizeof(__m512i);
+    __m512i const seed = _mm512_mask_set1_epi64(
+        _mm512_set1_epi64((xxh_i64)seed64), 0xAA, -(xxh_i64)seed64);
+
+    XXH_ALIGN(64) const __m512i *const src = (const __m512i *)XXH3_kSecret;
+    XXH_ALIGN(64) __m512i *const       dest = (__m512i *)customSecret;
+    int                                i;
+    for (i = 0; i < nbRounds; ++i) {
+
+      // GCC has a bug, _mm512_stream_load_si512 accepts 'void*', not 'void
+      // const*', this will warn "discards ‘const’ qualifier".
+      union {
+
+        XXH_ALIGN(64) const __m512i *const cp;
+        XXH_ALIGN(64) void *const p;
+
+      } const remote_const_void = {.cp = src + i};
+
+      dest[i] =
+          _mm512_add_epi64(_mm512_stream_load_si512(remote_const_void.p), seed);
+
+    }
+
+  }
+
+}
+
+#endif
+
+#if (XXH_VECTOR == XXH_AVX2) || defined(XXH_X86DISPATCH)
+
+  #ifndef XXH_TARGET_AVX2
+    #define XXH_TARGET_AVX2                     /* disable attribute target */
+  #endif
+
+XXH_FORCE_INLINE XXH_TARGET_AVX2 void XXH3_accumulate_512_avx2(
+    void *XXH_RESTRICT acc, const void *XXH_RESTRICT input,
+    const void *XXH_RESTRICT secret, XXH3_accWidth_e accWidth) {
+
+  XXH_ASSERT((((size_t)acc) & 31) == 0);
+  {
+
+    XXH_ALIGN(32) __m256i *const xacc = (__m256i *)acc;
+    /* Unaligned. This is mainly for pointer arithmetic, and because
+     * _mm256_loadu_si256 requires  a const __m256i * pointer for some reason.
+     */
+    const __m256i *const xinput = (const __m256i *)input;
+    /* Unaligned. This is mainly for pointer arithmetic, and because
+     * _mm256_loadu_si256 requires a const __m256i * pointer for some reason. */
+    const __m256i *const xsecret = (const __m256i *)secret;
+
+    size_t i;
+    for (i = 0; i < XXH_STRIPE_LEN / sizeof(__m256i); i++) {
+
+      /* data_vec    = xinput[i]; */
+      __m256i const data_vec = _mm256_loadu_si256(xinput + i);
+      /* key_vec     = xsecret[i]; */
+      __m256i const key_vec = _mm256_loadu_si256(xsecret + i);
+      /* data_key    = data_vec ^ key_vec; */
+      __m256i const data_key = _mm256_xor_si256(data_vec, key_vec);
+      /* data_key_lo = data_key >> 32; */
+      __m256i const data_key_lo =
+          _mm256_shuffle_epi32(data_key, _MM_SHUFFLE(0, 3, 0, 1));
+      /* product     = (data_key & 0xffffffff) * (data_key_lo & 0xffffffff); */
+      __m256i const product = _mm256_mul_epu32(data_key, data_key_lo);
+      if (accWidth == XXH3_acc_128bits) {
+
+        /* xacc[i] += swap(data_vec); */
+        __m256i const data_swap =
+            _mm256_shuffle_epi32(data_vec, _MM_SHUFFLE(1, 0, 3, 2));
+        __m256i const sum = _mm256_add_epi64(xacc[i], data_swap);
+        /* xacc[i] += product; */
+        xacc[i] = _mm256_add_epi64(product, sum);
+
+      } else {                                           /* XXH3_acc_64bits */
+
+        /* xacc[i] += data_vec; */
+        __m256i const sum = _mm256_add_epi64(xacc[i], data_vec);
+        /* xacc[i] += product; */
+        xacc[i] = _mm256_add_epi64(product, sum);
+
+      }
+
+    }
+
+  }
+
+}
+
+XXH_FORCE_INLINE XXH_TARGET_AVX2 void XXH3_scrambleAcc_avx2(
+    void *XXH_RESTRICT acc, const void *XXH_RESTRICT secret) {
+
+  XXH_ASSERT((((size_t)acc) & 31) == 0);
+  {
+
+    XXH_ALIGN(32) __m256i *const xacc = (__m256i *)acc;
+    /* Unaligned. This is mainly for pointer arithmetic, and because
+     * _mm256_loadu_si256 requires a const __m256i * pointer for some reason. */
+    const __m256i *const xsecret = (const __m256i *)secret;
+    const __m256i        prime32 = _mm256_set1_epi32((int)XXH_PRIME32_1);
+
+    size_t i;
+    for (i = 0; i < XXH_STRIPE_LEN / sizeof(__m256i); i++) {
+
+      /* xacc[i] ^= (xacc[i] >> 47) */
+      __m256i const acc_vec = xacc[i];
+      __m256i const shifted = _mm256_srli_epi64(acc_vec, 47);
+      __m256i const data_vec = _mm256_xor_si256(acc_vec, shifted);
+      /* xacc[i] ^= xsecret; */
+      __m256i const key_vec = _mm256_loadu_si256(xsecret + i);
+      __m256i const data_key = _mm256_xor_si256(data_vec, key_vec);
+
+      /* xacc[i] *= XXH_PRIME32_1; */
+      __m256i const data_key_hi =
+          _mm256_shuffle_epi32(data_key, _MM_SHUFFLE(0, 3, 0, 1));
+      __m256i const prod_lo = _mm256_mul_epu32(data_key, prime32);
+      __m256i const prod_hi = _mm256_mul_epu32(data_key_hi, prime32);
+      xacc[i] = _mm256_add_epi64(prod_lo, _mm256_slli_epi64(prod_hi, 32));
+
+    }
+
+  }
+
+}
+
+XXH_FORCE_INLINE XXH_TARGET_AVX2 void XXH3_initCustomSecret_avx2(
+    void *XXH_RESTRICT customSecret, xxh_u64 seed64) {
+
+  XXH_STATIC_ASSERT((XXH_SECRET_DEFAULT_SIZE & 31) == 0);
+  XXH_STATIC_ASSERT((XXH_SECRET_DEFAULT_SIZE / sizeof(__m256i)) == 6);
+  XXH_STATIC_ASSERT(XXH_SEC_ALIGN <= 64);
+  (void)(&XXH_writeLE64);
+  XXH_PREFETCH(customSecret);
+  {
+
+    __m256i const seed = _mm256_set_epi64x(-(xxh_i64)seed64, (xxh_i64)seed64,
+                                           -(xxh_i64)seed64, (xxh_i64)seed64);
+
+    XXH_ALIGN(64) const __m256i *const src = (const __m256i *)XXH3_kSecret;
+    XXH_ALIGN(64) __m256i *            dest = (__m256i *)customSecret;
+
+  #if defined(__GNUC__) || defined(__clang__)
+    /*
+     * On GCC & Clang, marking 'dest' as modified will cause the compiler:
+     *   - do not extract the secret from sse registers in the internal loop
+     *   - use less common registers, and avoid pushing these reg into stack
+     * The asm hack causes Clang to assume that XXH3_kSecretPtr aliases with
+     * customSecret, and on aarch64, this prevented LDP from merging two
+     * loads together for free. Putting the loads together before the stores
+     * properly generates LDP.
+     */
+    __asm__("" : "+r"(dest));
+  #endif
+
+    /* GCC -O2 need unroll loop manually */
+    dest[0] = _mm256_add_epi64(_mm256_stream_load_si256(src + 0), seed);
+    dest[1] = _mm256_add_epi64(_mm256_stream_load_si256(src + 1), seed);
+    dest[2] = _mm256_add_epi64(_mm256_stream_load_si256(src + 2), seed);
+    dest[3] = _mm256_add_epi64(_mm256_stream_load_si256(src + 3), seed);
+    dest[4] = _mm256_add_epi64(_mm256_stream_load_si256(src + 4), seed);
+    dest[5] = _mm256_add_epi64(_mm256_stream_load_si256(src + 5), seed);
+
+  }
+
+}
+
+#endif
+
+#if (XXH_VECTOR == XXH_SSE2) || defined(XXH_X86DISPATCH)
+
+  #ifndef XXH_TARGET_SSE2
+    #define XXH_TARGET_SSE2                     /* disable attribute target */
+  #endif
+
+XXH_FORCE_INLINE XXH_TARGET_SSE2 void XXH3_accumulate_512_sse2(
+    void *XXH_RESTRICT acc, const void *XXH_RESTRICT input,
+    const void *XXH_RESTRICT secret, XXH3_accWidth_e accWidth) {
+
+  /* SSE2 is just a half-scale version of the AVX2 version. */
+  XXH_ASSERT((((size_t)acc) & 15) == 0);
+  {
+
+    XXH_ALIGN(16) __m128i *const xacc = (__m128i *)acc;
+    /* Unaligned. This is mainly for pointer arithmetic, and because
+     * _mm_loadu_si128 requires a const __m128i * pointer for some reason. */
+    const __m128i *const xinput = (const __m128i *)input;
+    /* Unaligned. This is mainly for pointer arithmetic, and because
+     * _mm_loadu_si128 requires a const __m128i * pointer for some reason. */
+    const __m128i *const xsecret = (const __m128i *)secret;
+
+    size_t i;
+    for (i = 0; i < XXH_STRIPE_LEN / sizeof(__m128i); i++) {
+
+      /* data_vec    = xinput[i]; */
+      __m128i const data_vec = _mm_loadu_si128(xinput + i);
+      /* key_vec     = xsecret[i]; */
+      __m128i const key_vec = _mm_loadu_si128(xsecret + i);
+      /* data_key    = data_vec ^ key_vec; */
+      __m128i const data_key = _mm_xor_si128(data_vec, key_vec);
+      /* data_key_lo = data_key >> 32; */
+      __m128i const data_key_lo =
+          _mm_shuffle_epi32(data_key, _MM_SHUFFLE(0, 3, 0, 1));
+      /* product     = (data_key & 0xffffffff) * (data_key_lo & 0xffffffff); */
+      __m128i const product = _mm_mul_epu32(data_key, data_key_lo);
+      if (accWidth == XXH3_acc_128bits) {
+
+        /* xacc[i] += swap(data_vec); */
+        __m128i const data_swap =
+            _mm_shuffle_epi32(data_vec, _MM_SHUFFLE(1, 0, 3, 2));
+        __m128i const sum = _mm_add_epi64(xacc[i], data_swap);
+        /* xacc[i] += product; */
+        xacc[i] = _mm_add_epi64(product, sum);
+
+      } else {                                           /* XXH3_acc_64bits */
+
+        /* xacc[i] += data_vec; */
+        __m128i const sum = _mm_add_epi64(xacc[i], data_vec);
+        /* xacc[i] += product; */
+        xacc[i] = _mm_add_epi64(product, sum);
+
+      }
+
+    }
+
+  }
+
+}
+
+XXH_FORCE_INLINE XXH_TARGET_SSE2 void XXH3_scrambleAcc_sse2(
+    void *XXH_RESTRICT acc, const void *XXH_RESTRICT secret) {
+
+  XXH_ASSERT((((size_t)acc) & 15) == 0);
+  {
+
+    XXH_ALIGN(16) __m128i *const xacc = (__m128i *)acc;
+    /* Unaligned. This is mainly for pointer arithmetic, and because
+     * _mm_loadu_si128 requires a const __m128i * pointer for some reason. */
+    const __m128i *const xsecret = (const __m128i *)secret;
+    const __m128i        prime32 = _mm_set1_epi32((int)XXH_PRIME32_1);
+
+    size_t i;
+    for (i = 0; i < XXH_STRIPE_LEN / sizeof(__m128i); i++) {
+
+      /* xacc[i] ^= (xacc[i] >> 47) */
+      __m128i const acc_vec = xacc[i];
+      __m128i const shifted = _mm_srli_epi64(acc_vec, 47);
+      __m128i const data_vec = _mm_xor_si128(acc_vec, shifted);
+      /* xacc[i] ^= xsecret[i]; */
+      __m128i const key_vec = _mm_loadu_si128(xsecret + i);
+      __m128i const data_key = _mm_xor_si128(data_vec, key_vec);
+
+      /* xacc[i] *= XXH_PRIME32_1; */
+      __m128i const data_key_hi =
+          _mm_shuffle_epi32(data_key, _MM_SHUFFLE(0, 3, 0, 1));
+      __m128i const prod_lo = _mm_mul_epu32(data_key, prime32);
+      __m128i const prod_hi = _mm_mul_epu32(data_key_hi, prime32);
+      xacc[i] = _mm_add_epi64(prod_lo, _mm_slli_epi64(prod_hi, 32));
+
+    }
+
+  }
+
+}
+
+XXH_FORCE_INLINE XXH_TARGET_SSE2 void XXH3_initCustomSecret_sse2(
+    void *XXH_RESTRICT customSecret, xxh_u64 seed64) {
+
+  XXH_STATIC_ASSERT((XXH_SECRET_DEFAULT_SIZE & 15) == 0);
+  (void)(&XXH_writeLE64);
+  {
+
+    int const nbRounds = XXH_SECRET_DEFAULT_SIZE / sizeof(__m128i);
+
+  #if defined(_MSC_VER) && defined(_M_IX86) && _MSC_VER < 1900
+    // MSVC 32bit mode does not support _mm_set_epi64x before 2015
+    XXH_ALIGN(16)
+    const xxh_i64 seed64x2[2] = {(xxh_i64)seed64, -(xxh_i64)seed64};
+    __m128i const seed = _mm_load_si128((__m128i const *)seed64x2);
+  #else
+    __m128i const seed = _mm_set_epi64x(-(xxh_i64)seed64, (xxh_i64)seed64);
+  #endif
+    int i;
+
+    XXH_ALIGN(64) const float *const  src = (float const *)XXH3_kSecret;
+    XXH_ALIGN(XXH_SEC_ALIGN) __m128i *dest = (__m128i *)customSecret;
+  #if defined(__GNUC__) || defined(__clang__)
+    /*
+     * On GCC & Clang, marking 'dest' as modified will cause the compiler:
+     *   - do not extract the secret from sse registers in the internal loop
+     *   - use less common registers, and avoid pushing these reg into stack
+     */
+    __asm__("" : "+r"(dest));
+  #endif
+
+    for (i = 0; i < nbRounds; ++i) {
+
+      dest[i] = _mm_add_epi64(_mm_castps_si128(_mm_load_ps(src + i * 4)), seed);
+
+    }
+
+  }
+
+}
+
+#endif
+
+#if (XXH_VECTOR == XXH_NEON)
+
+XXH_FORCE_INLINE void XXH3_accumulate_512_neon(void *XXH_RESTRICT       acc,
+                                               const void *XXH_RESTRICT input,
+                                               const void *XXH_RESTRICT secret,
+                                               XXH3_accWidth_e accWidth) {
+
+  XXH_ASSERT((((size_t)acc) & 15) == 0);
+  {
+
+    XXH_ALIGN(16) uint64x2_t *const xacc = (uint64x2_t *)acc;
+    /* We don't use a uint32x4_t pointer because it causes bus errors on ARMv7.
+     */
+    uint8_t const *const xinput = (const uint8_t *)input;
+    uint8_t const *const xsecret = (const uint8_t *)secret;
+
+    size_t i;
+    for (i = 0; i < XXH_STRIPE_LEN / sizeof(uint64x2_t); i++) {
+
+      /* data_vec = xinput[i]; */
+      uint8x16_t data_vec = vld1q_u8(xinput + (i * 16));
+      /* key_vec  = xsecret[i];  */
+      uint8x16_t key_vec = vld1q_u8(xsecret + (i * 16));
+      uint64x2_t data_key;
+      uint32x2_t data_key_lo, data_key_hi;
+      if (accWidth == XXH3_acc_64bits) {
+
+        /* xacc[i] += data_vec; */
+        xacc[i] = vaddq_u64(xacc[i], vreinterpretq_u64_u8(data_vec));
+
+      } else {                                          /* XXH3_acc_128bits */
+
+        /* xacc[i] += swap(data_vec); */
+        uint64x2_t const data64 = vreinterpretq_u64_u8(data_vec);
+        uint64x2_t const swapped = vextq_u64(data64, data64, 1);
+        xacc[i] = vaddq_u64(xacc[i], swapped);
+
+      }
+
+      /* data_key = data_vec ^ key_vec; */
+      data_key = vreinterpretq_u64_u8(veorq_u8(data_vec, key_vec));
+      /* data_key_lo = (uint32x2_t) (data_key & 0xFFFFFFFF);
+       * data_key_hi = (uint32x2_t) (data_key >> 32);
+       * data_key = UNDEFINED; */
+      XXH_SPLIT_IN_PLACE(data_key, data_key_lo, data_key_hi);
+      /* xacc[i] += (uint64x2_t) data_key_lo * (uint64x2_t) data_key_hi; */
+      xacc[i] = vmlal_u32(xacc[i], data_key_lo, data_key_hi);
+
+    }
+
+  }
+
+}
+
+XXH_FORCE_INLINE void XXH3_scrambleAcc_neon(void *XXH_RESTRICT       acc,
+                                            const void *XXH_RESTRICT secret) {
+
+  XXH_ASSERT((((size_t)acc) & 15) == 0);
+
+  {
+
+    uint64x2_t *   xacc = (uint64x2_t *)acc;
+    uint8_t const *xsecret = (uint8_t const *)secret;
+    uint32x2_t     prime = vdup_n_u32(XXH_PRIME32_1);
+
+    size_t i;
+    for (i = 0; i < XXH_STRIPE_LEN / sizeof(uint64x2_t); i++) {
+
+      /* xacc[i] ^= (xacc[i] >> 47); */
+      uint64x2_t acc_vec = xacc[i];
+      uint64x2_t shifted = vshrq_n_u64(acc_vec, 47);
+      uint64x2_t data_vec = veorq_u64(acc_vec, shifted);
+
+      /* xacc[i] ^= xsecret[i]; */
+      uint8x16_t key_vec = vld1q_u8(xsecret + (i * 16));
+      uint64x2_t data_key = veorq_u64(data_vec, vreinterpretq_u64_u8(key_vec));
+
+      /* xacc[i] *= XXH_PRIME32_1 */
+      uint32x2_t data_key_lo, data_key_hi;
+      /* data_key_lo = (uint32x2_t) (xacc[i] & 0xFFFFFFFF);
+       * data_key_hi = (uint32x2_t) (xacc[i] >> 32);
+       * xacc[i] = UNDEFINED; */
+      XXH_SPLIT_IN_PLACE(data_key, data_key_lo, data_key_hi);
+      { /*
+         * prod_hi = (data_key >> 32) * XXH_PRIME32_1;
+         *
+         * Avoid vmul_u32 + vshll_n_u32 since Clang 6 and 7 will
+         * incorrectly "optimize" this:
+         *   tmp     = vmul_u32(vmovn_u64(a), vmovn_u64(b));
+         *   shifted = vshll_n_u32(tmp, 32);
+         * to this:
+         *   tmp     = "vmulq_u64"(a, b); // no such thing!
+         *   shifted = vshlq_n_u64(tmp, 32);
+         *
+         * However, unlike SSE, Clang lacks a 64-bit multiply routine
+         * for NEON, and it scalarizes two 64-bit multiplies instead.
+         *
+         * vmull_u32 has the same timing as vmul_u32, and it avoids
+         * this bug completely.
+         * See https://bugs.llvm.org/show_bug.cgi?id=39967
+         */
+        uint64x2_t prod_hi = vmull_u32(data_key_hi, prime);
+        /* xacc[i] = prod_hi << 32; */
+        xacc[i] = vshlq_n_u64(prod_hi, 32);
+        /* xacc[i] += (prod_hi & 0xFFFFFFFF) * XXH_PRIME32_1; */
+        xacc[i] = vmlal_u32(xacc[i], data_key_lo, prime);
+
+      }
+
+    }
+
+  }
+
+}
+
+#endif
+
+#if (XXH_VECTOR == XXH_VSX)
+
+XXH_FORCE_INLINE void XXH3_accumulate_512_vsx(void *XXH_RESTRICT       acc,
+                                              const void *XXH_RESTRICT input,
+                                              const void *XXH_RESTRICT secret,
+                                              XXH3_accWidth_e accWidth) {
+
+  xxh_u64x2 *const       xacc = (xxh_u64x2 *)acc;       /* presumed aligned */
+  xxh_u64x2 const *const xinput =
+      (xxh_u64x2 const *)input;                 /* no alignment restriction */
+  xxh_u64x2 const *const xsecret =
+      (xxh_u64x2 const *)secret;                /* no alignment restriction */
+  xxh_u64x2 const v32 = {32, 32};
+  size_t          i;
+  for (i = 0; i < XXH_STRIPE_LEN / sizeof(xxh_u64x2); i++) {
+
+    /* data_vec = xinput[i]; */
+    xxh_u64x2 const data_vec = XXH_vec_loadu(xinput + i);
+    /* key_vec = xsecret[i]; */
+    xxh_u64x2 const key_vec = XXH_vec_loadu(xsecret + i);
+    xxh_u64x2 const data_key = data_vec ^ key_vec;
+    /* shuffled = (data_key << 32) | (data_key >> 32); */
+    xxh_u32x4 const shuffled = (xxh_u32x4)vec_rl(data_key, v32);
+    /* product = ((xxh_u64x2)data_key & 0xFFFFFFFF) * ((xxh_u64x2)shuffled &
+     * 0xFFFFFFFF); */
+    xxh_u64x2 const product = XXH_vec_mulo((xxh_u32x4)data_key, shuffled);
+    xacc[i] += product;
+
+    if (accWidth == XXH3_acc_64bits) {
+
+      xacc[i] += data_vec;
+
+    } else {                                            /* XXH3_acc_128bits */
+
+        /* swap high and low halves */
+  #ifdef __s390x__
+      xxh_u64x2 const data_swapped = vec_permi(data_vec, data_vec, 2);
+  #else
+      xxh_u64x2 const data_swapped = vec_xxpermdi(data_vec, data_vec, 2);
+  #endif
+      xacc[i] += data_swapped;
+
+    }
+
+  }
+
+}
+
+XXH_FORCE_INLINE void XXH3_scrambleAcc_vsx(void *XXH_RESTRICT       acc,
+                                           const void *XXH_RESTRICT secret) {
+
+  XXH_ASSERT((((size_t)acc) & 15) == 0);
+
+  {
+
+    xxh_u64x2 *const       xacc = (xxh_u64x2 *)acc;
+    const xxh_u64x2 *const xsecret = (const xxh_u64x2 *)secret;
+    /* constants */
+    xxh_u64x2 const v32 = {32, 32};
+    xxh_u64x2 const v47 = {47, 47};
+    xxh_u32x4 const prime = {XXH_PRIME32_1, XXH_PRIME32_1, XXH_PRIME32_1,
+                             XXH_PRIME32_1};
+    size_t          i;
+    for (i = 0; i < XXH_STRIPE_LEN / sizeof(xxh_u64x2); i++) {
+
+      /* xacc[i] ^= (xacc[i] >> 47); */
+      xxh_u64x2 const acc_vec = xacc[i];
+      xxh_u64x2 const data_vec = acc_vec ^ (acc_vec >> v47);
+
+      /* xacc[i] ^= xsecret[i]; */
+      xxh_u64x2 const key_vec = XXH_vec_loadu(xsecret + i);
+      xxh_u64x2 const data_key = data_vec ^ key_vec;
+
+      /* xacc[i] *= XXH_PRIME32_1 */
+      /* prod_lo = ((xxh_u64x2)data_key & 0xFFFFFFFF) * ((xxh_u64x2)prime &
+       * 0xFFFFFFFF);  */
+      xxh_u64x2 const prod_even = XXH_vec_mule((xxh_u32x4)data_key, prime);
+      /* prod_hi = ((xxh_u64x2)data_key >> 32) * ((xxh_u64x2)prime >> 32);  */
+      xxh_u64x2 const prod_odd = XXH_vec_mulo((xxh_u32x4)data_key, prime);
+      xacc[i] = prod_odd + (prod_even << v32);
+
+    }
+
+  }
+
+}
+
+#endif
+
+/* scalar variants - universal */
+
+XXH_FORCE_INLINE void XXH3_accumulate_512_scalar(
+    void *XXH_RESTRICT acc, const void *XXH_RESTRICT input,
+    const void *XXH_RESTRICT secret, XXH3_accWidth_e accWidth) {
+
+  XXH_ALIGN(XXH_ACC_ALIGN)
+  xxh_u64 *const      xacc = (xxh_u64 *)acc;            /* presumed aligned */
+  const xxh_u8 *const xinput =
+      (const xxh_u8 *)input;                    /* no alignment restriction */
+  const xxh_u8 *const xsecret =
+      (const xxh_u8 *)secret;                   /* no alignment restriction */
+  size_t i;
+  XXH_ASSERT(((size_t)acc & (XXH_ACC_ALIGN - 1)) == 0);
+  for (i = 0; i < XXH_ACC_NB; i++) {
+
+    xxh_u64 const data_val = XXH_readLE64(xinput + 8 * i);
+    xxh_u64 const data_key = data_val ^ XXH_readLE64(xsecret + i * 8);
+
+    if (accWidth == XXH3_acc_64bits) {
+
+      xacc[i] += data_val;
+
+    } else {
+
+      xacc[i ^ 1] += data_val;                       /* swap adjacent lanes */
+
+    }
+
+    xacc[i] += XXH_mult32to64(data_key & 0xFFFFFFFF, data_key >> 32);
+
+  }
+
+}
+
+XXH_FORCE_INLINE void XXH3_scrambleAcc_scalar(void *XXH_RESTRICT       acc,
+                                              const void *XXH_RESTRICT secret) {
+
+  XXH_ALIGN(XXH_ACC_ALIGN)
+  xxh_u64 *const      xacc = (xxh_u64 *)acc;            /* presumed aligned */
+  const xxh_u8 *const xsecret =
+      (const xxh_u8 *)secret;                   /* no alignment restriction */
+  size_t i;
+  XXH_ASSERT((((size_t)acc) & (XXH_ACC_ALIGN - 1)) == 0);
+  for (i = 0; i < XXH_ACC_NB; i++) {
+
+    xxh_u64 const key64 = XXH_readLE64(xsecret + 8 * i);
+    xxh_u64       acc64 = xacc[i];
+    acc64 = XXH_xorshift64(acc64, 47);
+    acc64 ^= key64;
+    acc64 *= XXH_PRIME32_1;
+    xacc[i] = acc64;
+
+  }
+
+}
+
+XXH_FORCE_INLINE void XXH3_initCustomSecret_scalar(
+    void *XXH_RESTRICT customSecret, xxh_u64 seed64) {
+
+  /*
+   * We need a separate pointer for the hack below,
+   * which requires a non-const pointer.
+   * Any decent compiler will optimize this out otherwise.
+   */
+  const xxh_u8 *kSecretPtr = XXH3_kSecret;
+  XXH_STATIC_ASSERT((XXH_SECRET_DEFAULT_SIZE & 15) == 0);
+
+#if defined(__clang__) && defined(__aarch64__)
+  /*
+   * UGLY HACK:
+   * Clang generates a bunch of MOV/MOVK pairs for aarch64, and they are
+   * placed sequentially, in order, at the top of the unrolled loop.
+   *
+   * While MOVK is great for generating constants (2 cycles for a 64-bit
+   * constant compared to 4 cycles for LDR), long MOVK chains stall the
+   * integer pipelines:
+   *   I   L   S
+   * MOVK
+   * MOVK
+   * MOVK
+   * MOVK
+   * ADD
+   * SUB      STR
+   *          STR
+   * By forcing loads from memory (as the asm line causes Clang to assume
+   * that XXH3_kSecretPtr has been changed), the pipelines are used more
+   * efficiently:
+   *   I   L   S
+   *      LDR
+   *  ADD LDR
+   *  SUB     STR
+   *          STR
+   * XXH3_64bits_withSeed, len == 256, Snapdragon 835
+   *   without hack: 2654.4 MB/s
+   *   with hack:    3202.9 MB/s
+   */
+  __asm__("" : "+r"(kSecretPtr));
+#endif
+  /*
+   * Note: in debug mode, this overrides the asm optimization
+   * and Clang will emit MOVK chains again.
+   */
+  XXH_ASSERT(kSecretPtr == XXH3_kSecret);
+
+  {
+
+    int const nbRounds = XXH_SECRET_DEFAULT_SIZE / 16;
+    int       i;
+    for (i = 0; i < nbRounds; i++) {
+
+      /*
+       * The asm hack causes Clang to assume that kSecretPtr aliases with
+       * customSecret, and on aarch64, this prevented LDP from merging two
+       * loads together for free. Putting the loads together before the stores
+       * properly generates LDP.
+       */
+      xxh_u64 lo = XXH_readLE64(kSecretPtr + 16 * i) + seed64;
+      xxh_u64 hi = XXH_readLE64(kSecretPtr + 16 * i + 8) - seed64;
+      XXH_writeLE64((xxh_u8 *)customSecret + 16 * i, lo);
+      XXH_writeLE64((xxh_u8 *)customSecret + 16 * i + 8, hi);
+
+    }
+
+  }
+
+}
+
+typedef void (*XXH3_f_accumulate_512)(void *XXH_RESTRICT, const void *,
+                                      const void *, XXH3_accWidth_e);
+typedef void (*XXH3_f_scrambleAcc)(void *XXH_RESTRICT, const void *);
+typedef void (*XXH3_f_initCustomSecret)(void *XXH_RESTRICT, xxh_u64);
+
+#if (XXH_VECTOR == XXH_AVX512)
+
+  #define XXH3_accumulate_512 XXH3_accumulate_512_avx512
+  #define XXH3_scrambleAcc XXH3_scrambleAcc_avx512
+  #define XXH3_initCustomSecret XXH3_initCustomSecret_avx512
+
+#elif (XXH_VECTOR == XXH_AVX2)
+
+  #define XXH3_accumulate_512 XXH3_accumulate_512_avx2
+  #define XXH3_scrambleAcc XXH3_scrambleAcc_avx2
+  #define XXH3_initCustomSecret XXH3_initCustomSecret_avx2
+
+#elif (XXH_VECTOR == XXH_SSE2)
+
+  #define XXH3_accumulate_512 XXH3_accumulate_512_sse2
+  #define XXH3_scrambleAcc XXH3_scrambleAcc_sse2
+  #define XXH3_initCustomSecret XXH3_initCustomSecret_sse2
+
+#elif (XXH_VECTOR == XXH_NEON)
+
+  #define XXH3_accumulate_512 XXH3_accumulate_512_neon
+  #define XXH3_scrambleAcc XXH3_scrambleAcc_neon
+  #define XXH3_initCustomSecret XXH3_initCustomSecret_scalar
+
+#elif (XXH_VECTOR == XXH_VSX)
+
+  #define XXH3_accumulate_512 XXH3_accumulate_512_vsx
+  #define XXH3_scrambleAcc XXH3_scrambleAcc_vsx
+  #define XXH3_initCustomSecret XXH3_initCustomSecret_scalar
+
+#else                                                             /* scalar */
+
+  #define XXH3_accumulate_512 XXH3_accumulate_512_scalar
+  #define XXH3_scrambleAcc XXH3_scrambleAcc_scalar
+  #define XXH3_initCustomSecret XXH3_initCustomSecret_scalar
+
+#endif
+
+#ifndef XXH_PREFETCH_DIST
+  #ifdef __clang__
+    #define XXH_PREFETCH_DIST 320
+  #else
+    #if (XXH_VECTOR == XXH_AVX512)
+      #define XXH_PREFETCH_DIST 512
+    #else
+      #define XXH_PREFETCH_DIST 384
+    #endif
+  #endif                                                       /* __clang__ */
+#endif                                                 /* XXH_PREFETCH_DIST */
+
+/*
+ * XXH3_accumulate()
+ * Loops over XXH3_accumulate_512().
+ * Assumption: nbStripes will not overflow the secret size
+ */
+XXH_FORCE_INLINE void XXH3_accumulate(xxh_u64 *XXH_RESTRICT      acc,
+                                      const xxh_u8 *XXH_RESTRICT input,
+                                      const xxh_u8 *XXH_RESTRICT secret,
+                                      size_t                     nbStripes,
+                                      XXH3_accWidth_e            accWidth,
+                                      XXH3_f_accumulate_512      f_acc512) {
+
+  size_t n;
+  for (n = 0; n < nbStripes; n++) {
+
+    const xxh_u8 *const in = input + n * XXH_STRIPE_LEN;
+    XXH_PREFETCH(in + XXH_PREFETCH_DIST);
+    f_acc512(acc, in, secret + n * XXH_SECRET_CONSUME_RATE, accWidth);
+
+  }
+
+}
+
+XXH_FORCE_INLINE void XXH3_hashLong_internal_loop(
+    xxh_u64 *XXH_RESTRICT acc, const xxh_u8 *XXH_RESTRICT input, size_t len,
+    const xxh_u8 *XXH_RESTRICT secret, size_t secretSize,
+    XXH3_accWidth_e accWidth, XXH3_f_accumulate_512 f_acc512,
+    XXH3_f_scrambleAcc f_scramble) {
+
+  size_t const nb_rounds =
+      (secretSize - XXH_STRIPE_LEN) / XXH_SECRET_CONSUME_RATE;
+  size_t const block_len = XXH_STRIPE_LEN * nb_rounds;
+  size_t const nb_blocks = len / block_len;
+
+  size_t n;
+
+  XXH_ASSERT(secretSize >= XXH3_SECRET_SIZE_MIN);
+
+  for (n = 0; n < nb_blocks; n++) {
+
+    XXH3_accumulate(acc, input + n * block_len, secret, nb_rounds, accWidth,
+                    f_acc512);
+    f_scramble(acc, secret + secretSize - XXH_STRIPE_LEN);
+
+  }
+
+  /* last partial block */
+  XXH_ASSERT(len > XXH_STRIPE_LEN);
+  {
+
+    size_t const nbStripes = (len - (block_len * nb_blocks)) / XXH_STRIPE_LEN;
+    XXH_ASSERT(nbStripes <= (secretSize / XXH_SECRET_CONSUME_RATE));
+    XXH3_accumulate(acc, input + nb_blocks * block_len, secret, nbStripes,
+                    accWidth, f_acc512);
+
+    /* last stripe */
+    if (len & (XXH_STRIPE_LEN - 1)) {
+
+      const xxh_u8 *const p = input + len - XXH_STRIPE_LEN;
+      /* Do not align on 8, so that the secret is different from the scrambler
+       */
+#define XXH_SECRET_LASTACC_START 7
+      f_acc512(acc, p,
+               secret + secretSize - XXH_STRIPE_LEN - XXH_SECRET_LASTACC_START,
+               accWidth);
+
+    }
+
+  }
+
+}
+
+XXH_FORCE_INLINE xxh_u64 XXH3_mix2Accs(const xxh_u64 *XXH_RESTRICT acc,
+                                       const xxh_u8 *XXH_RESTRICT  secret) {
+
+  return XXH3_mul128_fold64(acc[0] ^ XXH_readLE64(secret),
+                            acc[1] ^ XXH_readLE64(secret + 8));
+
+}
+
+static XXH64_hash_t XXH3_mergeAccs(const xxh_u64 *XXH_RESTRICT acc,
+                                   const xxh_u8 *XXH_RESTRICT  secret,
+                                   xxh_u64                     start) {
+
+  xxh_u64 result64 = start;
+  size_t  i = 0;
+
+  for (i = 0; i < 4; i++) {
+
+    result64 += XXH3_mix2Accs(acc + 2 * i, secret + 16 * i);
+#if defined(__clang__)                                /* Clang */ \
+    && (defined(__arm__) || defined(__thumb__))       /* ARMv7 */ \
+    && (defined(__ARM_NEON) || defined(__ARM_NEON__)) /* NEON */  \
+    && !defined(XXH_ENABLE_AUTOVECTORIZE)              /* Define to disable */
+    /*
+     * UGLY HACK:
+     * Prevent autovectorization on Clang ARMv7-a. Exact same problem as
+     * the one in XXH3_len_129to240_64b. Speeds up shorter keys > 240b.
+     * XXH3_64bits, len == 256, Snapdragon 835:
+     *   without hack: 2063.7 MB/s
+     *   with hack:    2560.7 MB/s
+     */
+    __asm__("" : "+r"(result64));
+#endif
+
+  }
+
+  return XXH3_avalanche(result64);
+
+}
+
+#define XXH3_INIT_ACC                                                          \
+  {                                                                            \
+                                                                               \
+    XXH_PRIME32_3, XXH_PRIME64_1, XXH_PRIME64_2, XXH_PRIME64_3, XXH_PRIME64_4, \
+        XXH_PRIME32_2, XXH_PRIME64_5, XXH_PRIME32_1                            \
+                                                                               \
+  }
+
+XXH_FORCE_INLINE XXH64_hash_t XXH3_hashLong_64b_internal(
+    const xxh_u8 *XXH_RESTRICT input, size_t len,
+    const xxh_u8 *XXH_RESTRICT secret, size_t secretSize,
+    XXH3_f_accumulate_512 f_acc512, XXH3_f_scrambleAcc f_scramble) {
+
+  XXH_ALIGN(XXH_ACC_ALIGN) xxh_u64 acc[XXH_ACC_NB] = XXH3_INIT_ACC;
+
+  XXH3_hashLong_internal_loop(acc, input, len, secret, secretSize,
+                              XXH3_acc_64bits, f_acc512, f_scramble);
+
+  /* converge into final hash */
+  XXH_STATIC_ASSERT(sizeof(acc) == 64);
+  /* do not align on 8, so that the secret is different from the accumulator */
+#define XXH_SECRET_MERGEACCS_START 11
+  XXH_ASSERT(secretSize >= sizeof(acc) + XXH_SECRET_MERGEACCS_START);
+  return XXH3_mergeAccs(acc, secret + XXH_SECRET_MERGEACCS_START,
+                        (xxh_u64)len * XXH_PRIME64_1);
+
+}
+
+/*
+ * It's important for performance that XXH3_hashLong is not inlined.
+ */
+XXH_NO_INLINE XXH64_hash_t XXH3_hashLong_64b_withSecret(
+    const xxh_u8 *XXH_RESTRICT input, size_t len, XXH64_hash_t seed64,
+    const xxh_u8 *XXH_RESTRICT secret, size_t secretLen) {
+
+  (void)seed64;
+  return XXH3_hashLong_64b_internal(input, len, secret, secretLen,
+                                    XXH3_accumulate_512, XXH3_scrambleAcc);
+
+}
+
+/*
+ * XXH3_hashLong_64b_withSeed():
+ * Generate a custom key based on alteration of default XXH3_kSecret with the
+ * seed, and then use this key for long mode hashing.
+ *
+ * This operation is decently fast but nonetheless costs a little bit of time.
+ * Try to avoid it whenever possible (typically when seed==0).
+ *
+ * It's important for performance that XXH3_hashLong is not inlined. Not sure
+ * why (uop cache maybe?), but the difference is large and easily measurable.
+ */
+XXH_FORCE_INLINE XXH64_hash_t XXH3_hashLong_64b_withSeed_internal(
+    const xxh_u8 *input, size_t len, XXH64_hash_t seed,
+    XXH3_f_accumulate_512 f_acc512, XXH3_f_scrambleAcc f_scramble,
+    XXH3_f_initCustomSecret f_initSec) {
+
+  if (seed == 0)
+    return XXH3_hashLong_64b_internal(
+        input, len, XXH3_kSecret, sizeof(XXH3_kSecret), f_acc512, f_scramble);
+  {
+
+    XXH_ALIGN(XXH_SEC_ALIGN) xxh_u8 secret[XXH_SECRET_DEFAULT_SIZE];
+    f_initSec(secret, seed);
+    return XXH3_hashLong_64b_internal(input, len, secret, sizeof(secret),
+                                      f_acc512, f_scramble);
+
+  }
+
+}
+
+/*
+ * It's important for performance that XXH3_hashLong is not inlined.
+ */
+XXH_NO_INLINE XXH64_hash_t XXH3_hashLong_64b_withSeed(const xxh_u8 *input,
+                                                      size_t        len,
+                                                      XXH64_hash_t  seed,
+                                                      const xxh_u8 *secret,
+                                                      size_t        secretLen) {
+
+  (void)secret;
+  (void)secretLen;
+  return XXH3_hashLong_64b_withSeed_internal(
+      input, len, seed, XXH3_accumulate_512, XXH3_scrambleAcc,
+      XXH3_initCustomSecret);
+
+}
+
+typedef XXH64_hash_t (*XXH3_hashLong64_f)(const xxh_u8 *XXH_RESTRICT, size_t,
+                                          XXH64_hash_t,
+                                          const xxh_u8 *XXH_RESTRICT, size_t);
+
+XXH_FORCE_INLINE XXH64_hash_t
+XXH3_64bits_internal(const void *XXH_RESTRICT input, size_t len,
+                     XXH64_hash_t seed64, const void *XXH_RESTRICT secret,
+                     size_t secretLen, XXH3_hashLong64_f f_hashLong) {
+
+  XXH_ASSERT(secretLen >= XXH3_SECRET_SIZE_MIN);
+  /*
+   * If an action is to be taken if `secretLen` condition is not respected,
+   * it should be done here.
+   * For now, it's a contract pre-condition.
+   * Adding a check and a branch here would cost performance at every hash.
+   * Also, note that function signature doesn't offer room to return an error.
+   */
+  if (len <= 16)
+    return XXH3_len_0to16_64b((const xxh_u8 *)input, len,
+                              (const xxh_u8 *)secret, seed64);
+  if (len <= 128)
+    return XXH3_len_17to128_64b((const xxh_u8 *)input, len,
+                                (const xxh_u8 *)secret, secretLen, seed64);
+  if (len <= XXH3_MIDSIZE_MAX)
+    return XXH3_len_129to240_64b((const xxh_u8 *)input, len,
+                                 (const xxh_u8 *)secret, secretLen, seed64);
+  return f_hashLong((const xxh_u8 *)input, len, seed64, (const xxh_u8 *)secret,
+                    secretLen);
+
+}
+
+/* ===   Public entry point   === */
+
+XXH_PUBLIC_API XXH64_hash_t XXH3_64bits(const void *input, size_t len) {
+
+  return XXH3_64bits_internal(input, len, 0, XXH3_kSecret, sizeof(XXH3_kSecret),
+                              XXH3_hashLong_64b_withSecret);
+
+}
+
+XXH_PUBLIC_API XXH64_hash_t XXH3_64bits_withSecret(const void *input,
+                                                   size_t      len,
+                                                   const void *secret,
+                                                   size_t      secretSize) {
+
+  return XXH3_64bits_internal(input, len, 0, secret, secretSize,
+                              XXH3_hashLong_64b_withSecret);
+
+}
+
+XXH_PUBLIC_API XXH64_hash_t XXH3_64bits_withSeed(const void *input, size_t len,
+                                                 XXH64_hash_t seed) {
+
+  return XXH3_64bits_internal(input, len, seed, XXH3_kSecret,
+                              sizeof(XXH3_kSecret), XXH3_hashLong_64b_withSeed);
+
+}
+
+/* ===   XXH3 streaming   === */
+
+/*
+ * Malloc's a pointer that is always aligned to align.
+ *
+ * This must be freed with `XXH_alignedFree()`.
+ *
+ * malloc typically guarantees 16 byte alignment on 64-bit systems and 8 byte
+ * alignment on 32-bit. This isn't enough for the 32 byte aligned loads in AVX2
+ * or on 32-bit, the 16 byte aligned loads in SSE2 and NEON.
+ *
+ * This underalignment previously caused a rather obvious crash which went
+ * completely unnoticed due to XXH3_createState() not actually being tested.
+ * Credit to RedSpah for noticing this bug.
+ *
+ * The alignment is done manually: Functions like posix_memalign or _mm_malloc
+ * are avoided: To maintain portability, we would have to write a fallback
+ * like this anyways, and besides, testing for the existence of library
+ * functions without relying on external build tools is impossible.
+ *
+ * The method is simple: Overallocate, manually align, and store the offset
+ * to the original behind the returned pointer.
+ *
+ * Align must be a power of 2 and 8 <= align <= 128.
+ */
+static void *XXH_alignedMalloc(size_t s, size_t align) {
+
+  XXH_ASSERT(align <= 128 && align >= 8);                    /* range check */
+  XXH_ASSERT((align & (align - 1)) == 0);                     /* power of 2 */
+  XXH_ASSERT(s != 0 && s < (s + align));                  /* empty/overflow */
+  {  /* Overallocate to make room for manual realignment and an offset byte */
+    xxh_u8 *base = (xxh_u8 *)XXH_malloc(s + align);
+    if (base != NULL) {
+
+      /*
+       * Get the offset needed to align this pointer.
+       *
+       * Even if the returned pointer is aligned, there will always be
+       * at least one byte to store the offset to the original pointer.
+       */
+      size_t offset = align - ((size_t)base & (align - 1)); /* base % align */
+      /* Add the offset for the now-aligned pointer */
+      xxh_u8 *ptr = base + offset;
+
+      XXH_ASSERT((size_t)ptr % align == 0);
+
+      /* Store the offset immediately before the returned pointer. */
+      ptr[-1] = (xxh_u8)offset;
+      return ptr;
+
+    }
+
+    return NULL;
+
+  }
+
+}
+
+/*
+ * Frees an aligned pointer allocated by XXH_alignedMalloc(). Don't pass
+ * normal malloc'd pointers, XXH_alignedMalloc has a specific data layout.
+ */
+static void XXH_alignedFree(void *p) {
+
+  if (p != NULL) {
+
+    xxh_u8 *ptr = (xxh_u8 *)p;
+    /* Get the offset byte we added in XXH_malloc. */
+    xxh_u8 offset = ptr[-1];
+    /* Free the original malloc'd pointer */
+    xxh_u8 *base = ptr - offset;
+    XXH_free(base);
+
+  }
+
+}
+
+XXH_PUBLIC_API XXH3_state_t *XXH3_createState(void) {
+
+  return (XXH3_state_t *)XXH_alignedMalloc(sizeof(XXH3_state_t), 64);
+
+}
+
+XXH_PUBLIC_API XXH_errorcode XXH3_freeState(XXH3_state_t *statePtr) {
+
+  XXH_alignedFree(statePtr);
+  return XXH_OK;
+
+}
+
+XXH_PUBLIC_API void XXH3_copyState(XXH3_state_t *      dst_state,
+                                   const XXH3_state_t *src_state) {
+
+  memcpy(dst_state, src_state, sizeof(*dst_state));
+
+}
+
+static void XXH3_64bits_reset_internal(XXH3_state_t *statePtr,
+                                       XXH64_hash_t seed, const xxh_u8 *secret,
+                                       size_t secretSize) {
+
+  XXH_ASSERT(statePtr != NULL);
+  memset(statePtr, 0, sizeof(*statePtr));
+  statePtr->acc[0] = XXH_PRIME32_3;
+  statePtr->acc[1] = XXH_PRIME64_1;
+  statePtr->acc[2] = XXH_PRIME64_2;
+  statePtr->acc[3] = XXH_PRIME64_3;
+  statePtr->acc[4] = XXH_PRIME64_4;
+  statePtr->acc[5] = XXH_PRIME32_2;
+  statePtr->acc[6] = XXH_PRIME64_5;
+  statePtr->acc[7] = XXH_PRIME32_1;
+  statePtr->seed = seed;
+  XXH_ASSERT(secret != NULL);
+  statePtr->extSecret = secret;
+  XXH_ASSERT(secretSize >= XXH3_SECRET_SIZE_MIN);
+  statePtr->secretLimit = secretSize - XXH_STRIPE_LEN;
+  statePtr->nbStripesPerBlock = statePtr->secretLimit / XXH_SECRET_CONSUME_RATE;
+
+}
+
+XXH_PUBLIC_API XXH_errorcode XXH3_64bits_reset(XXH3_state_t *statePtr) {
+
+  if (statePtr == NULL) return XXH_ERROR;
+  XXH3_64bits_reset_internal(statePtr, 0, XXH3_kSecret,
+                             XXH_SECRET_DEFAULT_SIZE);
+  return XXH_OK;
+
+}
+
+XXH_PUBLIC_API XXH_errorcode XXH3_64bits_reset_withSecret(
+    XXH3_state_t *statePtr, const void *secret, size_t secretSize) {
+
+  if (statePtr == NULL) return XXH_ERROR;
+  XXH3_64bits_reset_internal(statePtr, 0, (const xxh_u8 *)secret, secretSize);
+  if (secret == NULL) return XXH_ERROR;
+  if (secretSize < XXH3_SECRET_SIZE_MIN) return XXH_ERROR;
+  return XXH_OK;
+
+}
+
+XXH_PUBLIC_API XXH_errorcode XXH3_64bits_reset_withSeed(XXH3_state_t *statePtr,
+                                                        XXH64_hash_t  seed) {
+
+  if (statePtr == NULL) return XXH_ERROR;
+  XXH3_64bits_reset_internal(statePtr, seed, XXH3_kSecret,
+                             XXH_SECRET_DEFAULT_SIZE);
+  XXH3_initCustomSecret(statePtr->customSecret, seed);
+  statePtr->extSecret = NULL;
+  return XXH_OK;
+
+}
+
+XXH_FORCE_INLINE void XXH3_consumeStripes(
+    xxh_u64 *XXH_RESTRICT acc, size_t *XXH_RESTRICT nbStripesSoFarPtr,
+    size_t nbStripesPerBlock, const xxh_u8 *XXH_RESTRICT input,
+    size_t totalStripes, const xxh_u8 *XXH_RESTRICT secret, size_t secretLimit,
+    XXH3_accWidth_e accWidth, XXH3_f_accumulate_512 f_acc512,
+    XXH3_f_scrambleAcc f_scramble) {
+
+  XXH_ASSERT(*nbStripesSoFarPtr < nbStripesPerBlock);
+  if (nbStripesPerBlock - *nbStripesSoFarPtr <= totalStripes) {
+
+    /* need a scrambling operation */
+    size_t const nbStripes = nbStripesPerBlock - *nbStripesSoFarPtr;
+    XXH3_accumulate(acc, input,
+                    secret + nbStripesSoFarPtr[0] * XXH_SECRET_CONSUME_RATE,
+                    nbStripes, accWidth, f_acc512);
+    f_scramble(acc, secret + secretLimit);
+    XXH3_accumulate(acc, input + nbStripes * XXH_STRIPE_LEN, secret,
+                    totalStripes - nbStripes, accWidth, f_acc512);
+    *nbStripesSoFarPtr = totalStripes - nbStripes;
+
+  } else {
+
+    XXH3_accumulate(acc, input,
+                    secret + nbStripesSoFarPtr[0] * XXH_SECRET_CONSUME_RATE,
+                    totalStripes, accWidth, f_acc512);
+    *nbStripesSoFarPtr += totalStripes;
+
+  }
+
+}
+
+/*
+ * Both XXH3_64bits_update and XXH3_128bits_update use this routine.
+ */
+XXH_FORCE_INLINE XXH_errorcode XXH3_update(XXH3_state_t *state,
+                                           const xxh_u8 *input, size_t len,
+                                           XXH3_accWidth_e       accWidth,
+                                           XXH3_f_accumulate_512 f_acc512,
+                                           XXH3_f_scrambleAcc    f_scramble) {
+
+  if (input == NULL)
+#if defined(XXH_ACCEPT_NULL_INPUT_POINTER) && \
+    (XXH_ACCEPT_NULL_INPUT_POINTER >= 1)
+    return XXH_OK;
+#else
+    return XXH_ERROR;
+#endif
+
+  {
+
+    const xxh_u8 *const        bEnd = input + len;
+    const unsigned char *const secret =
+        (state->extSecret == NULL) ? state->customSecret : state->extSecret;
+
+    state->totalLen += len;
+
+    if (state->bufferedSize + len <=
+        XXH3_INTERNALBUFFER_SIZE) {                   /* fill in tmp buffer */
+      XXH_memcpy(state->buffer + state->bufferedSize, input, len);
+      state->bufferedSize += (XXH32_hash_t)len;
+      return XXH_OK;
+
+    }
+
+    /* input is now > XXH3_INTERNALBUFFER_SIZE */
+
+#define XXH3_INTERNALBUFFER_STRIPES (XXH3_INTERNALBUFFER_SIZE / XXH_STRIPE_LEN)
+    XXH_STATIC_ASSERT(XXH3_INTERNALBUFFER_SIZE % XXH_STRIPE_LEN ==
+                      0);                                 /* clean multiple */
+
+    /*
+     * There is some input left inside the internal buffer.
+     * Fill it, then consume it.
+     */
+    if (state->bufferedSize) {
+
+      size_t const loadSize = XXH3_INTERNALBUFFER_SIZE - state->bufferedSize;
+      XXH_memcpy(state->buffer + state->bufferedSize, input, loadSize);
+      input += loadSize;
+      XXH3_consumeStripes(state->acc, &state->nbStripesSoFar,
+                          state->nbStripesPerBlock, state->buffer,
+                          XXH3_INTERNALBUFFER_STRIPES, secret,
+                          state->secretLimit, accWidth, f_acc512, f_scramble);
+      state->bufferedSize = 0;
+
+    }
+
+    /* Consume input by full buffer quantities */
+    if (input + XXH3_INTERNALBUFFER_SIZE <= bEnd) {
+
+      const xxh_u8 *const limit = bEnd - XXH3_INTERNALBUFFER_SIZE;
+      do {
+
+        XXH3_consumeStripes(state->acc, &state->nbStripesSoFar,
+                            state->nbStripesPerBlock, input,
+                            XXH3_INTERNALBUFFER_STRIPES, secret,
+                            state->secretLimit, accWidth, f_acc512, f_scramble);
+        input += XXH3_INTERNALBUFFER_SIZE;
+
+      } while (input <= limit);
+
+      /* for last partial stripe */
+      memcpy(state->buffer + sizeof(state->buffer) - XXH_STRIPE_LEN,
+             input - XXH_STRIPE_LEN, XXH_STRIPE_LEN);
+
+    }
+
+    if (input < bEnd) {                  /* Some remaining input: buffer it */
+      XXH_memcpy(state->buffer, input, (size_t)(bEnd - input));
+      state->bufferedSize = (XXH32_hash_t)(bEnd - input);
+
+    }
+
+  }
+
+  return XXH_OK;
+
+}
+
+XXH_PUBLIC_API XXH_errorcode XXH3_64bits_update(XXH3_state_t *state,
+                                                const void *input, size_t len) {
+
+  return XXH3_update(state, (const xxh_u8 *)input, len, XXH3_acc_64bits,
+                     XXH3_accumulate_512, XXH3_scrambleAcc);
+
+}
+
+XXH_FORCE_INLINE void XXH3_digest_long(XXH64_hash_t *       acc,
+                                       const XXH3_state_t * state,
+                                       const unsigned char *secret,
+                                       XXH3_accWidth_e      accWidth) {
+
+  /*
+   * Digest on a local copy. This way, the state remains unaltered, and it can
+   * continue ingesting more input afterwards.
+   */
+  memcpy(acc, state->acc, sizeof(state->acc));
+  if (state->bufferedSize >= XXH_STRIPE_LEN) {
+
+    size_t const nbStripes = state->bufferedSize / XXH_STRIPE_LEN;
+    size_t       nbStripesSoFar = state->nbStripesSoFar;
+    XXH3_consumeStripes(acc, &nbStripesSoFar, state->nbStripesPerBlock,
+                        state->buffer, nbStripes, secret, state->secretLimit,
+                        accWidth, XXH3_accumulate_512, XXH3_scrambleAcc);
+    if (state->bufferedSize % XXH_STRIPE_LEN) {  /* one last partial stripe */
+      XXH3_accumulate_512(
+          acc, state->buffer + state->bufferedSize - XXH_STRIPE_LEN,
+          secret + state->secretLimit - XXH_SECRET_LASTACC_START, accWidth);
+
+    }
+
+  } else {                                 /* bufferedSize < XXH_STRIPE_LEN */
+
+    if (state->bufferedSize) {                           /* one last stripe */
+      xxh_u8       lastStripe[XXH_STRIPE_LEN];
+      size_t const catchupSize = XXH_STRIPE_LEN - state->bufferedSize;
+      memcpy(lastStripe, state->buffer + sizeof(state->buffer) - catchupSize,
+             catchupSize);
+      memcpy(lastStripe + catchupSize, state->buffer, state->bufferedSize);
+      XXH3_accumulate_512(
+          acc, lastStripe,
+          secret + state->secretLimit - XXH_SECRET_LASTACC_START, accWidth);
+
+    }
+
+  }
+
+}
+
+XXH_PUBLIC_API XXH64_hash_t XXH3_64bits_digest(const XXH3_state_t *state) {
+
+  const unsigned char *const secret =
+      (state->extSecret == NULL) ? state->customSecret : state->extSecret;
+  if (state->totalLen > XXH3_MIDSIZE_MAX) {
+
+    XXH_ALIGN(XXH_ACC_ALIGN) XXH64_hash_t acc[XXH_ACC_NB];
+    XXH3_digest_long(acc, state, secret, XXH3_acc_64bits);
+    return XXH3_mergeAccs(acc, secret + XXH_SECRET_MERGEACCS_START,
+                          (xxh_u64)state->totalLen * XXH_PRIME64_1);
+
+  }
+
+  /* totalLen <= XXH3_MIDSIZE_MAX: digesting a short input */
+  if (state->seed)
+    return XXH3_64bits_withSeed(state->buffer, (size_t)state->totalLen,
+                                state->seed);
+  return XXH3_64bits_withSecret(state->buffer, (size_t)(state->totalLen),
+                                secret, state->secretLimit + XXH_STRIPE_LEN);
+
+}
+
+#define XXH_MIN(x, y) (((x) > (y)) ? (y) : (x))
+
+XXH_PUBLIC_API void XXH3_generateSecret(void *      secretBuffer,
+                                        const void *customSeed,
+                                        size_t      customSeedSize) {
+
+  XXH_ASSERT(secretBuffer != NULL);
+  if (customSeedSize == 0) {
+
+    memcpy(secretBuffer, XXH3_kSecret, XXH_SECRET_DEFAULT_SIZE);
+    return;
+
+  }
+
+  XXH_ASSERT(customSeed != NULL);
+
+  {
+
+    size_t const       segmentSize = sizeof(XXH128_hash_t);
+    size_t const       nbSegments = XXH_SECRET_DEFAULT_SIZE / segmentSize;
+    XXH128_canonical_t scrambler;
+    XXH64_hash_t       seeds[12];
+    size_t             segnb;
+    XXH_ASSERT(nbSegments == 12);
+    XXH_ASSERT(segmentSize * nbSegments ==
+               XXH_SECRET_DEFAULT_SIZE);                  /* exact multiple */
+    XXH128_canonicalFromHash(&scrambler, XXH128(customSeed, customSeedSize, 0));
+
+    /*
+     * Copy customSeed to seeds[], truncating or repeating as necessary.
+     */
+    {
+
+      size_t toFill = XXH_MIN(customSeedSize, sizeof(seeds));
+      size_t filled = toFill;
+      memcpy(seeds, customSeed, toFill);
+      while (filled < sizeof(seeds)) {
+
+        toFill = XXH_MIN(filled, sizeof(seeds) - filled);
+        memcpy((char *)seeds + filled, seeds, toFill);
+        filled += toFill;
+
+      }
+
+    }
+
+    /* generate secret */
+    memcpy(secretBuffer, &scrambler, sizeof(scrambler));
+    for (segnb = 1; segnb < nbSegments; segnb++) {
+
+      size_t const       segmentStart = segnb * segmentSize;
+      XXH128_canonical_t segment;
+      XXH128_canonicalFromHash(&segment,
+                               XXH128(&scrambler, sizeof(scrambler),
+                                      XXH_readLE64(seeds + segnb) + segnb));
+      memcpy((char *)secretBuffer + segmentStart, &segment, sizeof(segment));
+
+    }
+
+  }
+
+}
+
+/* ==========================================
+ * XXH3 128 bits (a.k.a XXH128)
+ * ==========================================
+ * XXH3's 128-bit variant has better mixing and strength than the 64-bit
+ * variant, even without counting the significantly larger output size.
+ *
+ * For example, extra steps are taken to avoid the seed-dependent collisions
+ * in 17-240 byte inputs (See XXH3_mix16B and XXH128_mix32B).
+ *
+ * This strength naturally comes at the cost of some speed, especially on short
+ * lengths. Note that longer hashes are about as fast as the 64-bit version
+ * due to it using only a slight modification of the 64-bit loop.
+ *
+ * XXH128 is also more oriented towards 64-bit machines. It is still extremely
+ * fast for a _128-bit_ hash on 32-bit (it usually clears XXH64).
+ */
+
+XXH_FORCE_INLINE XXH128_hash_t XXH3_len_1to3_128b(const xxh_u8 *input,
+                                                  size_t        len,
+                                                  const xxh_u8 *secret,
+                                                  XXH64_hash_t  seed) {
+
+  /* A doubled version of 1to3_64b with different constants. */
+  XXH_ASSERT(input != NULL);
+  XXH_ASSERT(1 <= len && len <= 3);
+  XXH_ASSERT(secret != NULL);
+  /*
+   * len = 1: combinedl = { input[0], 0x01, input[0], input[0] }
+   * len = 2: combinedl = { input[1], 0x02, input[0], input[1] }
+   * len = 3: combinedl = { input[2], 0x03, input[0], input[1] }
+   */
+  {
+
+    xxh_u8 const  c1 = input[0];
+    xxh_u8 const  c2 = input[len >> 1];
+    xxh_u8 const  c3 = input[len - 1];
+    xxh_u32 const combinedl = ((xxh_u32)c1 << 16) | ((xxh_u32)c2 << 24) |
+                              ((xxh_u32)c3 << 0) | ((xxh_u32)len << 8);
+    xxh_u32 const combinedh = XXH_rotl32(XXH_swap32(combinedl), 13);
+    xxh_u64 const bitflipl =
+        (XXH_readLE32(secret) ^ XXH_readLE32(secret + 4)) + seed;
+    xxh_u64 const bitfliph =
+        (XXH_readLE32(secret + 8) ^ XXH_readLE32(secret + 12)) - seed;
+    xxh_u64 const keyed_lo = (xxh_u64)combinedl ^ bitflipl;
+    xxh_u64 const keyed_hi = (xxh_u64)combinedh ^ bitfliph;
+    xxh_u64 const mixedl = keyed_lo * XXH_PRIME64_1;
+    xxh_u64 const mixedh = keyed_hi * XXH_PRIME64_5;
+    XXH128_hash_t h128;
+    h128.low64 = XXH3_avalanche(mixedl);
+    h128.high64 = XXH3_avalanche(mixedh);
+    return h128;
+
+  }
+
+}
+
+XXH_FORCE_INLINE XXH128_hash_t XXH3_len_4to8_128b(const xxh_u8 *input,
+                                                  size_t        len,
+                                                  const xxh_u8 *secret,
+                                                  XXH64_hash_t  seed) {
+
+  XXH_ASSERT(input != NULL);
+  XXH_ASSERT(secret != NULL);
+  XXH_ASSERT(4 <= len && len <= 8);
+  seed ^= (xxh_u64)XXH_swap32((xxh_u32)seed) << 32;
+  {
+
+    xxh_u32 const input_lo = XXH_readLE32(input);
+    xxh_u32 const input_hi = XXH_readLE32(input + len - 4);
+    xxh_u64 const input_64 = input_lo + ((xxh_u64)input_hi << 32);
+    xxh_u64 const bitflip =
+        (XXH_readLE64(secret + 16) ^ XXH_readLE64(secret + 24)) + seed;
+    xxh_u64 const keyed = input_64 ^ bitflip;
+
+    /* Shift len to the left to ensure it is even, this avoids even multiplies.
+     */
+    XXH128_hash_t m128 = XXH_mult64to128(keyed, XXH_PRIME64_1 + (len << 2));
+
+    m128.high64 += (m128.low64 << 1);
+    m128.low64 ^= (m128.high64 >> 3);
+
+    m128.low64 = XXH_xorshift64(m128.low64, 35);
+    m128.low64 *= 0x9FB21C651E98DF25ULL;
+    m128.low64 = XXH_xorshift64(m128.low64, 28);
+    m128.high64 = XXH3_avalanche(m128.high64);
+    return m128;
+
+  }
+
+}
+
+XXH_FORCE_INLINE XXH128_hash_t XXH3_len_9to16_128b(const xxh_u8 *input,
+                                                   size_t        len,
+                                                   const xxh_u8 *secret,
+                                                   XXH64_hash_t  seed) {
+
+  XXH_ASSERT(input != NULL);
+  XXH_ASSERT(secret != NULL);
+  XXH_ASSERT(9 <= len && len <= 16);
+  {
+
+    xxh_u64 const bitflipl =
+        (XXH_readLE64(secret + 32) ^ XXH_readLE64(secret + 40)) - seed;
+    xxh_u64 const bitfliph =
+        (XXH_readLE64(secret + 48) ^ XXH_readLE64(secret + 56)) + seed;
+    xxh_u64 const input_lo = XXH_readLE64(input);
+    xxh_u64       input_hi = XXH_readLE64(input + len - 8);
+    XXH128_hash_t m128 =
+        XXH_mult64to128(input_lo ^ input_hi ^ bitflipl, XXH_PRIME64_1);
+    /*
+     * Put len in the middle of m128 to ensure that the length gets mixed to
+     * both the low and high bits in the 128x64 multiply below.
+     */
+    m128.low64 += (xxh_u64)(len - 1) << 54;
+    input_hi ^= bitfliph;
+    /*
+     * Add the high 32 bits of input_hi to the high 32 bits of m128, then
+     * add the long product of the low 32 bits of input_hi and XXH_PRIME32_2 to
+     * the high 64 bits of m128.
+     *
+     * The best approach to this operation is different on 32-bit and 64-bit.
+     */
+    if (sizeof(void *) < sizeof(xxh_u64)) {                       /* 32-bit */
+      /*
+       * 32-bit optimized version, which is more readable.
+       *
+       * On 32-bit, it removes an ADC and delays a dependency between the two
+       * halves of m128.high64, but it generates an extra mask on 64-bit.
+       */
+      m128.high64 += (input_hi & 0xFFFFFFFF00000000) +
+                     XXH_mult32to64((xxh_u32)input_hi, XXH_PRIME32_2);
+
+    } else {
+
+      /*
+       * 64-bit optimized (albeit more confusing) version.
+       *
+       * Uses some properties of addition and multiplication to remove the mask:
+       *
+       * Let:
+       *    a = input_hi.lo = (input_hi & 0x00000000FFFFFFFF)
+       *    b = input_hi.hi = (input_hi & 0xFFFFFFFF00000000)
+       *    c = XXH_PRIME32_2
+       *
+       *    a + (b * c)
+       * Inverse Property: x + y - x == y
+       *    a + (b * (1 + c - 1))
+       * Distributive Property: x * (y + z) == (x * y) + (x * z)
+       *    a + (b * 1) + (b * (c - 1))
+       * Identity Property: x * 1 == x
+       *    a + b + (b * (c - 1))
+       *
+       * Substitute a, b, and c:
+       *    input_hi.hi + input_hi.lo + ((xxh_u64)input_hi.lo * (XXH_PRIME32_2 -
+       * 1))
+       *
+       * Since input_hi.hi + input_hi.lo == input_hi, we get this:
+       *    input_hi + ((xxh_u64)input_hi.lo * (XXH_PRIME32_2 - 1))
+       */
+      m128.high64 +=
+          input_hi + XXH_mult32to64((xxh_u32)input_hi, XXH_PRIME32_2 - 1);
+
+    }
+
+    /* m128 ^= XXH_swap64(m128 >> 64); */
+    m128.low64 ^= XXH_swap64(m128.high64);
+
+    {                      /* 128x64 multiply: h128 = m128 * XXH_PRIME64_2; */
+      XXH128_hash_t h128 = XXH_mult64to128(m128.low64, XXH_PRIME64_2);
+      h128.high64 += m128.high64 * XXH_PRIME64_2;
+
+      h128.low64 = XXH3_avalanche(h128.low64);
+      h128.high64 = XXH3_avalanche(h128.high64);
+      return h128;
+
+    }
+
+  }
+
+}
+
+/*
+ * Assumption: `secret` size is >= XXH3_SECRET_SIZE_MIN
+ */
+XXH_FORCE_INLINE XXH128_hash_t XXH3_len_0to16_128b(const xxh_u8 *input,
+                                                   size_t        len,
+                                                   const xxh_u8 *secret,
+                                                   XXH64_hash_t  seed) {
+
+  XXH_ASSERT(len <= 16);
+  {
+
+    if (len > 8) return XXH3_len_9to16_128b(input, len, secret, seed);
+    if (len >= 4) return XXH3_len_4to8_128b(input, len, secret, seed);
+    if (len) return XXH3_len_1to3_128b(input, len, secret, seed);
+    {
+
+      XXH128_hash_t h128;
+      xxh_u64 const bitflipl =
+          XXH_readLE64(secret + 64) ^ XXH_readLE64(secret + 72);
+      xxh_u64 const bitfliph =
+          XXH_readLE64(secret + 80) ^ XXH_readLE64(secret + 88);
+      h128.low64 = XXH3_avalanche((XXH_PRIME64_1 + seed) ^ bitflipl);
+      h128.high64 = XXH3_avalanche((XXH_PRIME64_2 - seed) ^ bitfliph);
+      return h128;
+
+    }
+
+  }
+
+}
+
+/*
+ * A bit slower than XXH3_mix16B, but handles multiply by zero better.
+ */
+XXH_FORCE_INLINE XXH128_hash_t XXH128_mix32B(XXH128_hash_t acc,
+                                             const xxh_u8 *input_1,
+                                             const xxh_u8 *input_2,
+                                             const xxh_u8 *secret,
+                                             XXH64_hash_t  seed) {
+
+  acc.low64 += XXH3_mix16B(input_1, secret + 0, seed);
+  acc.low64 ^= XXH_readLE64(input_2) + XXH_readLE64(input_2 + 8);
+  acc.high64 += XXH3_mix16B(input_2, secret + 16, seed);
+  acc.high64 ^= XXH_readLE64(input_1) + XXH_readLE64(input_1 + 8);
+  return acc;
+
+}
+
+XXH_FORCE_INLINE XXH128_hash_t XXH3_len_17to128_128b(
+    const xxh_u8 *XXH_RESTRICT input, size_t len,
+    const xxh_u8 *XXH_RESTRICT secret, size_t secretSize, XXH64_hash_t seed) {
+
+  XXH_ASSERT(secretSize >= XXH3_SECRET_SIZE_MIN);
+  (void)secretSize;
+  XXH_ASSERT(16 < len && len <= 128);
+
+  {
+
+    XXH128_hash_t acc;
+    acc.low64 = len * XXH_PRIME64_1;
+    acc.high64 = 0;
+    if (len > 32) {
+
+      if (len > 64) {
+
+        if (len > 96) {
+
+          acc = XXH128_mix32B(acc, input + 48, input + len - 64, secret + 96,
+                              seed);
+
+        }
+
+        acc =
+            XXH128_mix32B(acc, input + 32, input + len - 48, secret + 64, seed);
+
+      }
+
+      acc = XXH128_mix32B(acc, input + 16, input + len - 32, secret + 32, seed);
+
+    }
+
+    acc = XXH128_mix32B(acc, input, input + len - 16, secret, seed);
+    {
+
+      XXH128_hash_t h128;
+      h128.low64 = acc.low64 + acc.high64;
+      h128.high64 = (acc.low64 * XXH_PRIME64_1) + (acc.high64 * XXH_PRIME64_4) +
+                    ((len - seed) * XXH_PRIME64_2);
+      h128.low64 = XXH3_avalanche(h128.low64);
+      h128.high64 = (XXH64_hash_t)0 - XXH3_avalanche(h128.high64);
+      return h128;
+
+    }
+
+  }
+
+}
+
+XXH_NO_INLINE XXH128_hash_t XXH3_len_129to240_128b(
+    const xxh_u8 *XXH_RESTRICT input, size_t len,
+    const xxh_u8 *XXH_RESTRICT secret, size_t secretSize, XXH64_hash_t seed) {
+
+  XXH_ASSERT(secretSize >= XXH3_SECRET_SIZE_MIN);
+  (void)secretSize;
+  XXH_ASSERT(128 < len && len <= XXH3_MIDSIZE_MAX);
+
+  {
+
+    XXH128_hash_t acc;
+    int const     nbRounds = (int)len / 32;
+    int           i;
+    acc.low64 = len * XXH_PRIME64_1;
+    acc.high64 = 0;
+    for (i = 0; i < 4; i++) {
+
+      acc = XXH128_mix32B(acc, input + (32 * i), input + (32 * i) + 16,
+                          secret + (32 * i), seed);
+
+    }
+
+    acc.low64 = XXH3_avalanche(acc.low64);
+    acc.high64 = XXH3_avalanche(acc.high64);
+    XXH_ASSERT(nbRounds >= 4);
+    for (i = 4; i < nbRounds; i++) {
+
+      acc = XXH128_mix32B(acc, input + (32 * i), input + (32 * i) + 16,
+                          secret + XXH3_MIDSIZE_STARTOFFSET + (32 * (i - 4)),
+                          seed);
+
+    }
+
+    /* last bytes */
+    acc = XXH128_mix32B(
+        acc, input + len - 16, input + len - 32,
+        secret + XXH3_SECRET_SIZE_MIN - XXH3_MIDSIZE_LASTOFFSET - 16,
+        0ULL - seed);
+
+    {
+
+      XXH128_hash_t h128;
+      h128.low64 = acc.low64 + acc.high64;
+      h128.high64 = (acc.low64 * XXH_PRIME64_1) + (acc.high64 * XXH_PRIME64_4) +
+                    ((len - seed) * XXH_PRIME64_2);
+      h128.low64 = XXH3_avalanche(h128.low64);
+      h128.high64 = (XXH64_hash_t)0 - XXH3_avalanche(h128.high64);
+      return h128;
+
+    }
+
+  }
+
+}
+
+XXH_FORCE_INLINE XXH128_hash_t XXH3_hashLong_128b_internal(
+    const xxh_u8 *XXH_RESTRICT input, size_t len,
+    const xxh_u8 *XXH_RESTRICT secret, size_t secretSize,
+    XXH3_f_accumulate_512 f_acc512, XXH3_f_scrambleAcc f_scramble) {
+
+  XXH_ALIGN(XXH_ACC_ALIGN) xxh_u64 acc[XXH_ACC_NB] = XXH3_INIT_ACC;
+
+  XXH3_hashLong_internal_loop(acc, input, len, secret, secretSize,
+                              XXH3_acc_128bits, f_acc512, f_scramble);
+
+  /* converge into final hash */
+  XXH_STATIC_ASSERT(sizeof(acc) == 64);
+  XXH_ASSERT(secretSize >= sizeof(acc) + XXH_SECRET_MERGEACCS_START);
+  {
+
+    XXH128_hash_t h128;
+    h128.low64 = XXH3_mergeAccs(acc, secret + XXH_SECRET_MERGEACCS_START,
+                                (xxh_u64)len * XXH_PRIME64_1);
+    h128.high64 = XXH3_mergeAccs(
+        acc, secret + secretSize - sizeof(acc) - XXH_SECRET_MERGEACCS_START,
+        ~((xxh_u64)len * XXH_PRIME64_2));
+    return h128;
+
+  }
+
+}
+
+/*
+ * It's important for performance that XXH3_hashLong is not inlined.
+ */
+XXH_NO_INLINE XXH128_hash_t XXH3_hashLong_128b_defaultSecret(
+    const xxh_u8 *XXH_RESTRICT input, size_t len, XXH64_hash_t seed64,
+    const xxh_u8 *XXH_RESTRICT secret, size_t secretLen) {
+
+  (void)seed64;
+  (void)secret;
+  (void)secretLen;
+  return XXH3_hashLong_128b_internal(input, len, XXH3_kSecret,
+                                     sizeof(XXH3_kSecret), XXH3_accumulate_512,
+                                     XXH3_scrambleAcc);
+
+}
+
+/*
+ * It's important for performance that XXH3_hashLong is not inlined.
+ */
+XXH_NO_INLINE XXH128_hash_t XXH3_hashLong_128b_withSecret(
+    const xxh_u8 *XXH_RESTRICT input, size_t len, XXH64_hash_t seed64,
+    const xxh_u8 *XXH_RESTRICT secret, size_t secretLen) {
+
+  (void)seed64;
+  return XXH3_hashLong_128b_internal(input, len, secret, secretLen,
+                                     XXH3_accumulate_512, XXH3_scrambleAcc);
+
+}
+
+XXH_FORCE_INLINE XXH128_hash_t XXH3_hashLong_128b_withSeed_internal(
+    const xxh_u8 *XXH_RESTRICT input, size_t len, XXH64_hash_t seed64,
+    XXH3_f_accumulate_512 f_acc512, XXH3_f_scrambleAcc f_scramble,
+    XXH3_f_initCustomSecret f_initSec) {
+
+  if (seed64 == 0)
+    return XXH3_hashLong_128b_internal(
+        input, len, XXH3_kSecret, sizeof(XXH3_kSecret), f_acc512, f_scramble);
+  {
+
+    XXH_ALIGN(XXH_SEC_ALIGN) xxh_u8 secret[XXH_SECRET_DEFAULT_SIZE];
+    f_initSec(secret, seed64);
+    return XXH3_hashLong_128b_internal(input, len, secret, sizeof(secret),
+                                       f_acc512, f_scramble);
+
+  }
+
+}
+
+/*
+ * It's important for performance that XXH3_hashLong is not inlined.
+ */
+XXH_NO_INLINE XXH128_hash_t XXH3_hashLong_128b_withSeed(
+    const xxh_u8 *input, size_t len, XXH64_hash_t seed64,
+    const xxh_u8 *XXH_RESTRICT secret, size_t secretLen) {
+
+  (void)secret;
+  (void)secretLen;
+  return XXH3_hashLong_128b_withSeed_internal(
+      input, len, seed64, XXH3_accumulate_512, XXH3_scrambleAcc,
+      XXH3_initCustomSecret);
+
+}
+
+typedef XXH128_hash_t (*XXH3_hashLong128_f)(const xxh_u8 *XXH_RESTRICT, size_t,
+                                            XXH64_hash_t,
+                                            const xxh_u8 *XXH_RESTRICT, size_t);
+
+XXH_FORCE_INLINE XXH128_hash_t
+XXH3_128bits_internal(const void *input, size_t len, XXH64_hash_t seed64,
+                      const xxh_u8 *XXH_RESTRICT secret, size_t secretLen,
+                      XXH3_hashLong128_f f_hl128) {
+
+  XXH_ASSERT(secretLen >= XXH3_SECRET_SIZE_MIN);
+  /*
+   * If an action is to be taken if `secret` conditions are not respected,
+   * it should be done here.
+   * For now, it's a contract pre-condition.
+   * Adding a check and a branch here would cost performance at every hash.
+   */
+  if (len <= 16)
+    return XXH3_len_0to16_128b((const xxh_u8 *)input, len, secret, seed64);
+  if (len <= 128)
+    return XXH3_len_17to128_128b((const xxh_u8 *)input, len, secret, secretLen,
+                                 seed64);
+  if (len <= XXH3_MIDSIZE_MAX)
+    return XXH3_len_129to240_128b((const xxh_u8 *)input, len, secret, secretLen,
+                                  seed64);
+  return f_hl128((const xxh_u8 *)input, len, seed64, secret, secretLen);
+
+}
+
+/* ===   Public XXH128 API   === */
+
+XXH_PUBLIC_API XXH128_hash_t XXH3_128bits(const void *input, size_t len) {
+
+  return XXH3_128bits_internal(input, len, 0, XXH3_kSecret,
+                               sizeof(XXH3_kSecret),
+                               XXH3_hashLong_128b_withSecret);
+
+}
+
+XXH_PUBLIC_API XXH128_hash_t XXH3_128bits_withSecret(const void *input,
+                                                     size_t      len,
+                                                     const void *secret,
+                                                     size_t      secretSize) {
+
+  return XXH3_128bits_internal(input, len, 0, (const xxh_u8 *)secret,
+                               secretSize, XXH3_hashLong_128b_defaultSecret);
+
+}
+
+XXH_PUBLIC_API XXH128_hash_t XXH3_128bits_withSeed(const void * input,
+                                                   size_t       len,
+                                                   XXH64_hash_t seed) {
+
+  return XXH3_128bits_internal(input, len, seed, XXH3_kSecret,
+                               sizeof(XXH3_kSecret),
+                               XXH3_hashLong_128b_withSeed);
+
+}
+
+XXH_PUBLIC_API XXH128_hash_t XXH128(const void *input, size_t len,
+                                    XXH64_hash_t seed) {
+
+  return XXH3_128bits_withSeed(input, len, seed);
+
+}
+
+/* ===   XXH3 128-bit streaming   === */
+
+/*
+ * All the functions are actually the same as for 64-bit streaming variant.
+ * The only difference is the finalizatiom routine.
+ */
+
+static void XXH3_128bits_reset_internal(XXH3_state_t *statePtr,
+                                        XXH64_hash_t seed, const xxh_u8 *secret,
+                                        size_t secretSize) {
+
+  XXH3_64bits_reset_internal(statePtr, seed, secret, secretSize);
+
+}
+
+XXH_PUBLIC_API XXH_errorcode XXH3_128bits_reset(XXH3_state_t *statePtr) {
+
+  if (statePtr == NULL) return XXH_ERROR;
+  XXH3_128bits_reset_internal(statePtr, 0, XXH3_kSecret,
+                              XXH_SECRET_DEFAULT_SIZE);
+  return XXH_OK;
+
+}
+
+XXH_PUBLIC_API XXH_errorcode XXH3_128bits_reset_withSecret(
+    XXH3_state_t *statePtr, const void *secret, size_t secretSize) {
+
+  if (statePtr == NULL) return XXH_ERROR;
+  XXH3_128bits_reset_internal(statePtr, 0, (const xxh_u8 *)secret, secretSize);
+  if (secret == NULL) return XXH_ERROR;
+  if (secretSize < XXH3_SECRET_SIZE_MIN) return XXH_ERROR;
+  return XXH_OK;
+
+}
+
+XXH_PUBLIC_API XXH_errorcode XXH3_128bits_reset_withSeed(XXH3_state_t *statePtr,
+                                                         XXH64_hash_t  seed) {
+
+  if (statePtr == NULL) return XXH_ERROR;
+  XXH3_128bits_reset_internal(statePtr, seed, XXH3_kSecret,
+                              XXH_SECRET_DEFAULT_SIZE);
+  XXH3_initCustomSecret(statePtr->customSecret, seed);
+  statePtr->extSecret = NULL;
+  return XXH_OK;
+
+}
+
+XXH_PUBLIC_API XXH_errorcode XXH3_128bits_update(XXH3_state_t *state,
+                                                 const void *  input,
+                                                 size_t        len) {
+
+  return XXH3_update(state, (const xxh_u8 *)input, len, XXH3_acc_128bits,
+                     XXH3_accumulate_512, XXH3_scrambleAcc);
+
+}
+
+XXH_PUBLIC_API XXH128_hash_t XXH3_128bits_digest(const XXH3_state_t *state) {
+
+  const unsigned char *const secret =
+      (state->extSecret == NULL) ? state->customSecret : state->extSecret;
+  if (state->totalLen > XXH3_MIDSIZE_MAX) {
+
+    XXH_ALIGN(XXH_ACC_ALIGN) XXH64_hash_t acc[XXH_ACC_NB];
+    XXH3_digest_long(acc, state, secret, XXH3_acc_128bits);
+    XXH_ASSERT(state->secretLimit + XXH_STRIPE_LEN >=
+               sizeof(acc) + XXH_SECRET_MERGEACCS_START);
+    {
+
+      XXH128_hash_t h128;
+      h128.low64 = XXH3_mergeAccs(acc, secret + XXH_SECRET_MERGEACCS_START,
+                                  (xxh_u64)state->totalLen * XXH_PRIME64_1);
+      h128.high64 =
+          XXH3_mergeAccs(acc,
+                         secret + state->secretLimit + XXH_STRIPE_LEN -
+                             sizeof(acc) - XXH_SECRET_MERGEACCS_START,
+                         ~((xxh_u64)state->totalLen * XXH_PRIME64_2));
+      return h128;
+
+    }
+
+  }
+
+  /* len <= XXH3_MIDSIZE_MAX : short code */
+  if (state->seed)
+    return XXH3_128bits_withSeed(state->buffer, (size_t)state->totalLen,
+                                 state->seed);
+  return XXH3_128bits_withSecret(state->buffer, (size_t)(state->totalLen),
+                                 secret, state->secretLimit + XXH_STRIPE_LEN);
+
+}
+
+/* 128-bit utility functions */
+
+#include <string.h>                                       /* memcmp, memcpy */
+
+/* return : 1 is equal, 0 if different */
+XXH_PUBLIC_API int XXH128_isEqual(XXH128_hash_t h1, XXH128_hash_t h2) {
+
+  /* note : XXH128_hash_t is compact, it has no padding byte */
+  return !(memcmp(&h1, &h2, sizeof(h1)));
+
+}
+
+/* This prototype is compatible with stdlib's qsort().
+ * return : >0 if *h128_1  > *h128_2
+ *          <0 if *h128_1  < *h128_2
+ *          =0 if *h128_1 == *h128_2  */
+XXH_PUBLIC_API int XXH128_cmp(const void *h128_1, const void *h128_2) {
+
+  XXH128_hash_t const h1 = *(const XXH128_hash_t *)h128_1;
+  XXH128_hash_t const h2 = *(const XXH128_hash_t *)h128_2;
+  int const           hcmp = (h1.high64 > h2.high64) - (h2.high64 > h1.high64);
+  /* note : bets that, in most cases, hash values are different */
+  if (hcmp) return hcmp;
+  return (h1.low64 > h2.low64) - (h2.low64 > h1.low64);
+
+}
+
+/*======   Canonical representation   ======*/
+XXH_PUBLIC_API void XXH128_canonicalFromHash(XXH128_canonical_t *dst,
+                                             XXH128_hash_t       hash) {
+
+  XXH_STATIC_ASSERT(sizeof(XXH128_canonical_t) == sizeof(XXH128_hash_t));
+  if (XXH_CPU_LITTLE_ENDIAN) {
+
+    hash.high64 = XXH_swap64(hash.high64);
+    hash.low64 = XXH_swap64(hash.low64);
+
+  }
+
+  memcpy(dst, &hash.high64, sizeof(hash.high64));
+  memcpy((char *)dst + sizeof(hash.high64), &hash.low64, sizeof(hash.low64));
+
+}
+
+XXH_PUBLIC_API XXH128_hash_t
+XXH128_hashFromCanonical(const XXH128_canonical_t *src) {
+
+  XXH128_hash_t h;
+  h.high64 = XXH_readBE64(src);
+  h.low64 = XXH_readBE64(src->digest + 8);
+  return h;
+
+}
+
+/* Pop our optimization override from above */
+#if XXH_VECTOR == XXH_AVX2                      /* AVX2 */           \
+    && defined(__GNUC__) && !defined(__clang__) /* GCC, not Clang */ \
+    && defined(__OPTIMIZE__) &&                                      \
+    !defined(__OPTIMIZE_SIZE__)                      /* respect -O0 and -Os */
+  #pragma GCC pop_options
+#endif
+
+#endif                                                 /* XXH3_H_1397135465 */
+
diff --git a/include/xxhash.h b/include/xxhash.h
new file mode 100644
index 00000000..826f39bd
--- /dev/null
+++ b/include/xxhash.h
@@ -0,0 +1,2442 @@
+/*
+ * xxHash - Extremely Fast Hash algorithm
+ * Header File
+ * Copyright (C) 2012-2020 Yann Collet
+ *
+ * BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php)
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ *    * Redistributions of source code must retain the above copyright
+ *      notice, this list of conditions and the following disclaimer.
+ *    * Redistributions in binary form must reproduce the above
+ *      copyright notice, this list of conditions and the following disclaimer
+ *      in the documentation and/or other materials provided with the
+ *      distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * You can contact the author at:
+ *   - xxHash homepage: https://www.xxhash.com
+ *   - xxHash source repository: https://github.com/Cyan4973/xxHash
+ */
+
+/* TODO: update */
+/* Notice extracted from xxHash homepage:
+
+xxHash is an extremely fast hash algorithm, running at RAM speed limits.
+It also successfully passes all tests from the SMHasher suite.
+
+Comparison (single thread, Windows Seven 32 bits, using SMHasher on a Core 2 Duo
+@3GHz)
+
+Name            Speed       Q.Score   Author
+xxHash          5.4 GB/s     10
+CrapWow         3.2 GB/s      2       Andrew
+MumurHash 3a    2.7 GB/s     10       Austin Appleby
+SpookyHash      2.0 GB/s     10       Bob Jenkins
+SBox            1.4 GB/s      9       Bret Mulvey
+Lookup3         1.2 GB/s      9       Bob Jenkins
+SuperFastHash   1.2 GB/s      1       Paul Hsieh
+CityHash64      1.05 GB/s    10       Pike & Alakuijala
+FNV             0.55 GB/s     5       Fowler, Noll, Vo
+CRC32           0.43 GB/s     9
+MD5-32          0.33 GB/s    10       Ronald L. Rivest
+SHA1-32         0.28 GB/s    10
+
+Q.Score is a measure of quality of the hash function.
+It depends on successfully passing SMHasher test set.
+10 is a perfect score.
+
+Note: SMHasher's CRC32 implementation is not the fastest one.
+Other speed-oriented implementations can be faster,
+especially in combination with PCLMUL instruction:
+https://fastcompression.blogspot.com/2019/03/presenting-xxh3.html?showComment=1552696407071#c3490092340461170735
+
+A 64-bit version, named XXH64, is available since r35.
+It offers much better speed, but for 64-bit applications only.
+Name     Speed on 64 bits    Speed on 32 bits
+XXH64       13.8 GB/s            1.9 GB/s
+XXH32        6.8 GB/s            6.0 GB/s
+*/
+
+#if defined(__cplusplus)
+extern "C" {
+
+#endif
+
+/* ****************************
+ *  INLINE mode
+ ******************************/
+/*!
+ * XXH_INLINE_ALL (and XXH_PRIVATE_API)
+ * Use these build macros to inline xxhash into the target unit.
+ * Inlining improves performance on small inputs, especially when the length is
+ * expressed as a compile-time constant:
+ *
+ *      https://fastcompression.blogspot.com/2018/03/xxhash-for-small-keys-impressive-power.html
+ *
+ * It also keeps xxHash symbols private to the unit, so they are not exported.
+ *
+ * Usage:
+ *     #define XXH_INLINE_ALL
+ *     #include "xxhash.h"
+ *
+ * Do not compile and link xxhash.o as a separate object, as it is not useful.
+ */
+#if (defined(XXH_INLINE_ALL) || defined(XXH_PRIVATE_API)) && \
+    !defined(XXH_INLINE_ALL_31684351384)
+/* this section should be traversed only once */
+  #define XXH_INLINE_ALL_31684351384
+/* give access to the advanced API, required to compile implementations */
+  #undef XXH_STATIC_LINKING_ONLY                       /* avoid macro redef */
+  #define XXH_STATIC_LINKING_ONLY
+/* make all functions private */
+  #undef XXH_PUBLIC_API
+  #if defined(__GNUC__)
+    #define XXH_PUBLIC_API static __inline __attribute__((unused))
+  #elif defined(__cplusplus) || \
+      (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) /* C99 */)
+    #define XXH_PUBLIC_API static inline
+  #elif defined(_MSC_VER)
+    #define XXH_PUBLIC_API static __inline
+  #else
+  /* note: this version may generate warnings for unused static functions */
+    #define XXH_PUBLIC_API static
+  #endif
+
+/*
+ * This part deals with the special case where a unit wants to inline xxHash,
+ * but "xxhash.h" has previously been included without XXH_INLINE_ALL, such
+ * as part of some previously included *.h header file.
+ * Without further action, the new include would just be ignored,
+ * and functions would effectively _not_ be inlined (silent failure).
+ * The following macros solve this situation by prefixing all inlined names,
+ * avoiding naming collision with previous inclusions.
+ */
+  #ifdef XXH_NAMESPACE
+    #error "XXH_INLINE_ALL with XXH_NAMESPACE is not supported"
+  /*
+   * Note: Alternative: #undef all symbols (it's a pretty large list).
+   * Without #error: it compiles, but functions are actually not inlined.
+   */
+  #endif
+  #define XXH_NAMESPACE XXH_INLINE_
+/*
+ * Some identifiers (enums, type names) are not symbols, but they must
+ * still be renamed to avoid redeclaration.
+ * Alternative solution: do not redeclare them.
+ * However, this requires some #ifdefs, and is a more dispersed action.
+ * Meanwhile, renaming can be achieved in a single block
+ */
+  #define XXH_IPREF(Id) XXH_INLINE_##Id
+  #define XXH_OK XXH_IPREF(XXH_OK)
+  #define XXH_ERROR XXH_IPREF(XXH_ERROR)
+  #define XXH_errorcode XXH_IPREF(XXH_errorcode)
+  #define XXH32_canonical_t XXH_IPREF(XXH32_canonical_t)
+  #define XXH64_canonical_t XXH_IPREF(XXH64_canonical_t)
+  #define XXH128_canonical_t XXH_IPREF(XXH128_canonical_t)
+  #define XXH32_state_s XXH_IPREF(XXH32_state_s)
+  #define XXH32_state_t XXH_IPREF(XXH32_state_t)
+  #define XXH64_state_s XXH_IPREF(XXH64_state_s)
+  #define XXH64_state_t XXH_IPREF(XXH64_state_t)
+  #define XXH3_state_s XXH_IPREF(XXH3_state_s)
+  #define XXH3_state_t XXH_IPREF(XXH3_state_t)
+  #define XXH128_hash_t XXH_IPREF(XXH128_hash_t)
+/* Ensure the header is parsed again, even if it was previously included */
+  #undef XXHASH_H_5627135585666179
+  #undef XXHASH_H_STATIC_13879238742
+#endif                                 /* XXH_INLINE_ALL || XXH_PRIVATE_API */
+
+/* ****************************************************************
+ *  Stable API
+ *****************************************************************/
+#ifndef XXHASH_H_5627135585666179
+  #define XXHASH_H_5627135585666179 1
+
+  /* specific declaration modes for Windows */
+  #if !defined(XXH_INLINE_ALL) && !defined(XXH_PRIVATE_API)
+    #if defined(WIN32) && defined(_MSC_VER) && \
+        (defined(XXH_IMPORT) || defined(XXH_EXPORT))
+      #ifdef XXH_EXPORT
+        #define XXH_PUBLIC_API __declspec(dllexport)
+      #elif XXH_IMPORT
+        #define XXH_PUBLIC_API __declspec(dllimport)
+      #endif
+    #else
+      #define XXH_PUBLIC_API                                  /* do nothing */
+    #endif
+  #endif
+
+  /*!
+   * XXH_NAMESPACE, aka Namespace Emulation:
+   *
+   * If you want to include _and expose_ xxHash functions from within your own
+   * library, but also want to avoid symbol collisions with other libraries
+   * which may also include xxHash, you can use XXH_NAMESPACE to automatically
+   * prefix any public symbol from xxhash library with the value of
+   * XXH_NAMESPACE (therefore, avoid empty or numeric values).
+   *
+   * Note that no change is required within the calling program as long as it
+   * includes `xxhash.h`: Regular symbol names will be automatically translated
+   * by this header.
+   */
+  #ifdef XXH_NAMESPACE
+    #define XXH_CAT(A, B) A##B
+    #define XXH_NAME2(A, B) XXH_CAT(A, B)
+    #define XXH_versionNumber XXH_NAME2(XXH_NAMESPACE, XXH_versionNumber)
+    #define XXH32 XXH_NAME2(XXH_NAMESPACE, XXH32)
+    #define XXH32_createState XXH_NAME2(XXH_NAMESPACE, XXH32_createState)
+    #define XXH32_freeState XXH_NAME2(XXH_NAMESPACE, XXH32_freeState)
+    #define XXH32_reset XXH_NAME2(XXH_NAMESPACE, XXH32_reset)
+    #define XXH32_update XXH_NAME2(XXH_NAMESPACE, XXH32_update)
+    #define XXH32_digest XXH_NAME2(XXH_NAMESPACE, XXH32_digest)
+    #define XXH32_copyState XXH_NAME2(XXH_NAMESPACE, XXH32_copyState)
+    #define XXH32_canonicalFromHash \
+      XXH_NAME2(XXH_NAMESPACE, XXH32_canonicalFromHash)
+    #define XXH32_hashFromCanonical \
+      XXH_NAME2(XXH_NAMESPACE, XXH32_hashFromCanonical)
+    #define XXH64 XXH_NAME2(XXH_NAMESPACE, XXH64)
+    #define XXH64_createState XXH_NAME2(XXH_NAMESPACE, XXH64_createState)
+    #define XXH64_freeState XXH_NAME2(XXH_NAMESPACE, XXH64_freeState)
+    #define XXH64_reset XXH_NAME2(XXH_NAMESPACE, XXH64_reset)
+    #define XXH64_update XXH_NAME2(XXH_NAMESPACE, XXH64_update)
+    #define XXH64_digest XXH_NAME2(XXH_NAMESPACE, XXH64_digest)
+    #define XXH64_copyState XXH_NAME2(XXH_NAMESPACE, XXH64_copyState)
+    #define XXH64_canonicalFromHash \
+      XXH_NAME2(XXH_NAMESPACE, XXH64_canonicalFromHash)
+    #define XXH64_hashFromCanonical \
+      XXH_NAME2(XXH_NAMESPACE, XXH64_hashFromCanonical)
+  #endif
+
+  /* *************************************
+   *  Version
+   ***************************************/
+  #define XXH_VERSION_MAJOR 0
+  #define XXH_VERSION_MINOR 7
+  #define XXH_VERSION_RELEASE 4
+  #define XXH_VERSION_NUMBER                                   \
+    (XXH_VERSION_MAJOR * 100 * 100 + XXH_VERSION_MINOR * 100 + \
+     XXH_VERSION_RELEASE)
+XXH_PUBLIC_API unsigned XXH_versionNumber(void);
+
+  /* ****************************
+   *  Definitions
+   ******************************/
+  #include <stddef.h>                                             /* size_t */
+typedef enum { XXH_OK = 0, XXH_ERROR } XXH_errorcode;
+
+  /*-**********************************************************************
+   *  32-bit hash
+   ************************************************************************/
+  #if !defined(__VMS) &&       \
+      (defined(__cplusplus) || \
+       (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) /* C99 */))
+    #include <stdint.h>
+typedef uint32_t XXH32_hash_t;
+  #else
+    #include <limits.h>
+    #if UINT_MAX == 0xFFFFFFFFUL
+typedef unsigned int  XXH32_hash_t;
+    #else
+      #if ULONG_MAX == 0xFFFFFFFFUL
+typedef unsigned long XXH32_hash_t;
+      #else
+        #error "unsupported platform: need a 32-bit type"
+      #endif
+    #endif
+  #endif
+
+/*!
+ * XXH32():
+ *  Calculate the 32-bit hash of sequence "length" bytes stored at memory
+ * address "input". The memory between input & input+length must be valid
+ * (allocated and read-accessible). "seed" can be used to alter the result
+ * predictably. Speed on Core 2 Duo @ 3 GHz (single thread, SMHasher
+ * benchmark): 5.4 GB/s
+ *
+ * Note: XXH3 provides competitive speed for both 32-bit and 64-bit systems,
+ * and offers true 64/128 bit hash results. It provides a superior level of
+ * dispersion, and greatly reduces the risks of collisions.
+ */
+XXH_PUBLIC_API XXH32_hash_t XXH32(const void *input, size_t length,
+                                  XXH32_hash_t seed);
+
+/*******   Streaming   *******/
+
+/*
+ * Streaming functions generate the xxHash value from an incrememtal input.
+ * This method is slower than single-call functions, due to state management.
+ * For small inputs, prefer `XXH32()` and `XXH64()`, which are better optimized.
+ *
+ * An XXH state must first be allocated using `XXH*_createState()`.
+ *
+ * Start a new hash by initializing the state with a seed using `XXH*_reset()`.
+ *
+ * Then, feed the hash state by calling `XXH*_update()` as many times as
+ * necessary.
+ *
+ * The function returns an error code, with 0 meaning OK, and any other value
+ * meaning there is an error.
+ *
+ * Finally, a hash value can be produced anytime, by using `XXH*_digest()`.
+ * This function returns the nn-bits hash as an int or long long.
+ *
+ * It's still possible to continue inserting input into the hash state after a
+ * digest, and generate new hash values later on by invoking `XXH*_digest()`.
+ *
+ * When done, release the state using `XXH*_freeState()`.
+ */
+
+typedef struct XXH32_state_s XXH32_state_t;              /* incomplete type */
+XXH_PUBLIC_API XXH32_state_t *XXH32_createState(void);
+XXH_PUBLIC_API XXH_errorcode  XXH32_freeState(XXH32_state_t *statePtr);
+XXH_PUBLIC_API void           XXH32_copyState(XXH32_state_t *      dst_state,
+                                              const XXH32_state_t *src_state);
+
+XXH_PUBLIC_API XXH_errorcode XXH32_reset(XXH32_state_t *statePtr,
+                                         XXH32_hash_t   seed);
+XXH_PUBLIC_API XXH_errorcode XXH32_update(XXH32_state_t *statePtr,
+                                          const void *input, size_t length);
+XXH_PUBLIC_API XXH32_hash_t  XXH32_digest(const XXH32_state_t *statePtr);
+
+/*******   Canonical representation   *******/
+
+/*
+ * The default return values from XXH functions are unsigned 32 and 64 bit
+ * integers.
+ * This the simplest and fastest format for further post-processing.
+ *
+ * However, this leaves open the question of what is the order on the byte
+ * level, since little and big endian conventions will store the same number
+ * differently.
+ *
+ * The canonical representation settles this issue by mandating big-endian
+ * convention, the same convention as human-readable numbers (large digits
+ * first).
+ *
+ * When writing hash values to storage, sending them over a network, or printing
+ * them, it's highly recommended to use the canonical representation to ensure
+ * portability across a wider range of systems, present and future.
+ *
+ * The following functions allow transformation of hash values to and from
+ * canonical format.
+ */
+
+typedef struct {
+
+  unsigned char digest[4];
+
+} XXH32_canonical_t;
+
+XXH_PUBLIC_API void XXH32_canonicalFromHash(XXH32_canonical_t *dst,
+                                            XXH32_hash_t       hash);
+XXH_PUBLIC_API XXH32_hash_t
+XXH32_hashFromCanonical(const XXH32_canonical_t *src);
+
+  #ifndef XXH_NO_LONG_LONG
+    /*-**********************************************************************
+     *  64-bit hash
+     ************************************************************************/
+    #if !defined(__VMS) &&                                     \
+        (defined(__cplusplus) || (defined(__STDC_VERSION__) && \
+                                  (__STDC_VERSION__ >= 199901L) /* C99 */))
+      #include <stdint.h>
+typedef uint64_t XXH64_hash_t;
+    #else
+/* the following type must have a width of 64-bit */
+typedef unsigned long long XXH64_hash_t;
+    #endif
+
+/*!
+ * XXH64():
+ * Returns the 64-bit hash of sequence of length @length stored at memory
+ * address @input.
+ * @seed can be used to alter the result predictably.
+ *
+ * This function usually runs faster on 64-bit systems, but slower on 32-bit
+ * systems (see benchmark).
+ *
+ * Note: XXH3 provides competitive speed for both 32-bit and 64-bit systems,
+ * and offers true 64/128 bit hash results. It provides a superior level of
+ * dispersion, and greatly reduces the risks of collisions.
+ */
+XXH_PUBLIC_API XXH64_hash_t XXH64(const void *input, size_t length,
+                                  XXH64_hash_t seed);
+
+/*******   Streaming   *******/
+typedef struct XXH64_state_s XXH64_state_t;              /* incomplete type */
+XXH_PUBLIC_API XXH64_state_t *XXH64_createState(void);
+XXH_PUBLIC_API XXH_errorcode  XXH64_freeState(XXH64_state_t *statePtr);
+XXH_PUBLIC_API void           XXH64_copyState(XXH64_state_t *      dst_state,
+                                              const XXH64_state_t *src_state);
+
+XXH_PUBLIC_API XXH_errorcode XXH64_reset(XXH64_state_t *statePtr,
+                                         XXH64_hash_t   seed);
+XXH_PUBLIC_API XXH_errorcode XXH64_update(XXH64_state_t *statePtr,
+                                          const void *input, size_t length);
+XXH_PUBLIC_API XXH64_hash_t  XXH64_digest(const XXH64_state_t *statePtr);
+
+/*******   Canonical representation   *******/
+typedef struct {
+
+  unsigned char digest[sizeof(XXH64_hash_t)];
+
+} XXH64_canonical_t;
+
+XXH_PUBLIC_API void XXH64_canonicalFromHash(XXH64_canonical_t *dst,
+                                            XXH64_hash_t       hash);
+XXH_PUBLIC_API XXH64_hash_t
+XXH64_hashFromCanonical(const XXH64_canonical_t *src);
+
+  #endif                                                /* XXH_NO_LONG_LONG */
+
+#endif                                         /* XXHASH_H_5627135585666179 */
+
+#if defined(XXH_STATIC_LINKING_ONLY) && !defined(XXHASH_H_STATIC_13879238742)
+  #define XXHASH_H_STATIC_13879238742
+/* ****************************************************************************
+ * This section contains declarations which are not guaranteed to remain stable.
+ * They may change in future versions, becoming incompatible with a different
+ * version of the library.
+ * These declarations should only be used with static linking.
+ * Never use them in association with dynamic linking!
+ *****************************************************************************
+ */
+
+/*
+ * These definitions are only present to allow static allocation of an XXH
+ * state, for example, on the stack or in a struct.
+ * Never **ever** access members directly.
+ */
+
+struct XXH32_state_s {
+
+  XXH32_hash_t total_len_32;
+  XXH32_hash_t large_len;
+  XXH32_hash_t v1;
+  XXH32_hash_t v2;
+  XXH32_hash_t v3;
+  XXH32_hash_t v4;
+  XXH32_hash_t mem32[4];
+  XXH32_hash_t memsize;
+  XXH32_hash_t
+      reserved; /* never read nor write, might be removed in a future version */
+
+};                                            /* typedef'd to XXH32_state_t */
+
+  #ifndef XXH_NO_LONG_LONG       /* defined when there is no 64-bit support */
+
+struct XXH64_state_s {
+
+  XXH64_hash_t total_len;
+  XXH64_hash_t v1;
+  XXH64_hash_t v2;
+  XXH64_hash_t v3;
+  XXH64_hash_t v4;
+  XXH64_hash_t mem64[4];
+  XXH32_hash_t memsize;
+  XXH32_hash_t reserved32;                   /* required for padding anyway */
+  XXH64_hash_t reserved64; /* never read nor write, might be removed in a future
+                              version */
+
+};                                            /* typedef'd to XXH64_state_t */
+
+  /*-**********************************************************************
+   *  XXH3
+   *  New experimental hash
+   ************************************************************************/
+
+  /* ************************************************************************
+   * XXH3 is a new hash algorithm featuring:
+   *  - Improved speed for both small and large inputs
+   *  - True 64-bit and 128-bit outputs
+   *  - SIMD acceleration
+   *  - Improved 32-bit viability
+   *
+   * Speed analysis methodology is explained here:
+   *
+   *    https://fastcompression.blogspot.com/2019/03/presenting-xxh3.html
+   *
+   * In general, expect XXH3 to run about ~2x faster on large inputs and >3x
+   * faster on small ones compared to XXH64, though exact differences depend on
+   * the platform.
+   *
+   * The algorithm is portable: Like XXH32 and XXH64, it generates the same hash
+   * on all platforms.
+   *
+   * It benefits greatly from SIMD and 64-bit arithmetic, but does not require
+   * it.
+   *
+   * Almost all 32-bit and 64-bit targets that can run XXH32 smoothly can run
+   * XXH3 at competitive speeds, even if XXH64 runs slowly. Further details are
+   * explained in the implementation.
+   *
+   * Optimized implementations are provided for AVX512, AVX2, SSE2, NEON,
+   * POWER8, ZVector and scalar targets. This can be controlled with the
+   * XXH_VECTOR macro.
+   *
+   * XXH3 offers 2 variants, _64bits and _128bits.
+   * When only 64 bits are needed, prefer calling the _64bits variant, as it
+   * reduces the amount of mixing, resulting in faster speed on small inputs.
+   *
+   * It's also generally simpler to manipulate a scalar return type than a
+   * struct.
+   *
+   * The 128-bit version adds additional strength, but it is slightly slower.
+   *
+   * The XXH3 algorithm is still in development.
+   * The results it produces may still change in future versions.
+   *
+   * Results produced by v0.7.x are not comparable with results from v0.7.y.
+   * However, the API is completely stable, and it can safely be used for
+   * ephemeral data (local sessions).
+   *
+   * Avoid storing values in long-term storage until the algorithm is finalized.
+   *
+   * Since v0.7.3, XXH3 has reached "release candidate" status, meaning that, if
+   * everything remains fine, its current format will be "frozen" and become the
+   * final one.
+   *
+   * After which, return values of XXH3 and XXH128 will no longer change in
+   * future versions.
+   *
+   * XXH3's return values will be officially finalized upon reaching v0.8.0.
+   *
+   * The API supports one-shot hashing, streaming mode, and custom secrets.
+   */
+
+    #ifdef XXH_NAMESPACE
+      #define XXH3_64bits XXH_NAME2(XXH_NAMESPACE, XXH3_64bits)
+      #define XXH3_64bits_withSecret \
+        XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_withSecret)
+      #define XXH3_64bits_withSeed \
+        XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_withSeed)
+
+      #define XXH3_createState XXH_NAME2(XXH_NAMESPACE, XXH3_createState)
+      #define XXH3_freeState XXH_NAME2(XXH_NAMESPACE, XXH3_freeState)
+      #define XXH3_copyState XXH_NAME2(XXH_NAMESPACE, XXH3_copyState)
+
+      #define XXH3_64bits_reset XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_reset)
+      #define XXH3_64bits_reset_withSeed \
+        XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_reset_withSeed)
+      #define XXH3_64bits_reset_withSecret \
+        XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_reset_withSecret)
+      #define XXH3_64bits_update XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_update)
+      #define XXH3_64bits_digest XXH_NAME2(XXH_NAMESPACE, XXH3_64bits_digest)
+
+      #define XXH3_generateSecret XXH_NAME2(XXH_NAMESPACE, XXH3_generateSecret)
+    #endif
+
+/* XXH3_64bits():
+ * default 64-bit variant, using default secret and default seed of 0.
+ * It's the fastest variant. */
+XXH_PUBLIC_API XXH64_hash_t XXH3_64bits(const void *data, size_t len);
+
+/*
+ * XXH3_64bits_withSeed():
+ * This variant generates a custom secret on the fly based on the default
+ * secret, altered using the `seed` value.
+ * While this operation is decently fast, note that it's not completely free.
+ * Note: seed==0 produces the same results as XXH3_64bits().
+ */
+XXH_PUBLIC_API XXH64_hash_t XXH3_64bits_withSeed(const void *data, size_t len,
+                                                 XXH64_hash_t seed);
+
+    /*
+     * XXH3_64bits_withSecret():
+     * It's possible to provide any blob of bytes as a "secret" to generate the
+     * hash. This makes it more difficult for an external actor to prepare an
+     * intentional collision. secretSize *must* be large enough (>=
+     * XXH3_SECRET_SIZE_MIN). The hash quality depends on the secret's high
+     * entropy, meaning that the secret should look like a bunch of random
+     * bytes. Avoid "trivial" sequences such as text or a bunch of repeated
+     * characters. If you are unsure of the "randonmess" of the blob of bytes,
+     * consider making it a "custom seed" instead,
+     * and use "XXH_generateSecret()" to generate a high quality secret.
+     */
+    #define XXH3_SECRET_SIZE_MIN 136
+XXH_PUBLIC_API XXH64_hash_t XXH3_64bits_withSecret(const void *data, size_t len,
+                                                   const void *secret,
+                                                   size_t      secretSize);
+
+  /* streaming 64-bit */
+
+    #if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)  /* C11+ */
+      #include <stdalign.h>
+      #define XXH_ALIGN(n) alignas(n)
+    #elif defined(__GNUC__)
+      #define XXH_ALIGN(n) __attribute__((aligned(n)))
+    #elif defined(_MSC_VER)
+      #define XXH_ALIGN(n) __declspec(align(n))
+    #else
+      #define XXH_ALIGN(n)                                      /* disabled */
+    #endif
+
+    /* Old GCC versions only accept the attribute after the type in structures.
+     */
+    #if !(defined(__STDC_VERSION__) &&              \
+          (__STDC_VERSION__ >= 201112L)) /* C11+ */ \
+        && defined(__GNUC__)
+      #define XXH_ALIGN_MEMBER(align, type) type XXH_ALIGN(align)
+    #else
+      #define XXH_ALIGN_MEMBER(align, type) XXH_ALIGN(align) type
+    #endif
+
+typedef struct XXH3_state_s XXH3_state_t;
+
+    #define XXH3_INTERNALBUFFER_SIZE 256
+    #define XXH3_SECRET_DEFAULT_SIZE 192
+struct XXH3_state_s {
+
+  XXH_ALIGN_MEMBER(64, XXH64_hash_t acc[8]);
+  /* used to store a custom secret generated from a seed */
+  XXH_ALIGN_MEMBER(64, unsigned char customSecret[XXH3_SECRET_DEFAULT_SIZE]);
+  XXH_ALIGN_MEMBER(64, unsigned char buffer[XXH3_INTERNALBUFFER_SIZE]);
+  XXH32_hash_t         bufferedSize;
+  XXH32_hash_t         reserved32;
+  size_t               nbStripesPerBlock;
+  size_t               nbStripesSoFar;
+  size_t               secretLimit;
+  XXH64_hash_t         totalLen;
+  XXH64_hash_t         seed;
+  XXH64_hash_t         reserved64;
+  const unsigned char *extSecret; /* reference to external secret;
+                                   * if == NULL, use .customSecret instead */
+  /* note: there may be some padding at the end due to alignment on 64 bytes */
+
+};                                             /* typedef'd to XXH3_state_t */
+
+    #undef XXH_ALIGN_MEMBER
+
+/*
+ * Streaming requires state maintenance.
+ * This operation costs memory and CPU.
+ * As a consequence, streaming is slower than one-shot hashing.
+ * For better performance, prefer one-shot functions whenever possible.
+ */
+XXH_PUBLIC_API XXH3_state_t *XXH3_createState(void);
+XXH_PUBLIC_API XXH_errorcode XXH3_freeState(XXH3_state_t *statePtr);
+XXH_PUBLIC_API void          XXH3_copyState(XXH3_state_t *      dst_state,
+                                            const XXH3_state_t *src_state);
+
+/*
+ * XXH3_64bits_reset():
+ * Initialize with the default parameters.
+ * The result will be equivalent to `XXH3_64bits()`.
+ */
+XXH_PUBLIC_API XXH_errorcode XXH3_64bits_reset(XXH3_state_t *statePtr);
+/*
+ * XXH3_64bits_reset_withSeed():
+ * Generate a custom secret from `seed`, and store it into `statePtr`.
+ * digest will be equivalent to `XXH3_64bits_withSeed()`.
+ */
+XXH_PUBLIC_API XXH_errorcode XXH3_64bits_reset_withSeed(XXH3_state_t *statePtr,
+                                                        XXH64_hash_t  seed);
+/*
+ * XXH3_64bits_reset_withSecret():
+ * `secret` is referenced, and must outlive the hash streaming session, so
+ * be careful when using stack arrays.
+ * `secretSize` must be >= `XXH3_SECRET_SIZE_MIN`.
+ */
+XXH_PUBLIC_API XXH_errorcode XXH3_64bits_reset_withSecret(
+    XXH3_state_t *statePtr, const void *secret, size_t secretSize);
+
+XXH_PUBLIC_API XXH_errorcode XXH3_64bits_update(XXH3_state_t *statePtr,
+                                                const void *  input,
+                                                size_t        length);
+XXH_PUBLIC_API XXH64_hash_t  XXH3_64bits_digest(const XXH3_state_t *statePtr);
+
+  /* 128-bit */
+
+    #ifdef XXH_NAMESPACE
+      #define XXH128 XXH_NAME2(XXH_NAMESPACE, XXH128)
+      #define XXH3_128bits XXH_NAME2(XXH_NAMESPACE, XXH3_128bits)
+      #define XXH3_128bits_withSeed \
+        XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_withSeed)
+      #define XXH3_128bits_withSecret \
+        XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_withSecret)
+
+      #define XXH3_128bits_reset XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_reset)
+      #define XXH3_128bits_reset_withSeed \
+        XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_reset_withSeed)
+      #define XXH3_128bits_reset_withSecret \
+        XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_reset_withSecret)
+      #define XXH3_128bits_update XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_update)
+      #define XXH3_128bits_digest XXH_NAME2(XXH_NAMESPACE, XXH3_128bits_digest)
+
+      #define XXH128_isEqual XXH_NAME2(XXH_NAMESPACE, XXH128_isEqual)
+      #define XXH128_cmp XXH_NAME2(XXH_NAMESPACE, XXH128_cmp)
+      #define XXH128_canonicalFromHash \
+        XXH_NAME2(XXH_NAMESPACE, XXH128_canonicalFromHash)
+      #define XXH128_hashFromCanonical \
+        XXH_NAME2(XXH_NAMESPACE, XXH128_hashFromCanonical)
+    #endif
+
+typedef struct {
+
+  XXH64_hash_t low64;
+  XXH64_hash_t high64;
+
+} XXH128_hash_t;
+
+XXH_PUBLIC_API XXH128_hash_t XXH128(const void *data, size_t len,
+                                    XXH64_hash_t seed);
+XXH_PUBLIC_API XXH128_hash_t XXH3_128bits(const void *data, size_t len);
+XXH_PUBLIC_API XXH128_hash_t XXH3_128bits_withSeed(
+    const void *data, size_t len, XXH64_hash_t seed);        /* == XXH128() */
+XXH_PUBLIC_API XXH128_hash_t XXH3_128bits_withSecret(const void *data,
+                                                     size_t      len,
+                                                     const void *secret,
+                                                     size_t      secretSize);
+
+XXH_PUBLIC_API XXH_errorcode XXH3_128bits_reset(XXH3_state_t *statePtr);
+XXH_PUBLIC_API XXH_errorcode XXH3_128bits_reset_withSeed(XXH3_state_t *statePtr,
+                                                         XXH64_hash_t  seed);
+XXH_PUBLIC_API XXH_errorcode XXH3_128bits_reset_withSecret(
+    XXH3_state_t *statePtr, const void *secret, size_t secretSize);
+
+XXH_PUBLIC_API XXH_errorcode XXH3_128bits_update(XXH3_state_t *statePtr,
+                                                 const void *  input,
+                                                 size_t        length);
+XXH_PUBLIC_API XXH128_hash_t XXH3_128bits_digest(const XXH3_state_t *statePtr);
+
+/* Note: For better performance, these functions can be inlined using
+ * XXH_INLINE_ALL */
+
+/*!
+ * XXH128_isEqual():
+ * Return: 1 if `h1` and `h2` are equal, 0 if they are not.
+ */
+XXH_PUBLIC_API int XXH128_isEqual(XXH128_hash_t h1, XXH128_hash_t h2);
+
+/*!
+ * XXH128_cmp():
+ *
+ * This comparator is compatible with stdlib's `qsort()`/`bsearch()`.
+ *
+ * return: >0 if *h128_1  > *h128_2
+ *         =0 if *h128_1 == *h128_2
+ *         <0 if *h128_1  < *h128_2
+ */
+XXH_PUBLIC_API int XXH128_cmp(const void *h128_1, const void *h128_2);
+
+/*******   Canonical representation   *******/
+typedef struct {
+
+  unsigned char digest[sizeof(XXH128_hash_t)];
+
+} XXH128_canonical_t;
+
+XXH_PUBLIC_API void XXH128_canonicalFromHash(XXH128_canonical_t *dst,
+                                             XXH128_hash_t       hash);
+XXH_PUBLIC_API XXH128_hash_t
+XXH128_hashFromCanonical(const XXH128_canonical_t *src);
+
+/* ===   Experimental API   === */
+/* Symbols defined below must be considered tied to a specific library version.
+ */
+
+/*
+ * XXH3_generateSecret():
+ *
+ * Derive a secret for use with `*_withSecret()` prototypes of XXH3.
+ * Use this if you need a higher level of security than the one provided by
+ * 64bit seed.
+ *
+ * Take as input a custom seed of any length and any content,
+ * generate from it a high-entropy secret of length XXH3_SECRET_DEFAULT_SIZE
+ * into already allocated buffer secretBuffer.
+ * The generated secret ALWAYS is XXH_SECRET_DEFAULT_SIZE bytes long.
+ *
+ * The generated secret can then be used with any `*_withSecret()` variant.
+ * The functions `XXH3_128bits_withSecret()`, `XXH3_64bits_withSecret()`,
+ * `XXH3_128bits_reset_withSecret()` and `XXH3_64bits_reset_withSecret()`
+ * are part of this list. They all accept a `secret` parameter
+ * which must be very long for implementation reasons (>= XXH3_SECRET_SIZE_MIN)
+ * _and_ feature very high entropy (consist of random-looking bytes).
+ * These conditions can be a high bar to meet, so
+ * this function can be used to generate a secret of proper quality.
+ *
+ * customSeed can be anything. It can have any size, even small ones,
+ * and its content can be anything, even some "low entropy" source such as a
+ * bunch of zeroes. The resulting `secret` will nonetheless respect all expected
+ * qualities.
+ *
+ * Supplying NULL as the customSeed copies the default secret into
+ * `secretBuffer`. When customSeedSize > 0, supplying NULL as customSeed is
+ * undefined behavior.
+ */
+XXH_PUBLIC_API void XXH3_generateSecret(void *      secretBuffer,
+                                        const void *customSeed,
+                                        size_t      customSeedSize);
+
+  #endif                                                /* XXH_NO_LONG_LONG */
+
+  #if defined(XXH_INLINE_ALL) || defined(XXH_PRIVATE_API)
+    #define XXH_IMPLEMENTATION
+  #endif
+
+#endif /* defined(XXH_STATIC_LINKING_ONLY) && \
+          !defined(XXHASH_H_STATIC_13879238742) */
+
+/* ======================================================================== */
+/* ======================================================================== */
+/* ======================================================================== */
+
+/*-**********************************************************************
+ * xxHash implementation
+ *-**********************************************************************
+ * xxHash's implementation used to be found in xxhash.c.
+ *
+ * However, code inlining requires the implementation to be visible to the
+ * compiler, usually within the header.
+ *
+ * As a workaround, xxhash.c used to be included within xxhash.h. This caused
+ * some issues with some build systems, especially ones which treat .c files
+ * as source files.
+ *
+ * Therefore, the implementation is now directly integrated within xxhash.h.
+ * Another small advantage is that xxhash.c is no longer needed in /include.
+ ************************************************************************/
+
+#if (defined(XXH_INLINE_ALL) || defined(XXH_PRIVATE_API) || \
+     defined(XXH_IMPLEMENTATION)) &&                        \
+    !defined(XXH_IMPLEM_13a8737387)
+  #define XXH_IMPLEM_13a8737387
+
+  /* *************************************
+   *  Tuning parameters
+   ***************************************/
+  /*!
+   * XXH_FORCE_MEMORY_ACCESS:
+   * By default, access to unaligned memory is controlled by `memcpy()`, which
+   * is safe and portable.
+   *
+   * Unfortunately, on some target/compiler combinations, the generated assembly
+   * is sub-optimal.
+   *
+   * The below switch allow to select a different access method for improved
+   * performance.
+   * Method 0 (default):
+   *     Use `memcpy()`. Safe and portable.
+   * Method 1:
+   *     `__attribute__((packed))` statement. It depends on compiler extensions
+   *     and is therefore not portable.
+   *     This method is safe if your compiler supports it, and *generally* as
+   *     fast or faster than `memcpy`.
+   * Method 2:
+   *     Direct access via cast. This method doesn't depend on the compiler but
+   *     violates the C standard.
+   *     It can generate buggy code on targets which do not support unaligned
+   *     memory accesses.
+   *     But in some circumstances, it's the only known way to get the most
+   *     performance (ie GCC + ARMv6)
+   * Method 3:
+   *     Byteshift. This can generate the best code on old compilers which don't
+   *     inline small `memcpy()` calls, and it might also be faster on
+   * big-endian systems which lack a native byteswap instruction. See
+   * https://stackoverflow.com/a/32095106/646947 for details. Prefer these
+   * methods in priority order (0 > 1 > 2 > 3)
+   */
+  #ifndef XXH_FORCE_MEMORY_ACCESS /* can be defined externally, on command \
+                                     line for example */
+    #if !defined(__clang__) && defined(__GNUC__) &&                \
+        defined(__ARM_FEATURE_UNALIGNED) && defined(__ARM_ARCH) && \
+        (__ARM_ARCH == 6)
+      #define XXH_FORCE_MEMORY_ACCESS 2
+    #elif !defined(__clang__) &&                            \
+        ((defined(__INTEL_COMPILER) && !defined(_WIN32)) || \
+         (defined(__GNUC__) && (defined(__ARM_ARCH) && __ARM_ARCH >= 7)))
+      #define XXH_FORCE_MEMORY_ACCESS 1
+    #endif
+  #endif
+
+  /*!
+   * XXH_ACCEPT_NULL_INPUT_POINTER:
+   * If the input pointer is NULL, xxHash's default behavior is to dereference
+   * it, triggering a segfault. When this macro is enabled, xxHash actively
+   * checks the input for a null pointer. If it is, the result for null input
+   * pointers is the same as a zero-length input.
+   */
+  #ifndef XXH_ACCEPT_NULL_INPUT_POINTER        /* can be defined externally */
+    #define XXH_ACCEPT_NULL_INPUT_POINTER 0
+  #endif
+
+  /*!
+   * XXH_FORCE_ALIGN_CHECK:
+   * This is an important performance trick
+   * for architectures without decent unaligned memory access performance.
+   * It checks for input alignment, and when conditions are met,
+   * uses a "fast path" employing direct 32-bit/64-bit read,
+   * resulting in _dramatically faster_ read speed.
+   *
+   * The check costs one initial branch per hash, which is generally negligible,
+   * but not zero. Moreover, it's not useful to generate binary for an
+   * additional code path if memory access uses same instruction for both
+   * aligned and unaligned adresses.
+   *
+   * In these cases, the alignment check can be removed by setting this macro to
+   * 0. Then the code will always use unaligned memory access. Align check is
+   * automatically disabled on x86, x64 & arm64, which are platforms known to
+   * offer good unaligned memory accesses performance.
+   *
+   * This option does not affect XXH3 (only XXH32 and XXH64).
+   */
+  #ifndef XXH_FORCE_ALIGN_CHECK                /* can be defined externally */
+    #if defined(__i386) || defined(__x86_64__) || defined(__aarch64__) || \
+        defined(_M_IX86) || defined(_M_X64) || defined(_M_ARM64)  /* visual */
+      #define XXH_FORCE_ALIGN_CHECK 0
+    #else
+      #define XXH_FORCE_ALIGN_CHECK 1
+    #endif
+  #endif
+
+  /*!
+   * XXH_NO_INLINE_HINTS:
+   *
+   * By default, xxHash tries to force the compiler to inline almost all
+   * internal functions.
+   *
+   * This can usually improve performance due to reduced jumping and improved
+   * constant folding, but significantly increases the size of the binary which
+   * might not be favorable.
+   *
+   * Additionally, sometimes the forced inlining can be detrimental to
+   * performance, depending on the architecture.
+   *
+   * XXH_NO_INLINE_HINTS marks all internal functions as static, giving the
+   * compiler full control on whether to inline or not.
+   *
+   * When not optimizing (-O0), optimizing for size (-Os, -Oz), or using
+   * -fno-inline with GCC or Clang, this will automatically be defined.
+   */
+  #ifndef XXH_NO_INLINE_HINTS
+    #if defined(__OPTIMIZE_SIZE__) || defined(__NO_INLINE__)
+      #define XXH_NO_INLINE_HINTS 1
+    #else
+      #define XXH_NO_INLINE_HINTS 0
+    #endif
+  #endif
+
+  /*!
+   * XXH_REROLL:
+   * Whether to reroll XXH32_finalize, and XXH64_finalize,
+   * instead of using an unrolled jump table/if statement loop.
+   *
+   * This is automatically defined on -Os/-Oz on GCC and Clang.
+   */
+  #ifndef XXH_REROLL
+    #if defined(__OPTIMIZE_SIZE__)
+      #define XXH_REROLL 1
+    #else
+      #define XXH_REROLL 0
+    #endif
+  #endif
+
+  /* *************************************
+   *  Includes & Memory related functions
+   ***************************************/
+  /*!
+   * Modify the local functions below should you wish to use some other memory
+   * routines for malloc() and free()
+   */
+  #include <stdlib.h>
+
+static void *XXH_malloc(size_t s) {
+
+  return malloc(s);
+
+}
+
+static void XXH_free(void *p) {
+
+  free(p);
+
+}
+
+  /*! and for memcpy() */
+  #include <string.h>
+static void *XXH_memcpy(void *dest, const void *src, size_t size) {
+
+  return memcpy(dest, src, size);
+
+}
+
+  #include <limits.h>                                         /* ULLONG_MAX */
+
+  /* *************************************
+   *  Compiler Specific Options
+   ***************************************/
+  #ifdef _MSC_VER                              /* Visual Studio warning fix */
+    #pragma warning(disable : 4127) /* disable: C4127: conditional expression \
+                                       is constant */
+  #endif
+
+  #if XXH_NO_INLINE_HINTS                         /* disable inlining hints */
+    #if defined(__GNUC__)
+      #define XXH_FORCE_INLINE static __attribute__((unused))
+    #else
+      #define XXH_FORCE_INLINE static
+    #endif
+    #define XXH_NO_INLINE static
+  /* enable inlining hints */
+  #elif defined(_MSC_VER)                                  /* Visual Studio */
+    #define XXH_FORCE_INLINE static __forceinline
+    #define XXH_NO_INLINE static __declspec(noinline)
+  #elif defined(__GNUC__)
+    #define XXH_FORCE_INLINE \
+      static __inline__ __attribute__((always_inline, unused))
+    #define XXH_NO_INLINE static __attribute__((noinline))
+  #elif defined(__cplusplus) || \
+      (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L))   /* C99 */
+    #define XXH_FORCE_INLINE static inline
+    #define XXH_NO_INLINE static
+  #else
+    #define XXH_FORCE_INLINE static
+    #define XXH_NO_INLINE static
+  #endif
+
+  /* *************************************
+   *  Debug
+   ***************************************/
+  /*
+   * XXH_DEBUGLEVEL is expected to be defined externally, typically via the
+   * compiler's command line options. The value must be a number.
+   */
+  #ifndef XXH_DEBUGLEVEL
+    #ifdef DEBUGLEVEL                                   /* backwards compat */
+      #define XXH_DEBUGLEVEL DEBUGLEVEL
+    #else
+      #define XXH_DEBUGLEVEL 0
+    #endif
+  #endif
+
+  #if (XXH_DEBUGLEVEL >= 1)
+    #include <assert.h>          /* note: can still be disabled with NDEBUG */
+    #define XXH_ASSERT(c) assert(c)
+  #else
+    #define XXH_ASSERT(c) ((void)0)
+  #endif
+
+  /* note: use after variable declarations */
+  #define XXH_STATIC_ASSERT(c)            \
+    do {                                  \
+                                          \
+      enum { XXH_sa = 1 / (int)(!!(c)) }; \
+                                          \
+    } while (0)
+
+  /* *************************************
+   *  Basic Types
+   ***************************************/
+  #if !defined(__VMS) &&       \
+      (defined(__cplusplus) || \
+       (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) /* C99 */))
+    #include <stdint.h>
+typedef uint8_t xxh_u8;
+  #else
+typedef unsigned char xxh_u8;
+  #endif
+typedef XXH32_hash_t xxh_u32;
+
+  #ifdef XXH_OLD_NAMES
+    #define BYTE xxh_u8
+    #define U8 xxh_u8
+    #define U32 xxh_u32
+  #endif
+
+/* ***   Memory access   *** */
+
+  #if (defined(XXH_FORCE_MEMORY_ACCESS) && (XXH_FORCE_MEMORY_ACCESS == 3))
+  /*
+   * Manual byteshift. Best for old compilers which don't inline memcpy.
+   * We actually directly use XXH_readLE32 and XXH_readBE32.
+   */
+  #elif (defined(XXH_FORCE_MEMORY_ACCESS) && (XXH_FORCE_MEMORY_ACCESS == 2))
+
+/*
+ * Force direct memory access. Only works on CPU which support unaligned memory
+ * access in hardware.
+ */
+static xxh_u32 XXH_read32(const void *memPtr) {
+
+  return *(const xxh_u32 *)memPtr;
+
+}
+
+  #elif (defined(XXH_FORCE_MEMORY_ACCESS) && (XXH_FORCE_MEMORY_ACCESS == 1))
+
+    /*
+     * __pack instructions are safer but compiler specific, hence potentially
+     * problematic for some compilers.
+     *
+     * Currently only defined for GCC and ICC.
+     */
+    #ifdef XXH_OLD_NAMES
+typedef union {
+
+  xxh_u32 u32;
+
+} __attribute__((packed)) unalign;
+
+    #endif
+static xxh_u32 XXH_read32(const void *ptr) {
+
+  typedef union {
+
+    xxh_u32 u32;
+
+  } __attribute__((packed)) xxh_unalign;
+
+  return ((const xxh_unalign *)ptr)->u32;
+
+}
+
+  #else
+
+/*
+ * Portable and safe solution. Generally efficient.
+ * see: https://stackoverflow.com/a/32095106/646947
+ */
+static xxh_u32 XXH_read32(const void *memPtr) {
+
+  xxh_u32 val;
+  memcpy(&val, memPtr, sizeof(val));
+  return val;
+
+}
+
+  #endif                                  /* XXH_FORCE_DIRECT_MEMORY_ACCESS */
+
+/* ***   Endianess   *** */
+typedef enum { XXH_bigEndian = 0, XXH_littleEndian = 1 } XXH_endianess;
+
+  /*!
+   * XXH_CPU_LITTLE_ENDIAN:
+   * Defined to 1 if the target is little endian, or 0 if it is big endian.
+   * It can be defined externally, for example on the compiler command line.
+   *
+   * If it is not defined, a runtime check (which is usually constant folded)
+   * is used instead.
+   */
+  #ifndef XXH_CPU_LITTLE_ENDIAN
+    /*
+     * Try to detect endianness automatically, to avoid the nonstandard behavior
+     * in `XXH_isLittleEndian()`
+     */
+    #if defined(_WIN32) || defined(__LITTLE_ENDIAN__) || \
+        (defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
+      #define XXH_CPU_LITTLE_ENDIAN 1
+    #elif defined(__BIG_ENDIAN__) || \
+        (defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
+      #define XXH_CPU_LITTLE_ENDIAN 0
+    #else
+/*
+ * runtime test, presumed to simplify to a constant by compiler
+ */
+static int XXH_isLittleEndian(void) {
+
+  /*
+   * Portable and well-defined behavior.
+   * Don't use static: it is detrimental to performance.
+   */
+  const union {
+
+    xxh_u32 u;
+    xxh_u8  c[4];
+
+  } one = {1};
+
+  return one.c[0];
+
+}
+
+      #define XXH_CPU_LITTLE_ENDIAN XXH_isLittleEndian()
+    #endif
+  #endif
+
+  /* ****************************************
+   *  Compiler-specific Functions and Macros
+   ******************************************/
+  #define XXH_GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__)
+
+  #ifdef __has_builtin
+    #define XXH_HAS_BUILTIN(x) __has_builtin(x)
+  #else
+    #define XXH_HAS_BUILTIN(x) 0
+  #endif
+
+  #if !defined(NO_CLANG_BUILTIN) && XXH_HAS_BUILTIN(__builtin_rotateleft32) && \
+      XXH_HAS_BUILTIN(__builtin_rotateleft64)
+    #define XXH_rotl32 __builtin_rotateleft32
+    #define XXH_rotl64 __builtin_rotateleft64
+  /* Note: although _rotl exists for minGW (GCC under windows), performance
+   * seems poor */
+  #elif defined(_MSC_VER)
+    #define XXH_rotl32(x, r) _rotl(x, r)
+    #define XXH_rotl64(x, r) _rotl64(x, r)
+  #else
+    #define XXH_rotl32(x, r) (((x) << (r)) | ((x) >> (32 - (r))))
+    #define XXH_rotl64(x, r) (((x) << (r)) | ((x) >> (64 - (r))))
+  #endif
+
+  #if defined(_MSC_VER)                                    /* Visual Studio */
+    #define XXH_swap32 _byteswap_ulong
+  #elif XXH_GCC_VERSION >= 403
+    #define XXH_swap32 __builtin_bswap32
+  #else
+static xxh_u32 XXH_swap32(xxh_u32 x) {
+
+  return ((x << 24) & 0xff000000) | ((x << 8) & 0x00ff0000) |
+         ((x >> 8) & 0x0000ff00) | ((x >> 24) & 0x000000ff);
+
+}
+
+  #endif
+
+/* ***************************
+ *  Memory reads
+ *****************************/
+typedef enum { XXH_aligned, XXH_unaligned } XXH_alignment;
+
+  /*
+   * XXH_FORCE_MEMORY_ACCESS==3 is an endian-independent byteshift load.
+   *
+   * This is ideal for older compilers which don't inline memcpy.
+   */
+  #if (defined(XXH_FORCE_MEMORY_ACCESS) && (XXH_FORCE_MEMORY_ACCESS == 3))
+
+XXH_FORCE_INLINE xxh_u32 XXH_readLE32(const void *memPtr) {
+
+  const xxh_u8 *bytePtr = (const xxh_u8 *)memPtr;
+  return bytePtr[0] | ((xxh_u32)bytePtr[1] << 8) | ((xxh_u32)bytePtr[2] << 16) |
+         ((xxh_u32)bytePtr[3] << 24);
+
+}
+
+XXH_FORCE_INLINE xxh_u32 XXH_readBE32(const void *memPtr) {
+
+  const xxh_u8 *bytePtr = (const xxh_u8 *)memPtr;
+  return bytePtr[3] | ((xxh_u32)bytePtr[2] << 8) | ((xxh_u32)bytePtr[1] << 16) |
+         ((xxh_u32)bytePtr[0] << 24);
+
+}
+
+  #else
+XXH_FORCE_INLINE xxh_u32 XXH_readLE32(const void *ptr) {
+
+  return XXH_CPU_LITTLE_ENDIAN ? XXH_read32(ptr) : XXH_swap32(XXH_read32(ptr));
+
+}
+
+static xxh_u32 XXH_readBE32(const void *ptr) {
+
+  return XXH_CPU_LITTLE_ENDIAN ? XXH_swap32(XXH_read32(ptr)) : XXH_read32(ptr);
+
+}
+
+  #endif
+
+XXH_FORCE_INLINE xxh_u32 XXH_readLE32_align(const void *  ptr,
+                                            XXH_alignment align) {
+
+  if (align == XXH_unaligned) {
+
+    return XXH_readLE32(ptr);
+
+  } else {
+
+    return XXH_CPU_LITTLE_ENDIAN ? *(const xxh_u32 *)ptr
+                                 : XXH_swap32(*(const xxh_u32 *)ptr);
+
+  }
+
+}
+
+/* *************************************
+ *  Misc
+ ***************************************/
+XXH_PUBLIC_API unsigned XXH_versionNumber(void) {
+
+  return XXH_VERSION_NUMBER;
+
+}
+
+/* *******************************************************************
+ *  32-bit hash functions
+ *********************************************************************/
+static const xxh_u32 XXH_PRIME32_1 =
+    0x9E3779B1U;                      /* 0b10011110001101110111100110110001 */
+static const xxh_u32 XXH_PRIME32_2 =
+    0x85EBCA77U;                      /* 0b10000101111010111100101001110111 */
+static const xxh_u32 XXH_PRIME32_3 =
+    0xC2B2AE3DU;                      /* 0b11000010101100101010111000111101 */
+static const xxh_u32 XXH_PRIME32_4 =
+    0x27D4EB2FU;                      /* 0b00100111110101001110101100101111 */
+static const xxh_u32 XXH_PRIME32_5 =
+    0x165667B1U;                      /* 0b00010110010101100110011110110001 */
+
+  #ifdef XXH_OLD_NAMES
+    #define PRIME32_1 XXH_PRIME32_1
+    #define PRIME32_2 XXH_PRIME32_2
+    #define PRIME32_3 XXH_PRIME32_3
+    #define PRIME32_4 XXH_PRIME32_4
+    #define PRIME32_5 XXH_PRIME32_5
+  #endif
+
+static xxh_u32 XXH32_round(xxh_u32 acc, xxh_u32 input) {
+
+  acc += input * XXH_PRIME32_2;
+  acc = XXH_rotl32(acc, 13);
+  acc *= XXH_PRIME32_1;
+  #if defined(__GNUC__) && defined(__SSE4_1__) && \
+      !defined(XXH_ENABLE_AUTOVECTORIZE)
+  /*
+   * UGLY HACK:
+   * This inline assembly hack forces acc into a normal register. This is the
+   * only thing that prevents GCC and Clang from autovectorizing the XXH32
+   * loop (pragmas and attributes don't work for some resason) without globally
+   * disabling SSE4.1.
+   *
+   * The reason we want to avoid vectorization is because despite working on
+   * 4 integers at a time, there are multiple factors slowing XXH32 down on
+   * SSE4:
+   * - There's a ridiculous amount of lag from pmulld (10 cycles of latency on
+   *   newer chips!) making it slightly slower to multiply four integers at
+   *   once compared to four integers independently. Even when pmulld was
+   *   fastest, Sandy/Ivy Bridge, it is still not worth it to go into SSE
+   *   just to multiply unless doing a long operation.
+   *
+   * - Four instructions are required to rotate,
+   *      movqda tmp,  v // not required with VEX encoding
+   *      pslld  tmp, 13 // tmp <<= 13
+   *      psrld  v,   19 // x >>= 19
+   *      por    v,  tmp // x |= tmp
+   *   compared to one for scalar:
+   *      roll   v, 13    // reliably fast across the board
+   *      shldl  v, v, 13 // Sandy Bridge and later prefer this for some reason
+   *
+   * - Instruction level parallelism is actually more beneficial here because
+   *   the SIMD actually serializes this operation: While v1 is rotating, v2
+   *   can load data, while v3 can multiply. SSE forces them to operate
+   *   together.
+   *
+   * How this hack works:
+   * __asm__(""       // Declare an assembly block but don't declare any
+   * instructions :       // However, as an Input/Output Operand,
+   *          "+r"    // constrain a read/write operand (+) as a general purpose
+   * register (r). (acc)   // and set acc as the operand
+   * );
+   *
+   * Because of the 'r', the compiler has promised that seed will be in a
+   * general purpose register and the '+' says that it will be 'read/write',
+   * so it has to assume it has changed. It is like volatile without all the
+   * loads and stores.
+   *
+   * Since the argument has to be in a normal register (not an SSE register),
+   * each time XXH32_round is called, it is impossible to vectorize.
+   */
+  __asm__("" : "+r"(acc));
+  #endif
+  return acc;
+
+}
+
+/* mix all bits */
+static xxh_u32 XXH32_avalanche(xxh_u32 h32) {
+
+  h32 ^= h32 >> 15;
+  h32 *= XXH_PRIME32_2;
+  h32 ^= h32 >> 13;
+  h32 *= XXH_PRIME32_3;
+  h32 ^= h32 >> 16;
+  return (h32);
+
+}
+
+  #define XXH_get32bits(p) XXH_readLE32_align(p, align)
+
+static xxh_u32 XXH32_finalize(xxh_u32 h32, const xxh_u8 *ptr, size_t len,
+                              XXH_alignment align) {
+
+  /* dummy comment */
+
+  #define XXH_PROCESS1                           \
+    do {                                         \
+                                                 \
+      h32 += (*ptr++) * XXH_PRIME32_5;           \
+      h32 = XXH_rotl32(h32, 11) * XXH_PRIME32_1; \
+                                                 \
+    } while (0)
+
+  #define XXH_PROCESS4                           \
+    do {                                         \
+                                                 \
+      h32 += XXH_get32bits(ptr) * XXH_PRIME32_3; \
+      ptr += 4;                                  \
+      h32 = XXH_rotl32(h32, 17) * XXH_PRIME32_4; \
+                                                 \
+    } while (0)
+
+  /* Compact rerolled version */
+  if (XXH_REROLL) {
+
+    len &= 15;
+    while (len >= 4) {
+
+      XXH_PROCESS4;
+      len -= 4;
+
+    }
+
+    while (len > 0) {
+
+      XXH_PROCESS1;
+      --len;
+
+    }
+
+    return XXH32_avalanche(h32);
+
+  } else {
+
+    switch (len & 15) /* or switch(bEnd - p) */ {
+
+      case 12:
+        XXH_PROCESS4;
+        /* fallthrough */
+      case 8:
+        XXH_PROCESS4;
+        /* fallthrough */
+      case 4:
+        XXH_PROCESS4;
+        return XXH32_avalanche(h32);
+
+      case 13:
+        XXH_PROCESS4;
+        /* fallthrough */
+      case 9:
+        XXH_PROCESS4;
+        /* fallthrough */
+      case 5:
+        XXH_PROCESS4;
+        XXH_PROCESS1;
+        return XXH32_avalanche(h32);
+
+      case 14:
+        XXH_PROCESS4;
+        /* fallthrough */
+      case 10:
+        XXH_PROCESS4;
+        /* fallthrough */
+      case 6:
+        XXH_PROCESS4;
+        XXH_PROCESS1;
+        XXH_PROCESS1;
+        return XXH32_avalanche(h32);
+
+      case 15:
+        XXH_PROCESS4;
+        /* fallthrough */
+      case 11:
+        XXH_PROCESS4;
+        /* fallthrough */
+      case 7:
+        XXH_PROCESS4;
+        /* fallthrough */
+      case 3:
+        XXH_PROCESS1;
+        /* fallthrough */
+      case 2:
+        XXH_PROCESS1;
+        /* fallthrough */
+      case 1:
+        XXH_PROCESS1;
+        /* fallthrough */
+      case 0:
+        return XXH32_avalanche(h32);
+
+    }
+
+    XXH_ASSERT(0);
+    return h32;                 /* reaching this point is deemed impossible */
+
+  }
+
+}
+
+  #ifdef XXH_OLD_NAMES
+    #define PROCESS1 XXH_PROCESS1
+    #define PROCESS4 XXH_PROCESS4
+  #else
+    #undef XXH_PROCESS1
+    #undef XXH_PROCESS4
+  #endif
+
+XXH_FORCE_INLINE xxh_u32 XXH32_endian_align(const xxh_u8 *input, size_t len,
+                                            xxh_u32 seed, XXH_alignment align) {
+
+  const xxh_u8 *bEnd = input + len;
+  xxh_u32       h32;
+
+  #if defined(XXH_ACCEPT_NULL_INPUT_POINTER) && \
+      (XXH_ACCEPT_NULL_INPUT_POINTER >= 1)
+  if (input == NULL) {
+
+    len = 0;
+    bEnd = input = (const xxh_u8 *)(size_t)16;
+
+  }
+
+  #endif
+
+  if (len >= 16) {
+
+    const xxh_u8 *const limit = bEnd - 15;
+    xxh_u32             v1 = seed + XXH_PRIME32_1 + XXH_PRIME32_2;
+    xxh_u32             v2 = seed + XXH_PRIME32_2;
+    xxh_u32             v3 = seed + 0;
+    xxh_u32             v4 = seed - XXH_PRIME32_1;
+
+    do {
+
+      v1 = XXH32_round(v1, XXH_get32bits(input));
+      input += 4;
+      v2 = XXH32_round(v2, XXH_get32bits(input));
+      input += 4;
+      v3 = XXH32_round(v3, XXH_get32bits(input));
+      input += 4;
+      v4 = XXH32_round(v4, XXH_get32bits(input));
+      input += 4;
+
+    } while (input < limit);
+
+    h32 = XXH_rotl32(v1, 1) + XXH_rotl32(v2, 7) + XXH_rotl32(v3, 12) +
+          XXH_rotl32(v4, 18);
+
+  } else {
+
+    h32 = seed + XXH_PRIME32_5;
+
+  }
+
+  h32 += (xxh_u32)len;
+
+  return XXH32_finalize(h32, input, len & 15, align);
+
+}
+
+XXH_PUBLIC_API XXH32_hash_t XXH32(const void *input, size_t len,
+                                  XXH32_hash_t seed) {
+
+  #if 0
+    /* Simple version, good for code maintenance, but unfortunately slow for small inputs */
+    XXH32_state_t state;
+    XXH32_reset(&state, seed);
+    XXH32_update(&state, (const xxh_u8*)input, len);
+    return XXH32_digest(&state);
+
+  #else
+
+  if (XXH_FORCE_ALIGN_CHECK) {
+
+    if ((((size_t)input) & 3) ==
+        0) {        /* Input is 4-bytes aligned, leverage the speed benefit */
+      return XXH32_endian_align((const xxh_u8 *)input, len, seed, XXH_aligned);
+
+    }
+
+  }
+
+  return XXH32_endian_align((const xxh_u8 *)input, len, seed, XXH_unaligned);
+  #endif
+
+}
+
+/*******   Hash streaming   *******/
+
+XXH_PUBLIC_API XXH32_state_t *XXH32_createState(void) {
+
+  return (XXH32_state_t *)XXH_malloc(sizeof(XXH32_state_t));
+
+}
+
+XXH_PUBLIC_API XXH_errorcode XXH32_freeState(XXH32_state_t *statePtr) {
+
+  XXH_free(statePtr);
+  return XXH_OK;
+
+}
+
+XXH_PUBLIC_API void XXH32_copyState(XXH32_state_t *      dstState,
+                                    const XXH32_state_t *srcState) {
+
+  memcpy(dstState, srcState, sizeof(*dstState));
+
+}
+
+XXH_PUBLIC_API XXH_errorcode XXH32_reset(XXH32_state_t *statePtr,
+                                         XXH32_hash_t   seed) {
+
+  XXH32_state_t state; /* using a local state to memcpy() in order to avoid
+                          strict-aliasing warnings */
+  memset(&state, 0, sizeof(state));
+  state.v1 = seed + XXH_PRIME32_1 + XXH_PRIME32_2;
+  state.v2 = seed + XXH_PRIME32_2;
+  state.v3 = seed + 0;
+  state.v4 = seed - XXH_PRIME32_1;
+  /* do not write into reserved, planned to be removed in a future version */
+  memcpy(statePtr, &state, sizeof(state) - sizeof(state.reserved));
+  return XXH_OK;
+
+}
+
+XXH_PUBLIC_API XXH_errorcode XXH32_update(XXH32_state_t *state,
+                                          const void *input, size_t len) {
+
+  if (input == NULL)
+  #if defined(XXH_ACCEPT_NULL_INPUT_POINTER) && \
+      (XXH_ACCEPT_NULL_INPUT_POINTER >= 1)
+    return XXH_OK;
+  #else
+    return XXH_ERROR;
+  #endif
+
+  {
+
+    const xxh_u8 *      p = (const xxh_u8 *)input;
+    const xxh_u8 *const bEnd = p + len;
+
+    state->total_len_32 += (XXH32_hash_t)len;
+    state->large_len |=
+        (XXH32_hash_t)((len >= 16) | (state->total_len_32 >= 16));
+
+    if (state->memsize + len < 16) {                  /* fill in tmp buffer */
+      XXH_memcpy((xxh_u8 *)(state->mem32) + state->memsize, input, len);
+      state->memsize += (XXH32_hash_t)len;
+      return XXH_OK;
+
+    }
+
+    if (state->memsize) {            /* some data left from previous update */
+      XXH_memcpy((xxh_u8 *)(state->mem32) + state->memsize, input,
+                 16 - state->memsize);
+      {
+
+        const xxh_u32 *p32 = state->mem32;
+        state->v1 = XXH32_round(state->v1, XXH_readLE32(p32));
+        p32++;
+        state->v2 = XXH32_round(state->v2, XXH_readLE32(p32));
+        p32++;
+        state->v3 = XXH32_round(state->v3, XXH_readLE32(p32));
+        p32++;
+        state->v4 = XXH32_round(state->v4, XXH_readLE32(p32));
+
+      }
+
+      p += 16 - state->memsize;
+      state->memsize = 0;
+
+    }
+
+    if (p <= bEnd - 16) {
+
+      const xxh_u8 *const limit = bEnd - 16;
+      xxh_u32             v1 = state->v1;
+      xxh_u32             v2 = state->v2;
+      xxh_u32             v3 = state->v3;
+      xxh_u32             v4 = state->v4;
+
+      do {
+
+        v1 = XXH32_round(v1, XXH_readLE32(p));
+        p += 4;
+        v2 = XXH32_round(v2, XXH_readLE32(p));
+        p += 4;
+        v3 = XXH32_round(v3, XXH_readLE32(p));
+        p += 4;
+        v4 = XXH32_round(v4, XXH_readLE32(p));
+        p += 4;
+
+      } while (p <= limit);
+
+      state->v1 = v1;
+      state->v2 = v2;
+      state->v3 = v3;
+      state->v4 = v4;
+
+    }
+
+    if (p < bEnd) {
+
+      XXH_memcpy(state->mem32, p, (size_t)(bEnd - p));
+      state->memsize = (unsigned)(bEnd - p);
+
+    }
+
+  }
+
+  return XXH_OK;
+
+}
+
+XXH_PUBLIC_API XXH32_hash_t XXH32_digest(const XXH32_state_t *state) {
+
+  xxh_u32 h32;
+
+  if (state->large_len) {
+
+    h32 = XXH_rotl32(state->v1, 1) + XXH_rotl32(state->v2, 7) +
+          XXH_rotl32(state->v3, 12) + XXH_rotl32(state->v4, 18);
+
+  } else {
+
+    h32 = state->v3 /* == seed */ + XXH_PRIME32_5;
+
+  }
+
+  h32 += state->total_len_32;
+
+  return XXH32_finalize(h32, (const xxh_u8 *)state->mem32, state->memsize,
+                        XXH_aligned);
+
+}
+
+/*******   Canonical representation   *******/
+
+/*
+ * The default return values from XXH functions are unsigned 32 and 64 bit
+ * integers.
+ *
+ * The canonical representation uses big endian convention, the same convention
+ * as human-readable numbers (large digits first).
+ *
+ * This way, hash values can be written into a file or buffer, remaining
+ * comparable across different systems.
+ *
+ * The following functions allow transformation of hash values to and from their
+ * canonical format.
+ */
+XXH_PUBLIC_API void XXH32_canonicalFromHash(XXH32_canonical_t *dst,
+                                            XXH32_hash_t       hash) {
+
+  XXH_STATIC_ASSERT(sizeof(XXH32_canonical_t) == sizeof(XXH32_hash_t));
+  if (XXH_CPU_LITTLE_ENDIAN) hash = XXH_swap32(hash);
+  memcpy(dst, &hash, sizeof(*dst));
+
+}
+
+XXH_PUBLIC_API XXH32_hash_t
+XXH32_hashFromCanonical(const XXH32_canonical_t *src) {
+
+  return XXH_readBE32(src);
+
+}
+
+  #ifndef XXH_NO_LONG_LONG
+
+/* *******************************************************************
+ *  64-bit hash functions
+ *********************************************************************/
+
+/*******   Memory access   *******/
+
+typedef XXH64_hash_t xxh_u64;
+
+    #ifdef XXH_OLD_NAMES
+      #define U64 xxh_u64
+    #endif
+
+    /*!
+     * XXH_REROLL_XXH64:
+     * Whether to reroll the XXH64_finalize() loop.
+     *
+     * Just like XXH32, we can unroll the XXH64_finalize() loop. This can be a
+     * performance gain on 64-bit hosts, as only one jump is required.
+     *
+     * However, on 32-bit hosts, because arithmetic needs to be done with two
+     * 32-bit registers, and 64-bit arithmetic needs to be simulated, it isn't
+     * beneficial to unroll. The code becomes ridiculously large (the largest
+     * function in the binary on i386!), and rerolling it saves anywhere from
+     * 3kB to 20kB. It is also slightly faster because it fits into cache better
+     * and is more likely to be inlined by the compiler.
+     *
+     * If XXH_REROLL is defined, this is ignored and the loop is always
+     * rerolled.
+     */
+    #ifndef XXH_REROLL_XXH64
+      #if (defined(__ILP32__) || defined(_ILP32)) ||                           \
+          !(defined(__x86_64__) || defined(_M_X64) || defined(_M_AMD64) ||     \
+            defined(_M_ARM64) || defined(__aarch64__) || defined(__arm64__) || \
+            defined(__PPC64__) || defined(__PPC64LE__) ||                      \
+            defined(__ppc64__) || defined(__powerpc64__) ||                    \
+            defined(__mips64__) || defined(__mips64)) ||                       \
+          (!defined(SIZE_MAX) || SIZE_MAX < ULLONG_MAX)
+        #define XXH_REROLL_XXH64 1
+      #else
+        #define XXH_REROLL_XXH64 0
+      #endif
+    #endif                                    /* !defined(XXH_REROLL_XXH64) */
+
+    #if (defined(XXH_FORCE_MEMORY_ACCESS) && (XXH_FORCE_MEMORY_ACCESS == 3))
+    /*
+     * Manual byteshift. Best for old compilers which don't inline memcpy.
+     * We actually directly use XXH_readLE64 and XXH_readBE64.
+     */
+    #elif (defined(XXH_FORCE_MEMORY_ACCESS) && (XXH_FORCE_MEMORY_ACCESS == 2))
+
+/* Force direct memory access. Only works on CPU which support unaligned memory
+ * access in hardware */
+static xxh_u64 XXH_read64(const void *memPtr) {
+
+  return *(const xxh_u64 *)memPtr;
+
+}
+
+    #elif (defined(XXH_FORCE_MEMORY_ACCESS) && (XXH_FORCE_MEMORY_ACCESS == 1))
+
+      /*
+       * __pack instructions are safer, but compiler specific, hence potentially
+       * problematic for some compilers.
+       *
+       * Currently only defined for GCC and ICC.
+       */
+      #ifdef XXH_OLD_NAMES
+typedef union {
+
+  xxh_u32 u32;
+  xxh_u64 u64;
+
+} __attribute__((packed)) unalign64;
+
+      #endif
+static xxh_u64 XXH_read64(const void *ptr) {
+
+  typedef union {
+
+    xxh_u32 u32;
+    xxh_u64 u64;
+
+  } __attribute__((packed)) xxh_unalign64;
+
+  return ((const xxh_unalign64 *)ptr)->u64;
+
+}
+
+    #else
+
+/*
+ * Portable and safe solution. Generally efficient.
+ * see: https://stackoverflow.com/a/32095106/646947
+ */
+static xxh_u64 XXH_read64(const void *memPtr) {
+
+  xxh_u64 val;
+  memcpy(&val, memPtr, sizeof(val));
+  return val;
+
+}
+
+    #endif                                /* XXH_FORCE_DIRECT_MEMORY_ACCESS */
+
+    #if defined(_MSC_VER)                                  /* Visual Studio */
+      #define XXH_swap64 _byteswap_uint64
+    #elif XXH_GCC_VERSION >= 403
+      #define XXH_swap64 __builtin_bswap64
+    #else
+static xxh_u64 XXH_swap64(xxh_u64 x) {
+
+  return ((x << 56) & 0xff00000000000000ULL) |
+         ((x << 40) & 0x00ff000000000000ULL) |
+         ((x << 24) & 0x0000ff0000000000ULL) |
+         ((x << 8) & 0x000000ff00000000ULL) |
+         ((x >> 8) & 0x00000000ff000000ULL) |
+         ((x >> 24) & 0x0000000000ff0000ULL) |
+         ((x >> 40) & 0x000000000000ff00ULL) |
+         ((x >> 56) & 0x00000000000000ffULL);
+
+}
+
+    #endif
+
+    /* XXH_FORCE_MEMORY_ACCESS==3 is an endian-independent byteshift load. */
+    #if (defined(XXH_FORCE_MEMORY_ACCESS) && (XXH_FORCE_MEMORY_ACCESS == 3))
+
+XXH_FORCE_INLINE xxh_u64 XXH_readLE64(const void *memPtr) {
+
+  const xxh_u8 *bytePtr = (const xxh_u8 *)memPtr;
+  return bytePtr[0] | ((xxh_u64)bytePtr[1] << 8) | ((xxh_u64)bytePtr[2] << 16) |
+         ((xxh_u64)bytePtr[3] << 24) | ((xxh_u64)bytePtr[4] << 32) |
+         ((xxh_u64)bytePtr[5] << 40) | ((xxh_u64)bytePtr[6] << 48) |
+         ((xxh_u64)bytePtr[7] << 56);
+
+}
+
+XXH_FORCE_INLINE xxh_u64 XXH_readBE64(const void *memPtr) {
+
+  const xxh_u8 *bytePtr = (const xxh_u8 *)memPtr;
+  return bytePtr[7] | ((xxh_u64)bytePtr[6] << 8) | ((xxh_u64)bytePtr[5] << 16) |
+         ((xxh_u64)bytePtr[4] << 24) | ((xxh_u64)bytePtr[3] << 32) |
+         ((xxh_u64)bytePtr[2] << 40) | ((xxh_u64)bytePtr[1] << 48) |
+         ((xxh_u64)bytePtr[0] << 56);
+
+}
+
+    #else
+XXH_FORCE_INLINE xxh_u64 XXH_readLE64(const void *ptr) {
+
+  return XXH_CPU_LITTLE_ENDIAN ? XXH_read64(ptr) : XXH_swap64(XXH_read64(ptr));
+
+}
+
+static xxh_u64 XXH_readBE64(const void *ptr) {
+
+  return XXH_CPU_LITTLE_ENDIAN ? XXH_swap64(XXH_read64(ptr)) : XXH_read64(ptr);
+
+}
+
+    #endif
+
+XXH_FORCE_INLINE xxh_u64 XXH_readLE64_align(const void *  ptr,
+                                            XXH_alignment align) {
+
+  if (align == XXH_unaligned)
+    return XXH_readLE64(ptr);
+  else
+    return XXH_CPU_LITTLE_ENDIAN ? *(const xxh_u64 *)ptr
+                                 : XXH_swap64(*(const xxh_u64 *)ptr);
+
+}
+
+/*******   xxh64   *******/
+
+static const xxh_u64 XXH_PRIME64_1 =
+    0x9E3779B185EBCA87ULL; /* 0b1001111000110111011110011011000110000101111010111100101010000111
+                            */
+static const xxh_u64 XXH_PRIME64_2 =
+    0xC2B2AE3D27D4EB4FULL; /* 0b1100001010110010101011100011110100100111110101001110101101001111
+                            */
+static const xxh_u64 XXH_PRIME64_3 =
+    0x165667B19E3779F9ULL; /* 0b0001011001010110011001111011000110011110001101110111100111111001
+                            */
+static const xxh_u64 XXH_PRIME64_4 =
+    0x85EBCA77C2B2AE63ULL; /* 0b1000010111101011110010100111011111000010101100101010111001100011
+                            */
+static const xxh_u64 XXH_PRIME64_5 =
+    0x27D4EB2F165667C5ULL; /* 0b0010011111010100111010110010111100010110010101100110011111000101
+                            */
+
+    #ifdef XXH_OLD_NAMES
+      #define PRIME64_1 XXH_PRIME64_1
+      #define PRIME64_2 XXH_PRIME64_2
+      #define PRIME64_3 XXH_PRIME64_3
+      #define PRIME64_4 XXH_PRIME64_4
+      #define PRIME64_5 XXH_PRIME64_5
+    #endif
+
+static xxh_u64 XXH64_round(xxh_u64 acc, xxh_u64 input) {
+
+  acc += input * XXH_PRIME64_2;
+  acc = XXH_rotl64(acc, 31);
+  acc *= XXH_PRIME64_1;
+  return acc;
+
+}
+
+static xxh_u64 XXH64_mergeRound(xxh_u64 acc, xxh_u64 val) {
+
+  val = XXH64_round(0, val);
+  acc ^= val;
+  acc = acc * XXH_PRIME64_1 + XXH_PRIME64_4;
+  return acc;
+
+}
+
+static xxh_u64 XXH64_avalanche(xxh_u64 h64) {
+
+  h64 ^= h64 >> 33;
+  h64 *= XXH_PRIME64_2;
+  h64 ^= h64 >> 29;
+  h64 *= XXH_PRIME64_3;
+  h64 ^= h64 >> 32;
+  return h64;
+
+}
+
+    #define XXH_get64bits(p) XXH_readLE64_align(p, align)
+
+static xxh_u64 XXH64_finalize(xxh_u64 h64, const xxh_u8 *ptr, size_t len,
+                              XXH_alignment align) {
+
+    /* dummy comment */
+
+    #define XXH_PROCESS1_64                        \
+      do {                                         \
+                                                   \
+        h64 ^= (*ptr++) * XXH_PRIME64_5;           \
+        h64 = XXH_rotl64(h64, 11) * XXH_PRIME64_1; \
+                                                   \
+      } while (0)
+
+    #define XXH_PROCESS4_64                                        \
+      do {                                                         \
+                                                                   \
+        h64 ^= (xxh_u64)(XXH_get32bits(ptr)) * XXH_PRIME64_1;      \
+        ptr += 4;                                                  \
+        h64 = XXH_rotl64(h64, 23) * XXH_PRIME64_2 + XXH_PRIME64_3; \
+                                                                   \
+      } while (0)
+
+    #define XXH_PROCESS8_64                                        \
+      do {                                                         \
+                                                                   \
+        xxh_u64 const k1 = XXH64_round(0, XXH_get64bits(ptr));     \
+        ptr += 8;                                                  \
+        h64 ^= k1;                                                 \
+        h64 = XXH_rotl64(h64, 27) * XXH_PRIME64_1 + XXH_PRIME64_4; \
+                                                                   \
+      } while (0)
+
+  /* Rerolled version for 32-bit targets is faster and much smaller. */
+  if (XXH_REROLL || XXH_REROLL_XXH64) {
+
+    len &= 31;
+    while (len >= 8) {
+
+      XXH_PROCESS8_64;
+      len -= 8;
+
+    }
+
+    if (len >= 4) {
+
+      XXH_PROCESS4_64;
+      len -= 4;
+
+    }
+
+    while (len > 0) {
+
+      XXH_PROCESS1_64;
+      --len;
+
+    }
+
+    return XXH64_avalanche(h64);
+
+  } else {
+
+    switch (len & 31) {
+
+      case 24:
+        XXH_PROCESS8_64;
+        /* fallthrough */
+      case 16:
+        XXH_PROCESS8_64;
+        /* fallthrough */
+      case 8:
+        XXH_PROCESS8_64;
+        return XXH64_avalanche(h64);
+
+      case 28:
+        XXH_PROCESS8_64;
+        /* fallthrough */
+      case 20:
+        XXH_PROCESS8_64;
+        /* fallthrough */
+      case 12:
+        XXH_PROCESS8_64;
+        /* fallthrough */
+      case 4:
+        XXH_PROCESS4_64;
+        return XXH64_avalanche(h64);
+
+      case 25:
+        XXH_PROCESS8_64;
+        /* fallthrough */
+      case 17:
+        XXH_PROCESS8_64;
+        /* fallthrough */
+      case 9:
+        XXH_PROCESS8_64;
+        XXH_PROCESS1_64;
+        return XXH64_avalanche(h64);
+
+      case 29:
+        XXH_PROCESS8_64;
+        /* fallthrough */
+      case 21:
+        XXH_PROCESS8_64;
+        /* fallthrough */
+      case 13:
+        XXH_PROCESS8_64;
+        /* fallthrough */
+      case 5:
+        XXH_PROCESS4_64;
+        XXH_PROCESS1_64;
+        return XXH64_avalanche(h64);
+
+      case 26:
+        XXH_PROCESS8_64;
+        /* fallthrough */
+      case 18:
+        XXH_PROCESS8_64;
+        /* fallthrough */
+      case 10:
+        XXH_PROCESS8_64;
+        XXH_PROCESS1_64;
+        XXH_PROCESS1_64;
+        return XXH64_avalanche(h64);
+
+      case 30:
+        XXH_PROCESS8_64;
+        /* fallthrough */
+      case 22:
+        XXH_PROCESS8_64;
+        /* fallthrough */
+      case 14:
+        XXH_PROCESS8_64;
+        /* fallthrough */
+      case 6:
+        XXH_PROCESS4_64;
+        XXH_PROCESS1_64;
+        XXH_PROCESS1_64;
+        return XXH64_avalanche(h64);
+
+      case 27:
+        XXH_PROCESS8_64;
+        /* fallthrough */
+      case 19:
+        XXH_PROCESS8_64;
+        /* fallthrough */
+      case 11:
+        XXH_PROCESS8_64;
+        XXH_PROCESS1_64;
+        XXH_PROCESS1_64;
+        XXH_PROCESS1_64;
+        return XXH64_avalanche(h64);
+
+      case 31:
+        XXH_PROCESS8_64;
+        /* fallthrough */
+      case 23:
+        XXH_PROCESS8_64;
+        /* fallthrough */
+      case 15:
+        XXH_PROCESS8_64;
+        /* fallthrough */
+      case 7:
+        XXH_PROCESS4_64;
+        /* fallthrough */
+      case 3:
+        XXH_PROCESS1_64;
+        /* fallthrough */
+      case 2:
+        XXH_PROCESS1_64;
+        /* fallthrough */
+      case 1:
+        XXH_PROCESS1_64;
+        /* fallthrough */
+      case 0:
+        return XXH64_avalanche(h64);
+
+    }
+
+  }
+
+  /* impossible to reach */
+  XXH_ASSERT(0);
+  return 0;          /* unreachable, but some compilers complain without it */
+
+}
+
+    #ifdef XXH_OLD_NAMES
+      #define PROCESS1_64 XXH_PROCESS1_64
+      #define PROCESS4_64 XXH_PROCESS4_64
+      #define PROCESS8_64 XXH_PROCESS8_64
+    #else
+      #undef XXH_PROCESS1_64
+      #undef XXH_PROCESS4_64
+      #undef XXH_PROCESS8_64
+    #endif
+
+XXH_FORCE_INLINE xxh_u64 XXH64_endian_align(const xxh_u8 *input, size_t len,
+                                            xxh_u64 seed, XXH_alignment align) {
+
+  const xxh_u8 *bEnd = input + len;
+  xxh_u64       h64;
+
+    #if defined(XXH_ACCEPT_NULL_INPUT_POINTER) && \
+        (XXH_ACCEPT_NULL_INPUT_POINTER >= 1)
+  if (input == NULL) {
+
+    len = 0;
+    bEnd = input = (const xxh_u8 *)(size_t)32;
+
+  }
+
+    #endif
+
+  if (len >= 32) {
+
+    const xxh_u8 *const limit = bEnd - 32;
+    xxh_u64             v1 = seed + XXH_PRIME64_1 + XXH_PRIME64_2;
+    xxh_u64             v2 = seed + XXH_PRIME64_2;
+    xxh_u64             v3 = seed + 0;
+    xxh_u64             v4 = seed - XXH_PRIME64_1;
+
+    do {
+
+      v1 = XXH64_round(v1, XXH_get64bits(input));
+      input += 8;
+      v2 = XXH64_round(v2, XXH_get64bits(input));
+      input += 8;
+      v3 = XXH64_round(v3, XXH_get64bits(input));
+      input += 8;
+      v4 = XXH64_round(v4, XXH_get64bits(input));
+      input += 8;
+
+    } while (input <= limit);
+
+    h64 = XXH_rotl64(v1, 1) + XXH_rotl64(v2, 7) + XXH_rotl64(v3, 12) +
+          XXH_rotl64(v4, 18);
+    h64 = XXH64_mergeRound(h64, v1);
+    h64 = XXH64_mergeRound(h64, v2);
+    h64 = XXH64_mergeRound(h64, v3);
+    h64 = XXH64_mergeRound(h64, v4);
+
+  } else {
+
+    h64 = seed + XXH_PRIME64_5;
+
+  }
+
+  h64 += (xxh_u64)len;
+
+  return XXH64_finalize(h64, input, len, align);
+
+}
+
+XXH_PUBLIC_API XXH64_hash_t XXH64(const void *input, size_t len,
+                                  XXH64_hash_t seed) {
+
+    #if 0
+    /* Simple version, good for code maintenance, but unfortunately slow for small inputs */
+    XXH64_state_t state;
+    XXH64_reset(&state, seed);
+    XXH64_update(&state, (const xxh_u8*)input, len);
+    return XXH64_digest(&state);
+
+    #else
+
+  if (XXH_FORCE_ALIGN_CHECK) {
+
+    if ((((size_t)input) & 7) ==
+        0) {        /* Input is aligned, let's leverage the speed advantage */
+      return XXH64_endian_align((const xxh_u8 *)input, len, seed, XXH_aligned);
+
+    }
+
+  }
+
+  return XXH64_endian_align((const xxh_u8 *)input, len, seed, XXH_unaligned);
+
+    #endif
+
+}
+
+/*******   Hash Streaming   *******/
+
+XXH_PUBLIC_API XXH64_state_t *XXH64_createState(void) {
+
+  return (XXH64_state_t *)XXH_malloc(sizeof(XXH64_state_t));
+
+}
+
+XXH_PUBLIC_API XXH_errorcode XXH64_freeState(XXH64_state_t *statePtr) {
+
+  XXH_free(statePtr);
+  return XXH_OK;
+
+}
+
+XXH_PUBLIC_API void XXH64_copyState(XXH64_state_t *      dstState,
+                                    const XXH64_state_t *srcState) {
+
+  memcpy(dstState, srcState, sizeof(*dstState));
+
+}
+
+XXH_PUBLIC_API XXH_errorcode XXH64_reset(XXH64_state_t *statePtr,
+                                         XXH64_hash_t   seed) {
+
+  XXH64_state_t state; /* use a local state to memcpy() in order to avoid
+                          strict-aliasing warnings */
+  memset(&state, 0, sizeof(state));
+  state.v1 = seed + XXH_PRIME64_1 + XXH_PRIME64_2;
+  state.v2 = seed + XXH_PRIME64_2;
+  state.v3 = seed + 0;
+  state.v4 = seed - XXH_PRIME64_1;
+  /* do not write into reserved64, might be removed in a future version */
+  memcpy(statePtr, &state, sizeof(state) - sizeof(state.reserved64));
+  return XXH_OK;
+
+}
+
+XXH_PUBLIC_API XXH_errorcode XXH64_update(XXH64_state_t *state,
+                                          const void *input, size_t len) {
+
+  if (input == NULL)
+    #if defined(XXH_ACCEPT_NULL_INPUT_POINTER) && \
+        (XXH_ACCEPT_NULL_INPUT_POINTER >= 1)
+    return XXH_OK;
+    #else
+    return XXH_ERROR;
+    #endif
+
+  {
+
+    const xxh_u8 *      p = (const xxh_u8 *)input;
+    const xxh_u8 *const bEnd = p + len;
+
+    state->total_len += len;
+
+    if (state->memsize + len < 32) {                  /* fill in tmp buffer */
+      XXH_memcpy(((xxh_u8 *)state->mem64) + state->memsize, input, len);
+      state->memsize += (xxh_u32)len;
+      return XXH_OK;
+
+    }
+
+    if (state->memsize) {                             /* tmp buffer is full */
+      XXH_memcpy(((xxh_u8 *)state->mem64) + state->memsize, input,
+                 32 - state->memsize);
+      state->v1 = XXH64_round(state->v1, XXH_readLE64(state->mem64 + 0));
+      state->v2 = XXH64_round(state->v2, XXH_readLE64(state->mem64 + 1));
+      state->v3 = XXH64_round(state->v3, XXH_readLE64(state->mem64 + 2));
+      state->v4 = XXH64_round(state->v4, XXH_readLE64(state->mem64 + 3));
+      p += 32 - state->memsize;
+      state->memsize = 0;
+
+    }
+
+    if (p + 32 <= bEnd) {
+
+      const xxh_u8 *const limit = bEnd - 32;
+      xxh_u64             v1 = state->v1;
+      xxh_u64             v2 = state->v2;
+      xxh_u64             v3 = state->v3;
+      xxh_u64             v4 = state->v4;
+
+      do {
+
+        v1 = XXH64_round(v1, XXH_readLE64(p));
+        p += 8;
+        v2 = XXH64_round(v2, XXH_readLE64(p));
+        p += 8;
+        v3 = XXH64_round(v3, XXH_readLE64(p));
+        p += 8;
+        v4 = XXH64_round(v4, XXH_readLE64(p));
+        p += 8;
+
+      } while (p <= limit);
+
+      state->v1 = v1;
+      state->v2 = v2;
+      state->v3 = v3;
+      state->v4 = v4;
+
+    }
+
+    if (p < bEnd) {
+
+      XXH_memcpy(state->mem64, p, (size_t)(bEnd - p));
+      state->memsize = (unsigned)(bEnd - p);
+
+    }
+
+  }
+
+  return XXH_OK;
+
+}
+
+XXH_PUBLIC_API XXH64_hash_t XXH64_digest(const XXH64_state_t *state) {
+
+  xxh_u64 h64;
+
+  if (state->total_len >= 32) {
+
+    xxh_u64 const v1 = state->v1;
+    xxh_u64 const v2 = state->v2;
+    xxh_u64 const v3 = state->v3;
+    xxh_u64 const v4 = state->v4;
+
+    h64 = XXH_rotl64(v1, 1) + XXH_rotl64(v2, 7) + XXH_rotl64(v3, 12) +
+          XXH_rotl64(v4, 18);
+    h64 = XXH64_mergeRound(h64, v1);
+    h64 = XXH64_mergeRound(h64, v2);
+    h64 = XXH64_mergeRound(h64, v3);
+    h64 = XXH64_mergeRound(h64, v4);
+
+  } else {
+
+    h64 = state->v3 /*seed*/ + XXH_PRIME64_5;
+
+  }
+
+  h64 += (xxh_u64)state->total_len;
+
+  return XXH64_finalize(h64, (const xxh_u8 *)state->mem64,
+                        (size_t)state->total_len, XXH_aligned);
+
+}
+
+/******* Canonical representation   *******/
+
+XXH_PUBLIC_API void XXH64_canonicalFromHash(XXH64_canonical_t *dst,
+                                            XXH64_hash_t       hash) {
+
+  XXH_STATIC_ASSERT(sizeof(XXH64_canonical_t) == sizeof(XXH64_hash_t));
+  if (XXH_CPU_LITTLE_ENDIAN) hash = XXH_swap64(hash);
+  memcpy(dst, &hash, sizeof(*dst));
+
+}
+
+XXH_PUBLIC_API XXH64_hash_t
+XXH64_hashFromCanonical(const XXH64_canonical_t *src) {
+
+  return XXH_readBE64(src);
+
+}
+
+  /* *********************************************************************
+   *  XXH3
+   *  New generation hash designed for speed on small keys and vectorization
+   ************************************************************************ */
+
+    #include "xxh3.h"
+
+  #endif                                                /* XXH_NO_LONG_LONG */
+
+#endif                                                /* XXH_IMPLEMENTATION */
+
+#if defined(__cplusplus)
+
+}
+
+#endif
+
diff --git a/libdislocator/libdislocator.so.c b/libdislocator/libdislocator.so.c
index 6b1cc848..7a70fd15 100644
--- a/libdislocator/libdislocator.so.c
+++ b/libdislocator/libdislocator.so.c
@@ -37,9 +37,12 @@
   #include <sys/param.h>
 #endif
 
-#if defined(__linux__) && !defined(__ANDROID__)
+#if (defined(__linux__) && !defined(__ANDROID__)) || defined(__HAIKU__)
   #include <unistd.h>
-  #include <sys/syscall.h>
+  #ifdef __linux__
+    #include <sys/syscall.h>
+    #include <malloc.h>
+  #endif
   #ifdef __NR_getrandom
     #define arc4random_buf(p, l)                       \
       do {                                             \
diff --git a/libtokencap/Makefile b/libtokencap/Makefile
index 75a8d337..63b87bb0 100644
--- a/libtokencap/Makefile
+++ b/libtokencap/Makefile
@@ -35,10 +35,11 @@ _UNIQ=_QINU_
  _____OS_DL =  $(____OS_DL:$(_UNIQ)$(UNAME_S)=)
 ______OS_DL = $(_____OS_DL:$(_UNIQ)="-ldl")
 
-   _OS_TARGET = $(____OS_DL:$(_UNIQ)FreeBSD=$(_UNIQ))
-  __OS_TARGET =   $(_OS_TARGET:$(_UNIQ)OpenBSD=$(_UNIQ))
- ___OS_TARGET =  $(__OS_TARGET:$(_UNIQ)NetBSD=$(_UNIQ))
-____OS_TARGET = $(___OS_TARGET:$(_UNIQ)$(UNAME_S)=)
+    _OS_TARGET = $(____OS_DL:$(_UNIQ)FreeBSD=$(_UNIQ))
+   __OS_TARGET =    $(_OS_TARGET:$(_UNIQ)OpenBSD=$(_UNIQ))
+  ___OS_TARGET =   $(__OS_TARGET:$(_UNIQ)NetBSD=$(_UNIQ))
+ ____OS_TARGET =  $(___OS_TARGET:$(_UNIQ)Haiku=$(_UNIQ))
+_____OS_TARGET = $(___OS_TARGET:$(_UNIQ)$(UNAME_S)=)
 
 TARGETS       = $(____OS_TARGET:$(_UNIQ)=libtokencap.so)
 
diff --git a/libtokencap/libtokencap.so.c b/libtokencap/libtokencap.so.c
index fdfa3e53..600d2a5d 100644
--- a/libtokencap/libtokencap.so.c
+++ b/libtokencap/libtokencap.so.c
@@ -33,8 +33,9 @@
 #include "../types.h"
 #include "../config.h"
 
-#if !defined __linux__ && !defined __APPLE__ && !defined __FreeBSD__ && \
-    !defined __OpenBSD__ && !defined __NetBSD__ && !defined __DragonFly__
+#if !defined __linux__ && !defined __APPLE__ && !defined __FreeBSD__ &&      \
+    !defined __OpenBSD__ && !defined __NetBSD__ && !defined __DragonFly__ && \
+    !defined(__HAIKU__)
   #error "Sorry, this library is unsupported in this platform for now!"
 #endif /* !__linux__ && !__APPLE__ && ! __FreeBSD__ && ! __OpenBSD__ && \
           !__NetBSD__*/
@@ -49,6 +50,8 @@
     #include <sys/user.h>
   #endif
   #include <sys/mman.h>
+#elif defined __HAIKU__
+  #include <kernel/image.h>
 #endif
 
 #include <dlfcn.h>
@@ -230,6 +233,19 @@ static void __tokencap_load_mappings(void) {
   }
 
   munmap(buf, len);
+#elif defined __HAIKU__
+  image_info ii;
+  int32_t    group = 0;
+
+  while (get_next_image_info(0, &group, &ii) == B_OK) {
+
+    __tokencap_ro[__tokencap_ro_cnt].st = ii.text;
+    __tokencap_ro[__tokencap_ro_cnt].en = ((char *)ii.text) + ii.text_size;
+
+    if (++__tokencap_ro_cnt == MAX_MAPPINGS) break;
+
+  }
+
 #endif
 
 }
@@ -357,7 +373,7 @@ int strcasecmp(const char *str1, const char *str2) {
 
   while (1) {
 
-    const unsigned char c1 = tolower(*str1), c2 = tolower(*str2);
+    const unsigned char c1 = tolower((int)*str1), c2 = tolower((int)*str2);
 
     if (c1 != c2) return (c1 > c2) ? 1 : -1;
     if (!c1) return 0;
@@ -381,7 +397,7 @@ int strncasecmp(const char *str1, const char *str2, size_t len) {
 
   while (len--) {
 
-    const unsigned char c1 = tolower(*str1), c2 = tolower(*str2);
+    const unsigned char c1 = tolower((int)*str1), c2 = tolower((int)*str2);
 
     if (c1 != c2) return (c1 > c2) ? 1 : -1;
     if (!c1) return 0;
@@ -495,7 +511,7 @@ char *strcasestr(const char *haystack, const char *needle) {
     const char *n = needle;
     const char *h = haystack;
 
-    while (*n && *h && tolower(*n) == tolower(*h))
+    while (*n && *h && tolower((int)*n) == tolower((int)*h))
       n++, h++;
 
     if (!*n) return (char *)haystack;
diff --git a/llvm_mode/GNUmakefile b/llvm_mode/GNUmakefile
index ca1e8e08..4cc55d92 100644
--- a/llvm_mode/GNUmakefile
+++ b/llvm_mode/GNUmakefile
@@ -196,24 +196,31 @@ ifeq "$(shell echo 'int main() {return 0; }' | $(CLANG_BIN) -x c - -fuse-ld=`com
 endif
 endif
 
-CFLAGS          ?= -O3 -funroll-loops -D_FORTIFY_SOURCE=2
-override CFLAGS += -Wall \
-               -g -Wno-pointer-sign -I ../include/ \
-               -DAFL_PATH=\"$(HELPER_PATH)\" -DBIN_PATH=\"$(BIN_PATH)\" \
-               -DLLVM_BINDIR=\"$(LLVM_BINDIR)\" -DVERSION=\"$(VERSION)\" \
-               -DLLVM_LIBDIR=\"$(LLVM_LIBDIR)\" -DLLVM_VERSION=\"$(LLVMVER)\" \
-               -DAFL_CLANG_FLTO=\"$(AFL_CLANG_FLTO)\" \
-               -DAFL_REAL_LD=\"$(AFL_REAL_LD)\" -DAFL_CLANG_FUSELD=\"$(AFL_CLANG_FUSELD)\" \
-               -DCLANG_BIN=\"$(CLANG_BIN)\" -DCLANGPP_BIN=\"$(CLANGPP_BIN)\" -DUSE_BINDIR=$(USE_BINDIR) -Wno-unused-function
+CFLAGS          ?= -O3 -funroll-loops -fPIC -D_FORTIFY_SOURCE=2
+CFLAGS_SAFE     := -Wall -g -Wno-pointer-sign -I ../include/ \
+                   -DAFL_PATH=\"$(HELPER_PATH)\" -DBIN_PATH=\"$(BIN_PATH)\" \
+                   -DLLVM_BINDIR=\"$(LLVM_BINDIR)\" -DVERSION=\"$(VERSION)\" \
+                   -DLLVM_LIBDIR=\"$(LLVM_LIBDIR)\" -DLLVM_VERSION=\"$(LLVMVER)\" \
+                   -DAFL_CLANG_FLTO=\"$(AFL_CLANG_FLTO)\" \
+                   -DAFL_REAL_LD=\"$(AFL_REAL_LD)\" -DAFL_CLANG_FUSELD=\"$(AFL_CLANG_FUSELD)\" \
+                   -DCLANG_BIN=\"$(CLANG_BIN)\" -DCLANGPP_BIN=\"$(CLANGPP_BIN)\" -DUSE_BINDIR=$(USE_BINDIR) -Wno-unused-function
+override CFLAGS += $(CFLAGS_SAFE)
+
 ifdef AFL_TRACE_PC
   $(info Compile option AFL_TRACE_PC is deprecated, just set AFL_LLVM_INSTRUMENT=PCGUARD to activate when compiling targets )
 endif
 
-CXXFLAGS          ?= -O3 -funroll-loops -D_FORTIFY_SOURCE=2
+CXXFLAGS          ?= -O3 -funroll-loops -fPIC -D_FORTIFY_SOURCE=2
 override CXXFLAGS += -Wall -g -I ../include/ \
                      -DVERSION=\"$(VERSION)\" -Wno-variadic-macros
 
-CLANG_CFL    = `$(LLVM_CONFIG) --cxxflags` -fno-rtti -fpic $(CXXFLAGS)
+ifneq "$(shell $(LLVM_CONFIG) --includedir) 2> /dev/null" ""
+  CLANG_CFL  = -I$(shell $(LLVM_CONFIG) --includedir)
+endif
+ifneq "$(LLVM_CONFIG)" ""
+  CLANG_CFL += -I$(shell dirname $(LLVM_CONFIG))/../include
+endif
+CLANG_CPPFL  = `$(LLVM_CONFIG) --cxxflags` -fno-rtti -fPIC $(CXXFLAGS)
 CLANG_LFL    = `$(LLVM_CONFIG) --ldflags` $(LDFLAGS)
 
 
@@ -221,12 +228,12 @@ CLANG_LFL    = `$(LLVM_CONFIG) --ldflags` $(LDFLAGS)
 ifeq "$(shell uname)" "Darwin"
   CLANG_LFL += -Wl,-flat_namespace -Wl,-undefined,suppress
 else
-  CLANG_CFL += -Wl,-znodelete
+  CLANG_CPPFL += -Wl,-znodelete
 endif
 
 ifeq "$(shell uname)" "OpenBSD"
   CLANG_LFL += `$(LLVM_CONFIG) --libdir`/libLLVM.so
-  CLANG_CFL += -mno-retpoline
+  CLANG_CPPFL += -mno-retpoline
   CFLAGS += -mno-retpoline
   # Needed for unwind symbols
   LDFLAGS += -lc++abi
@@ -304,7 +311,7 @@ afl-common.o: ../src/afl-common.c
 	$(CC) $(CFLAGS) -c $< -o $@ $(LDFLAGS)
 
 ../afl-clang-fast: afl-clang-fast.c afl-common.o | test_deps
-	$(CC) $(CFLAGS) $< afl-common.o -o $@ $(LDFLAGS) -DCFLAGS_OPT=\"$(CFLAGS_OPT)\"
+	$(CC) $(CLANG_CFL) $(CFLAGS) $< afl-common.o -o $@ $(LDFLAGS) -DCFLAGS_OPT=\"$(CFLAGS_OPT)\"
 	ln -sf afl-clang-fast ../afl-clang-fast++
 ifneq "$(AFL_CLANG_FLTO)" ""
 ifeq "$(LLVM_LTO)" "1"
@@ -317,17 +324,17 @@ afl-llvm-common.o: afl-llvm-common.cc afl-llvm-common.h
 	$(CXX) $(CFLAGS) `$(LLVM_CONFIG) --cxxflags` -fno-rtti -fPIC -std=$(LLVM_STDCXX) -c $< -o $@ 
 
 ../libLLVMInsTrim.so: LLVMInsTrim.so.cc MarkNodes.cc afl-llvm-common.o | test_deps
-	-$(CXX) $(CLANG_CFL) -DLLVMInsTrim_EXPORTS -fno-rtti -fPIC -std=$(LLVM_STDCXX) -shared $< MarkNodes.cc -o $@ $(CLANG_LFL) afl-llvm-common.o
+	-$(CXX) $(CLANG_CPPFL) -DLLVMInsTrim_EXPORTS -fno-rtti -fPIC -std=$(LLVM_STDCXX) -shared $< MarkNodes.cc -o $@ $(CLANG_LFL) afl-llvm-common.o
 
 ../afl-llvm-pass.so: afl-llvm-pass.so.cc afl-llvm-common.o | test_deps
 ifeq "$(LLVM_MIN_4_0_1)" "0"
 	$(info [!] N-gram branch coverage instrumentation is not available for llvm version $(LLVMVER))
 endif
-	$(CXX) $(CLANG_CFL) -DLLVMInsTrim_EXPORTS -fno-rtti -fPIC -std=$(LLVM_STDCXX) -shared $< -o $@ $(CLANG_LFL) afl-llvm-common.o
+	$(CXX) $(CLANG_CPPFL) -DLLVMInsTrim_EXPORTS -fno-rtti -fPIC -std=$(LLVM_STDCXX) -shared $< -o $@ $(CLANG_LFL) afl-llvm-common.o
 
 ../afl-llvm-lto-whitelist.so: afl-llvm-lto-whitelist.so.cc afl-llvm-common.o
 ifeq "$(LLVM_LTO)" "1"
-	$(CXX) $(CLANG_CFL) -fno-rtti -fPIC -std=$(LLVM_STDCXX) -shared $< -o $@ $(CLANG_LFL) afl-llvm-common.o
+	$(CXX) $(CLANG_CPPFL) -fno-rtti -fPIC -std=$(LLVM_STDCXX) -shared $< -o $@ $(CLANG_LFL) afl-llvm-common.o
 endif
 
 ../afl-ld-lto: afl-ld-lto.c
@@ -337,47 +344,47 @@ endif
 
 ../afl-llvm-lto-instrumentation.so: afl-llvm-lto-instrumentation.so.cc afl-llvm-common.o
 ifeq "$(LLVM_LTO)" "1"
-	$(CXX) $(CLANG_CFL) -Wno-writable-strings -fno-rtti -fPIC -std=$(LLVM_STDCXX) -shared $< -o $@ $(CLANG_LFL) afl-llvm-common.o
-	$(CLANG_BIN) $(CFLAGS) -Wno-unused-result -O0 $(AFL_CLANG_FLTO) -fPIC -c afl-llvm-rt-lto.o.c -o ../afl-llvm-rt-lto.o
-	@$(CLANG_BIN) $(CFLAGS) -Wno-unused-result -O0 $(AFL_CLANG_FLTO) -m64 -fPIC -c afl-llvm-rt-lto.o.c -o ../afl-llvm-rt-lto-64.o 2>/dev/null; if [ "$$?" = "0" ]; then : ; fi
-	@$(CLANG_BIN) $(CFLAGS) -Wno-unused-result -O0 $(AFL_CLANG_FLTO) -m32 -fPIC -c afl-llvm-rt-lto.o.c -o ../afl-llvm-rt-lto-32.o 2>/dev/null; if [ "$$?" = "0" ]; then : ; fi
+	$(CXX) $(CLANG_CPPFL) -Wno-writable-strings -fno-rtti -fPIC -std=$(LLVM_STDCXX) -shared $< -o $@ $(CLANG_LFL) afl-llvm-common.o
+	$(CLANG_BIN) $(CFLAGS_SAFE) -Wno-unused-result -O0 $(AFL_CLANG_FLTO) -fPIC -c afl-llvm-rt-lto.o.c -o ../afl-llvm-rt-lto.o
+	@$(CLANG_BIN) $(CFLAGS_SAFE) -Wno-unused-result -O0 $(AFL_CLANG_FLTO) -m64 -fPIC -c afl-llvm-rt-lto.o.c -o ../afl-llvm-rt-lto-64.o 2>/dev/null; if [ "$$?" = "0" ]; then : ; fi
+	@$(CLANG_BIN) $(CFLAGS_SAFE) -Wno-unused-result -O0 $(AFL_CLANG_FLTO) -m32 -fPIC -c afl-llvm-rt-lto.o.c -o ../afl-llvm-rt-lto-32.o 2>/dev/null; if [ "$$?" = "0" ]; then : ; fi
 endif
 
 ../afl-llvm-lto-instrim.so: afl-llvm-lto-instrim.so.cc afl-llvm-common.o
 ifeq "$(LLVM_LTO)" "1"
-	$(CXX) $(CLANG_CFL) -DLLVMInsTrim_EXPORTS -Wno-writable-strings -fno-rtti -fPIC -std=$(LLVM_STDCXX) -shared $< MarkNodes.cc -o $@ $(CLANG_LFL) afl-llvm-common.o
+	$(CXX) $(CLANG_CPPFL) -DLLVMInsTrim_EXPORTS -Wno-writable-strings -fno-rtti -fPIC -std=$(LLVM_STDCXX) -shared $< MarkNodes.cc -o $@ $(CLANG_LFL) afl-llvm-common.o
 endif
 
 # laf
 ../split-switches-pass.so:	split-switches-pass.so.cc afl-llvm-common.o | test_deps
-	$(CXX) $(CLANG_CFL) -shared $< -o $@ $(CLANG_LFL) afl-llvm-common.o
+	$(CXX) $(CLANG_CPPFL) -shared $< -o $@ $(CLANG_LFL) afl-llvm-common.o
 ../compare-transform-pass.so:	compare-transform-pass.so.cc afl-llvm-common.o | test_deps
-	$(CXX) $(CLANG_CFL) -shared $< -o $@ $(CLANG_LFL) afl-llvm-common.o
+	$(CXX) $(CLANG_CPPFL) -shared $< -o $@ $(CLANG_LFL) afl-llvm-common.o
 ../split-compares-pass.so:	split-compares-pass.so.cc afl-llvm-common.o | test_deps
-	$(CXX) $(CLANG_CFL) -shared $< -o $@ $(CLANG_LFL) afl-llvm-common.o
+	$(CXX) $(CLANG_CPPFL) -shared $< -o $@ $(CLANG_LFL) afl-llvm-common.o
 # /laf
 
 ../cmplog-routines-pass.so:	cmplog-routines-pass.cc afl-llvm-common.o | test_deps
-	$(CXX) $(CLANG_CFL) -shared $< -o $@ $(CLANG_LFL) afl-llvm-common.o
+	$(CXX) $(CLANG_CPPFL) -shared $< -o $@ $(CLANG_LFL) afl-llvm-common.o
 
 ../cmplog-instructions-pass.so:	cmplog-instructions-pass.cc afl-llvm-common.o | test_deps
-	$(CXX) $(CLANG_CFL) -shared $< -o $@ $(CLANG_LFL) afl-llvm-common.o
+	$(CXX) $(CLANG_CPPFL) -shared $< -o $@ $(CLANG_LFL) afl-llvm-common.o
 
 document:
-	$(CLANG_BIN) -D_AFL_DOCUMENT_MUTATIONS $(CFLAGS) -Wno-unused-result -fPIC -c afl-llvm-rt.o.c -o ../afl-llvm-rt.o
-	@$(CLANG_BIN) -D_AFL_DOCUMENT_MUTATIONS $(CFLAGS) -Wno-unused-result -m32 -fPIC -c afl-llvm-rt.o.c -o ../afl-llvm-rt-32.o 2>/dev/null; if [ "$$?" = "0" ]; then echo "success!"; else echo "failed (that's fine)"; fi
-	@$(CLANG_BIN) -D_AFL_DOCUMENT_MUTATIONS $(CFLAGS) -Wno-unused-result -m64 -fPIC -c afl-llvm-rt.o.c -o ../afl-llvm-rt-64.o 2>/dev/null; if [ "$$?" = "0" ]; then echo "success!"; else echo "failed (that's fine)"; fi
+	$(CLANG_BIN) -D_AFL_DOCUMENT_MUTATIONS $(CFLAGS_SAFE) -O3 -Wno-unused-result -fPIC -c afl-llvm-rt.o.c -o ../afl-llvm-rt.o
+	@$(CLANG_BIN) -D_AFL_DOCUMENT_MUTATIONS $(CFLAGS_SAFE) -O3 -Wno-unused-result -m32 -fPIC -c afl-llvm-rt.o.c -o ../afl-llvm-rt-32.o 2>/dev/null; if [ "$$?" = "0" ]; then echo "success!"; else echo "failed (that's fine)"; fi
+	@$(CLANG_BIN) -D_AFL_DOCUMENT_MUTATIONS $(CFLAGS_SAFE) -O3 -Wno-unused-result -m64 -fPIC -c afl-llvm-rt.o.c -o ../afl-llvm-rt-64.o 2>/dev/null; if [ "$$?" = "0" ]; then echo "success!"; else echo "failed (that's fine)"; fi
 
 ../afl-llvm-rt.o: afl-llvm-rt.o.c | test_deps
-	$(CLANG_BIN) $(CFLAGS) -Wno-unused-result -fPIC -c $< -o $@
+	$(CLANG_BIN) $(CFLAGS_SAFE) -O3 -Wno-unused-result -fPIC -c $< -o $@
 
 ../afl-llvm-rt-32.o: afl-llvm-rt.o.c | test_deps
 	@printf "[*] Building 32-bit variant of the runtime (-m32)... "
-	@$(CLANG_BIN) $(CFLAGS) -Wno-unused-result -m32 -fPIC -c $< -o $@ 2>/dev/null; if [ "$$?" = "0" ]; then echo "success!"; else echo "failed (that's fine)"; fi
+	@$(CLANG_BIN) $(CFLAGS_SAFE) -O3 -Wno-unused-result -m32 -fPIC -c $< -o $@ 2>/dev/null; if [ "$$?" = "0" ]; then echo "success!"; else echo "failed (that's fine)"; fi
 
 ../afl-llvm-rt-64.o: afl-llvm-rt.o.c | test_deps
 	@printf "[*] Building 64-bit variant of the runtime (-m64)... "
-	@$(CLANG_BIN) $(CFLAGS) -Wno-unused-result -m64 -fPIC -c $< -o $@ 2>/dev/null; if [ "$$?" = "0" ]; then echo "success!"; else echo "failed (that's fine)"; fi
+	@$(CLANG_BIN) $(CFLAGS_SAFE) -O3 -Wno-unused-result -m64 -fPIC -c $< -o $@ 2>/dev/null; if [ "$$?" = "0" ]; then echo "success!"; else echo "failed (that's fine)"; fi
 
 test_build: $(PROGS)
 	@echo "[*] Testing the CC wrapper and instrumentation output..."
diff --git a/llvm_mode/LLVMInsTrim.so.cc b/llvm_mode/LLVMInsTrim.so.cc
index ced1f383..991127a7 100644
--- a/llvm_mode/LLVMInsTrim.so.cc
+++ b/llvm_mode/LLVMInsTrim.so.cc
@@ -103,6 +103,7 @@ struct InsTrim : public ModulePass {
   bool runOnModule(Module &M) override {
 
     char be_quiet = 0;
+    setvbuf(stdout, NULL, _IONBF, 0);
 
     if ((isatty(2) && !getenv("AFL_QUIET")) || getenv("AFL_DEBUG") != NULL) {
 
diff --git a/llvm_mode/afl-clang-fast.c b/llvm_mode/afl-clang-fast.c
index 75504ea5..3b0225c2 100644
--- a/llvm_mode/afl-clang-fast.c
+++ b/llvm_mode/afl-clang-fast.c
@@ -39,6 +39,8 @@
 #include <limits.h>
 #include <assert.h>
 
+#include "llvm/Config/llvm-config.h"
+
 static u8 * obj_path;                  /* Path to runtime libraries         */
 static u8 **cc_params;                 /* Parameters passed to the real CC  */
 static u32  cc_par_cnt = 1;            /* Param count, including argv0      */
@@ -464,7 +466,7 @@ static void edit_params(u32 argc, char **argv, char **envp) {
 
   }
 
-#ifdef USEMMAP
+#if defined(USEMMAP) && !defined(__HAIKU__)
   cc_params[cc_par_cnt++] = "-lrt";
 #endif
 
@@ -500,7 +502,7 @@ static void edit_params(u32 argc, char **argv, char **envp) {
       "unsigned char *__afl_fuzz_alt_ptr;";
   cc_params[cc_par_cnt++] =
       "-D__AFL_FUZZ_TESTCASE_BUF=(__afl_fuzz_ptr ? __afl_fuzz_ptr : "
-      "(__afl_fuzz_alt_ptr = malloc(1 * 1024 * 1024)))";
+      "(__afl_fuzz_alt_ptr = (unsigned char *) malloc(1 * 1024 * 1024)))";
   cc_params[cc_par_cnt++] =
       "-D__AFL_FUZZ_TESTCASE_LEN=(__afl_fuzz_ptr ? *__afl_fuzz_len : read(0, "
       "__afl_fuzz_alt_ptr, 1 * 1024 * 1024))";
@@ -757,12 +759,14 @@ int main(int argc, char **argv, char **envp) {
 
   if (instrument_mode == 0) {
 
-#ifndef USE_TRACE_PC
+#if LLVM_VERSION_MAJOR <= 6
+    instrument_mode = INSTRUMENT_AFL;
+#else
     if (getenv("AFL_LLVM_WHITELIST"))
       instrument_mode = INSTRUMENT_AFL;
     else
-#endif
       instrument_mode = INSTRUMENT_PCGUARD;
+#endif
 
   }
 
diff --git a/llvm_mode/afl-llvm-lto-instrim.so.cc b/llvm_mode/afl-llvm-lto-instrim.so.cc
index 27504e8d..4b89c9d0 100644
--- a/llvm_mode/afl-llvm-lto-instrim.so.cc
+++ b/llvm_mode/afl-llvm-lto-instrim.so.cc
@@ -110,8 +110,11 @@ struct InsTrimLTO : public ModulePass {
 
   bool runOnModule(Module &M) override {
 
-    char  be_quiet = 0;
-    char *ptr;
+    char     be_quiet = 0;
+    char *   ptr;
+    uint32_t locations = 0, functions = 0;
+
+    setvbuf(stdout, NULL, _IONBF, 0);
 
     if ((isatty(2) && !getenv("AFL_QUIET")) || getenv("AFL_DEBUG") != NULL) {
 
@@ -561,6 +564,8 @@ struct InsTrimLTO : public ModulePass {
       if (F.size() < function_minimum_size) continue;
       if (isBlacklisted(&F)) continue;
 
+      functions++;
+
       // whitelist check
       AttributeList Attrs = F.getAttributes();
       if (Attrs.hasAttribute(-1, StringRef("skipinstrument"))) {
@@ -657,6 +662,7 @@ struct InsTrimLTO : public ModulePass {
         if (PI == PE) {
 
           L = ConstantInt::get(Int32Ty, afl_global_id++);
+          locations++;
 
         } else {
 
@@ -668,6 +674,7 @@ struct InsTrimLTO : public ModulePass {
             auto        It = PredMap.insert({PBB, afl_global_id++});
             unsigned    Label = It.first->second;
             PN->addIncoming(ConstantInt::get(Int32Ty, Label), PBB);
+            locations++;
 
           }
 
@@ -885,7 +892,7 @@ struct InsTrimLTO : public ModulePass {
           for (BasicBlock *Succ : successors(Pred))
             if (Succ != NULL) count++;
 
-          if (count > 1) return true;
+          if (count > 1) would_instrument = true;
 
         }
 
@@ -910,11 +917,12 @@ struct InsTrimLTO : public ModulePass {
                  getenv("AFL_USE_MSAN") ? ", MSAN" : "",
                  getenv("AFL_USE_CFISAN") ? ", CFISAN" : "",
                  getenv("AFL_USE_UBSAN") ? ", UBSAN" : "");
-        OKF("Instrumented %u locations (%llu, %llu) with no collisions (on "
+        OKF("Instrumented %u locations for %u edges in %u functions (%llu, "
+            "%llu) with no collisions (on "
             "average %llu collisions would be in afl-gcc/afl-clang-fast for %u "
             "edges) (%s mode).",
-            inst_blocks, total_rs, total_hs, calculateCollisions(edges), edges,
-            modeline);
+            inst_blocks, locations, functions, total_rs, total_hs,
+            calculateCollisions(edges), edges, modeline);
 
       }
 
diff --git a/llvm_mode/afl-llvm-lto-instrumentation.so.cc b/llvm_mode/afl-llvm-lto-instrumentation.so.cc
index cbe68171..0d3015d7 100644
--- a/llvm_mode/afl-llvm-lto-instrumentation.so.cc
+++ b/llvm_mode/afl-llvm-lto-instrumentation.so.cc
@@ -109,6 +109,7 @@ bool AFLLTOPass::runOnModule(Module &M) {
   IntegerType *Int64Ty = IntegerType::getInt64Ty(C);
 
   /* Show a banner */
+  setvbuf(stdout, NULL, _IONBF, 0);
 
   if ((isatty(2) && !getenv("AFL_QUIET")) || debug) {
 
@@ -162,7 +163,7 @@ bool AFLLTOPass::runOnModule(Module &M) {
 
   }
 
-  if (debug) { fprintf(stderr, "map address is %lu\n", map_addr); }
+  if (debug) { fprintf(stderr, "map address is 0x%lx\n", map_addr); }
 
   /* Get/set the globals for the SHM region. */
 
diff --git a/llvm_mode/afl-llvm-lto-whitelist.so.cc b/llvm_mode/afl-llvm-lto-whitelist.so.cc
index 33d40da8..b1f791f4 100644
--- a/llvm_mode/afl-llvm-lto-whitelist.so.cc
+++ b/llvm_mode/afl-llvm-lto-whitelist.so.cc
@@ -111,6 +111,7 @@ bool AFLwhitelist::runOnModule(Module &M) {
   /* Show a banner */
 
   char be_quiet = 0;
+  setvbuf(stdout, NULL, _IONBF, 0);
 
   if ((isatty(2) && !getenv("AFL_QUIET")) || getenv("AFL_DEBUG") != NULL) {
 
diff --git a/llvm_mode/afl-llvm-pass.so.cc b/llvm_mode/afl-llvm-pass.so.cc
index 82dece75..7997df51 100644
--- a/llvm_mode/afl-llvm-pass.so.cc
+++ b/llvm_mode/afl-llvm-pass.so.cc
@@ -140,6 +140,7 @@ bool AFLCoverage::runOnModule(Module &M) {
   /* Show a banner */
 
   char be_quiet = 0;
+  setvbuf(stdout, NULL, _IONBF, 0);
 
   if (getenv("AFL_DEBUG")) debug = 1;
 
diff --git a/llvm_mode/afl-llvm-rt.o.c b/llvm_mode/afl-llvm-rt.o.c
index 702384a3..f81d13ee 100644
--- a/llvm_mode/afl-llvm-rt.o.c
+++ b/llvm_mode/afl-llvm-rt.o.c
@@ -139,7 +139,8 @@ static void __afl_map_shm_fuzz() {
 
     }
 
-    map = (u8 *)mmap(0, MAX_FILE, PROT_READ, MAP_SHARED, shm_fd, 0);
+    map =
+        (u8 *)mmap(0, MAX_FILE + sizeof(u32), PROT_READ, MAP_SHARED, shm_fd, 0);
 
 #else
     u32 shm_id = atoi(id_str);
@@ -157,7 +158,7 @@ static void __afl_map_shm_fuzz() {
     }
 
     __afl_fuzz_len = (u32 *)map;
-    __afl_fuzz_ptr = (u8 *)(map + sizeof(u32));
+    __afl_fuzz_ptr = map + sizeof(u32);
 
     if (getenv("AFL_DEBUG")) {
 
@@ -182,6 +183,9 @@ static void __afl_map_shm(void) {
 
   if (__afl_final_loc) {
 
+    if (__afl_final_loc % 8)
+      __afl_final_loc = (((__afl_final_loc + 7) >> 3) << 3);
+
     __afl_map_size = __afl_final_loc;
     if (__afl_final_loc > MAP_SIZE) {
 
@@ -391,7 +395,10 @@ static void __afl_start_snapshots(void) {
 
     if (read(FORKSRV_FD, &was_killed, 4) != 4) _exit(1);
 
-    if ((was_killed & (0xffffffff & (FS_OPT_ENABLED | FS_OPT_SHDMEM_FUZZ))) ==
+    if (getenv("AFL_DEBUG"))
+      fprintf(stderr, "target forkserver recv: %08x\n", was_killed);
+
+    if ((was_killed & (FS_OPT_ENABLED | FS_OPT_SHDMEM_FUZZ)) ==
         (FS_OPT_ENABLED | FS_OPT_SHDMEM_FUZZ)) {
 
       __afl_map_shm_fuzz();
@@ -590,6 +597,9 @@ static void __afl_start_forkserver(void) {
 
     if (read(FORKSRV_FD, &was_killed, 4) != 4) _exit(1);
 
+    if (getenv("AFL_DEBUG"))
+      fprintf(stderr, "target forkserver recv: %08x\n", was_killed);
+
     if ((was_killed & (FS_OPT_ENABLED | FS_OPT_SHDMEM_FUZZ)) ==
         (FS_OPT_ENABLED | FS_OPT_SHDMEM_FUZZ)) {
 
@@ -870,7 +880,7 @@ void __sanitizer_cov_trace_pc_guard_init(uint32_t *start, uint32_t *stop) {
   while (start < stop) {
 
     if (R(100) < inst_ratio)
-      *start = R(MAP_SIZE - 1) + 1;
+      *start = ++__afl_final_loc;
     else
       *start = 0;
 
diff --git a/llvm_mode/cmplog-instructions-pass.cc b/llvm_mode/cmplog-instructions-pass.cc
index b7f3cffa..c5a6ff8b 100644
--- a/llvm_mode/cmplog-instructions-pass.cc
+++ b/llvm_mode/cmplog-instructions-pass.cc
@@ -237,16 +237,16 @@ bool CmpLogInstructions::hookInstrs(Module &M) {
     switch (max_size) {
 
       case 8:
-        IRB.CreateCall(cmplogHookIns1, args, "tmp");
+        IRB.CreateCall(cmplogHookIns1, args);
         break;
       case 16:
-        IRB.CreateCall(cmplogHookIns2, args, "tmp");
+        IRB.CreateCall(cmplogHookIns2, args);
         break;
       case 32:
-        IRB.CreateCall(cmplogHookIns4, args, "tmp");
+        IRB.CreateCall(cmplogHookIns4, args);
         break;
       case 64:
-        IRB.CreateCall(cmplogHookIns8, args, "tmp");
+        IRB.CreateCall(cmplogHookIns8, args);
         break;
       default:
         break;
diff --git a/llvm_mode/cmplog-routines-pass.cc b/llvm_mode/cmplog-routines-pass.cc
index e05a1843..792a45b9 100644
--- a/llvm_mode/cmplog-routines-pass.cc
+++ b/llvm_mode/cmplog-routines-pass.cc
@@ -169,7 +169,7 @@ bool CmpLogRoutines::hookRtns(Module &M) {
     args.push_back(v1Pcasted);
     args.push_back(v2Pcasted);
 
-    IRB.CreateCall(cmplogHookFn, args, "tmp");
+    IRB.CreateCall(cmplogHookFn, args);
 
     // errs() << callInst->getCalledFunction()->getName() << "\n";
 
diff --git a/llvm_mode/compare-transform-pass.so.cc b/llvm_mode/compare-transform-pass.so.cc
index de08dccc..96abeebb 100644
--- a/llvm_mode/compare-transform-pass.so.cc
+++ b/llvm_mode/compare-transform-pass.so.cc
@@ -500,7 +500,7 @@ bool CompareTransform::transformCmps(Module &M, const bool processStrcmp,
         load = cur_cmp_IRB.CreateZExt(load, Int32Ty);
         std::vector<Value *> args;
         args.push_back(load);
-        load = cur_cmp_IRB.CreateCall(tolowerFn, args, "tmp");
+        load = cur_cmp_IRB.CreateCall(tolowerFn, args);
         load = cur_cmp_IRB.CreateTrunc(load, Int8Ty);
 
       }
diff --git a/qemu_mode/libcompcov/Makefile b/qemu_mode/libcompcov/Makefile
index f06ac2af..9ed3e3fa 100644
--- a/qemu_mode/libcompcov/Makefile
+++ b/qemu_mode/libcompcov/Makefile
@@ -20,7 +20,8 @@ MAN_PATH    ?= $(PREFIX)/man/man8
 
 VERSION     = $(shell grep '^\#define VERSION ' ../config.h | cut -d '"' -f2)
 
-CFLAGS      ?= -O3 -funroll-loops -I ../../include/
+CFLAGS      ?= -O3 -funroll-loops
+CFLAGS      += -I ../../include/
 CFLAGS      += -Wall -Wno-unused-result -D_FORTIFY_SOURCE=2 -g -Wno-pointer-sign
 LDFLAGS     += -ldl
 
diff --git a/src/afl-analyze.c b/src/afl-analyze.c
index 900fbeb1..56284f6f 100644
--- a/src/afl-analyze.c
+++ b/src/afl-analyze.c
@@ -51,7 +51,9 @@
 
 #include <sys/wait.h>
 #include <sys/time.h>
-#include <sys/shm.h>
+#ifndef USEMMAP
+  #include <sys/shm.h>
+#endif
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <sys/resource.h>
@@ -66,11 +68,12 @@ static u8 *in_file,                    /* Analyzer input test case          */
 static u8 *in_data;                    /* Input data for analysis           */
 
 static u32 in_len,                     /* Input data length                 */
-    orig_cksum,                        /* Original checksum                 */
     total_execs,                       /* Total number of execs             */
     exec_hangs,                        /* Total number of hangs             */
     exec_tmout = EXEC_TIMEOUT;         /* Exec timeout (ms)                 */
 
+static u64 orig_cksum;                 /* Original checksum                 */
+
 static u64 mem_limit = MEM_LIMIT;      /* Memory limit (MB)                 */
 
 static s32 dev_null_fd = -1;           /* FD to /dev/null                   */
@@ -222,7 +225,7 @@ static u32 analyze_run_target(char **argv, u8 *mem, u32 len, u8 first_run) {
   int                     status = 0;
 
   s32 prog_in_fd;
-  u32 cksum;
+  u64 cksum;
 
   memset(trace_bits, 0, map_size);
   MEM_BARRIER();
@@ -321,7 +324,7 @@ static u32 analyze_run_target(char **argv, u8 *mem, u32 len, u8 first_run) {
 
   }
 
-  cksum = hash32(trace_bits, map_size, HASH_CONST);
+  cksum = hash64(trace_bits, map_size, HASH_CONST);
 
   /* We don't actually care if the target is crashing or not,
      except that when it does, the checksum should be different. */
@@ -1046,6 +1049,9 @@ int main(int argc, char **argv, char **envp) {
   check_environment_vars(envp);
 
   sharedmem_t shm = {0};
+
+  /* initialize cmplog_mode */
+  shm.cmplog_mode = 0;
   trace_bits = afl_shm_init(&shm, map_size, 0);
   atexit(at_exit_handler);
   setup_signal_handlers();
diff --git a/src/afl-common.c b/src/afl-common.c
index 2802cda3..79d419cd 100644
--- a/src/afl-common.c
+++ b/src/afl-common.c
@@ -54,6 +54,7 @@ char *afl_environment_variables[] = {
     "AFL_CMIN_CRASHES_ONLY", "AFL_CODE_END", "AFL_CODE_START",
     "AFL_COMPCOV_BINNAME", "AFL_COMPCOV_LEVEL", "AFL_CUSTOM_MUTATOR_LIBRARY",
     "AFL_CUSTOM_MUTATOR_ONLY", "AFL_CXX", "AFL_DEBUG", "AFL_DEBUG_CHILD_OUTPUT",
+    "AFL_DEBUG_GDB",
     //"AFL_DEFER_FORKSRV", // not implemented anymore, so warn additionally
     "AFL_DISABLE_TRIM", "AFL_DONT_OPTIMIZE", "AFL_DUMB_FORKSRV",
     "AFL_ENTRYPOINT", "AFL_EXIT_WHEN_DONE", "AFL_FAST_CAL", "AFL_FORCE_UI",
diff --git a/src/afl-forkserver.c b/src/afl-forkserver.c
index a549e471..c5709b33 100644
--- a/src/afl-forkserver.c
+++ b/src/afl-forkserver.c
@@ -32,6 +32,7 @@
 #include "common.h"
 #include "list.h"
 #include "forkserver.h"
+#include "hash.h"
 
 #include <stdio.h>
 #include <unistd.h>
@@ -70,9 +71,8 @@ void afl_fsrv_init(afl_forkserver_t *fsrv) {
   fsrv->out_fd = -1;
   fsrv->out_dir_fd = -1;
   fsrv->dev_null_fd = -1;
-#ifndef HAVE_ARC4RANDOM
   fsrv->dev_urandom_fd = -1;
-#endif
+
   /* Settings */
   fsrv->use_stdin = 1;
   fsrv->no_unlink = 0;
@@ -103,9 +103,7 @@ void afl_fsrv_init_dup(afl_forkserver_t *fsrv_to, afl_forkserver_t *from) {
   fsrv_to->map_size = from->map_size;
   fsrv_to->support_shmem_fuzz = from->support_shmem_fuzz;
 
-#ifndef HAVE_ARC4RANDOM
   fsrv_to->dev_urandom_fd = from->dev_urandom_fd;
-#endif
 
   // These are forkserver specific.
   fsrv_to->out_dir_fd = -1;
@@ -131,7 +129,8 @@ static u32 read_s32_timed(s32 fd, s32 *buf, u32 timeout_ms,
   FD_ZERO(&readfds);
   FD_SET(fd, &readfds);
   struct timeval timeout;
-  size_t         len = 4;
+  int            sret;
+  ssize_t        len_read;
 
   timeout.tv_sec = (timeout_ms / 1000);
   timeout.tv_usec = (timeout_ms % 1000) * 1000;
@@ -140,33 +139,52 @@ static u32 read_s32_timed(s32 fd, s32 *buf, u32 timeout_ms,
 #endif
 
   /* set exceptfds as well to return when a child exited/closed the pipe. */
-  int sret = select(fd + 1, &readfds, NULL, NULL, &timeout);
+restart_select:
+  sret = select(fd + 1, &readfds, NULL, NULL, &timeout);
+
+  if (likely(sret > 0)) {
+
+  restart_read:
+    len_read = read(fd, (u8 *)buf, 4);
+
+    if (likely(len_read == 4)) {  // for speed we put this first
+
+#if defined(__linux__)
+      u32 exec_ms = MIN(
+          timeout_ms,
+          ((u64)timeout_ms - (timeout.tv_sec * 1000 + timeout.tv_usec / 1000)));
+#else
+      u32 exec_ms = MIN(timeout_ms, get_cur_time_us() - read_start);
+#endif
+
+      // ensure to report 1 ms has passed (0 is an error)
+      return exec_ms > 0 ? exec_ms : 1;
+
+    } else if (unlikely(len_read == -1 && errno == EINTR)) {
+
+      goto restart_read;
+
+    } else if (unlikely(len_read < 4)) {
+
+      return 0;
+
+    }
 
-  if (!sret) {
+  } else if (unlikely(!sret)) {
 
     *buf = -1;
     return timeout_ms + 1;
 
-  } else if (sret < 0) {
+  } else if (unlikely(sret < 0)) {
+
+    if (likely(errno == EINTR)) goto restart_select;
 
     *buf = -1;
     return 0;
 
   }
 
-  ssize_t len_read = read(fd, ((u8 *)buf), len);
-  if (len_read < len) { return 0; }
-
-#if defined(__linux__)
-  u32 exec_ms =
-      MIN(timeout_ms,
-          ((u64)timeout_ms - (timeout.tv_sec * 1000 + timeout.tv_usec / 1000)));
-#else
-  u32 exec_ms = MIN(timeout_ms, get_cur_time_us() - read_start);
-#endif
-
-  // ensure to report 1 ms has passed (0 is an error)
-  return exec_ms > 0 ? exec_ms : 1;
+  return 0;  // not reached
 
 }
 
@@ -400,9 +418,8 @@ void afl_fsrv_start(afl_forkserver_t *fsrv, char **argv,
 
     close(fsrv->out_dir_fd);
     close(fsrv->dev_null_fd);
-#ifndef HAVE_ARC4RANDOM
     close(fsrv->dev_urandom_fd);
-#endif
+
     if (fsrv->plot_file != NULL) { fclose(fsrv->plot_file); }
 
     /* This should improve performance a bit, since it stops the linker from
@@ -445,6 +462,13 @@ void afl_fsrv_start(afl_forkserver_t *fsrv, char **argv,
 
   /* PARENT PROCESS */
 
+  char pid_buf[16];
+  sprintf(pid_buf, "%d", fsrv->fsrv_pid);
+  if (fsrv->cmplog_binary)
+    setenv("__AFL_TARGET_PID2", pid_buf, 1);
+  else
+    setenv("__AFL_TARGET_PID1", pid_buf, 1);
+
   /* Close the unneeded endpoints. */
 
   close(ctl_pipe[0]);
@@ -545,7 +569,7 @@ void afl_fsrv_start(afl_forkserver_t *fsrv, char **argv,
         if (unlikely(tmp_map_size % 8)) {
 
           // should not happen
-          WARNF("Target reported non-aligned map size of %ud", tmp_map_size);
+          WARNF("Target reported non-aligned map size of %u", tmp_map_size);
           tmp_map_size = (((tmp_map_size + 8) >> 3) << 3);
 
         }
@@ -572,9 +596,9 @@ void afl_fsrv_start(afl_forkserver_t *fsrv, char **argv,
 
           // this is not afl-fuzz - we deny and return
           if (fsrv->use_shmem_fuzz)
-            status = (FS_OPT_ENABLED | FS_OPT_AUTODICT | FS_OPT_SHDMEM_FUZZ);
+            status = (FS_OPT_ENABLED | FS_OPT_SHDMEM_FUZZ);
           else
-            status = (FS_OPT_ENABLED | FS_OPT_AUTODICT);
+            status = (FS_OPT_ENABLED);
           if (write(fsrv->fsrv_ctl_fd, &status, 4) != 4) {
 
             FATAL("Writing to forkserver failed.");
@@ -586,7 +610,12 @@ void afl_fsrv_start(afl_forkserver_t *fsrv, char **argv,
         }
 
         if (!be_quiet) { ACTF("Using AUTODICT feature."); }
-        status = (FS_OPT_ENABLED | FS_OPT_AUTODICT);
+
+        if (fsrv->use_shmem_fuzz)
+          status = (FS_OPT_ENABLED | FS_OPT_AUTODICT | FS_OPT_SHDMEM_FUZZ);
+        else
+          status = (FS_OPT_ENABLED | FS_OPT_AUTODICT);
+
         if (write(fsrv->fsrv_ctl_fd, &status, 4) != 4) {
 
           FATAL("Writing to forkserver failed.");
@@ -837,8 +866,23 @@ void afl_fsrv_write_to_testcase(afl_forkserver_t *fsrv, u8 *buf, size_t len) {
 
     *fsrv->shmem_fuzz_len = len;
     memcpy(fsrv->shmem_fuzz, buf, len);
-    // printf("test case len: %u [0]:0x%02x\n", *fsrv->shmem_fuzz_len, buf[0]);
-    // fflush(stdout);
+#ifdef _DEBUG
+    if (getenv("AFL_DEBUG")) {
+
+      fprintf(stderr, "FS crc: %016llx len: %u\n",
+              hash64(fsrv->shmem_fuzz, *fsrv->shmem_fuzz_len, 0xa5b35705),
+              *fsrv->shmem_fuzz_len);
+      fprintf(stderr, "SHM :");
+      for (int i = 0; i < *fsrv->shmem_fuzz_len; i++)
+        fprintf(stderr, "%02x", fsrv->shmem_fuzz[i]);
+      fprintf(stderr, "\nORIG:");
+      for (int i = 0; i < *fsrv->shmem_fuzz_len; i++)
+        fprintf(stderr, "%02x", buf[i]);
+      fprintf(stderr, "\n");
+
+    }
+
+#endif
 
   } else {
 
diff --git a/src/afl-fuzz-bitmap.c b/src/afl-fuzz-bitmap.c
index 5b98be9e..aa8d5a18 100644
--- a/src/afl-fuzz-bitmap.c
+++ b/src/afl-fuzz-bitmap.c
@@ -542,27 +542,35 @@ u8 save_if_interesting(afl_state_t *afl, void *mem, u32 len, u8 fault) {
   u8  hnb = '\0';
   s32 fd;
   u8  keeping = 0, res;
+  u64 cksum = 0;
 
   u8 fn[PATH_MAX];
 
   /* Update path frequency. */
-  u32 cksum = hash32(afl->fsrv.trace_bits, afl->fsrv.map_size, HASH_CONST);
 
-  struct queue_entry *q = afl->queue;
-  while (q) {
+  /* Generating a hash on every input is super expensive. Bad idea and should
+     only be used for special schedules */
+  if (unlikely(afl->schedule >= FAST && afl->schedule <= RARE)) {
 
-    if (q->exec_cksum == cksum) {
+    cksum = hash64(afl->fsrv.trace_bits, afl->fsrv.map_size, HASH_CONST);
 
-      q->n_fuzz = q->n_fuzz + 1;
-      break;
+    struct queue_entry *q = afl->queue;
+    while (q) {
 
-    }
+      if (q->exec_cksum == cksum) {
 
-    q = q->next;
+        ++q->n_fuzz;
+        break;
+
+      }
+
+      q = q->next;
+
+    }
 
   }
 
-  if (unlikely(fault == afl->crash_mode)) {
+  if (likely(fault == afl->crash_mode)) {
 
     /* Keep only if there are new bits in the map, add to queue for
        future fuzzing, etc. */
@@ -595,7 +603,11 @@ u8 save_if_interesting(afl_state_t *afl, void *mem, u32 len, u8 fault) {
 
     }
 
-    afl->queue_top->exec_cksum = cksum;
+    if (cksum)
+      afl->queue_top->exec_cksum = cksum;
+    else
+      afl->queue_top->exec_cksum =
+          hash64(afl->fsrv.trace_bits, afl->fsrv.map_size, HASH_CONST);
 
     /* Try to calibrate inline; this also calls update_bitmap_score() when
        successful. */
diff --git a/src/afl-fuzz-init.c b/src/afl-fuzz-init.c
index 4184fa6b..a2e849dc 100644
--- a/src/afl-fuzz-init.c
+++ b/src/afl-fuzz-init.c
@@ -37,6 +37,8 @@ void bind_to_free_cpu(afl_state_t *afl) {
   cpu_set_t c;
   #elif defined(__NetBSD__)
   cpuset_t *         c;
+  #elif defined(__sun)
+  psetid_t            c;
   #endif
 
   u8  cpu_used[4096] = {0};
@@ -181,6 +183,56 @@ void bind_to_free_cpu(afl_state_t *afl) {
   }
 
   ck_free(procs);
+  #elif defined(__sun)
+  kstat_named_t *n;
+  kstat_ctl_t *  m;
+  kstat_t *      k;
+  cpu_stat_t     cs;
+  u32            ncpus;
+
+  m = kstat_open();
+
+  if (!m) FATAL("kstat_open failed");
+
+  k = kstat_lookup(m, "unix", 0, "system_misc");
+
+  if (!k) {
+
+    kstat_close(m);
+    return;
+
+  }
+
+  if (kstat_read(m, k, NULL)) {
+
+    kstat_close(m);
+    return;
+
+  }
+
+  n = kstat_data_lookup(k, "ncpus");
+  ncpus = n->value.i32;
+
+  if (ncpus > sizeof(cpu_used)) ncpus = sizeof(cpu_used);
+
+  for (i = 0; i < ncpus; i++) {
+
+    k = kstat_lookup(m, "cpu_stat", i, NULL);
+    if (kstat_read(m, k, &cs)) {
+
+      kstat_close(m);
+      return;
+
+    }
+
+    if (cs.cpu_sysinfo.cpu[CPU_IDLE] > 0) continue;
+
+    if (cs.cpu_sysinfo.cpu[CPU_USER] > 0 || cs.cpu_sysinfo.cpu[CPU_KERNEL] > 0)
+      cpu_used[i] = 1;
+
+  }
+
+  kstat_close(m);
   #else
     #warning \
         "For this platform we do not have free CPU binding code yet. If possible, please supply a PR to https://github.com/AFLplusplus/AFLplusplus"
@@ -189,7 +241,7 @@ void bind_to_free_cpu(afl_state_t *afl) {
   size_t cpu_start = 0;
 
   try:
-  #ifndef __ANDROID__
+  #if !defined(__ANDROID__)
     for (i = cpu_start; i < afl->cpu_core_count; i++) {
 
       if (!cpu_used[i]) { break; }
@@ -228,6 +280,9 @@ void bind_to_free_cpu(afl_state_t *afl) {
   c = cpuset_create();
   if (c == NULL) PFATAL("cpuset_create failed");
   cpuset_set(i, c);
+  #elif defined(__sun)
+pset_create(&c);
+if (pset_assign(c, i, NULL)) PFATAL("pset_assign failed");
   #endif
 
   #if defined(__linux__)
@@ -271,6 +326,19 @@ if (pthread_setaffinity_np(pthread_self(), cpuset_size(c), c)) {
 }
 
 cpuset_destroy(c);
+  #elif defined(__sun)
+if (pset_bind(c, P_PID, getpid(), NULL)) {
+
+  if (cpu_start == afl->cpu_core_count)
+    PFATAL("pset_bind failed for cpu %d, exit", i);
+  WARNF("pthread_setaffinity failed to CPU %d, trying next CPU", i);
+  cpu_start++;
+  goto try
+    ;
+
+}
+
+pset_destroy(c);
   #else
   // this will need something for other platforms
   // TODO: Solaris/Illumos has processor_bind ... might worth a try
@@ -1473,10 +1541,8 @@ void setup_dirs_fds(afl_state_t *afl) {
   afl->fsrv.dev_null_fd = open("/dev/null", O_RDWR);
   if (afl->fsrv.dev_null_fd < 0) { PFATAL("Unable to open /dev/null"); }
 
-#ifndef HAVE_ARC4RANDOM
   afl->fsrv.dev_urandom_fd = open("/dev/urandom", O_RDONLY);
   if (afl->fsrv.dev_urandom_fd < 0) { PFATAL("Unable to open /dev/urandom"); }
-#endif
 
   /* Gnuplot output file. */
 
@@ -2062,14 +2128,17 @@ void check_binary(afl_state_t *afl, u8 *fname) {
 
   /* Check for blatant user errors. */
 
-  if ((!strncmp(afl->fsrv.target_path, "/tmp/", 5) &&
-       !strchr(afl->fsrv.target_path + 5, '/')) ||
-      (!strncmp(afl->fsrv.target_path, "/var/tmp/", 9) &&
-       !strchr(afl->fsrv.target_path + 9, '/'))) {
+  /*  disabled. not a real-worl scenario where this is a problem.
+    if ((!strncmp(afl->fsrv.target_path, "/tmp/", 5) &&
+         !strchr(afl->fsrv.target_path + 5, '/')) ||
+        (!strncmp(afl->fsrv.target_path, "/var/tmp/", 9) &&
+         !strchr(afl->fsrv.target_path + 9, '/'))) {
 
-    FATAL("Please don't keep binaries in /tmp or /var/tmp");
+      FATAL("Please don't keep binaries in /tmp or /var/tmp");
 
-  }
+    }
+
+  */
 
   fd = open(afl->fsrv.target_path, O_RDONLY);
 
diff --git a/src/afl-fuzz-mutators.c b/src/afl-fuzz-mutators.c
index 29e10d02..9fc77ffe 100644
--- a/src/afl-fuzz-mutators.c
+++ b/src/afl-fuzz-mutators.c
@@ -44,7 +44,7 @@ void setup_custom_mutators(afl_state_t *afl) {
       FATAL(
           "MOpt and custom mutator are mutually exclusive. We accept pull "
           "requests that integrates MOpt with the optional mutators "
-          "(custom/radamsa/redqueen/...).");
+          "(custom/redqueen/...).");
 
     u8 *fn_token = (u8 *)strsep((char **)&fn, ";:,");
 
@@ -89,7 +89,7 @@ void setup_custom_mutators(afl_state_t *afl) {
       FATAL(
           "MOpt and Python mutator are mutually exclusive. We accept pull "
           "requests that integrates MOpt with the optional mutators "
-          "(custom/radamsa/redqueen/...).");
+          "(custom/redqueen/...).");
 
     }
 
@@ -272,7 +272,7 @@ u8 trim_case_custom(afl_state_t *afl, struct queue_entry *q, u8 *in_buf,
     sprintf(afl->stage_name_buf, "ptrim %s",
             u_stringify_int(val_buf, trim_exec));
 
-    u32 cksum;
+    u64 cksum;
 
     size_t retlen = mutator->afl_custom_trim(mutator->data, &retbuf);
 
@@ -295,7 +295,7 @@ u8 trim_case_custom(afl_state_t *afl, struct queue_entry *q, u8 *in_buf,
 
     if (afl->stop_soon || fault == FSRV_RUN_ERROR) { goto abort_trimming; }
 
-    cksum = hash32(afl->fsrv.trace_bits, afl->fsrv.map_size, HASH_CONST);
+    cksum = hash64(afl->fsrv.trace_bits, afl->fsrv.map_size, HASH_CONST);
 
     if (cksum == q->exec_cksum) {
 
diff --git a/src/afl-fuzz-one.c b/src/afl-fuzz-one.c
index 578ac584..72383727 100644
--- a/src/afl-fuzz-one.c
+++ b/src/afl-fuzz-one.c
@@ -29,10 +29,14 @@
 
 static int select_algorithm(afl_state_t *afl) {
 
-  int i_puppet, j_puppet;
+  int i_puppet, j_puppet = 0, operator_number = operator_num;
+
+  if (!afl->extras_cnt && !afl->a_extras_cnt) operator_number -= 2;
+
+  double range_sele =
+      (double)afl->probability_now[afl->swarm_now][operator_number - 1];
+  double sele = ((double)(rand_below(afl, 10000) * 0.0001 * range_sele));
 
-  double sele = ((double)(rand_below(afl, 10000)) * 0.0001);
-  j_puppet = 0;
   for (i_puppet = 0; i_puppet < operator_num; ++i_puppet) {
 
     if (unlikely(i_puppet == 0)) {
@@ -52,8 +56,10 @@ static int select_algorithm(afl_state_t *afl) {
 
   }
 
-  if (j_puppet == 1 &&
-      sele < afl->probability_now[afl->swarm_now][i_puppet - 1]) {
+  if ((j_puppet == 1 &&
+       sele < afl->probability_now[afl->swarm_now][i_puppet - 1]) ||
+      (i_puppet + 1 < operator_num &&
+       sele > afl->probability_now[afl->swarm_now][i_puppet + 1])) {
 
     FATAL("error select_algorithm");
 
@@ -364,8 +370,8 @@ u8 fuzz_one_original(afl_state_t *afl) {
 
   s32 len, fd, temp_len, i, j;
   u8 *in_buf, *out_buf, *orig_in, *ex_tmp, *eff_map = 0;
-  u64 havoc_queued = 0, orig_hit_cnt, new_hit_cnt;
-  u32 splice_cycle = 0, perf_score = 100, orig_perf, prev_cksum, eff_cnt = 1;
+  u64 havoc_queued = 0, orig_hit_cnt, new_hit_cnt = 0, prev_cksum;
+  u32 splice_cycle = 0, perf_score = 100, orig_perf, eff_cnt = 1;
 
   u8 ret_val = 1, doing_det = 0;
 
@@ -488,6 +494,8 @@ u8 fuzz_one_original(afl_state_t *afl) {
 
     if (afl->queue_cur->cal_failed < CAL_CHANCES) {
 
+      afl->queue_cur->exec_cksum = 0;
+
       res =
           calibrate_case(afl, afl->queue_cur, in_buf, afl->queue_cycle - 1, 0);
 
@@ -548,8 +556,6 @@ u8 fuzz_one_original(afl_state_t *afl) {
 
   if (unlikely(perf_score == 0)) { goto abandon_entry; }
 
-  if (unlikely(afl->use_radamsa > 1)) { goto radamsa_stage; }
-
   if (afl->shm.cmplog_mode && !afl->queue_cur->fully_colorized) {
 
     if (input_to_state_stage(afl, in_buf, out_buf, len,
@@ -566,12 +572,11 @@ u8 fuzz_one_original(afl_state_t *afl) {
      if it has gone through deterministic testing in earlier, resumed runs
      (passed_det). */
 
-  if (afl->skip_deterministic ||
-      ((!afl->queue_cur->passed_det) &&
-       perf_score < (afl->queue_cur->depth * 30 <= afl->havoc_max_mult * 100
-                         ? afl->queue_cur->depth * 30
-                         : afl->havoc_max_mult * 100)) ||
-      afl->queue_cur->passed_det) {
+  if (likely(afl->queue_cur->passed_det) || likely(afl->skip_deterministic) ||
+      likely(perf_score <
+             (afl->queue_cur->depth * 30 <= afl->havoc_max_mult * 100
+                  ? afl->queue_cur->depth * 30
+                  : afl->havoc_max_mult * 100))) {
 
     goto custom_mutator_stage;
 
@@ -653,7 +658,7 @@ u8 fuzz_one_original(afl_state_t *afl) {
 
     if (!afl->non_instrumented_mode && (afl->stage_cur & 7) == 7) {
 
-      u32 cksum = hash32(afl->fsrv.trace_bits, afl->fsrv.map_size, HASH_CONST);
+      u64 cksum = hash64(afl->fsrv.trace_bits, afl->fsrv.map_size, HASH_CONST);
 
       if (afl->stage_cur == afl->stage_max - 1 && cksum == prev_cksum) {
 
@@ -821,14 +826,14 @@ u8 fuzz_one_original(afl_state_t *afl) {
 
     if (!eff_map[EFF_APOS(afl->stage_cur)]) {
 
-      u32 cksum;
+      u64 cksum;
 
       /* If in non-instrumented mode or if the file is very short, just flag
          everything without wasting time on checksums. */
 
       if (!afl->non_instrumented_mode && len >= EFF_MIN_LEN) {
 
-        cksum = hash32(afl->fsrv.trace_bits, afl->fsrv.map_size, HASH_CONST);
+        cksum = hash64(afl->fsrv.trace_bits, afl->fsrv.map_size, HASH_CONST);
 
       } else {
 
@@ -1680,6 +1685,7 @@ custom_mutator_stage:
 
       retry_external_pick:
         /* Pick a random other queue entry for passing to external API */
+
         do {
 
           tid = rand_below(afl, afl->queued_paths);
@@ -1704,7 +1710,7 @@ custom_mutator_stage:
         /* Make sure that the target has a reasonable length. */
 
         while (target && (target->len < 2 || target == afl->queue_cur) &&
-               afl->queued_paths > 1) {
+               afl->queued_paths > 3) {
 
           target = target->next;
           ++afl->splicing_with;
@@ -2230,7 +2236,7 @@ havoc_stage:
         case 16: {
 
           u32 use_extra, extra_len, insert_at = rand_below(afl, temp_len + 1);
-          u8 *new_buf;
+          u8 *ptr;
 
           /* Insert an extra. Do the same dice-rolling stuff as for the
              previous case. */
@@ -2239,44 +2245,27 @@ havoc_stage:
 
             use_extra = rand_below(afl, afl->a_extras_cnt);
             extra_len = afl->a_extras[use_extra].len;
-
-            if (temp_len + extra_len >= MAX_FILE) { break; }
-
-            new_buf =
-                ck_maybe_grow(BUF_PARAMS(out_scratch), temp_len + extra_len);
-
-            /* Head */
-            memcpy(new_buf, out_buf, insert_at);
-
-            /* Inserted part */
-            memcpy(new_buf + insert_at, afl->a_extras[use_extra].data,
-                   extra_len);
+            ptr = afl->a_extras[use_extra].data;
 
           } else {
 
             use_extra = rand_below(afl, afl->extras_cnt);
             extra_len = afl->extras[use_extra].len;
+            ptr = afl->extras[use_extra].data;
 
-            if (temp_len + extra_len >= MAX_FILE) { break; }
-
-            new_buf =
-                ck_maybe_grow(BUF_PARAMS(out_scratch), temp_len + extra_len);
-
-            /* Head */
-            memcpy(new_buf, out_buf, insert_at);
+          }
 
-            /* Inserted part */
-            memcpy(new_buf + insert_at, afl->extras[use_extra].data, extra_len);
+          if (temp_len + extra_len >= MAX_FILE) { break; }
 
-          }
+          out_buf = ck_maybe_grow(BUF_PARAMS(out), temp_len + extra_len);
 
           /* Tail */
-          memcpy(new_buf + insert_at + extra_len, out_buf + insert_at,
-                 temp_len - insert_at);
+          memmove(out_buf + insert_at + extra_len, out_buf + insert_at,
+                  temp_len - insert_at);
+
+          /* Inserted part */
+          memcpy(out_buf + insert_at, ptr, extra_len);
 
-          swap_bufs(BUF_PARAMS(out), BUF_PARAMS(out_scratch));
-          out_buf = new_buf;
-          new_buf = NULL;
           temp_len += extra_len;
 
           break;
@@ -2438,63 +2427,6 @@ retry_splicing:
 #endif                                                     /* !IGNORE_FINDS */
 
   ret_val = 0;
-  goto radamsa_stage;
-
-radamsa_stage:
-
-  if (likely(!afl->use_radamsa || !afl->radamsa_mutate_ptr)) {
-
-    goto abandon_entry;
-
-  }
-
-  afl->stage_name = "radamsa";
-  afl->stage_short = "radamsa";
-  afl->stage_max = (HAVOC_CYCLES * perf_score / afl->havoc_div / 100)
-                   << afl->use_radamsa;
-
-  if (afl->stage_max < HAVOC_MIN) { afl->stage_max = HAVOC_MIN; }
-
-  orig_hit_cnt = afl->queued_paths + afl->unique_crashes;
-
-  /* Read the additional testcase.
-  We'll reuse in_scratch, as it is free at this point.
-  */
-  u8 *save_buf = ck_maybe_grow(BUF_PARAMS(in_scratch), len);
-  memcpy(save_buf, out_buf, len);
-
-  u32 max_len = len + choose_block_len(afl, HAVOC_BLK_XL);
-  u8 *new_buf = ck_maybe_grow(BUF_PARAMS(out_scratch), max_len);
-  u8 *tmp_buf;
-
-  for (afl->stage_cur = 0; afl->stage_cur < afl->stage_max; ++afl->stage_cur) {
-
-    u32 new_len = afl->radamsa_mutate_ptr(save_buf, len, new_buf, max_len,
-                                          get_rand_seed(afl));
-
-    if (new_len) {
-
-      temp_len = new_len;
-      tmp_buf = new_buf;
-
-    } else {
-
-      tmp_buf = save_buf;  // nope but I dont care
-      temp_len = len;
-
-    }
-
-    if (common_fuzz_stuff(afl, tmp_buf, temp_len)) { goto abandon_entry; }
-
-  }
-
-  new_hit_cnt = afl->queued_paths + afl->unique_crashes;
-
-  afl->stage_finds[STAGE_RADAMSA] += new_hit_cnt - orig_hit_cnt;
-  afl->stage_cycles[STAGE_RADAMSA] += afl->stage_max;
-
-  ret_val = 0;
-  goto abandon_entry;
 
 /* we are through with this queue entry - for this iteration */
 abandon_entry:
@@ -2539,8 +2471,8 @@ static u8 mopt_common_fuzzing(afl_state_t *afl, MOpt_globals_t MOpt_globals) {
 
   s32 len, fd, temp_len, i, j;
   u8 *in_buf, *out_buf, *orig_in, *ex_tmp, *eff_map = 0;
-  u64 havoc_queued, orig_hit_cnt, new_hit_cnt, cur_ms_lv;
-  u32 splice_cycle = 0, perf_score = 100, orig_perf, prev_cksum, eff_cnt = 1;
+  u64 havoc_queued = 0, orig_hit_cnt, new_hit_cnt = 0, cur_ms_lv, prev_cksum;
+  u32 splice_cycle = 0, perf_score = 100, orig_perf, eff_cnt = 1;
 
   u8 ret_val = 1, doing_det = 0;
 
@@ -2637,6 +2569,8 @@ static u8 mopt_common_fuzzing(afl_state_t *afl, MOpt_globals_t MOpt_globals) {
 
     if (afl->queue_cur->cal_failed < CAL_CHANCES) {
 
+      afl->queue_cur->exec_cksum = 0;
+
       res =
           calibrate_case(afl, afl->queue_cur, in_buf, afl->queue_cycle - 1, 0);
 
@@ -2806,7 +2740,7 @@ static u8 mopt_common_fuzzing(afl_state_t *afl, MOpt_globals_t MOpt_globals) {
 
     if (!afl->non_instrumented_mode && (afl->stage_cur & 7) == 7) {
 
-      u32 cksum = hash32(afl->fsrv.trace_bits, afl->fsrv.map_size, HASH_CONST);
+      u64 cksum = hash64(afl->fsrv.trace_bits, afl->fsrv.map_size, HASH_CONST);
 
       if (afl->stage_cur == afl->stage_max - 1 && cksum == prev_cksum) {
 
@@ -2974,14 +2908,14 @@ static u8 mopt_common_fuzzing(afl_state_t *afl, MOpt_globals_t MOpt_globals) {
 
     if (!eff_map[EFF_APOS(afl->stage_cur)]) {
 
-      u32 cksum;
+      u64 cksum;
 
       /* If in non-instrumented mode or if the file is very short, just flag
          everything without wasting time on checksums. */
 
       if (!afl->non_instrumented_mode && len >= EFF_MIN_LEN) {
 
-        cksum = hash32(afl->fsrv.trace_bits, afl->fsrv.map_size, HASH_CONST);
+        cksum = hash64(afl->fsrv.trace_bits, afl->fsrv.map_size, HASH_CONST);
 
       } else {
 
@@ -4208,6 +4142,94 @@ pacemaker_fuzzing:
 
             }                                                    /* case 15 */
 
+              /* Values 16 and 17 can be selected only if there are any extras
+                 present in the dictionaries. */
+
+            case 16: {
+
+              /* Overwrite bytes with an extra. */
+
+              if (!afl->extras_cnt ||
+                  (afl->a_extras_cnt && rand_below(afl, 2))) {
+
+                /* No user-specified extras or odds in our favor. Let's use an
+                  auto-detected one. */
+
+                u32 use_extra = rand_below(afl, afl->a_extras_cnt);
+                u32 extra_len = afl->a_extras[use_extra].len;
+
+                if (extra_len > temp_len) break;
+
+                u32 insert_at = rand_below(afl, temp_len - extra_len + 1);
+                memcpy(out_buf + insert_at, afl->a_extras[use_extra].data,
+                       extra_len);
+
+              } else {
+
+                /* No auto extras or odds in our favor. Use the dictionary. */
+
+                u32 use_extra = rand_below(afl, afl->extras_cnt);
+                u32 extra_len = afl->extras[use_extra].len;
+
+                if (extra_len > temp_len) break;
+
+                u32 insert_at = rand_below(afl, temp_len - extra_len + 1);
+                memcpy(out_buf + insert_at, afl->extras[use_extra].data,
+                       extra_len);
+
+              }
+
+              afl->stage_cycles_puppet_v2[afl->swarm_now]
+                                         [STAGE_OverWriteExtra] += 1;
+
+              break;
+
+            }
+
+              /* Insert an extra. */
+
+            case 17: {
+
+              u32 use_extra, extra_len,
+                  insert_at = rand_below(afl, temp_len + 1);
+              u8 *ptr;
+
+              /* Insert an extra. Do the same dice-rolling stuff as for the
+                previous case. */
+
+              if (!afl->extras_cnt ||
+                  (afl->a_extras_cnt && rand_below(afl, 2))) {
+
+                use_extra = rand_below(afl, afl->a_extras_cnt);
+                extra_len = afl->a_extras[use_extra].len;
+                ptr = afl->a_extras[use_extra].data;
+
+              } else {
+
+                use_extra = rand_below(afl, afl->extras_cnt);
+                extra_len = afl->extras[use_extra].len;
+                ptr = afl->extras[use_extra].data;
+
+              }
+
+              if (temp_len + extra_len >= MAX_FILE) break;
+
+              out_buf = ck_maybe_grow(BUF_PARAMS(out), temp_len + extra_len);
+
+              /* Tail */
+              memmove(out_buf + insert_at + extra_len, out_buf + insert_at,
+                      temp_len - insert_at);
+
+              /* Inserted part */
+              memcpy(out_buf + insert_at, ptr, extra_len);
+
+              temp_len += extra_len;
+              afl->stage_cycles_puppet_v2[afl->swarm_now][STAGE_InsertExtra] +=
+                  1;
+              break;
+
+            }
+
           }                                    /* switch select_algorithm() */
 
         }                                      /* for i=0; i < use_stacking */
diff --git a/src/afl-fuzz-queue.c b/src/afl-fuzz-queue.c
index ea7f57e2..7afdd9f1 100644
--- a/src/afl-fuzz-queue.c
+++ b/src/afl-fuzz-queue.c
@@ -194,10 +194,14 @@ void update_bitmap_score(afl_state_t *afl, struct queue_entry *q) {
 
   u32 i;
   u64 fav_factor;
-  u64 fuzz_p2 = next_pow2(q->n_fuzz);
+  u64 fuzz_p2;
 
-  if (afl->schedule == MMOPT || afl->schedule == RARE ||
-      unlikely(afl->fixed_seed)) {
+  if (unlikely(afl->schedule >= FAST && afl->schedule <= RARE))
+    fuzz_p2 = next_pow2(q->n_fuzz);
+  else
+    fuzz_p2 = q->fuzz_level;
+
+  if (unlikely(afl->schedule >= RARE) || unlikely(afl->fixed_seed)) {
 
     fav_factor = q->len << 2;
 
@@ -217,10 +221,13 @@ void update_bitmap_score(afl_state_t *afl, struct queue_entry *q) {
 
         /* Faster-executing or smaller test cases are favored. */
         u64 top_rated_fav_factor;
-        u64 top_rated_fuzz_p2 = next_pow2(afl->top_rated[i]->n_fuzz);
+        u64 top_rated_fuzz_p2;
+        if (unlikely(afl->schedule >= FAST && afl->schedule <= RARE))
+          top_rated_fuzz_p2 = next_pow2(afl->top_rated[i]->n_fuzz);
+        else
+          top_rated_fuzz_p2 = afl->top_rated[i]->fuzz_level;
 
-        if (afl->schedule == MMOPT || afl->schedule == RARE ||
-            unlikely(afl->fixed_seed)) {
+        if (unlikely(afl->schedule >= RARE) || unlikely(afl->fixed_seed)) {
 
           top_rated_fav_factor = afl->top_rated[i]->len << 2;
 
@@ -241,8 +248,7 @@ void update_bitmap_score(afl_state_t *afl, struct queue_entry *q) {
 
         }
 
-        if (afl->schedule == MMOPT || afl->schedule == RARE ||
-            unlikely(afl->fixed_seed)) {
+        if (unlikely(afl->schedule >= RARE) || unlikely(afl->fixed_seed)) {
 
           if (fav_factor > afl->top_rated[i]->len << 2) { continue; }
 
@@ -387,8 +393,7 @@ u32 calculate_score(afl_state_t *afl, struct queue_entry *q) {
   // Longer execution time means longer work on the input, the deeper in
   // coverage, the better the fuzzing, right? -mh
 
-  if (afl->schedule != MMOPT && afl->schedule != RARE &&
-      likely(!afl->fixed_seed)) {
+  if (afl->schedule >= RARE && likely(!afl->fixed_seed)) {
 
     if (q->exec_us * 0.1 > avg_exec_us) {
 
@@ -500,6 +505,9 @@ u32 calculate_score(afl_state_t *afl, struct queue_entry *q) {
     case EXPLORE:
       break;
 
+    case SEEK:
+      break;
+
     case EXPLOIT:
       factor = MAX_FACTOR;
       break;
@@ -593,9 +601,12 @@ u32 calculate_score(afl_state_t *afl, struct queue_entry *q) {
 
   }
 
-  if (factor > MAX_FACTOR) { factor = MAX_FACTOR; }
+  if (unlikely(afl->schedule >= FAST && afl->schedule <= RARE)) {
 
-  perf_score *= factor / POWER_BETA;
+    if (factor > MAX_FACTOR) { factor = MAX_FACTOR; }
+    perf_score *= factor / POWER_BETA;
+
+  }
 
   // MOpt mode
   if (afl->limit_time_sig != 0 && afl->max_depth - q->depth < 3) {
diff --git a/src/afl-fuzz-redqueen.c b/src/afl-fuzz-redqueen.c
index 7621d180..43850eb5 100644
--- a/src/afl-fuzz-redqueen.c
+++ b/src/afl-fuzz-redqueen.c
@@ -89,11 +89,11 @@ static struct range *pop_biggest_range(struct range **ranges) {
 
 }
 
-static u8 get_exec_checksum(afl_state_t *afl, u8 *buf, u32 len, u32 *cksum) {
+static u8 get_exec_checksum(afl_state_t *afl, u8 *buf, u32 len, u64 *cksum) {
 
   if (unlikely(common_fuzz_stuff(afl, buf, len))) { return 1; }
 
-  *cksum = hash32(afl->fsrv.trace_bits, afl->fsrv.map_size, HASH_CONST);
+  *cksum = hash64(afl->fsrv.trace_bits, afl->fsrv.map_size, HASH_CONST);
   return 0;
 
 }
@@ -109,7 +109,7 @@ static void rand_replace(afl_state_t *afl, u8 *buf, u32 len) {
 
 }
 
-static u8 colorization(afl_state_t *afl, u8 *buf, u32 len, u32 exec_cksum) {
+static u8 colorization(afl_state_t *afl, u8 *buf, u32 len, u64 exec_cksum) {
 
   struct range *ranges = add_range(NULL, 0, len);
   u8 *          backup = ck_alloc_nozero(len);
@@ -137,7 +137,7 @@ static u8 colorization(afl_state_t *afl, u8 *buf, u32 len, u32 exec_cksum) {
       memcpy(backup, buf + rng->start, s);
       rand_replace(afl, buf + rng->start, s);
 
-      u32 cksum;
+      u64 cksum;
       u64 start_us = get_cur_time_us();
       if (unlikely(get_exec_checksum(afl, buf, len, &cksum))) {
 
@@ -180,7 +180,7 @@ static u8 colorization(afl_state_t *afl, u8 *buf, u32 len, u32 exec_cksum) {
   while (ranges) {
 
     rng = ranges;
-    ranges = ranges->next;
+    ranges = rng->next;
     ck_free(rng);
     rng = NULL;
 
@@ -224,7 +224,7 @@ checksum_fail:
   while (ranges) {
 
     rng = ranges;
-    ranges = ranges->next;
+    ranges = rng->next;
     ck_free(rng);
     rng = NULL;
 
@@ -695,7 +695,7 @@ static u8 rtn_fuzz(afl_state_t *afl, u32 key, u8 *orig_buf, u8 *buf, u32 len) {
 
 // afl->queue_cur->exec_cksum
 u8 input_to_state_stage(afl_state_t *afl, u8 *orig_buf, u8 *buf, u32 len,
-                        u32 exec_cksum) {
+                        u64 exec_cksum) {
 
   u8 r = 1;
   if (afl->orig_cmp_map == NULL) {
diff --git a/src/afl-fuzz-run.c b/src/afl-fuzz-run.c
index a85e00fe..2a1664e2 100644
--- a/src/afl-fuzz-run.c
+++ b/src/afl-fuzz-run.c
@@ -142,7 +142,41 @@ static void write_with_gap(afl_state_t *afl, void *mem, u32 len, u32 skip_at,
   s32 fd = afl->fsrv.out_fd;
   u32 tail_len = len - skip_at - skip_len;
 
-  if (afl->fsrv.out_file) {
+  if (afl->fsrv.shmem_fuzz) {
+
+    if (skip_at) { memcpy(afl->fsrv.shmem_fuzz, mem, skip_at); }
+
+    if (tail_len) {
+
+      memcpy(afl->fsrv.shmem_fuzz + skip_at, (u8 *)mem + skip_at + skip_len,
+             tail_len);
+
+    }
+
+    *afl->fsrv.shmem_fuzz_len = len - skip_len;
+
+#ifdef _DEBUG
+    if (afl->debug) {
+
+      fprintf(
+          stderr, "FS crc: %16llx len: %u\n",
+          hash64(afl->fsrv.shmem_fuzz, *afl->fsrv.shmem_fuzz_len, 0xa5b35705),
+          *afl->fsrv.shmem_fuzz_len);
+      fprintf(stderr, "SHM :");
+      for (int i = 0; i < *afl->fsrv.shmem_fuzz_len; i++)
+        fprintf(stderr, "%02x", afl->fsrv.shmem_fuzz[i]);
+      fprintf(stderr, "\nORIG:");
+      for (int i = 0; i < *afl->fsrv.shmem_fuzz_len; i++)
+        fprintf(stderr, "%02x", (u8)((u8 *)mem)[i]);
+      fprintf(stderr, "\n");
+
+    }
+
+#endif
+
+    return;
+
+  } else if (afl->fsrv.out_file) {
 
     if (afl->no_unlink) {
 
@@ -234,6 +268,7 @@ u8 calibrate_case(afl_state_t *afl, struct queue_entry *q, u8 *use_mem,
 
     if (afl->fsrv.support_shmem_fuzz && !afl->fsrv.use_shmem_fuzz) {
 
+      unsetenv(SHM_FUZZ_ENV_VAR);
       afl_shm_deinit(afl->shm_fuzz);
       ck_free(afl->shm_fuzz);
       afl->shm_fuzz = NULL;
@@ -256,13 +291,7 @@ u8 calibrate_case(afl_state_t *afl, struct queue_entry *q, u8 *use_mem,
 
   for (afl->stage_cur = 0; afl->stage_cur < afl->stage_max; ++afl->stage_cur) {
 
-    u32 cksum;
-
-    if (!first_run && !(afl->stage_cur % afl->stats_update_freq)) {
-
-      show_stats(afl);
-
-    }
+    u64 cksum;
 
     write_to_testcase(afl, use_mem, q->len);
 
@@ -281,7 +310,7 @@ u8 calibrate_case(afl_state_t *afl, struct queue_entry *q, u8 *use_mem,
 
     }
 
-    cksum = hash32(afl->fsrv.trace_bits, afl->fsrv.map_size, HASH_CONST);
+    cksum = hash64(afl->fsrv.trace_bits, afl->fsrv.map_size, HASH_CONST);
     if (q->exec_cksum != cksum) {
 
       hnb = has_new_bits(afl, afl->virgin_bits);
@@ -385,7 +414,7 @@ void sync_fuzzers(afl_state_t *afl) {
   DIR *          sd;
   struct dirent *sd_ent;
   u32            sync_cnt = 0, synced = 0, entries = 0;
-  u8             path[PATH_MAX];
+  u8             path[PATH_MAX + 256];
 
   sd = opendir(afl->sync_dir);
   if (!sd) { PFATAL("Unable to open '%s'", afl->sync_dir); }
@@ -399,7 +428,7 @@ void sync_fuzzers(afl_state_t *afl) {
   while ((sd_ent = readdir(sd))) {
 
     u8  qd_synced_path[PATH_MAX], qd_path[PATH_MAX];
-    u32 min_accept = 0, next_min_accept;
+    u32 min_accept = 0, next_min_accept = 0;
 
     s32 id_fd;
 
@@ -438,6 +467,12 @@ void sync_fuzzers(afl_state_t *afl) {
 
     synced++;
 
+    /* document the attempt to sync to this instance */
+
+    sprintf(qd_synced_path, "%s/.synced/%s.last", afl->out_dir, sd_ent->d_name);
+    id_fd = open(qd_synced_path, O_RDWR | O_CREAT | O_TRUNC, 0600);
+    if (id_fd >= 0) close(id_fd);
+
     /* Skip anything that doesn't have a queue/ subdirectory. */
 
     sprintf(qd_path, "%s/%s/queue", afl->sync_dir, sd_ent->d_name);
@@ -462,14 +497,13 @@ void sync_fuzzers(afl_state_t *afl) {
 
     if (id_fd < 0) { PFATAL("Unable to create '%s'", qd_synced_path); }
 
-    if (read(id_fd, &min_accept, sizeof(u32)) > 0) {
+    if (read(id_fd, &min_accept, sizeof(u32)) == sizeof(u32)) {
 
+      next_min_accept = min_accept;
       lseek(id_fd, 0, SEEK_SET);
 
     }
 
-    next_min_accept = min_accept;
-
     /* Show stats */
 
     snprintf(afl->stage_name_buf, STAGE_BUF_SIZE, "sync %u", ++sync_cnt);
@@ -505,7 +539,7 @@ void sync_fuzzers(afl_state_t *afl) {
       s32         fd;
       struct stat st;
 
-      sprintf(path, "%s/%s", qd_path, namelist[o]->d_name);
+      snprintf(path, sizeof(path), "%s/%s", qd_path, namelist[o]->d_name);
       afl->syncing_case = next_min_accept;
       next_min_accept++;
       o--;
@@ -646,7 +680,7 @@ u8 trim_case(afl_state_t *afl, struct queue_entry *q, u8 *in_buf) {
     while (remove_pos < q->len) {
 
       u32 trim_avail = MIN(remove_len, q->len - remove_pos);
-      u32 cksum;
+      u64 cksum;
 
       write_with_gap(afl, in_buf, q->len, remove_pos, trim_avail);
 
@@ -658,7 +692,7 @@ u8 trim_case(afl_state_t *afl, struct queue_entry *q, u8 *in_buf) {
       /* Note that we don't keep track of crashes or hangs here; maybe TODO?
        */
 
-      cksum = hash32(afl->fsrv.trace_bits, afl->fsrv.map_size, HASH_CONST);
+      cksum = hash64(afl->fsrv.trace_bits, afl->fsrv.map_size, HASH_CONST);
 
       /* If the deletion had no impact on the trace, make it permanent. This
          isn't perfect for variable-path inputs, but we're just making a
diff --git a/src/afl-fuzz-state.c b/src/afl-fuzz-state.c
index 99863103..ece2d170 100644
--- a/src/afl-fuzz-state.c
+++ b/src/afl-fuzz-state.c
@@ -30,9 +30,9 @@ s8  interesting_8[] = {INTERESTING_8};
 s16 interesting_16[] = {INTERESTING_8, INTERESTING_16};
 s32 interesting_32[] = {INTERESTING_8, INTERESTING_16, INTERESTING_32};
 
-char *power_names[POWER_SCHEDULES_NUM] = {
-
-    "explore", "fast", "coe", "lin", "quad", "exploit", "mmopt", "rare"};
+char *power_names[POWER_SCHEDULES_NUM] = {"explore", "exploit", "fast",
+                                          "coe",     "lin",     "quad",
+                                          "rare",    "mmopt",   "seek"};
 
 /* Initialize MOpt "globals" for this afl state */
 
@@ -124,9 +124,7 @@ void afl_state_init(afl_state_t *afl, uint32_t map_size) {
 
   afl->stats_update_freq = 1;
 
-#ifndef HAVE_ARC4RANDOM
   afl->fsrv.dev_urandom_fd = -1;
-#endif
   afl->fsrv.dev_null_fd = -1;
 
   afl->fsrv.child_pid = -1;
diff --git a/src/afl-fuzz-stats.c b/src/afl-fuzz-stats.c
index 374b2411..fc93011b 100644
--- a/src/afl-fuzz-stats.c
+++ b/src/afl-fuzz-stats.c
@@ -31,7 +31,9 @@
 void write_stats_file(afl_state_t *afl, double bitmap_cvg, double stability,
                       double eps) {
 
+#ifndef __HAIKU__
   struct rusage rus;
+#endif
 
   unsigned long long int cur_time = get_cur_time();
   u8                     fn[PATH_MAX];
@@ -65,7 +67,9 @@ void write_stats_file(afl_state_t *afl, double bitmap_cvg, double stability,
 
   }
 
+#ifndef __HAIKU__
   if (getrusage(RUSAGE_CHILDREN, &rus)) { rus.ru_maxrss = 0; }
+#endif
 
   fprintf(
       f,
@@ -119,12 +123,21 @@ void write_stats_file(afl_state_t *afl, double bitmap_cvg, double stability,
       afl->last_path_time / 1000, afl->last_crash_time / 1000,
       afl->last_hang_time / 1000, afl->fsrv.total_execs - afl->last_crash_execs,
       afl->fsrv.exec_tmout, afl->slowest_exec_ms,
-#ifdef __APPLE__
+#ifndef __HAIKU__
+  #ifdef __APPLE__
       (unsigned long int)(rus.ru_maxrss >> 20),
-#else
+  #else
       (unsigned long int)(rus.ru_maxrss >> 10),
+  #endif
+#else
+      -1UL,
+#endif
+#ifdef HAVE_AFFINITY
+      afl->cpu_aff,
+#else
+      -1,
 #endif
-      afl->cpu_aff, t_bytes, afl->var_byte_count, afl->use_banner,
+      t_bytes, afl->var_byte_count, afl->use_banner,
       afl->unicorn_mode ? "unicorn" : "", afl->fsrv.qemu_mode ? "qemu " : "",
       afl->non_instrumented_mode ? " non_instrumented " : "",
       afl->no_forkserver ? "no_fsrv " : "", afl->crash_mode ? "crash " : "",
@@ -181,7 +194,8 @@ void maybe_update_plot_file(afl_state_t *afl, double bitmap_cvg, double eps) {
                afl->plot_prev_uc == afl->unique_crashes &&
                afl->plot_prev_uh == afl->unique_hangs &&
                afl->plot_prev_md == afl->max_depth) ||
-      unlikely(!afl->queue_cycle)) {
+      unlikely(!afl->queue_cycle) ||
+      unlikely(get_cur_time() - afl->start_time <= 60)) {
 
     return;
 
@@ -732,15 +746,13 @@ void show_stats(afl_state_t *afl) {
        afl->sync_id ? u_stringify_int(IB(0), afl->queued_imported)
                     : (u8 *)"n/a");
 
-  sprintf(tmp, "%s/%s, %s/%s, %s/%s",
+  sprintf(tmp, "%s/%s, %s/%s",
           u_stringify_int(IB(0), afl->stage_finds[STAGE_HAVOC]),
           u_stringify_int(IB(2), afl->stage_cycles[STAGE_HAVOC]),
           u_stringify_int(IB(3), afl->stage_finds[STAGE_SPLICE]),
-          u_stringify_int(IB(4), afl->stage_cycles[STAGE_SPLICE]),
-          u_stringify_int(IB(5), afl->stage_finds[STAGE_RADAMSA]),
-          u_stringify_int(IB(6), afl->stage_cycles[STAGE_RADAMSA]));
+          u_stringify_int(IB(4), afl->stage_cycles[STAGE_SPLICE]));
 
-  SAYF(bV bSTOP "   havoc/rad : " cRST "%-36s " bSTG bV bSTOP, tmp);
+  SAYF(bV bSTOP "havoc/splice : " cRST "%-36s " bSTG bV bSTOP, tmp);
 
   if (t_bytes) {
 
@@ -821,18 +833,19 @@ void show_stats(afl_state_t *afl) {
 
   }
 
-  if (afl->custom_mutators_count) {
+  // if (afl->custom_mutators_count) {
 
-    sprintf(tmp, "%s/%s",
-            u_stringify_int(IB(0), afl->stage_finds[STAGE_CUSTOM_MUTATOR]),
-            u_stringify_int(IB(1), afl->stage_cycles[STAGE_CUSTOM_MUTATOR]));
-    SAYF(bV bSTOP " custom mut. : " cRST "%-36s " bSTG bV RESET_G1, tmp);
+  //
+  //  sprintf(tmp, "%s/%s",
+  //          u_stringify_int(IB(0), afl->stage_finds[STAGE_CUSTOM_MUTATOR]),
+  //          u_stringify_int(IB(1), afl->stage_cycles[STAGE_CUSTOM_MUTATOR]));
+  //  SAYF(bV bSTOP " custom mut. : " cRST "%-36s " bSTG bV RESET_G1, tmp);
+  //
+  //} else {
 
-  } else {
+  SAYF(bV bSTOP "        trim : " cRST "%-36s " bSTG bV RESET_G1, tmp);
 
-    SAYF(bV bSTOP "        trim : " cRST "%-36s " bSTG bV RESET_G1, tmp);
-
-  }
+  //}
 
   /* Provide some CPU utilization stats. */
 
diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c
index d5fed9f2..f25f8bb6 100644
--- a/src/afl-fuzz.c
+++ b/src/afl-fuzz.c
@@ -26,66 +26,53 @@
 #include "afl-fuzz.h"
 #include "cmplog.h"
 #include <limits.h>
+#ifndef USEMMAP
+  #include <sys/mman.h>
+  #include <sys/stat.h>
+  #include <fcntl.h>
+  #include <sys/ipc.h>
+  #include <sys/shm.h>
+#endif
 
 #ifdef PROFILING
 extern u64 time_spent_working;
 #endif
 
-static u8 *get_libradamsa_path(u8 *own_loc) {
-
-  u8 *tmp, *cp, *rsl, *own_copy;
-
-  tmp = getenv("AFL_PATH");
-
-  if (tmp) {
+static void at_exit() {
 
-    cp = alloc_printf("%s/libradamsa.so", tmp);
+  int   i;
+  char *list[4] = {SHM_ENV_VAR, SHM_FUZZ_ENV_VAR, CMPLOG_SHM_ENV_VAR, NULL};
+  char *ptr = getenv("__AFL_TARGET_PID1");
 
-    if (access(cp, X_OK)) { FATAL("Unable to find '%s'", cp); }
+  if (ptr && *ptr && (i = atoi(ptr)) > 0) kill(i, SIGKILL);
 
-    return cp;
+  ptr = getenv("__AFL_TARGET_PID2");
 
-  }
-
-  own_copy = ck_strdup(own_loc);
-  rsl = strrchr(own_copy, '/');
+  if (ptr && *ptr && (i = atoi(ptr)) > 0) kill(i, SIGKILL);
 
-  if (rsl) {
+  i = 0;
+  while (list[i] != NULL) {
 
-    *rsl = 0;
+    ptr = getenv(list[i]);
 
-    cp = alloc_printf("%s/libradamsa.so", own_copy);
-    ck_free(own_copy);
+    if (ptr && *ptr) {
 
-    if (!access(cp, X_OK)) { return cp; }
-
-  } else {
+#ifdef USEMMAP
 
-    ck_free(own_copy);
+      shm_unlink(ptr);
 
-  }
-
-  if (!access(AFL_PATH "/libradamsa.so", X_OK)) {
+#else
 
-    return ck_strdup(AFL_PATH "/libradamsa.so");
+      shmctl(atoi(ptr), IPC_RMID, NULL);
 
-  }
+#endif
 
-  if (!access(BIN_PATH "/libradamsa.so", X_OK)) {
+    }
 
-    return ck_strdup(BIN_PATH "/libradamsa.so");
+    i++;
 
   }
 
-  SAYF(
-      "\n" cLRD "[-] " cRST
-      "Oops, unable to find the 'libradamsa.so' binary. The binary must be "
-      "built\n"
-      "    separately using 'make radamsa'. If you already have the binary "
-      "installed,\n    you may need to specify AFL_PATH in the environment.\n");
-
-  FATAL("Failed to locate 'libradamsa.so'.");
-
 }
 
 /* Display usage hints. */
@@ -100,12 +87,13 @@ static void usage(afl_state_t *afl, u8 *argv0, int more_help) {
       "  -o dir        - output directory for fuzzer findings\n\n"
 
       "Execution control settings:\n"
-      "  -p schedule   - power schedules recompute a seed's performance "
-      "score.\n"
-      "                  <explore(default), fast, coe, lin, quad, exploit, "
-      "mmopt, rare>\n"
+      "  -p schedule   - power schedules compute a seed's performance score. "
+      "<explore\n"
+      "                  (default), fast, coe, lin, quad, exploit, mmopt, "
+      "rare, seek>\n"
       "                  see docs/power_schedules.md\n"
-      "  -f file       - location read by the fuzzed program (stdin)\n"
+      "  -f file       - location read by the fuzzed program (default: stdin "
+      "or @@)\n"
       "  -t msec       - timeout for each run (auto-scaled, 50-%d ms)\n"
       "  -m megs       - memory limit for child process (%d MB)\n"
       "  -Q            - use binary-only instrumentation (QEMU mode)\n"
@@ -114,8 +102,6 @@ static void usage(afl_state_t *afl, u8 *argv0, int more_help) {
       "mode)\n\n"
 
       "Mutator settings:\n"
-      "  -R[R]         - add Radamsa as mutator, add another -R to exclusivly "
-      "run it\n"
       "  -L minutes    - use MOpt(imize) mode and set the time limit for "
       "entering the\n"
       "                  pacemaker mode (minutes of no new paths). 0 = "
@@ -131,7 +117,7 @@ static void usage(afl_state_t *afl, u8 *argv0, int more_help) {
       "devices etc.!)\n"
       "  -d            - quick & dirty mode (skips deterministic steps)\n"
       "  -n            - fuzz without instrumentation (non-instrumented mode)\n"
-      "  -x dir        - optional fuzzer dictionary (see README.md, its really "
+      "  -x dict_file  - optional fuzzer dictionary (see README.md, its really "
       "good!)\n\n"
 
       "Testing settings:\n"
@@ -144,14 +130,16 @@ static void usage(afl_state_t *afl, u8 *argv0, int more_help) {
 
       "Other stuff:\n"
       "  -T text       - text banner to show on the screen\n"
-      "  -M / -S id    - distributed mode (see docs/parallel_fuzzing.md)\n"
+      "  -M/-S id      - distributed mode (see docs/parallel_fuzzing.md)\n"
+      "                  use -D to force -S secondary to perform deterministic "
+      "fuzzing\n"
       "  -I command    - execute this command/script when a new crash is "
       "found\n"
-      "  -B bitmap.txt - mutate a specific test case, use the out/fuzz_bitmap "
-      "file\n"
+      //"  -B bitmap.txt - mutate a specific test case, use the out/fuzz_bitmap
+      //" "file\n"
       "  -C            - crash exploration mode (the peruvian rabbit thing)\n"
-      "  -e ext        - file extension for the temporarily generated test "
-      "case\n\n",
+      "  -e ext        - file extension for the fuzz test input file (if "
+      "needed)\n\n",
       argv0, EXEC_TIMEOUT, MEM_LIMIT);
 
   if (more_help > 1) {
@@ -231,7 +219,7 @@ static int stricmp(char const *a, char const *b) {
   for (;; ++a, ++b) {
 
     int d;
-    d = tolower(*a) - tolower(*b);
+    d = tolower((int)*a) - tolower((int)*b);
     if (d != 0 || !*a) { return d; }
 
   }
@@ -274,10 +262,10 @@ int main(int argc, char **argv_orig, char **envp) {
   doc_path = access(DOC_PATH, F_OK) != 0 ? (u8 *)"docs" : (u8 *)DOC_PATH;
 
   gettimeofday(&tv, &tz);
-  afl->init_seed = tv.tv_sec ^ tv.tv_usec ^ getpid();
+  rand_set_seed(afl, tv.tv_sec ^ tv.tv_usec ^ getpid());
 
   while ((opt = getopt(argc, argv,
-                       "+c:i:I:o:f:m:t:T:dnCB:S:M:x:QNUWe:p:s:V:E:L:hRP:")) >
+                       "+c:i:I:o:f:m:t:T:dDnCB:S:M:x:QNUWe:p:s:V:E:L:hRP:")) >
          0) {
 
     switch (opt) {
@@ -296,7 +284,7 @@ int main(int argc, char **argv_orig, char **envp) {
 
       case 's': {
 
-        afl->init_seed = strtoul(optarg, 0L, 10);
+        rand_set_seed(afl, strtoul(optarg, 0L, 10));
         afl->fixed_seed = 1;
         break;
 
@@ -332,6 +320,10 @@ int main(int argc, char **argv_orig, char **envp) {
 
           afl->schedule = RARE;
 
+        } else if (!stricmp(optarg, "seek")) {
+
+          afl->schedule = SEEK;
+
         } else if (!stricmp(optarg, "explore") || !stricmp(optarg, "default") ||
 
                    !stricmp(optarg, "normal") || !stricmp(optarg, "afl")) {
@@ -369,7 +361,7 @@ int main(int argc, char **argv_orig, char **envp) {
         afl->out_dir = optarg;
         break;
 
-      case 'M': {                                         /* master sync ID */
+      case 'M': {                                           /* main sync ID */
 
         u8 *c;
 
@@ -398,7 +390,7 @@ int main(int argc, char **argv_orig, char **envp) {
 
       break;
 
-      case 'S':
+      case 'S':                                        /* secondary sync id */
 
         if (afl->sync_id) { FATAL("Multiple -S or -M options not supported"); }
         afl->sync_id = ck_strdup(optarg);
@@ -503,6 +495,11 @@ int main(int argc, char **argv_orig, char **envp) {
 
       break;
 
+      case 'D':                                    /* enforce deterministic */
+
+        afl->skip_deterministic = 0;
+        break;
+
       case 'd':                                       /* skip deterministic */
 
         afl->skip_deterministic = 1;
@@ -767,15 +764,9 @@ int main(int argc, char **argv_orig, char **envp) {
 
       case 'R':
 
-        if (afl->use_radamsa) {
-
-          afl->use_radamsa = 2;
-
-        } else {
-
-          afl->use_radamsa = 1;
-
-        }
+        FATAL(
+            "Radamsa is now a custom mutator, please use that "
+            "(custom_mutators/radamsa/).");
 
         break;
 
@@ -808,8 +799,7 @@ int main(int argc, char **argv_orig, char **envp) {
 
     WARNF(
         "Using -M main node with the AFL_CUSTOM_MUTATOR_ONLY mutator options "
-        "will "
-        "result in no deterministic mutations being done!");
+        "will result in no deterministic mutations being done!");
 
   }
 
@@ -819,50 +809,6 @@ int main(int argc, char **argv_orig, char **envp) {
 
   }
 
-  srandom((u32)afl->init_seed);
-  srand((u32)afl->init_seed);  // in case it is a different implementation
-
-  if (afl->use_radamsa) {
-
-    if (afl->limit_time_sig > 0) {
-
-      FATAL(
-          "MOpt and Radamsa are mutually exclusive unless you specify -L -1. "
-          "We accept pull requests that integrates MOpt with the optional "
-          "mutators (custom/radamsa/redqueen/...).");
-
-    }
-
-    if (afl->limit_time_sig && afl->use_radamsa > 1) {
-
-      FATAL("Radamsa in radamsa-only mode can not run together with -L");
-
-    }
-
-    OKF("Using Radamsa add-on");
-
-    u8 *  libradamsa_path = get_libradamsa_path(argv[0]);
-    void *handle = dlopen(libradamsa_path, RTLD_NOW);
-    ck_free(libradamsa_path);
-
-    if (!handle) { FATAL("Failed to dlopen() libradamsa"); }
-
-    void (*radamsa_init_ptr)(void) = dlsym(handle, "radamsa_init");
-    afl->radamsa_mutate_ptr = dlsym(handle, "radamsa");
-
-    if (!radamsa_init_ptr || !afl->radamsa_mutate_ptr) {
-
-      FATAL("Failed to dlsym() libradamsa");
-
-    }
-
-    /* radamsa_init installs some signal handlers, call it before
-       setup_signal_handlers so that AFL++ can then replace those signal
-       handlers */
-    radamsa_init_ptr();
-
-  }
-
   #if defined(__SANITIZE_ADDRESS__)
   if (afl->fsrv.mem_limit) {
 
@@ -936,6 +882,9 @@ int main(int argc, char **argv_orig, char **envp) {
     case RARE:
       OKF("Using rare edge focus power schedule (RARE)");
       break;
+    case SEEK:
+      OKF("Using seek power schedule (SEEK)");
+      break;
     case EXPLORE:
       OKF("Using exploration-based constant power schedule (EXPLORE, default)");
       break;
@@ -1071,6 +1020,8 @@ int main(int argc, char **argv_orig, char **envp) {
   check_crash_handling();
   check_cpu_governor(afl);
 
+  atexit(at_exit);
+
   afl->fsrv.trace_bits =
       afl_shm_init(&afl->shm, afl->fsrv.map_size, afl->non_instrumented_mode);
 
@@ -1082,7 +1033,7 @@ int main(int argc, char **argv_orig, char **envp) {
 
   if (afl->is_main_node && check_main_node_exists(afl) == 1) {
 
-    WARNF("it is wasteful to run more than one master!");
+    WARNF("it is wasteful to run more than one main node!");
     sleep(1);
 
   }
@@ -1327,7 +1278,15 @@ int main(int argc, char **argv_orig, char **envp) {
 
     if (!skipped_fuzz && !afl->stop_soon && afl->sync_id) {
 
-      if (!(sync_interval_cnt++ % SYNC_INTERVAL)) { sync_fuzzers(afl); }
+      if (unlikely(afl->is_main_node)) {
+
+        if (!(sync_interval_cnt++ % (SYNC_INTERVAL / 2))) { sync_fuzzers(afl); }
+
+      } else {
+
+        if (!(sync_interval_cnt++ % SYNC_INTERVAL)) { sync_fuzzers(afl); }
+
+      }
 
     }
 
@@ -1396,10 +1355,13 @@ stop_fuzzing:
   destroy_queue(afl);
   destroy_extras(afl);
   destroy_custom_mutators(afl);
+  unsetenv(SHM_ENV_VAR);
+  unsetenv(CMPLOG_SHM_ENV_VAR);
   afl_shm_deinit(&afl->shm);
 
   if (afl->shm_fuzz) {
 
+    unsetenv(SHM_FUZZ_ENV_VAR);
     afl_shm_deinit(afl->shm_fuzz);
     ck_free(afl->shm_fuzz);
 
diff --git a/src/afl-gcc.c b/src/afl-gcc.c
index 7eb01c0c..b8ff7e77 100644
--- a/src/afl-gcc.c
+++ b/src/afl-gcc.c
@@ -335,7 +335,7 @@ static void edit_params(u32 argc, char **argv) {
 
   }
 
-#ifdef USEMMAP
+#if defined(USEMMAP) && !defined(__HAIKU__)
   cc_params[cc_par_cnt++] = "-lrt";
 #endif
 
diff --git a/src/afl-gotcpu.c b/src/afl-gotcpu.c
index 43b3196b..bd0f7de6 100644
--- a/src/afl-gotcpu.c
+++ b/src/afl-gotcpu.c
@@ -54,7 +54,7 @@
 #include "common.h"
 
 #if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
-    defined(__APPLE__) || defined(__DragonFly__)
+    defined(__APPLE__) || defined(__DragonFly__) || defined(__sun)
   #define HAVE_AFFINITY 1
   #if defined(__FreeBSD__) || defined(__DragonFly__)
     #include <pthread.h>
@@ -70,6 +70,8 @@
     #include <pthread.h>
     #include <mach/thread_act.h>
     #include <mach/thread_policy.h>
+  #elif defined(__sun)
+    #include <sys/pset.h>
   #endif
 #endif               /* __linux__ || __FreeBSD__ || __NetBSD__ || __APPLE__ */
 
@@ -181,6 +183,12 @@ int main(int argc, char **argv) {
       if (thread_policy_set(native_thread, THREAD_AFFINITY_POLICY,
                             (thread_policy_t)&c, 1) != KERN_SUCCESS)
         PFATAL("thread_policy_set failed");
+  #elif defined(__sun)
+      psetid_t c;
+
+      if (pset_create(&c)) PFATAL("pset_create failed");
+
+      if (pset_assign(c, i, NULL)) PFATAL("pset_assign failed");
   #endif
 
   #if defined(__FreeBSD__) || defined(__DragonFly__)
@@ -195,6 +203,12 @@ int main(int argc, char **argv) {
       cpuset_destroy(c);
   #endif
 
+  #if defined(__sun)
+      if (pset_bind(c, P_PID, getpid(), NULL)) PFATAL("pset_bind failed");
+
+      pset_destroy(c);
+  #endif
+
   #if defined(__linux__)
       if (sched_setaffinity(0, sizeof(c), &c)) {
 
diff --git a/src/afl-performance.c b/src/afl-performance.c
new file mode 100644
index 00000000..0c1697a8
--- /dev/null
+++ b/src/afl-performance.c
@@ -0,0 +1,167 @@
+/*
+   Written in 2019 by David Blackman and Sebastiano Vigna (vigna@acm.org)
+
+   To the extent possible under law, the author has dedicated all copyright
+   and related and neighboring rights to this software to the public domain
+   worldwide. This software is distributed without any warranty.
+
+   See <http://creativecommons.org/publicdomain/zero/1.0/>.
+
+   This is xoshiro256++ 1.0, one of our all-purpose, rock-solid generators.
+   It has excellent (sub-ns) speed, a state (256 bits) that is large
+   enough for any parallel application, and it passes all tests we are
+   aware of.
+
+   For generating just floating-point numbers, xoshiro256+ is even faster.
+
+   The state must be seeded so that it is not everywhere zero. If you have
+   a 64-bit seed, we suggest to seed a splitmix64 generator and use its
+   output to fill s[].
+*/
+
+#include <stdint.h>
+#include "afl-fuzz.h"
+#include "types.h"
+#include "xxh3.h"
+
+/* we use xoshiro256** instead of rand/random because it is 10x faster and has
+   better randomness properties. */
+
+static inline uint64_t rotl(const uint64_t x, int k) {
+
+  return (x << k) | (x >> (64 - k));
+
+}
+
+void rand_set_seed(afl_state_t *afl, s64 init_seed) {
+
+  afl->init_seed = init_seed;
+  afl->rand_seed[0] =
+      hash64((u8 *)&afl->init_seed, sizeof(afl->init_seed), HASH_CONST);
+  afl->rand_seed[1] = afl->rand_seed[0] ^ 0x1234567890abcdef;
+  afl->rand_seed[2] = afl->rand_seed[0] & 0x0123456789abcdef;
+  afl->rand_seed[3] = afl->rand_seed[0] | 0x01abcde43f567908;
+
+}
+
+uint64_t rand_next(afl_state_t *afl) {
+
+  const uint64_t result =
+      rotl(afl->rand_seed[0] + afl->rand_seed[3], 23) + afl->rand_seed[0];
+
+  const uint64_t t = afl->rand_seed[1] << 17;
+
+  afl->rand_seed[2] ^= afl->rand_seed[0];
+  afl->rand_seed[3] ^= afl->rand_seed[1];
+  afl->rand_seed[1] ^= afl->rand_seed[2];
+  afl->rand_seed[0] ^= afl->rand_seed[3];
+
+  afl->rand_seed[2] ^= t;
+
+  afl->rand_seed[3] = rotl(afl->rand_seed[3], 45);
+
+  return result;
+
+}
+
+/* This is the jump function for the generator. It is equivalent
+   to 2^128 calls to rand_next(); it can be used to generate 2^128
+   non-overlapping subsequences for parallel computations. */
+
+void jump(afl_state_t *afl) {
+
+  static const uint64_t JUMP[] = {0x180ec6d33cfd0aba, 0xd5a61266f0c9392c,
+                                  0xa9582618e03fc9aa, 0x39abdc4529b1661c};
+  int                   i, b;
+  uint64_t              s0 = 0;
+  uint64_t              s1 = 0;
+  uint64_t              s2 = 0;
+  uint64_t              s3 = 0;
+  for (i = 0; i < sizeof JUMP / sizeof *JUMP; i++)
+    for (b = 0; b < 64; b++) {
+
+      if (JUMP[i] & UINT64_C(1) << b) {
+
+        s0 ^= afl->rand_seed[0];
+        s1 ^= afl->rand_seed[1];
+        s2 ^= afl->rand_seed[2];
+        s3 ^= afl->rand_seed[3];
+
+      }
+
+      rand_next(afl);
+
+    }
+
+  afl->rand_seed[0] = s0;
+  afl->rand_seed[1] = s1;
+  afl->rand_seed[2] = s2;
+  afl->rand_seed[3] = s3;
+
+}
+
+/* This is the long-jump function for the generator. It is equivalent to
+   2^192 calls to rand_next(); it can be used to generate 2^64 starting points,
+   from each of which jump() will generate 2^64 non-overlapping
+   subsequences for parallel distributed computations. */
+
+void long_jump(afl_state_t *afl) {
+
+  static const uint64_t LONG_JUMP[] = {0x76e15d3efefdcbbf, 0xc5004e441c522fb3,
+                                       0x77710069854ee241, 0x39109bb02acbe635};
+
+  int      i, b;
+  uint64_t s0 = 0;
+  uint64_t s1 = 0;
+  uint64_t s2 = 0;
+  uint64_t s3 = 0;
+  for (i = 0; i < sizeof LONG_JUMP / sizeof *LONG_JUMP; i++)
+    for (b = 0; b < 64; b++) {
+
+      if (LONG_JUMP[i] & UINT64_C(1) << b) {
+
+        s0 ^= afl->rand_seed[0];
+        s1 ^= afl->rand_seed[1];
+        s2 ^= afl->rand_seed[2];
+        s3 ^= afl->rand_seed[3];
+
+      }
+
+      rand_next(afl);
+
+    }
+
+  afl->rand_seed[0] = s0;
+  afl->rand_seed[1] = s1;
+  afl->rand_seed[2] = s2;
+  afl->rand_seed[3] = s3;
+
+}
+
+/* we switch from afl's murmur implementation to xxh3 as it is 30% faster -
+   and get 64 bit hashes instead of just 32 bit. Less collisions! :-) */
+
+#ifdef _DEBUG
+u32 hash32(u8 *key, u32 len, u32 seed) {
+
+#else
+u32 inline hash32(u8 *key, u32 len, u32 seed) {
+
+#endif
+
+  return (u32)XXH64(key, len, seed);
+
+}
+
+#ifdef _DEBUG
+u64 hash64(u8 *key, u32 len, u64 seed) {
+
+#else
+u64 inline hash64(u8 *key, u32 len, u64 seed) {
+
+#endif
+
+  return XXH64(key, len, seed);
+
+}
+
diff --git a/src/afl-sharedmem.c b/src/afl-sharedmem.c
index 63013435..6eb63949 100644
--- a/src/afl-sharedmem.c
+++ b/src/afl-sharedmem.c
@@ -66,6 +66,8 @@ static list_t shm_list = {.element_prealloc_count = 0};
 
 void afl_shm_deinit(sharedmem_t *shm) {
 
+  if (shm == NULL) return;
+
   list_remove(&shm_list, shm);
 
 #ifdef USEMMAP
@@ -83,6 +85,38 @@ void afl_shm_deinit(sharedmem_t *shm) {
 
   }
 
+  if (shm->g_shm_file_path[0]) {
+
+    shm_unlink(shm->g_shm_file_path);
+    shm->g_shm_file_path[0] = 0;
+
+  }
+
+  if (shm->cmplog_mode) {
+
+    if (shm->cmp_map != NULL) {
+
+      munmap(shm->cmp_map, shm->map_size);
+      shm->map = NULL;
+
+    }
+
+    if (shm->cmplog_g_shm_fd != -1) {
+
+      close(shm->cmplog_g_shm_fd);
+      shm->cmplog_g_shm_fd = -1;
+
+    }
+
+    if (shm->cmplog_g_shm_file_path[0]) {
+
+      shm_unlink(shm->cmplog_g_shm_file_path);
+      shm->cmplog_g_shm_file_path[0] = 0;
+
+    }
+
+  }
+
 #else
   shmctl(shm->shm_id, IPC_RMID, NULL);
   if (shm->cmplog_mode) { shmctl(shm->cmplog_shm_id, IPC_RMID, NULL); }
@@ -99,13 +133,15 @@ void afl_shm_deinit(sharedmem_t *shm) {
 u8 *afl_shm_init(sharedmem_t *shm, size_t map_size,
                  unsigned char non_instrumented_mode) {
 
-  shm->map_size = map_size;
+  shm->map_size = 0;
 
   shm->map = NULL;
+  shm->cmp_map = NULL;
 
 #ifdef USEMMAP
 
   shm->g_shm_fd = -1;
+  shm->cmplog_g_shm_fd = -1;
 
   /* ======
   generate random file name for multi instance
@@ -134,6 +170,8 @@ u8 *afl_shm_init(sharedmem_t *shm, size_t map_size,
 
     close(shm->g_shm_fd);
     shm->g_shm_fd = -1;
+    shm_unlink(shm->g_shm_file_path);
+    shm->g_shm_file_path[0] = 0;
     PFATAL("mmap() failed");
 
   }
@@ -145,13 +183,55 @@ u8 *afl_shm_init(sharedmem_t *shm, size_t map_size,
 
   if (!non_instrumented_mode) setenv(SHM_ENV_VAR, shm->g_shm_file_path, 1);
 
-  if (shm->map == -1 || !shm->map) PFATAL("mmap() failed");
+  if (shm->map == (void *)-1 || !shm->map) PFATAL("mmap() failed");
+
+  if (shm->cmplog_mode) {
+
+    snprintf(shm->cmplog_g_shm_file_path, L_tmpnam, "/afl_cmplog_%d_%ld",
+             getpid(), random());
+
+    /* create the shared memory segment as if it was a file */
+    shm->cmplog_g_shm_fd =
+        shm_open(shm->cmplog_g_shm_file_path, O_CREAT | O_RDWR | O_EXCL, 0600);
+    if (shm->cmplog_g_shm_fd == -1) { PFATAL("shm_open() failed"); }
+
+    /* configure the size of the shared memory segment */
+    if (ftruncate(shm->cmplog_g_shm_fd, map_size)) {
+
+      PFATAL("setup_shm(): cmplog ftruncate() failed");
+
+    }
+
+    /* map the shared memory segment to the address space of the process */
+    shm->cmp_map = mmap(0, map_size, PROT_READ | PROT_WRITE, MAP_SHARED,
+                        shm->cmplog_g_shm_fd, 0);
+    if (shm->map == MAP_FAILED) {
+
+      close(shm->cmplog_g_shm_fd);
+      shm->cmplog_g_shm_fd = -1;
+      shm_unlink(shm->cmplog_g_shm_file_path);
+      shm->cmplog_g_shm_file_path[0] = 0;
+      PFATAL("mmap() failed");
+
+    }
+
+    /* If somebody is asking us to fuzz instrumented binaries in
+       non-instrumented mode, we don't want them to detect instrumentation,
+       since we won't be sending fork server commands. This should be replaced
+       with better auto-detection later on, perhaps? */
+
+    if (!non_instrumented_mode)
+      setenv(CMPLOG_SHM_ENV_VAR, shm->cmplog_g_shm_file_path, 1);
+
+    if (shm->cmp_map == (void *)-1 || !shm->cmp_map)
+      PFATAL("cmplog mmap() failed");
+
+  }
 
 #else
   u8 *shm_str;
 
   shm->shm_id = shmget(IPC_PRIVATE, map_size, IPC_CREAT | IPC_EXCL | 0600);
-
   if (shm->shm_id < 0) { PFATAL("shmget() failed"); }
 
   if (shm->cmplog_mode) {
@@ -159,7 +239,12 @@ u8 *afl_shm_init(sharedmem_t *shm, size_t map_size,
     shm->cmplog_shm_id = shmget(IPC_PRIVATE, sizeof(struct cmp_map),
                                 IPC_CREAT | IPC_EXCL | 0600);
 
-    if (shm->cmplog_shm_id < 0) { PFATAL("shmget() failed"); }
+    if (shm->cmplog_shm_id < 0) {
+
+      shmctl(shm->shm_id, IPC_RMID, NULL);  // do not leak shmem
+      PFATAL("shmget() failed");
+
+    }
 
   }
 
@@ -186,7 +271,18 @@ u8 *afl_shm_init(sharedmem_t *shm, size_t map_size,
 
   shm->map = shmat(shm->shm_id, NULL, 0);
 
-  if (shm->map == (void *)-1 || !shm->map) { PFATAL("shmat() failed"); }
+  if (shm->map == (void *)-1 || !shm->map) {
+
+    shmctl(shm->shm_id, IPC_RMID, NULL);  // do not leak shmem
+    if (shm->cmplog_mode) {
+
+      shmctl(shm->cmplog_shm_id, IPC_RMID, NULL);  // do not leak shmem
+
+    }
+
+    PFATAL("shmat() failed");
+
+  }
 
   if (shm->cmplog_mode) {
 
@@ -194,6 +290,13 @@ u8 *afl_shm_init(sharedmem_t *shm, size_t map_size,
 
     if (shm->cmp_map == (void *)-1 || !shm->cmp_map) {
 
+      shmctl(shm->shm_id, IPC_RMID, NULL);  // do not leak shmem
+      if (shm->cmplog_mode) {
+
+        shmctl(shm->cmplog_shm_id, IPC_RMID, NULL);  // do not leak shmem
+
+      }
+
       PFATAL("shmat() failed");
 
     }
@@ -202,6 +305,7 @@ u8 *afl_shm_init(sharedmem_t *shm, size_t map_size,
 
 #endif
 
+  shm->map_size = map_size;
   list_append(&shm_list, shm);
 
   return shm->map;
diff --git a/src/afl-showmap.c b/src/afl-showmap.c
index 560c8cf6..883398ff 100644
--- a/src/afl-showmap.c
+++ b/src/afl-showmap.c
@@ -56,7 +56,9 @@
 
 #include <sys/wait.h>
 #include <sys/time.h>
-#include <sys/shm.h>
+#ifndef USEMMAP
+  #include <sys/shm.h>
+#endif
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <sys/resource.h>
@@ -80,11 +82,16 @@ static u8 quiet_mode,                  /* Hide non-essential messages?      */
     raw_instr_output,                  /* Do not apply AFL filters          */
     cmin_mode,                         /* Generate output in afl-cmin mode? */
     binary_mode,                       /* Write output as a binary map      */
-    keep_cores;                        /* Allow coredumps?                  */
+    keep_cores,                        /* Allow coredumps?                  */
+    remove_shm = 1;                    /* remove shmem?                     */
 
 static volatile u8 stop_soon,          /* Ctrl-C pressed?                   */
     child_crashed;                     /* Child crashed?                    */
 
+static sharedmem_t       shm;
+static afl_forkserver_t *fsrv;
+static sharedmem_t *     shm_fuzz;
+
 /* Classify tuple counts. Instead of mapping to individual bits, as in
    afl-fuzz.c, we map to more user-friendly numbers between 1 and 8. */
 
@@ -139,12 +146,33 @@ static void classify_counts(afl_forkserver_t *fsrv) {
 
 }
 
+static sharedmem_t *deinit_shmem(afl_forkserver_t *fsrv,
+                                 sharedmem_t *     shm_fuzz) {
+
+  afl_shm_deinit(shm_fuzz);
+  fsrv->support_shmem_fuzz = 0;
+  fsrv->shmem_fuzz_len = NULL;
+  fsrv->shmem_fuzz = NULL;
+  ck_free(shm_fuzz);
+  return NULL;
+
+}
+
 /* Get rid of temp files (atexit handler). */
 
 static void at_exit_handler(void) {
 
   if (stdin_file) { unlink(stdin_file); }
 
+  if (remove_shm) {
+
+    if (shm.map) afl_shm_deinit(&shm);
+    if (fsrv->use_shmem_fuzz) deinit_shmem(fsrv, shm_fuzz);
+
+  }
+
+  afl_fsrv_killall();
+
 }
 
 /* Write results. */
@@ -557,7 +585,7 @@ static void usage(u8 *argv0) {
       "size\n"
       "              the target was compiled for\n"
       "AFL_PRELOAD: LD_PRELOAD / DYLD_INSERT_LIBRARIES settings for target\n"
-      "AFL_QUIET: do not print extra informational output",
+      "AFL_QUIET: do not print extra informational output\n",
       argv0, MEM_LIMIT, doc_path);
 
   exit(1);
@@ -577,8 +605,8 @@ int main(int argc, char **argv_orig, char **envp) {
 
   char **argv = argv_cpy_dup(argc, argv_orig);
 
-  afl_forkserver_t  fsrv_var = {0};
-  afl_forkserver_t *fsrv = &fsrv_var;
+  afl_forkserver_t fsrv_var = {0};
+  fsrv = &fsrv_var;
   afl_fsrv_init(fsrv);
   map_size = get_map_size();
   fsrv->map_size = map_size;
@@ -773,7 +801,19 @@ int main(int argc, char **argv_orig, char **envp) {
 
   check_environment_vars(envp);
 
-  sharedmem_t shm = {0};
+  if (getenv("AFL_DEBUG")) {
+
+    SAYF(cMGN "[D]" cRST);
+    for (i = 0; i < argc; i++)
+      SAYF(" %s", argv[i]);
+    SAYF("\n");
+
+  }
+
+  //  if (afl->shmem_testcase_mode) { setup_testcase_shmem(afl); }
+
+  /* initialize cmplog_mode */
+  shm.cmplog_mode = 0;
   fsrv->trace_bits = afl_shm_init(&shm, map_size, 0);
   setup_signal_handlers();
 
@@ -827,16 +867,36 @@ int main(int argc, char **argv_orig, char **envp) {
 
   }
 
+  shm_fuzz = ck_alloc(sizeof(sharedmem_t));
+
+  /* initialize cmplog_mode */
+  shm_fuzz->cmplog_mode = 0;
+  u8 *map = afl_shm_init(shm_fuzz, MAX_FILE + sizeof(u32), 1);
+  if (!map) { FATAL("BUG: Zero return from afl_shm_init."); }
+#ifdef USEMMAP
+  setenv(SHM_FUZZ_ENV_VAR, shm_fuzz->g_shm_file_path, 1);
+#else
+  u8 *shm_str = alloc_printf("%d", shm_fuzz->shm_id);
+  setenv(SHM_FUZZ_ENV_VAR, shm_str, 1);
+  ck_free(shm_str);
+#endif
+  fsrv->support_shmem_fuzz = 1;
+  fsrv->shmem_fuzz_len = (u32 *)map;
+  fsrv->shmem_fuzz = map + sizeof(u32);
+
   if (in_dir) {
 
     DIR *          dir_in, *dir_out;
     struct dirent *dir_ent;
     int            done = 0;
     u8             infile[PATH_MAX], outfile[PATH_MAX];
+    u8             wait_for_gdb = 0;
 #if !defined(DT_REG)
     struct stat statbuf;
 #endif
 
+    if (getenv("AFL_DEBUG_GDB")) wait_for_gdb = 1;
+
     fsrv->dev_null_fd = open("/dev/null", O_RDWR);
     if (fsrv->dev_null_fd < 0) { PFATAL("Unable to open /dev/null"); }
 
@@ -895,6 +955,9 @@ int main(int argc, char **argv_orig, char **envp) {
     afl_fsrv_start(fsrv, use_argv, &stop_soon,
                    get_afl_env("AFL_DEBUG_CHILD_OUTPUT") ? 1 : 0);
 
+    if (fsrv->support_shmem_fuzz && !fsrv->use_shmem_fuzz)
+      shm_fuzz = deinit_shmem(fsrv, shm_fuzz);
+
     while (done == 0 && (dir_ent = readdir(dir_in))) {
 
       if (dir_ent->d_name[0] == '.') {
@@ -922,6 +985,14 @@ int main(int argc, char **argv_orig, char **envp) {
 
       if (read_file(infile)) {
 
+        if (wait_for_gdb) {
+
+          fprintf(stderr, "exec: gdb -p %d\n", fsrv->child_pid);
+          fprintf(stderr, "exec: kill -CONT %d\n", getpid());
+          kill(0, SIGSTOP);
+
+        }
+
         showmap_run_target_forkserver(fsrv, use_argv, in_data, in_len);
         ck_free(in_data);
         tcnt = write_results_to_file(fsrv, outfile);
@@ -937,6 +1008,9 @@ int main(int argc, char **argv_orig, char **envp) {
 
   } else {
 
+    if (fsrv->support_shmem_fuzz && !fsrv->use_shmem_fuzz)
+      shm_fuzz = deinit_shmem(fsrv, shm_fuzz);
+
     showmap_run_target(fsrv, use_argv);
     tcnt = write_results_to_file(fsrv, out_file);
 
@@ -958,13 +1032,16 @@ int main(int argc, char **argv_orig, char **envp) {
 
   }
 
+  remove_shm = 0;
   afl_shm_deinit(&shm);
+  if (fsrv->use_shmem_fuzz) shm_fuzz = deinit_shmem(fsrv, shm_fuzz);
 
   u32 ret = child_crashed * 2 + fsrv->last_run_timed_out;
 
   if (fsrv->target_path) { ck_free(fsrv->target_path); }
 
   afl_fsrv_deinit(fsrv);
+
   if (stdin_file) { ck_free(stdin_file); }
 
   argv_cpy_free(argv);
diff --git a/src/afl-tmin.c b/src/afl-tmin.c
index 091e5177..2db1eae7 100644
--- a/src/afl-tmin.c
+++ b/src/afl-tmin.c
@@ -54,7 +54,9 @@
 
 #include <sys/wait.h>
 #include <sys/time.h>
-#include <sys/shm.h>
+#ifndef USEMMAP
+  #include <sys/shm.h>
+#endif
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <sys/resource.h>
@@ -67,20 +69,27 @@ static u8 *in_file,                    /* Minimizer input test case         */
 static u8 *in_data;                    /* Input data for trimming           */
 
 static u32 in_len,                     /* Input data length                 */
-    orig_cksum,                        /* Original checksum                 */
     missed_hangs,                      /* Misses due to hangs               */
     missed_crashes,                    /* Misses due to crashes             */
     missed_paths,                      /* Misses due to exec path diffs     */
     map_size = MAP_SIZE;
 
+static u64 orig_cksum;                 /* Original checksum                 */
+
 static u8 crash_mode,                  /* Crash-centric mode?               */
     hang_mode,                         /* Minimize as long as it hangs      */
     exit_crash,                        /* Treat non-zero exit as crash?     */
     edges_only,                        /* Ignore hit counts?                */
-    exact_mode;                        /* Require path match for crashes?   */
+    exact_mode,                        /* Require path match for crashes?   */
+    remove_out_file,                   /* remove out_file on exit?          */
+    remove_shm = 1;                    /* remove shmem on exit?             */
 
 static volatile u8 stop_soon;          /* Ctrl-C pressed?                   */
 
+static afl_forkserver_t *fsrv;
+static sharedmem_t       shm;
+static sharedmem_t *     shm_fuzz;
+
 /*
  * forkserver section
  */
@@ -102,6 +111,18 @@ static const u8 count_class_lookup[256] = {
 
 };
 
+static sharedmem_t *deinit_shmem(afl_forkserver_t *fsrv,
+                                 sharedmem_t *     shm_fuzz) {
+
+  afl_shm_deinit(shm_fuzz);
+  fsrv->support_shmem_fuzz = 0;
+  fsrv->shmem_fuzz_len = NULL;
+  fsrv->shmem_fuzz = NULL;
+  ck_free(shm_fuzz);
+  return NULL;
+
+}
+
 /* Apply mask to classified bitmap (if set). */
 
 static void apply_mask(u32 *mem, u32 *mask) {
@@ -166,7 +187,15 @@ static inline u8 anything_set(afl_forkserver_t *fsrv) {
 
 static void at_exit_handler(void) {
 
+  if (remove_shm) {
+
+    if (shm.map) afl_shm_deinit(&shm);
+    if (fsrv->use_shmem_fuzz) deinit_shmem(fsrv, shm_fuzz);
+
+  }
+
   afl_fsrv_killall();
+  if (remove_out_file) unlink(out_file);
 
 }
 
@@ -300,7 +329,7 @@ static u8 tmin_run_target(afl_forkserver_t *fsrv, char **argv, u8 *mem, u32 len,
 
   if (ret == FSRV_RUN_NOINST) { FATAL("Binary not instrumented?"); }
 
-  u32 cksum = hash32(fsrv->trace_bits, fsrv->map_size, HASH_CONST);
+  u64 cksum = hash64(fsrv->trace_bits, fsrv->map_size, HASH_CONST);
 
   if (first_run) { orig_cksum = cksum; }
 
@@ -620,6 +649,7 @@ static void set_up_environment(afl_forkserver_t *fsrv) {
     }
 
     out_file = alloc_printf("%s/.afl-tmin-temp-%u", use_dir, (u32)getpid());
+    remove_out_file = 1;
 
   }
 
@@ -809,8 +839,8 @@ int main(int argc, char **argv_orig, char **envp) {
 
   char **argv = argv_cpy_dup(argc, argv_orig);
 
-  afl_forkserver_t  fsrv_var = {0};
-  afl_forkserver_t *fsrv = &fsrv_var;
+  afl_forkserver_t fsrv_var = {0};
+  fsrv = &fsrv_var;
   afl_fsrv_init(fsrv);
   map_size = get_map_size();
   fsrv->map_size = map_size;
@@ -1007,7 +1037,8 @@ int main(int argc, char **argv_orig, char **envp) {
 
   check_environment_vars(envp);
 
-  sharedmem_t shm = {0};
+  /* initialize cmplog_mode */
+  shm.cmplog_mode = 0;
   fsrv->trace_bits = afl_shm_init(&shm, map_size, 0);
 
   atexit(at_exit_handler);
@@ -1049,11 +1080,31 @@ int main(int argc, char **argv_orig, char **envp) {
 
   SAYF("\n");
 
+  shm_fuzz = ck_alloc(sizeof(sharedmem_t));
+
+  /* initialize cmplog_mode */
+  shm_fuzz->cmplog_mode = 0;
+  u8 *map = afl_shm_init(shm_fuzz, MAX_FILE + sizeof(u32), 1);
+  if (!map) { FATAL("BUG: Zero return from afl_shm_init."); }
+#ifdef USEMMAP
+  setenv(SHM_FUZZ_ENV_VAR, shm_fuzz->g_shm_file_path, 1);
+#else
+  u8 *shm_str = alloc_printf("%d", shm_fuzz->shm_id);
+  setenv(SHM_FUZZ_ENV_VAR, shm_str, 1);
+  ck_free(shm_str);
+#endif
+  fsrv->support_shmem_fuzz = 1;
+  fsrv->shmem_fuzz_len = (u32 *)map;
+  fsrv->shmem_fuzz = map + sizeof(u32);
+
   read_initial_file();
 
   afl_fsrv_start(fsrv, use_argv, &stop_soon,
                  get_afl_env("AFL_DEBUG_CHILD_OUTPUT") ? 1 : 0);
 
+  if (fsrv->support_shmem_fuzz && !fsrv->use_shmem_fuzz)
+    shm_fuzz = deinit_shmem(fsrv, shm_fuzz);
+
   ACTF("Performing dry run (mem limit = %llu MB, timeout = %u ms%s)...",
        fsrv->mem_limit, fsrv->exec_tmout, edges_only ? ", edges only" : "");
 
@@ -1107,7 +1158,9 @@ int main(int argc, char **argv_orig, char **envp) {
 
   OKF("We're done here. Have a nice day!\n");
 
+  remove_shm = 0;
   afl_shm_deinit(&shm);
+  if (fsrv->use_shmem_fuzz) shm_fuzz = deinit_shmem(fsrv, shm_fuzz);
   afl_fsrv_deinit(fsrv);
   if (fsrv->target_path) { ck_free(fsrv->target_path); }
   if (mask_bitmap) { ck_free(mask_bitmap); }
diff --git a/src/third_party/libradamsa/.gitignore b/src/third_party/libradamsa/.gitignore
deleted file mode 100644
index 9e2029e3..00000000
--- a/src/third_party/libradamsa/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-*.a
-*.o
-libradamsa-test
diff --git a/src/third_party/libradamsa/libradamsa-test.c b/src/third_party/libradamsa/libradamsa-test.c
deleted file mode 100644
index 53851083..00000000
--- a/src/third_party/libradamsa/libradamsa-test.c
+++ /dev/null
@@ -1,75 +0,0 @@
-#include <radamsa.h>
-#include <stdio.h>
-#include <inttypes.h>
-#include <string.h>
-#include <stdlib.h>
-#include <sys/mman.h>
-#include <sys/types.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <sys/stat.h>
-
-size_t filesize(char* filename) {
-    struct stat st;
-    stat(filename, &st);
-    return st.st_size;
-}
-
-#define BUFSIZE 1024*1024
-
-void fail(char *why) {
-   printf("fail: %s\n", why);
-   exit(1);
-}
-
-void write_output(char *data, size_t len, int num) {
-   char path[32];
-   int fd;
-   int wrote;
-   sprintf(path, "/tmp/libradamsa-%d.fuzz", num); 
-   fd = open(path, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR);
-   printf("Opened %s -> %d\n", path, fd);
-   if (fd < 0) {
-      fail("failed to open output file");
-   }
-   wrote = write(fd, data, len);
-   printf("wrote %d of %zu bytes\n", wrote, len);
-   if (wrote != len) {
-      fail("failed to write all of output at once");
-   }
-   close(fd);
-   printf("Wrote %zu bytes to %s\n", len, path);
-}
-
-int main(int nargs, char **argv) {
-   char *spath = argv[1];
-   int fd = open(spath, O_RDONLY, 0);
-   size_t len;
-   char *input;
-   char *output;
-   int seed = 0;
-   if (fd < 0) {
-      fail("cannot open input file");
-   }
-   len = filesize(spath);
-   input = malloc(len);
-   output = malloc(BUFSIZE);
-   if (!input || !output) {
-      fail("failed to allocate buffers\n");
-   }
-   radamsa_init();
-   if (len != read(fd, input, len)) {
-      fail("failed to read the entire sample at once");
-   }
-   while(seed++ < 100) {
-      size_t n;
-      n = radamsa((uint8_t *) input, len, (uint8_t *) output, BUFSIZE, seed);
-      write_output(output, n, seed);
-      printf("Fuzzed %zu -> %zu bytes\n", len, n);
-   }
-   printf("library test passed\n");
-   free(output);
-   free(input);
-   return 0;
-}
-
diff --git a/src/third_party/libradamsa/libradamsa.c b/src/third_party/libradamsa/libradamsa.c
deleted file mode 100644
index 4f5515e5..00000000
--- a/src/third_party/libradamsa/libradamsa.c
+++ /dev/null
@@ -1,30850 +0,0 @@
-static const unsigned char heap[] = {2,3,4,105,111,116,97,2,3,7,112,97,116,116,101,114,110,
-2,3,1,61,2,3,1,47,2,3,1,60,2,3,2,60,60,2,3,2,62,62,2,3,4,116,121,112,101,1,4,
-1,8,1,4,1,8,1,4,1,7,1,4,1,9,1,4,1,8,1,4,1,7,1,4,1,9,1,4,1,8,2,3,5,101,114,114,
-111,114,1,4,1,1,2,3,4,98,97,110,100,1,4,1,1,2,3,4,98,120,111,114,1,4,1,1,2,3,
-4,100,111,110,101,1,4,1,1,2,3,4,114,111,111,116,1,4,1,1,2,3,8,102,105,110,105,
-115,104,101,100,1,4,1,1,2,3,7,99,114,97,115,104,101,100,1,4,1,1,2,3,9,100,101,
-108,105,118,101,114,101,100,1,4,1,1,2,3,5,105,111,109,117,120,1,4,1,1,2,3,4,
-101,120,112,116,1,4,1,1,2,3,3,105,110,99,1,4,1,1,2,3,8,97,110,111,110,105,109,
-97,115,1,4,1,1,2,3,3,109,117,108,1,4,1,1,2,3,12,109,101,109,111,114,121,45,108,
-105,109,105,116,1,4,1,1,2,3,8,113,117,111,116,105,101,110,116,1,4,1,1,2,3,7,
-107,105,108,108,105,110,103,1,4,1,1,2,3,9,107,105,108,108,101,100,45,98,121,
-1,4,1,1,2,3,12,113,114,45,98,105,103,45,115,109,97,108,108,1,4,1,1,2,3,9,110,
-101,103,97,116,105,118,101,63,1,4,1,1,2,3,7,114,101,115,117,109,101,100,1,4,
-1,1,2,3,8,114,101,108,101,97,115,101,100,1,4,1,1,2,3,5,119,114,105,116,101,1,
-4,1,1,2,3,9,114,101,109,97,105,110,100,101,114,1,4,1,1,2,3,2,116,99,2,3,17,97,
-108,114,101,97,100,121,45,112,114,111,102,105,108,105,110,103,2,3,4,112,114,
-111,102,2,3,17,115,116,97,114,116,101,100,45,112,114,111,102,105,108,105,110,
-103,2,3,22,110,111,116,45,112,114,111,102,105,108,105,110,103,45,121,111,117,
-45,102,111,111,108,1,4,1,5,1,4,1,5,1,4,1,5,1,4,1,5,1,4,1,5,2,3,14,110,111,116,
-45,97,45,102,117,110,99,116,105,111,110,1,4,1,1,2,3,2,111,102,1,4,1,1,2,3,4,
-112,108,117,115,1,4,1,1,2,3,3,116,97,103,1,4,1,1,2,3,9,116,114,117,110,99,97,
-116,101,47,1,4,1,1,2,3,4,114,101,97,100,1,4,1,1,2,3,12,114,101,97,100,45,116,
-105,109,101,111,117,116,2,3,7,116,105,109,101,111,117,116,2,3,5,97,108,97,114,
-109,1,4,1,3,1,4,1,3,1,4,1,3,2,3,4,98,121,116,101,1,4,1,1,2,3,8,98,97,100,45,
-98,121,116,101,1,4,1,1,2,3,5,99,108,111,115,101,2,3,4,111,112,101,110,1,4,1,
-2,1,4,1,2,2,3,4,98,105,111,114,1,4,1,1,2,16,3,0,5,186,2,16,3,0,5,185,2,16,3,
-0,5,184,2,16,3,0,5,183,2,16,3,0,5,182,2,16,3,0,5,181,2,16,3,0,5,180,2,16,3,0,
-5,179,2,16,3,0,5,178,2,16,3,0,5,177,2,16,3,0,5,176,2,16,3,0,5,175,2,16,3,0,5,
-174,2,16,3,0,5,173,2,16,3,0,5,172,2,16,28,2,1,0,23,1,1,4,4,1,1,3,5,1,1,2,6,9,
-5,3,5,4,5,6,4,3,5,3,61,2,16,35,2,3,0,30,16,4,24,0,10,0,6,21,4,6,7,8,1,1,2,9,
-70,5,3,7,3,5,3,13,4,3,9,2,24,4,61,2,16,27,2,2,0,22,1,1,2,5,138,2,6,205,7,5,5,
-10,4,5,5,6,4,7,6,3,10,5,61,2,16,110,2,2,0,10,1,1,2,5,9,4,3,3,5,1,2,3,0,12,1,
-1,2,6,5,4,3,5,4,3,6,2,2,4,0,15,1,1,2,7,9,4,3,5,5,4,6,5,3,7,3,2,5,0,17,1,1,2,
-8,5,4,3,5,4,5,6,5,7,6,3,8,4,2,6,0,20,1,1,2,9,9,4,3,5,5,4,6,5,5,7,6,8,7,3,9,5,
-25,0,0,11,1,2,2,4,1,2,3,3,3,4,1,61,2,16,3,0,5,171,2,16,3,0,5,170,2,16,3,0,5,
-169,2,16,3,0,5,168,2,16,3,0,5,167,2,16,25,2,2,0,20,1,1,4,5,1,1,3,6,1,1,2,7,27,
-4,5,6,7,8,24,8,61,2,16,3,0,5,166,2,16,3,0,5,165,2,16,25,2,3,0,20,1,1,2,6,138,
-1,7,5,6,9,5,6,5,4,5,7,4,3,9,4,61,2,16,3,0,5,164,2,16,3,0,5,163,2,16,3,0,5,162,
-2,16,25,2,1,0,20,1,1,2,4,10,3,5,141,6,9,4,9,5,5,4,6,5,3,9,4,61,2,16,3,0,5,161,
-2,16,3,0,5,160,2,16,3,0,5,159,2,16,3,0,5,158,2,16,29,2,1,0,24,1,1,2,4,10,6,5,
-205,6,141,7,5,4,9,5,4,5,6,5,7,6,3,9,4,61,2,16,3,0,5,157,2,16,3,0,5,156,2,16,
-3,0,5,155,2,16,3,0,5,154,2,16,3,0,5,153,2,16,3,0,5,152,2,16,3,0,5,151,2,16,37,
-2,3,0,7,1,1,2,6,3,6,3,2,2,0,21,1,1,3,5,23,2,0,5,6,1,1,2,7,5,4,5,6,4,3,7,3,61,
-2,16,3,0,5,150,2,16,3,0,5,149,2,16,3,0,5,148,2,16,3,0,5,147,2,16,3,0,5,146,2,
-16,3,0,5,145,2,16,3,0,5,144,2,16,3,0,5,143,2,16,3,0,5,142,2,16,3,0,5,141,2,16,
-3,0,5,140,2,16,3,0,5,139,2,16,3,0,5,138,2,16,3,0,5,137,2,16,3,0,5,136,2,16,3,
-0,5,135,2,16,3,0,5,134,2,16,3,0,5,133,2,16,3,0,5,132,2,16,3,0,5,131,2,16,3,0,
-5,130,2,16,3,0,5,129,2,16,3,0,5,128,2,16,3,0,5,127,2,16,3,0,5,126,2,16,3,0,5,
-125,2,16,3,0,5,124,2,16,3,0,5,123,2,16,3,0,5,122,2,16,3,0,5,121,2,16,3,0,5,120,
-2,16,3,0,5,119,2,16,3,0,5,118,2,16,3,0,5,117,2,16,23,2,3,0,7,1,1,2,6,3,6,3,25,
-1,0,7,1,1,3,5,3,5,2,61,2,16,3,0,5,116,2,16,3,0,5,115,2,16,3,0,5,114,2,16,3,0,
-5,113,2,16,3,0,5,112,2,16,3,0,5,111,2,16,3,0,5,110,2,16,3,0,5,109,2,16,3,0,5,
-108,2,16,3,0,5,107,2,16,27,2,3,0,22,1,1,2,6,198,4,3,5,3,3,1,1,4,8,5,4,5,8,4,
-3,6,3,61,2,16,3,0,5,106,2,16,3,0,5,105,2,16,3,0,5,104,2,16,3,0,5,103,2,16,3,
-0,5,102,2,16,3,0,5,101,2,16,3,0,5,100,2,16,3,0,5,99,2,16,3,0,5,98,2,16,3,0,5,
-97,2,16,3,0,5,96,2,16,3,0,5,95,2,16,3,0,5,94,2,16,3,0,5,93,2,16,3,0,5,92,2,16,
-3,0,5,91,2,16,3,0,5,90,2,16,3,0,5,89,2,16,3,0,5,88,2,16,3,0,5,87,2,16,3,0,5,
-86,2,16,3,0,5,85,2,16,3,0,5,84,2,16,3,0,5,83,2,16,3,0,5,82,2,16,3,0,5,81,2,16,
-3,0,5,80,2,16,3,0,5,79,2,16,3,0,5,78,2,16,3,0,5,77,2,16,3,0,5,76,2,16,3,0,5,
-75,2,16,3,0,5,74,2,16,3,0,5,73,2,16,3,0,5,72,2,16,3,0,5,71,2,16,3,0,5,70,2,16,
-3,0,5,69,2,16,3,0,5,68,2,16,3,0,5,67,2,16,3,0,5,66,2,16,3,0,5,65,2,16,3,0,5,
-64,2,16,3,0,5,63,2,16,3,0,5,62,2,16,3,0,5,61,2,16,3,0,5,60,2,16,3,0,5,59,2,16,
-3,0,5,58,2,16,3,0,5,57,2,16,3,0,5,56,2,16,3,0,5,55,2,16,3,0,5,54,2,16,3,0,5,
-53,2,16,3,0,5,52,2,16,3,0,5,51,2,16,3,0,5,50,2,16,3,0,5,49,2,16,3,0,5,48,2,16,
-3,0,5,47,2,16,3,0,5,46,2,16,3,0,5,45,2,16,3,0,5,44,2,16,3,0,5,43,2,16,3,0,5,
-42,2,16,3,0,5,41,2,16,3,0,5,40,2,16,3,0,5,39,2,16,3,0,5,38,2,16,3,0,5,37,2,16,
-3,0,5,36,2,16,3,0,5,35,2,16,3,0,5,34,2,16,3,0,5,33,2,16,3,0,5,32,2,16,3,0,5,
-31,2,16,3,0,5,30,2,16,3,0,5,29,2,16,3,0,5,28,2,16,3,0,5,27,2,16,3,0,5,26,2,16,
-3,0,5,25,2,16,3,0,5,24,2,16,3,0,5,23,2,16,3,0,5,22,2,16,3,0,5,21,2,16,3,0,5,
-20,2,16,3,0,5,19,2,16,3,0,5,18,2,16,3,0,5,17,2,16,3,0,5,16,2,16,3,0,5,15,2,16,
-3,0,5,14,2,16,3,0,5,13,2,16,3,0,5,12,2,16,3,0,5,11,2,16,3,0,5,10,2,16,3,0,5,
-9,2,16,3,0,5,8,2,16,3,0,5,7,2,16,3,0,5,6,2,16,3,0,5,5,2,16,3,0,5,4,2,16,3,0,
-5,3,2,16,3,0,5,2,2,16,3,0,5,1,2,16,3,0,5,0,2,16,3,0,4,255,2,16,3,0,4,254,2,16,
-3,0,4,253,2,16,3,0,4,252,2,16,3,0,4,251,2,16,3,0,4,250,2,16,3,0,4,249,2,16,3,
-0,4,248,2,16,3,0,4,247,2,16,3,0,4,246,2,16,3,0,4,245,2,16,3,0,4,244,2,16,3,0,
-4,243,2,16,3,0,4,242,2,16,3,0,4,241,2,16,3,0,4,240,2,16,3,0,4,239,2,16,3,0,4,
-238,2,16,3,0,4,237,2,16,3,0,4,236,2,16,3,0,4,235,2,16,3,0,4,234,2,16,3,0,4,233,
-2,16,3,0,4,232,2,16,3,0,4,231,2,16,3,0,4,230,2,16,3,0,4,229,2,16,3,0,4,228,2,
-16,3,0,4,227,2,16,3,0,4,226,2,16,3,0,4,225,2,16,3,0,4,224,2,16,3,0,4,223,2,16,
-3,0,4,222,2,16,3,0,4,221,2,16,3,0,4,220,2,16,3,0,4,219,2,16,3,0,4,218,2,16,3,
-0,4,217,2,16,3,0,4,216,2,16,3,0,4,215,2,16,3,0,4,214,2,16,3,0,4,213,2,16,3,0,
-4,212,2,16,3,0,4,211,2,16,3,0,4,210,2,16,3,0,4,209,2,16,3,0,4,208,2,16,3,0,4,
-207,2,16,3,0,4,206,2,16,3,0,4,205,2,16,3,0,4,204,2,16,3,0,4,203,2,16,3,0,4,202,
-2,16,3,0,4,201,2,16,3,0,4,200,2,16,3,0,4,199,2,16,3,0,4,198,2,16,3,0,4,197,2,
-16,3,0,4,196,2,16,3,0,4,195,2,16,3,0,4,194,2,16,3,0,4,193,2,16,3,0,4,192,2,16,
-3,0,4,191,2,16,3,0,4,190,2,16,3,0,4,189,2,16,3,0,4,188,2,16,3,0,4,187,2,16,3,
-0,4,186,2,16,3,0,4,185,2,16,3,0,4,184,2,16,3,0,4,183,2,16,3,0,4,182,2,16,3,0,
-4,181,2,16,3,0,4,180,2,16,3,0,4,179,2,16,3,0,4,178,2,16,3,0,4,177,2,16,3,0,4,
-176,2,16,3,0,4,175,2,16,3,0,4,174,2,16,3,0,4,173,2,16,3,0,4,172,2,16,3,0,4,171,
-2,16,3,0,4,170,2,16,3,0,4,169,2,16,3,0,4,168,2,16,3,0,4,167,2,16,3,0,4,166,2,
-16,3,0,4,165,2,16,3,0,4,164,2,16,3,0,4,163,2,16,3,0,4,162,2,16,3,0,4,161,2,16,
-3,0,4,160,2,16,3,0,4,159,2,16,3,0,4,158,2,16,3,0,4,157,2,16,3,0,4,156,2,16,3,
-0,4,155,2,16,3,0,4,154,2,16,3,0,4,153,2,16,3,0,4,152,2,16,3,0,4,151,2,16,3,0,
-4,150,2,16,3,0,4,149,2,16,3,0,4,148,2,16,3,0,4,147,2,16,3,0,4,146,2,16,3,0,4,
-145,2,16,3,0,4,144,2,16,3,0,4,143,2,16,3,0,4,142,2,16,3,0,4,141,2,16,3,0,4,140,
-2,16,3,0,4,139,2,16,3,0,4,138,2,16,3,0,4,137,2,16,3,0,4,136,2,16,3,0,4,135,2,
-16,3,0,4,134,2,16,3,0,4,133,2,16,3,0,4,132,2,16,3,0,4,131,2,16,3,0,4,130,2,16,
-3,0,4,129,2,16,3,0,4,128,2,16,3,0,4,127,2,16,3,0,4,126,2,16,3,0,4,125,2,16,3,
-0,4,124,2,16,3,0,4,123,2,16,3,0,4,122,2,16,3,0,4,121,2,16,3,0,4,120,2,16,3,0,
-4,119,2,16,3,0,4,118,2,16,3,0,4,117,2,16,3,0,4,116,2,16,3,0,4,115,2,16,3,0,4,
-114,2,16,3,0,4,113,2,16,3,0,4,112,2,16,3,0,4,111,2,16,3,0,4,110,2,16,3,0,4,109,
-2,16,3,0,4,108,2,16,3,0,4,107,2,16,3,0,4,106,2,16,3,0,4,105,2,16,3,0,4,104,2,
-16,3,0,4,103,2,16,3,0,4,102,2,16,3,0,4,101,2,16,3,0,4,100,2,16,3,0,4,99,2,16,
-3,0,4,98,2,16,3,0,4,97,2,16,3,0,4,96,2,16,3,0,4,95,2,16,3,0,4,94,2,16,3,0,4,
-93,2,16,3,0,4,92,2,16,3,0,4,91,2,16,3,0,4,90,2,16,3,0,4,89,2,16,3,0,4,88,2,16,
-3,0,4,87,2,16,3,0,4,86,2,16,3,0,4,85,2,16,3,0,4,84,2,16,3,0,4,83,2,16,3,0,4,
-82,2,16,3,0,4,81,2,16,3,0,4,80,2,16,3,0,4,79,2,16,3,0,4,78,2,16,3,0,4,77,2,16,
-3,0,4,76,2,16,3,0,4,75,2,16,3,0,4,74,2,16,3,0,4,73,2,16,3,0,4,72,2,16,3,0,4,
-71,2,16,3,0,4,70,2,16,3,0,4,69,2,16,3,0,4,68,2,16,3,0,4,67,2,16,3,0,4,66,2,16,
-3,0,4,65,2,16,3,0,4,64,2,16,3,0,4,63,2,16,3,0,4,62,2,16,3,0,4,61,2,16,3,0,4,
-60,2,16,3,0,4,59,2,16,3,0,4,58,2,16,3,0,4,57,2,16,3,0,4,56,2,16,78,2,3,0,7,1,
-1,2,6,3,6,3,2,2,0,2,24,4,2,1,0,4,13,4,24,4,2,4,0,18,1,1,2,7,198,4,3,4,3,3,5,
-5,4,6,5,3,7,3,25,1,0,26,1,1,4,5,1,1,2,6,13,7,9,5,9,5,6,10,4,6,5,7,5,10,4,3,9,
-4,61,2,16,54,2,3,0,7,1,1,2,6,3,6,3,2,2,0,17,1,1,2,5,13,6,9,5,8,5,4,5,6,4,3,8,
-3,25,3,0,17,1,1,3,7,198,4,4,4,3,3,1,1,5,4,3,7,4,61,2,16,48,2,3,0,7,1,1,2,6,3,
-6,3,25,3,0,17,1,1,3,7,198,4,4,4,3,3,1,1,2,4,3,7,4,2,2,0,2,24,4,2,1,0,5,10,0,
-4,24,4,61,2,16,54,2,3,0,7,1,1,2,6,3,6,3,2,2,0,18,1,1,2,5,10,0,6,9,5,8,5,4,5,
-6,4,3,8,3,25,2,0,16,1,1,3,6,198,4,4,4,3,3,9,5,4,3,6,2,61,2,16,3,0,4,55,2,16,
-3,0,4,54,2,16,37,2,3,0,7,1,1,2,6,3,6,3,25,2,0,21,1,2,2,6,1,1,2,7,5,6,9,5,6,5,
-4,5,7,4,3,9,4,61,2,16,80,2,3,0,7,1,1,2,6,3,6,3,2,2,0,2,24,4,25,2,0,21,1,2,2,
-6,1,1,2,7,5,6,9,5,6,5,4,5,7,4,3,9,4,2,1,0,33,1,1,3,4,208,4,2,0,24,4,1,2,3,5,
-1,2,4,6,1,1,2,7,9,5,8,5,6,4,7,5,3,8,3,61,2,16,3,0,4,53,2,16,3,0,4,52,2,16,3,
-0,4,51,2,16,3,0,4,50,2,16,3,0,4,49,2,16,3,0,4,48,2,16,3,0,4,47,2,16,3,0,4,46,
-2,16,3,0,4,45,2,16,3,0,4,44,2,16,3,0,4,43,2,16,3,0,4,42,2,16,3,0,4,41,2,16,3,
-0,4,40,2,16,3,0,4,39,2,16,3,0,4,38,2,16,3,0,4,37,2,16,67,2,1,0,62,1,2,2,4,1,
-1,2,5,1,1,3,6,1,1,4,7,1,1,5,8,1,1,6,9,1,1,7,10,1,1,8,11,1,1,9,12,134,10,2,3,
-5,6,7,8,9,10,11,12,13,5,4,8,3,4,5,6,5,13,3,3,8,3,61,2,16,3,0,4,36,2,16,3,0,4,
-35,2,16,48,2,1,0,43,1,2,2,4,1,1,2,5,1,1,3,6,1,1,4,7,1,1,5,8,1,1,6,9,134,8,2,
-3,3,5,6,7,8,9,3,5,4,7,5,4,3,7,2,61,2,16,3,0,4,34,2,16,3,0,4,33,2,16,3,0,4,32,
-2,16,3,0,4,31,2,16,3,0,4,30,2,16,3,0,4,29,2,16,3,0,4,28,2,16,3,0,4,27,2,16,3,
-0,4,26,2,16,3,0,4,25,2,16,3,0,4,24,2,16,3,0,4,23,2,16,3,0,4,22,2,16,3,0,4,21,
-2,16,3,0,4,20,2,16,3,0,4,19,2,16,3,0,4,18,2,16,3,0,4,17,2,16,3,0,4,16,2,16,3,
-0,4,15,2,16,3,0,4,14,2,16,3,0,4,13,2,16,3,0,4,12,2,16,3,0,4,11,2,16,3,0,4,10,
-2,16,3,0,4,9,2,16,3,0,4,8,2,16,3,0,4,7,2,16,3,0,4,6,2,16,3,0,4,5,2,16,3,0,4,
-4,2,16,3,0,4,3,2,16,3,0,4,2,2,16,3,0,4,1,2,16,3,0,4,0,2,16,3,0,3,255,2,16,3,
-0,3,254,2,16,3,0,3,253,2,16,3,0,3,252,2,16,3,0,3,251,2,16,3,0,3,250,2,16,3,0,
-3,249,2,16,3,0,3,248,2,16,3,0,3,247,2,16,32,2,1,0,27,1,1,2,4,51,3,4,5,10,10,
-6,1,1,3,7,35,6,7,5,3,1,1,4,9,3,9,1,61,2,16,3,0,3,246,2,16,3,0,3,245,2,16,31,
-2,1,0,26,1,1,2,4,51,3,4,5,10,10,6,10,2,7,35,6,7,5,3,1,1,3,9,3,9,1,61,2,16,3,
-0,3,244,2,16,3,0,3,243,2,16,3,0,3,242,2,16,3,0,3,241,2,16,3,0,3,240,2,16,3,0,
-3,239,2,16,3,0,3,238,2,16,3,0,3,237,2,16,3,0,3,236,2,16,24,2,1,0,19,138,10,4,
-1,1,2,5,35,4,5,3,3,1,1,3,7,3,7,1,61,2,16,3,0,3,235,2,16,3,0,3,234,2,16,3,0,3,
-233,2,16,3,0,3,232,2,16,3,0,3,231,2,16,3,0,3,230,2,16,3,0,3,229,2,16,3,0,3,228,
-2,16,3,0,3,227,2,16,3,0,3,226,2,16,3,0,3,225,2,16,3,0,3,224,2,16,3,0,3,223,2,
-16,3,0,3,222,2,16,12,25,1,0,7,1,1,2,5,3,5,2,61,2,16,3,0,3,221,2,16,3,0,3,220,
-2,16,3,0,3,219,2,16,3,0,3,218,2,16,3,0,3,217,2,16,3,0,3,216,2,16,3,0,3,215,2,
-16,3,0,3,214,2,16,3,0,3,213,2,16,3,0,3,212,2,16,3,0,3,211,2,16,3,0,3,210,2,16,
-3,0,3,209,2,16,3,0,3,208,2,16,3,0,3,207,2,16,3,0,3,206,2,16,3,0,3,205,2,16,3,
-0,3,204,2,16,3,0,3,203,2,16,3,0,3,202,2,16,3,0,3,201,2,16,3,0,3,200,2,16,3,0,
-3,199,2,16,3,0,3,198,2,16,3,0,3,197,2,16,3,0,3,196,2,16,3,0,3,195,2,16,3,0,3,
-194,2,16,3,0,3,193,2,16,3,0,3,192,2,16,3,0,3,191,2,16,3,0,3,190,2,16,3,0,3,189,
-2,16,3,0,3,188,2,16,3,0,3,187,2,16,3,0,3,186,2,16,3,0,3,185,2,16,3,0,3,184,2,
-16,3,0,3,183,2,16,3,0,3,182,2,16,3,0,3,181,2,16,3,0,3,180,2,16,3,0,3,179,2,16,
-3,0,3,178,2,16,3,0,3,177,2,16,3,0,3,176,2,16,3,0,3,175,2,16,12,2,7,0,7,1,1,2,
-10,3,10,8,61,2,16,3,0,3,174,2,16,3,0,3,173,2,16,3,0,3,172,2,16,3,0,3,171,2,16,
-3,0,3,170,2,16,3,0,3,169,2,16,3,0,3,168,2,16,3,0,3,167,2,16,3,0,3,166,2,16,3,
-0,3,165,2,16,3,0,3,164,2,16,3,0,3,163,2,16,3,0,3,162,2,16,3,0,3,161,2,16,3,0,
-3,160,2,16,3,0,3,159,2,16,3,0,3,158,2,16,3,0,3,157,2,16,3,0,3,156,2,16,3,0,3,
-155,2,16,3,0,3,154,2,16,3,0,3,153,2,16,3,0,3,152,2,16,3,0,3,151,2,16,3,0,3,150,
-2,16,3,0,3,149,2,16,3,0,3,148,2,16,3,0,3,147,2,16,3,0,3,146,2,16,3,0,3,145,2,
-16,3,0,3,144,2,16,3,0,3,143,2,16,3,0,3,142,2,16,3,0,3,141,2,16,3,0,3,140,2,16,
-3,0,3,139,2,16,3,0,3,138,2,16,3,0,3,137,2,16,3,0,3,136,2,16,3,0,3,135,2,16,3,
-0,3,134,2,16,3,0,3,133,2,16,3,0,3,132,2,16,3,0,3,131,2,16,3,0,3,130,2,16,3,0,
-3,129,2,16,3,0,3,128,2,16,3,0,3,127,2,16,3,0,3,126,2,16,3,0,3,125,2,16,3,0,3,
-124,2,16,3,0,3,123,2,16,3,0,3,122,2,16,3,0,3,121,2,16,3,0,3,120,2,16,3,0,3,119,
-2,16,3,0,3,118,2,16,3,0,3,117,2,16,3,0,3,116,2,16,3,0,3,115,2,16,58,2,6,0,53,
-80,5,36,0,208,6,11,0,169,5,9,205,6,9,9,5,3,8,6,169,4,9,169,5,5,105,4,11,51,11,
-7,7,141,6,9,9,4,3,8,6,1,1,2,9,198,4,3,7,3,3,3,9,2,61,2,16,21,2,2,0,16,1,1,2,
-5,205,6,77,7,5,5,8,4,5,3,8,6,61,2,16,20,2,3,0,15,32,5,2,6,7,51,4,6,8,51,8,7,
-9,24,9,61,2,16,20,2,3,0,15,32,5,2,6,7,51,4,7,8,51,6,8,9,24,9,61,2,16,25,2,2,
-0,20,105,3,5,169,3,6,51,6,4,4,1,1,2,8,9,5,3,3,8,2,61,2,16,85,2,3,0,80,32,4,2,
-6,7,80,6,18,0,105,6,8,169,6,9,51,9,7,4,5,3,7,8,3,3,7,2,80,7,37,0,169,7,8,80,
-8,15,0,1,1,3,9,70,3,4,3,3,9,7,4,3,9,2,105,7,9,1,1,2,4,5,3,7,9,3,3,7,2,1,1,2,
-4,5,3,7,5,3,3,7,2,61,2,16,3,0,3,114,2,16,3,0,3,113,2,16,3,0,3,112,2,16,3,0,3,
-111,2,16,3,0,3,110,2,16,3,0,3,109,2,16,3,0,3,108,2,16,3,0,3,107,2,16,3,0,3,106,
-2,16,3,0,3,105,2,16,3,0,3,104,2,16,3,0,3,103,2,16,3,0,3,102,2,16,3,0,3,101,2,
-16,3,0,3,100,2,16,3,0,3,99,2,16,3,0,3,98,2,16,3,0,3,97,2,16,3,0,3,96,2,16,3,
-0,3,95,2,16,3,0,3,94,2,16,3,0,3,93,2,16,3,0,3,92,2,16,3,0,3,91,2,16,3,0,3,90,
-2,16,3,0,3,89,2,16,3,0,3,88,2,16,3,0,3,87,2,16,3,0,3,86,2,16,3,0,3,85,2,16,3,
-0,3,84,2,16,3,0,3,83,2,16,3,0,3,82,2,16,3,0,3,81,2,16,3,0,3,80,2,16,3,0,3,79,
-2,16,3,0,3,78,2,16,3,0,3,77,2,16,3,0,3,76,2,16,3,0,3,75,2,16,3,0,3,74,2,16,3,
-0,3,73,2,16,3,0,3,72,2,16,3,0,3,71,2,16,3,0,3,70,2,16,3,0,3,69,2,16,3,0,3,68,
-2,16,3,0,3,67,2,16,3,0,3,66,2,16,3,0,3,65,2,16,3,0,3,64,2,16,3,0,3,63,2,16,3,
-0,3,62,2,16,3,0,3,61,2,16,3,0,3,60,2,16,3,0,3,59,2,16,3,0,3,58,2,16,3,0,3,57,
-2,16,3,0,3,56,2,16,36,25,2,0,31,1,1,2,6,198,4,3,4,3,7,1,1,4,4,1,1,5,9,5,6,10,
-5,6,5,7,3,9,5,3,10,4,61,2,16,3,0,3,55,2,16,61,2,2,0,19,1,1,2,5,1,1,3,6,9,5,8,
-5,4,5,6,4,3,8,3,25,1,0,33,1,1,4,5,198,3,5,3,6,1,1,6,7,1,1,7,8,9,5,9,5,6,3,4,
-6,5,7,4,8,5,3,9,4,61,2,16,3,0,3,54,2,16,28,2,2,0,23,1,1,2,5,1,1,3,6,205,7,5,
-5,9,4,5,5,6,4,7,6,3,9,4,61,2,16,28,2,1,0,23,1,2,2,4,1,1,2,5,1,2,3,6,9,4,7,5,
-5,3,6,4,3,7,2,61,2,16,46,2,1,0,41,1,2,2,4,1,1,2,5,1,1,3,6,1,1,4,7,1,1,5,8,134,
-7,2,3,5,3,6,7,8,9,9,4,7,5,3,4,9,3,3,7,2,61,2,16,14,2,1,0,9,1,1,2,4,77,3,3,4,
-1,61,2,16,3,0,3,53,2,16,3,0,3,52,2,16,3,0,3,51,2,16,61,2,4,0,56,80,4,42,0,105,
-4,7,105,7,8,1,1,2,9,8,9,8,10,0,169,4,4,51,7,5,5,3,6,4,169,4,4,1,2,2,11,6,4,2,
-3,7,3,3,3,11,3,205,4,5,3,8,5,3,3,8,2,61,2,16,57,2,4,0,52,80,4,28,0,105,4,7,169,
-7,8,8,8,5,12,0,169,4,4,70,4,6,7,3,3,3,6,4,169,4,9,24,9,1,1,2,7,70,3,3,3,3,1,
-1,4,4,1,1,5,5,3,7,3,61,2,16,24,2,1,0,19,1,1,3,4,1,1,2,5,7,4,5,3,1,1,4,7,3,7,
-1,61,2,16,59,2,2,0,54,169,4,5,32,5,2,6,7,32,5,3,8,9,10,1,1,2,11,6,5,2,5,11,9,
-3,12,8,9,11,5,0,205,3,3,12,1,1,2,2,13,1,2,3,4,1,2,4,5,9,12,3,3,13,3,61,2,16,
-22,2,3,0,17,1,1,2,6,198,3,3,5,7,5,4,5,7,4,3,6,3,61,2,16,34,2,1,0,29,1,1,5,4,
-1,1,4,5,1,1,3,6,1,1,2,7,5,4,8,5,3,5,6,4,7,5,3,8,3,61,2,16,45,2,1,0,40,1,2,2,
-4,1,1,4,5,1,1,5,6,1,1,6,7,6,5,2,3,5,6,7,3,1,1,3,9,1,1,2,5,5,4,11,9,4,3,11,3,
-61,2,16,129,29,2,2,0,152,32,4,2,5,6,32,6,2,7,8,10,0,9,47,8,9,10,1,2,2,11,8,10,
-11,88,0,1,2,5,12,8,10,12,39,0,1,2,7,13,1,1,2,14,1,1,3,15,1,1,4,16,6,6,2,8,14,
-15,3,16,3,1,2,9,4,1,2,10,5,9,8,6,3,13,4,32,8,3,13,14,15,1,2,3,16,1,1,2,17,1,
-1,3,18,1,1,4,19,134,7,2,6,6,17,18,3,19,3,5,7,4,8,5,3,16,3,32,8,2,12,13,1,2,3,
-14,1,1,2,15,1,1,3,16,1,1,4,17,6,6,2,4,15,16,3,17,3,5,7,4,8,5,3,14,3,61,2,16,
-48,2,2,0,43,32,4,2,5,6,32,6,2,7,8,1,2,2,9,1,1,2,10,1,1,3,11,1,1,4,12,6,6,2,3,
-10,3,11,12,3,5,7,4,8,5,3,9,3,61,2,16,66,2,1,0,61,1,1,3,4,1,1,4,5,1,1,5,6,1,1,
-6,7,1,1,7,8,134,7,2,3,4,5,6,7,8,9,1,1,2,10,208,10,18,0,169,10,11,1,2,2,12,9,
-4,5,5,9,3,11,4,3,12,3,205,3,3,9,1,61,2,16,58,2,2,0,53,1,1,3,5,1,1,4,6,1,1,5,
-7,1,1,6,8,134,8,2,3,4,5,6,3,7,8,9,1,1,2,10,208,10,13,0,169,10,4,1,2,2,12,9,9,
-3,3,12,3,205,3,3,9,1,61,2,16,43,2,2,0,38,1,2,2,5,1,1,3,6,1,1,4,7,1,1,5,8,134,
-7,2,3,4,6,7,3,8,3,1,1,2,4,5,5,8,6,5,3,8,3,61,2,16,75,2,6,0,70,10,0,9,8,8,9,45,
-0,138,0,10,8,8,10,18,0,1,1,2,11,198,6,5,5,7,6,3,3,9,7,5,3,11,3,1,1,2,11,198,
-5,4,6,4,3,3,5,5,4,7,5,3,11,3,1,1,2,10,198,5,3,6,5,3,3,9,7,5,3,10,3,61,2,16,83,
-2,1,0,78,208,3,47,0,1,1,2,4,169,4,5,1,1,5,6,1,1,6,7,1,1,7,8,6,4,2,2,7,8,3,1,
-1,4,10,1,1,3,11,5,5,4,6,7,5,10,5,11,6,3,7,5,1,1,4,4,1,1,3,5,51,4,5,6,1,1,2,7,
-51,6,7,3,1,1,7,9,3,9,1,61,2,16,47,2,5,0,42,80,4,26,0,105,4,8,105,8,9,1,1,2,10,
-198,8,3,4,6,5,7,8,3,3,9,9,4,3,10,3,51,5,6,8,77,9,51,8,9,10,24,10,61,2,16,16,
-2,4,0,11,10,21,7,63,7,4,5,6,8,24,8,61,2,16,50,2,1,0,45,1,2,2,4,1,1,4,5,1,1,5,
-6,1,1,6,7,6,5,2,3,5,6,7,8,1,1,3,9,1,1,2,6,5,4,11,3,5,5,8,3,9,4,3,11,4,61,2,16,
-129,62,2,5,0,185,138,0,8,47,7,8,9,10,0,10,47,9,10,11,1,1,2,12,8,11,12,136,0,
-1,1,3,13,8,11,13,96,0,1,1,6,14,8,11,14,61,0,1,1,7,15,8,11,15,30,0,47,7,10,16,
-1,1,9,17,70,6,10,6,5,4,3,3,1,1,11,4,1,1,12,5,9,16,6,3,17,4,32,9,2,16,17,1,1,
-4,18,198,8,8,17,7,6,5,4,3,3,3,18,1,32,9,2,15,16,51,16,7,17,51,17,5,18,5,3,8,
-4,3,5,6,5,18,4,3,8,3,32,9,3,14,15,16,51,15,7,17,51,17,4,18,1,1,4,19,198,8,5,
-16,7,6,5,18,3,3,3,19,1,32,9,2,13,14,51,14,7,15,51,15,4,16,5,3,8,5,4,5,6,5,16,
-3,3,8,3,61,2,16,41,2,1,0,36,1,1,6,4,1,1,5,5,1,1,4,6,1,1,3,7,1,1,2,8,9,5,3,5,
-7,5,4,7,5,6,4,8,6,3,7,5,61,2,16,31,2,3,0,26,1,1,3,6,1,1,2,7,5,7,10,6,7,5,5,6,
-4,5,5,3,4,10,3,3,7,5,61,2,16,119,2,1,0,114,32,3,2,4,5,208,4,52,0,1,2,4,6,1,1,
-5,7,1,1,6,8,6,4,2,5,7,8,9,1,1,4,10,1,1,3,11,1,1,2,12,9,6,13,5,4,7,5,8,5,9,3,
-10,4,5,11,5,12,6,3,13,6,208,5,10,0,1,1,5,6,10,1,3,3,6,1,1,2,2,6,1,1,2,7,1,1,
-3,8,1,1,4,9,1,1,5,10,1,1,6,11,6,7,2,3,7,8,9,10,11,3,13,4,3,6,2,61,2,16,55,2,
-1,0,50,1,2,2,4,1,1,2,5,1,1,3,6,1,1,4,7,1,1,5,8,1,1,6,9,134,7,2,3,5,6,7,8,9,10,
-9,4,9,5,6,5,3,6,5,7,4,10,3,3,9,4,61,2,16,49,2,1,0,44,1,1,2,4,1,1,3,5,1,1,4,6,
-1,1,5,7,1,1,6,8,134,7,2,2,4,5,6,7,8,9,208,3,5,0,205,3,3,9,1,13,3,3,9,1,61,2,
-16,93,2,1,0,88,208,3,47,0,1,2,4,4,1,1,5,5,1,1,6,6,6,4,2,5,5,6,7,1,1,4,8,1,1,
-3,5,1,1,2,6,9,4,11,5,7,12,3,7,5,8,4,12,3,3,11,5,1,2,2,4,1,1,2,5,1,1,3,6,1,1,
-4,7,1,1,5,8,1,1,6,9,134,7,2,3,5,6,7,8,9,3,3,4,1,61,2,16,37,2,1,0,32,1,1,2,4,
-1,1,3,5,1,1,4,6,1,1,5,7,1,1,6,8,134,7,2,2,4,5,6,7,8,9,24,9,61,2,16,53,2,1,0,
-48,1,1,2,4,1,1,3,5,1,1,4,6,1,1,5,7,1,1,6,8,134,7,2,4,4,5,6,7,8,9,208,3,7,0,1,
-2,3,3,3,9,1,1,2,2,3,3,9,1,61,2,16,44,2,1,0,39,1,1,2,4,169,4,5,1,1,6,6,1,1,5,
-7,1,1,4,8,1,1,3,9,9,7,3,5,6,7,5,6,5,8,4,9,5,3,7,5,61,2,16,32,2,2,0,27,1,1,2,
-5,169,5,6,1,1,5,7,1,1,4,8,1,1,3,5,5,3,4,8,3,3,7,5,61,2,16,50,2,1,0,45,1,2,2,
-4,1,1,4,5,1,1,5,6,1,1,6,7,1,1,7,8,6,6,2,3,5,6,7,8,3,1,1,3,10,1,1,2,5,5,4,8,10,
-4,3,8,3,61,2,16,55,2,1,0,50,1,2,2,4,1,1,3,5,1,1,4,6,1,1,5,7,1,1,6,8,1,1,7,9,
-6,7,2,3,5,6,7,8,9,3,1,1,2,11,1,2,4,5,5,4,8,11,4,3,8,3,61,2,16,119,2,1,0,114,
-32,3,2,4,5,208,4,52,0,1,2,4,6,1,1,5,7,1,1,6,8,6,4,2,5,7,8,9,1,1,4,10,1,1,3,11,
-1,1,2,12,9,6,13,5,4,7,5,8,5,9,3,10,4,5,11,5,12,6,3,13,6,208,5,10,0,1,1,5,6,138,
-0,3,3,6,1,1,2,2,6,1,1,2,7,1,1,3,8,1,1,4,9,1,1,5,10,1,1,6,11,6,7,2,3,7,8,9,10,
-11,3,13,4,3,6,2,61,2,16,62,2,1,0,57,1,1,3,4,1,1,4,5,1,1,5,6,1,1,6,7,1,1,7,8,
-134,7,2,4,4,5,6,7,8,9,208,3,18,0,1,2,2,10,1,1,2,11,134,4,2,3,11,9,3,3,10,2,13,
-3,3,9,1,61,2,16,98,2,1,0,93,208,3,47,0,1,2,4,4,1,1,6,5,1,1,7,6,6,4,2,5,5,6,7,
-1,1,5,8,1,1,4,5,1,1,3,6,9,4,11,5,7,12,3,7,5,8,4,12,3,3,11,5,1,2,2,4,1,1,2,5,
-1,1,3,6,1,1,4,7,1,1,5,8,1,1,6,9,1,1,7,10,134,8,2,3,5,6,7,8,9,10,3,3,4,1,61,2,
-16,129,100,2,1,0,223,208,3,42,0,1,2,12,4,1,1,2,5,1,1,3,6,1,1,4,7,1,1,5,8,1,1,
-6,9,1,1,7,10,134,8,2,13,5,6,7,8,9,10,3,3,4,1,1,1,3,4,105,4,5,32,5,2,6,7,32,7,
-2,8,9,10,0,10,47,9,10,11,1,2,2,12,8,11,12,101,0,1,2,5,13,8,11,13,45,0,1,2,8,
-14,1,1,4,15,1,1,5,16,1,1,6,17,1,1,7,18,134,8,2,9,8,4,15,16,17,18,3,1,2,10,4,
-1,2,11,5,9,9,6,3,14,4,32,9,3,14,15,16,1,2,3,17,1,1,5,18,1,1,4,19,1,1,6,20,1,
-1,7,21,134,8,2,6,15,18,4,19,20,21,3,1,2,7,5,9,8,4,3,17,3,32,9,2,13,14,1,2,3,
-15,1,1,4,16,1,1,5,17,1,1,6,18,1,1,7,19,6,7,2,4,4,16,17,18,19,3,5,8,4,12,5,3,
-15,3,61,2,16,57,2,1,0,52,1,2,2,4,1,1,2,5,1,1,3,6,1,1,4,7,1,1,5,8,1,1,6,9,1,1,
-7,10,134,8,2,3,5,6,7,8,9,10,11,5,4,8,5,4,5,3,5,11,3,3,8,3,61,2,16,55,2,5,0,50,
-80,6,16,0,1,1,4,8,198,7,5,6,5,4,3,7,3,3,8,1,198,7,3,6,5,4,3,7,8,80,4,5,0,205,
-3,3,8,1,1,1,2,9,5,5,4,8,3,3,9,2,61,2,16,22,2,1,0,17,1,1,2,4,77,5,9,4,9,5,5,4,
-5,6,3,9,4,61,2,16,27,25,1,0,22,198,3,3,3,5,80,4,6,0,105,4,3,3,5,1,1,1,2,3,3,
-5,1,61,2,16,27,2,1,0,22,1,2,2,4,1,1,2,5,10,0,6,9,4,7,5,5,3,6,4,3,7,2,61,2,16,
-3,0,3,50,2,16,3,0,3,49,2,16,3,0,3,48,2,16,3,0,3,47,2,16,3,0,3,46,2,16,3,0,3,
-45,2,16,3,0,3,44,2,16,3,0,3,43,2,16,3,0,3,42,2,16,3,0,3,41,2,16,3,0,3,40,2,16,
-3,0,3,39,2,16,3,0,3,38,2,16,3,0,3,37,2,16,3,0,3,36,2,16,3,0,3,35,2,16,3,0,3,
-34,2,16,3,0,3,33,2,16,3,0,3,32,2,16,3,0,3,31,2,16,3,0,3,30,2,16,3,0,3,29,2,16,
-3,0,3,28,2,16,3,0,3,27,2,16,3,0,3,26,2,16,3,0,3,25,2,16,3,0,3,24,2,16,3,0,3,
-23,2,16,3,0,3,22,2,16,3,0,3,21,2,16,3,0,3,20,2,16,3,0,3,19,2,16,3,0,3,18,2,16,
-3,0,3,17,2,16,3,0,3,16,2,16,3,0,3,15,2,16,3,0,3,14,2,16,3,0,3,13,2,16,3,0,3,
-12,2,16,3,0,3,11,2,16,3,0,3,10,2,16,3,0,3,9,2,16,3,0,3,8,2,16,3,0,3,7,2,16,3,
-0,3,6,2,16,3,0,3,5,2,16,3,0,3,4,2,16,3,0,3,3,2,16,3,0,3,2,2,16,3,0,3,1,2,16,
-3,0,3,0,2,16,3,0,2,255,2,16,3,0,2,254,2,16,3,0,2,253,2,16,3,0,2,252,2,16,3,0,
-2,251,2,16,3,0,2,250,2,16,3,0,2,249,2,16,3,0,2,248,2,16,3,0,2,247,2,16,3,0,2,
-246,2,16,3,0,2,245,2,16,3,0,2,244,2,16,3,0,2,243,2,16,3,0,2,242,2,16,3,0,2,241,
-2,16,3,0,2,240,2,16,3,0,2,239,2,16,3,0,2,238,2,16,3,0,2,237,2,16,3,0,2,236,2,
-16,3,0,2,235,2,16,3,0,2,234,2,16,3,0,2,233,2,16,3,0,2,232,2,16,3,0,2,231,2,16,
-3,0,2,230,2,16,3,0,2,229,2,16,3,0,2,228,2,16,3,0,2,227,2,16,3,0,2,226,2,16,3,
-0,2,225,2,16,3,0,2,224,2,16,3,0,2,223,2,16,3,0,2,222,2,16,3,0,2,221,2,16,3,0,
-2,220,2,16,3,0,2,219,2,16,3,0,2,218,2,16,3,0,2,217,2,16,3,0,2,216,2,16,3,0,2,
-215,2,16,3,0,2,214,2,16,3,0,2,213,2,16,3,0,2,212,2,16,3,0,2,211,2,16,3,0,2,210,
-2,16,3,0,2,209,2,16,3,0,2,208,2,16,3,0,2,207,2,16,27,2,1,0,22,1,2,2,4,1,1,2,
-5,138,20,6,9,4,7,5,5,3,6,4,3,7,2,61,2,16,25,2,4,0,20,1,1,2,7,198,3,3,3,3,1,1,
-4,4,1,1,5,5,3,7,3,61,2,16,3,0,2,206,2,16,3,0,2,205,2,16,3,0,2,204,2,16,19,2,
-1,0,14,1,1,2,4,141,5,5,4,7,5,4,3,7,2,61,2,16,3,0,2,203,2,16,3,0,2,202,2,16,3,
-0,2,201,2,16,43,2,1,0,38,1,2,2,4,1,1,4,5,6,3,2,3,5,6,1,1,3,7,1,1,2,5,9,4,9,5,
-6,10,3,6,5,7,4,10,3,3,9,4,61,2,16,37,2,1,0,32,1,1,2,4,1,1,4,5,1,1,5,6,6,4,2,
-2,5,6,7,23,2,1,4,7,4,1,1,3,9,3,9,2,61,2,16,129,13,2,1,0,136,208,3,40,0,1,2,7,
-4,1,1,4,5,1,1,5,6,1,1,6,7,134,5,2,8,5,6,7,3,1,1,2,9,1,1,3,5,5,4,11,9,4,3,11,
-3,1,1,3,4,208,4,44,0,1,2,5,5,1,1,4,6,1,1,6,7,1,1,2,8,134,6,2,6,6,7,8,4,3,1,1,
-5,4,1,2,4,11,9,5,12,5,6,5,11,6,3,12,4,1,2,2,5,1,1,4,6,1,1,5,7,1,1,6,8,134,5,
-2,3,6,7,8,3,1,1,2,4,1,2,4,11,5,5,8,11,5,3,8,3,61,2,16,22,2,4,0,17,1,1,2,7,198,
-6,3,6,5,4,3,3,205,6,3,7,4,61,2,16,121,2,2,0,116,208,4,58,0,1,1,2,5,51,4,5,6,
-1,1,3,7,169,7,8,1,1,8,9,1,1,7,10,1,1,6,11,1,1,5,12,1,1,4,13,5,6,4,3,6,5,8,7,
-10,3,5,9,10,11,5,5,12,8,13,9,3,10,8,1,1,3,5,169,5,6,1,1,8,7,1,1,7,8,1,1,2,9,
-1,1,6,10,1,1,5,11,1,1,4,12,5,10,5,7,10,5,6,7,3,6,5,8,3,9,4,5,11,8,12,9,3,10,
-8,61,2,16,51,2,8,0,46,80,7,29,0,105,7,11,1,1,2,12,70,9,3,4,7,9,8,5,3,10,3,9,
-6,4,5,8,6,11,5,3,12,4,5,6,7,5,6,5,4,5,9,4,3,4,5,61,2,16,35,2,1,0,30,1,2,2,4,
-1,1,3,5,1,1,2,6,77,7,9,4,9,5,3,4,5,3,5,6,5,7,6,3,9,4,61,2,16,37,2,1,0,32,1,1,
-5,4,1,1,4,5,1,1,3,6,1,1,2,7,9,5,10,5,6,5,7,6,5,3,7,10,3,3,4,5,61,2,16,56,2,1,
-0,51,1,2,2,4,1,1,7,5,1,1,6,6,1,1,5,7,1,1,4,8,1,1,3,9,1,1,2,10,5,4,12,6,4,5,3,
-6,5,3,5,7,5,8,7,5,9,8,10,9,3,12,7,61,2,16,3,0,2,200,2,16,70,2,1,0,65,1,2,2,4,
-1,1,3,5,1,1,4,6,1,1,5,7,1,1,6,8,1,1,7,9,1,1,8,10,1,1,9,11,134,9,2,3,5,6,7,8,
-9,10,11,12,1,1,2,13,1,2,4,5,5,4,9,3,6,5,12,3,13,4,3,9,4,61,2,16,28,2,7,0,23,
-1,1,2,10,198,9,3,6,7,9,8,5,4,3,3,5,6,4,7,5,3,10,3,61,2,16,46,2,4,0,41,80,4,35,
-0,105,4,7,10,0,8,47,7,8,9,8,9,5,15,0,105,4,10,169,4,4,70,4,2,10,3,3,3,6,4,169,
-4,10,24,10,24,4,61,2,16,59,2,1,0,54,1,2,2,4,1,1,7,5,1,1,6,6,1,1,5,7,1,1,4,8,
-1,1,3,9,1,1,2,10,9,4,12,5,5,13,3,5,5,6,4,7,6,5,8,7,9,8,5,10,9,13,3,3,12,7,61,
-2,16,55,2,1,0,50,1,2,2,4,1,1,3,5,1,1,4,6,1,1,5,7,1,1,6,8,1,1,7,9,134,8,2,3,5,
-6,7,8,3,9,3,1,1,2,11,9,4,8,5,7,5,11,4,3,8,3,61,2,16,30,2,7,0,25,1,1,2,10,198,
-8,3,6,9,8,4,7,3,3,9,5,8,5,4,5,8,4,3,10,3,61,2,16,20,2,2,0,15,1,1,2,5,51,5,4,
-4,1,1,3,7,3,7,2,61,2,16,57,2,4,0,52,80,4,38,0,105,4,7,10,0,8,47,7,8,9,8,5,9,
-12,0,169,4,4,70,4,2,7,3,3,3,6,4,169,4,4,5,3,8,7,3,3,8,2,205,7,5,3,8,7,3,3,8,
-2,61,2,16,26,2,9,0,21,23,2,1,4,5,12,51,12,9,6,9,8,5,5,10,7,11,4,3,4,5,61,2,16,
-45,2,9,0,40,1,1,3,12,23,2,3,12,5,6,7,13,23,2,1,4,13,14,1,1,2,15,5,4,7,8,4,5,
-9,5,10,6,5,11,9,14,8,3,15,7,61,2,16,75,2,1,0,70,1,2,3,4,1,1,4,5,1,1,3,6,1,1,
-2,7,23,2,3,4,5,6,7,8,1,1,6,9,23,2,1,9,8,10,1,2,2,11,1,1,9,12,1,1,8,4,1,1,7,5,
-1,1,5,15,9,3,6,5,9,7,10,8,5,12,3,15,9,3,11,7,61,2,16,34,2,9,0,29,1,1,2,12,198,
-10,3,7,6,5,11,4,9,8,3,3,1,1,4,5,138,62,6,9,10,4,3,12,4,61,2,16,42,2,9,0,37,23,
-2,1,6,7,12,70,4,2,6,5,13,23,2,1,4,13,14,51,14,8,15,51,12,15,5,9,9,6,5,10,7,11,
-4,3,4,5,61,2,16,55,2,1,0,50,1,2,2,4,1,1,4,5,1,1,5,6,1,1,6,7,1,1,7,8,6,6,2,3,
-5,6,7,8,9,1,1,3,10,1,1,2,5,5,4,12,3,6,5,9,3,10,4,3,12,4,61,2,16,21,2,1,0,16,
-1,1,2,4,1,2,2,5,5,4,7,5,4,3,7,2,61,2,16,80,2,1,0,75,1,1,4,4,1,1,9,5,134,3,2,
-5,5,6,23,2,1,4,6,7,1,1,2,8,51,7,8,9,1,2,2,10,1,1,5,11,1,1,6,12,1,1,7,13,1,1,
-8,14,134,8,2,3,4,11,12,9,13,14,15,1,2,4,4,1,1,3,6,5,3,5,15,3,3,10,4,61,2,16,
-33,2,9,0,28,1,1,2,12,198,10,3,8,6,4,10,9,3,11,5,3,1,1,4,6,5,4,5,10,4,3,12,4,
-61,2,16,43,2,1,0,38,1,1,4,4,6,4,2,3,3,4,5,1,1,3,6,80,6,5,0,205,3,3,5,1,1,2,2,
-7,1,1,2,4,9,5,3,3,7,2,61,2,16,33,2,9,0,28,198,5,2,9,8,5,12,23,2,1,4,12,13,51,
-13,8,5,9,9,6,5,10,7,11,4,3,4,5,61,2,16,53,2,1,0,48,1,1,2,4,1,1,8,5,6,4,2,2,3,
-5,6,23,2,1,4,6,7,1,1,3,8,51,7,8,5,1,1,7,4,1,1,6,3,1,1,5,6,1,1,4,7,3,4,5,61,2,
-16,67,2,1,0,62,1,2,2,4,1,1,2,5,1,1,3,6,1,1,4,7,1,1,5,8,1,1,6,9,1,1,7,10,1,1,
-8,11,1,1,9,12,134,10,2,3,5,6,7,8,9,10,11,12,13,5,4,8,3,4,5,9,5,13,3,3,8,3,61,
-2,16,65,2,1,0,60,1,2,2,4,1,1,2,5,1,1,3,6,1,1,4,7,1,1,5,8,1,1,6,9,1,1,7,10,1,
-1,8,11,134,10,2,3,3,5,6,7,8,9,10,11,3,1,2,4,13,10,0,5,5,4,8,13,4,3,8,3,61,2,
-16,62,2,1,0,57,1,2,2,4,1,1,2,5,1,1,3,6,1,1,4,7,1,1,5,8,1,1,6,9,1,1,7,10,1,1,
-8,11,134,9,2,3,5,6,7,8,9,10,11,12,5,4,8,3,4,5,6,5,12,3,3,8,3,61,2,16,30,2,9,
-0,25,1,1,2,12,198,9,3,4,8,10,9,3,11,5,3,1,1,4,4,10,0,5,3,12,3,61,2,16,79,2,2,
-0,74,208,4,38,0,1,1,2,5,105,5,6,169,5,7,51,4,7,8,51,6,8,5,1,1,5,4,1,1,4,11,1,
-1,3,6,5,3,7,11,3,3,4,5,1,1,5,5,1,1,4,6,1,1,2,7,1,1,3,8,9,5,4,5,7,5,3,7,5,6,3,
-8,6,3,4,5,61,2,16,49,2,9,0,44,198,3,4,5,12,23,2,1,4,12,13,51,13,8,14,23,2,1,
-4,7,15,1,1,2,16,70,6,3,14,9,3,11,3,9,6,5,5,10,4,15,6,3,16,4,61,2,16,54,2,1,0,
-49,1,1,2,4,51,4,3,5,1,2,2,6,1,1,3,7,1,1,4,4,1,1,5,9,6,6,2,3,7,4,5,9,3,1,2,4,
-5,1,2,5,12,5,6,9,12,6,3,9,4,61,2,16,31,2,9,0,26,23,2,1,4,5,12,1,1,2,13,198,6,
-3,12,11,10,3,3,5,8,4,9,5,3,13,3,61,2,16,18,2,9,0,13,77,12,9,6,5,5,11,4,12,6,
-3,4,5,61,2,16,42,2,9,0,37,70,3,5,5,12,23,2,1,4,12,13,51,13,8,14,1,1,2,15,70,
-6,3,9,14,3,11,3,1,1,4,5,9,10,4,3,15,4,61,2,16,67,2,1,0,62,1,2,2,4,1,1,2,5,1,
-1,3,6,1,1,4,7,1,1,5,8,1,1,6,9,1,1,7,10,1,1,8,11,1,1,9,12,134,10,2,3,5,6,7,8,
-9,10,11,12,13,205,5,9,4,8,5,3,4,13,3,3,8,3,61,2,16,33,2,9,0,28,1,1,2,12,198,
-10,3,7,8,4,10,9,3,11,5,3,1,1,4,6,5,4,5,10,4,3,12,4,61,2,16,74,2,1,0,69,1,2,3,
-4,1,2,4,5,1,1,3,6,1,1,2,7,23,2,3,4,5,6,7,8,1,1,5,9,23,2,1,9,8,10,1,2,2,11,1,
-1,9,3,1,1,8,4,1,1,7,5,1,1,6,6,1,1,4,16,9,9,7,5,10,8,16,9,3,11,7,61,2,16,28,2,
-9,0,23,1,1,2,12,198,10,3,7,6,11,4,10,9,8,3,3,1,1,4,4,3,12,2,61,2,16,26,2,1,0,
-21,1,2,2,4,1,1,2,5,23,2,1,4,5,4,1,1,3,7,3,7,2,61,2,16,54,2,9,0,49,198,4,4,6,
-5,12,23,2,1,4,12,13,51,13,8,5,1,1,3,15,23,2,1,15,4,16,23,2,1,6,16,8,1,1,2,18,
-5,6,4,9,6,5,10,7,11,9,3,18,7,61,2,16,48,2,2,0,43,1,1,2,5,1,1,7,6,134,3,2,2,6,
-7,23,2,1,5,7,8,1,1,3,9,51,8,9,5,1,1,6,4,1,1,5,6,1,1,4,7,3,4,5,61,2,16,42,2,9,
-0,37,198,8,3,4,8,10,9,11,5,12,70,4,2,12,5,13,23,2,1,4,13,14,51,14,8,5,9,9,6,
-5,10,7,11,4,3,4,5,61,2,16,47,2,2,0,42,1,1,2,5,1,1,6,6,6,4,2,2,3,6,7,23,2,1,5,
-7,8,51,8,4,4,1,1,5,10,1,1,4,3,77,5,1,1,3,6,3,10,4,61,2,16,58,2,9,0,53,208,6,
-22,0,1,1,3,12,198,8,4,7,4,10,3,11,5,3,5,8,4,9,5,3,12,3,198,3,2,5,12,23,2,1,4,
-12,13,51,7,8,14,51,13,14,4,5,9,5,10,6,3,11,4,61,2,16,24,2,1,0,19,1,1,3,4,1,1,
-2,5,51,4,5,4,1,1,4,7,3,7,2,61,2,16,54,2,1,0,49,1,1,7,4,1,1,8,5,6,5,2,2,3,4,5,
-6,23,2,1,4,6,7,1,1,2,8,51,7,8,5,1,1,6,4,1,1,5,3,1,1,4,6,1,1,3,7,3,4,5,61,2,16,
-69,2,1,0,64,1,2,2,4,1,1,3,5,1,1,4,6,1,1,5,7,1,1,6,8,1,1,7,9,1,1,8,10,1,1,9,11,
-134,9,2,3,5,6,7,8,9,10,11,12,1,1,2,13,9,4,9,5,3,5,7,6,5,12,3,13,4,3,9,4,61,2,
-16,18,2,3,0,13,10,0,6,47,5,6,7,51,7,4,8,24,8,61,2,16,35,2,9,0,30,1,1,4,12,1,
-1,2,13,198,10,3,12,8,10,9,3,11,4,5,3,77,5,5,8,6,12,4,3,13,4,61,2,16,43,2,9,0,
-38,70,4,5,6,5,12,23,2,1,4,12,13,51,13,8,14,1,1,2,15,70,6,3,9,14,3,11,3,1,1,4,
-5,9,10,4,3,15,4,61,2,16,31,2,9,0,26,198,3,2,5,12,23,2,1,4,12,13,51,13,8,5,9,
-9,6,5,10,7,11,4,3,4,5,61,2,16,70,2,1,0,65,1,1,2,4,1,1,8,5,6,4,2,5,3,5,6,23,2,
-1,4,6,7,1,1,3,8,51,7,8,9,1,2,2,10,1,1,5,11,1,1,6,12,1,1,7,13,6,6,2,3,11,9,12,
-13,3,1,1,4,4,1,2,4,5,3,10,3,61,2,16,61,2,1,0,56,1,2,2,4,1,1,3,5,1,1,4,6,1,1,
-5,7,1,1,6,8,1,1,7,9,1,1,8,10,134,9,2,3,5,6,7,8,9,3,10,3,1,1,2,12,1,2,4,5,5,4,
-8,12,4,3,8,3,61,2,16,62,2,1,0,57,1,2,2,4,1,1,2,5,1,1,3,6,1,1,4,7,1,1,5,8,1,1,
-6,9,1,1,7,10,134,9,2,3,3,5,6,7,8,9,10,11,1,2,4,5,205,6,9,4,9,5,3,4,11,3,3,9,
-4,61,2,16,31,2,9,0,26,1,1,2,12,198,8,3,4,8,10,9,3,5,3,1,1,4,5,205,6,9,10,4,3,
-12,4,61,2,16,33,2,9,0,28,23,2,2,5,6,7,12,23,2,1,4,12,13,51,13,8,5,9,9,6,5,10,
-7,11,4,3,4,5,61,2,16,79,2,1,0,74,1,1,2,4,1,1,8,5,1,1,9,6,6,4,2,5,5,6,7,23,2,
-1,4,7,8,1,1,3,9,51,8,9,10,1,2,2,11,1,1,5,12,1,1,6,13,1,1,7,14,6,6,2,3,12,10,
-13,14,15,1,1,4,4,1,2,4,5,5,3,6,15,3,3,11,4,61,2,16,85,2,1,0,80,1,1,4,4,1,1,5,
-5,1,1,6,6,1,1,7,7,1,1,8,8,1,1,9,9,1,1,10,10,1,1,11,11,134,10,2,3,4,5,6,7,8,9,
-10,11,12,208,3,7,0,1,1,3,3,3,12,1,1,1,2,13,51,4,13,6,1,2,2,15,1,1,3,4,5,10,5,
-12,3,3,15,4,61,2,16,73,2,1,0,68,1,2,2,4,1,1,2,5,1,1,3,6,1,1,4,7,1,1,5,8,1,1,
-6,9,1,1,7,10,1,1,8,11,1,1,9,12,1,1,10,13,134,12,2,3,3,5,6,7,8,9,10,11,12,13,
-14,5,4,8,3,5,5,6,4,14,3,3,8,3,61,2,16,70,2,1,0,65,1,2,2,4,1,1,2,5,1,1,3,6,1,
-1,4,7,1,1,5,8,1,1,6,9,1,1,7,10,1,1,8,11,1,1,9,12,134,11,2,3,3,5,6,7,8,9,10,11,
-12,13,77,6,5,4,9,3,4,5,11,5,13,3,3,9,4,61,2,16,26,2,2,0,21,1,1,2,5,1,1,3,6,13,
-7,9,5,9,5,6,5,7,6,3,9,4,61,2,16,51,2,1,0,46,208,3,31,0,1,1,2,4,10,0,5,47,4,5,
-6,1,1,5,7,1,1,4,3,1,1,3,5,5,6,4,7,6,3,6,4,1,1,4,4,1,1,3,3,3,4,1,61,2,16,57,2,
-1,0,52,208,3,11,0,1,1,4,4,1,1,2,3,3,4,1,1,2,2,4,1,1,2,5,1,1,3,6,1,1,4,7,1,1,
-5,8,6,6,2,3,5,6,7,8,3,5,4,7,5,4,3,7,2,61,2,16,12,2,1,0,7,1,1,2,4,3,4,1,61,2,
-16,43,2,1,0,38,1,2,2,4,1,1,3,5,6,3,2,3,5,6,1,1,2,7,1,2,4,5,9,4,9,5,6,10,3,6,
-5,7,4,10,3,3,9,4,61,2,16,45,2,1,0,40,1,2,2,4,1,1,4,5,1,1,5,6,134,4,2,3,5,6,7,
-1,1,3,8,1,1,2,5,5,4,10,3,6,5,7,3,8,4,3,10,4,61,2,16,48,2,1,0,43,1,2,2,4,1,1,
-2,5,1,1,3,6,1,1,4,7,1,1,5,8,134,6,2,3,5,6,7,8,9,10,0,5,9,4,8,5,3,4,9,3,3,8,3,
-61,2,16,43,2,1,0,38,1,2,2,4,1,1,2,5,1,1,3,6,1,1,4,7,134,6,2,3,5,3,6,7,8,13,6,
-9,4,10,5,3,4,8,3,3,10,4,61,2,16,44,2,1,0,39,1,2,2,4,1,1,2,5,1,1,3,6,134,5,2,
-3,3,5,6,7,1,2,4,8,205,6,5,4,10,5,4,5,7,3,8,5,3,10,4,61,2,16,44,2,1,0,39,1,1,
-2,4,47,4,3,5,1,2,2,6,1,1,3,7,1,1,4,8,134,4,2,3,7,8,3,1,2,4,10,5,5,4,10,5,3,6,
-3,61,2,16,52,2,1,0,47,208,3,32,0,1,2,2,4,1,1,2,5,1,1,3,6,1,1,4,7,134,5,2,3,5,
-6,7,3,5,4,7,5,4,3,7,2,1,1,4,4,1,1,3,3,3,4,1,61,2,16,55,2,1,0,50,1,2,2,4,1,1,
-3,5,1,1,4,6,1,1,5,7,1,1,6,8,6,6,2,3,5,6,7,8,9,1,1,2,10,1,2,4,5,5,4,12,3,6,5,
-9,3,10,4,3,12,4,61,2,16,110,2,4,0,105,10,0,7,8,3,7,60,0,1,2,2,8,47,8,3,9,1,1,
-7,10,1,1,6,11,1,1,5,12,1,1,4,13,1,1,3,14,1,1,2,15,5,9,16,6,7,5,5,6,4,5,5,10,
-3,11,4,5,12,8,13,9,5,14,10,15,11,3,16,9,1,1,6,8,23,2,1,8,4,9,1,1,4,10,51,9,10,
-6,1,1,2,4,1,1,7,3,1,1,5,5,1,1,3,7,3,4,5,61,2,16,54,2,1,0,49,1,2,2,4,1,1,3,5,
-1,1,4,6,1,1,5,7,1,1,6,8,1,1,7,9,134,8,2,3,5,3,6,7,8,9,3,1,1,2,11,13,5,5,4,8,
-11,4,3,8,3,61,2,16,65,2,5,0,60,80,5,32,0,32,5,2,8,9,32,8,2,10,11,1,1,3,12,198,
-8,4,11,4,6,9,10,3,3,5,7,4,11,5,3,12,3,80,6,10,0,77,8,5,6,5,8,6,3,4,5,1,1,2,8,
-9,7,4,3,8,2,61,2,16,67,2,5,0,62,80,5,34,0,32,5,2,8,9,32,8,2,10,11,1,1,3,12,198,
-8,4,4,7,6,9,10,3,3,1,1,5,5,9,11,4,3,12,3,80,6,10,0,77,8,5,6,5,8,6,3,4,5,1,1,
-2,8,9,7,4,3,8,2,61,2,16,35,2,1,0,30,1,2,2,4,1,1,3,5,1,1,2,6,77,7,9,5,10,5,6,
-5,7,6,5,3,7,10,3,3,4,5,61,2,16,3,0,2,199,2,16,3,0,2,198,2,16,3,0,2,197,2,16,
-3,0,2,196,2,16,31,2,1,0,26,1,1,3,4,1,1,4,5,134,3,2,2,5,3,1,1,2,7,5,4,8,7,4,3,
-8,2,61,2,16,28,2,1,0,23,1,2,2,4,1,1,2,5,1,1,3,6,134,5,2,3,5,6,3,3,3,4,1,61,2,
-16,67,2,2,0,62,1,2,3,5,1,1,2,6,134,4,2,7,4,6,7,23,2,1,5,7,8,77,9,51,8,9,4,1,
-2,5,11,1,2,6,12,51,11,12,13,1,2,4,14,51,5,14,15,51,15,9,16,51,13,16,5,1,2,2,
-18,3,18,3,61,2,16,3,0,2,195,2,16,3,0,2,194,2,16,3,0,2,193,2,16,3,0,2,192,2,16,
-3,0,2,191,2,16,3,0,2,190,2,16,3,0,2,189,2,16,3,0,2,188,2,16,3,0,2,187,2,16,3,
-0,2,186,2,16,3,0,2,185,2,16,3,0,2,184,2,16,3,0,2,183,2,16,3,0,2,182,2,16,3,0,
-2,181,2,16,3,0,2,180,2,16,3,0,2,179,2,16,3,0,2,178,2,16,3,0,2,177,2,16,3,0,2,
-176,2,16,3,0,2,175,2,16,3,0,2,174,2,16,3,0,2,173,2,16,3,0,2,172,2,16,3,0,2,171,
-2,16,3,0,2,170,2,16,3,0,2,169,2,16,3,0,2,168,2,16,3,0,2,167,2,16,3,0,2,166,2,
-16,3,0,2,165,2,16,3,0,2,164,2,16,3,0,2,163,2,16,3,0,2,162,2,16,3,0,2,161,2,16,
-3,0,2,160,2,16,3,0,2,159,2,16,3,0,2,158,2,16,3,0,2,157,2,16,3,0,2,156,2,16,3,
-0,2,155,2,16,3,0,2,154,2,16,3,0,2,153,2,16,3,0,2,152,2,16,3,0,2,151,2,16,3,0,
-2,150,2,16,3,0,2,149,2,16,3,0,2,148,2,16,3,0,2,147,2,16,3,0,2,146,2,16,3,0,2,
-145,2,16,3,0,2,144,2,16,3,0,2,143,2,16,3,0,2,142,2,16,3,0,2,141,2,16,3,0,2,140,
-2,16,3,0,2,139,2,16,3,0,2,138,2,16,3,0,2,137,2,16,3,0,2,136,2,16,3,0,2,135,2,
-16,3,0,2,134,2,16,3,0,2,133,2,16,3,0,2,132,2,16,3,0,2,131,2,16,3,0,2,130,2,16,
-3,0,2,129,2,16,3,0,2,128,2,16,3,0,2,127,2,16,3,0,2,126,2,16,3,0,2,125,2,16,3,
-0,2,124,2,16,3,0,2,123,2,16,3,0,2,122,2,16,3,0,2,121,2,16,3,0,2,120,2,16,3,0,
-2,119,2,16,3,0,2,118,2,16,3,0,2,117,2,16,3,0,2,116,2,16,3,0,2,115,2,16,3,0,2,
-114,2,16,3,0,2,113,2,16,3,0,2,112,2,16,3,0,2,111,2,16,3,0,2,110,2,16,3,0,2,109,
-2,16,3,0,2,108,2,16,3,0,2,107,2,16,3,0,2,106,2,16,3,0,2,105,2,16,3,0,2,104,2,
-16,3,0,2,103,2,16,3,0,2,102,2,16,49,2,2,0,44,1,1,2,5,1,1,7,6,6,4,2,2,4,6,7,23,
-2,1,5,7,8,1,1,3,9,51,8,9,5,1,1,6,4,1,1,5,6,1,1,4,7,3,4,5,61,2,16,23,2,9,0,18,
-198,8,2,4,8,10,9,11,5,4,5,3,7,6,3,3,7,2,61,2,16,3,0,2,101,2,16,3,0,2,100,2,16,
-3,0,2,99,2,16,3,0,2,98,2,16,3,0,2,97,2,16,3,0,2,96,2,16,3,0,2,95,2,16,3,0,2,
-94,2,16,3,0,2,93,2,16,3,0,2,92,2,16,3,0,2,91,2,16,3,0,2,90,2,16,3,0,2,89,2,16,
-3,0,2,88,2,16,3,0,2,87,2,16,3,0,2,86,2,16,3,0,2,85,2,16,3,0,2,84,2,16,3,0,2,
-83,2,16,3,0,2,82,2,16,3,0,2,81,2,16,3,0,2,80,2,16,3,0,2,79,2,16,3,0,2,78,2,16,
-3,0,2,77,2,16,3,0,2,76,2,16,3,0,2,75,2,16,32,2,3,0,27,1,1,2,6,198,4,3,5,3,7,
-1,1,4,5,205,9,9,6,10,5,7,3,9,6,3,10,4,61,2,16,116,2,1,0,111,80,3,62,0,1,2,4,
-4,1,1,2,5,1,1,3,6,1,1,4,7,1,1,5,8,1,1,6,9,1,1,7,10,1,1,8,11,134,10,2,5,5,6,7,
-8,3,9,10,11,3,1,2,6,13,205,6,9,4,9,5,5,4,13,5,3,9,4,1,2,2,4,1,1,6,5,1,1,7,6,
-1,1,8,7,1,1,4,8,6,6,2,3,5,6,7,8,3,1,1,2,10,1,1,3,5,5,4,8,10,4,3,8,3,61,2,16,
-33,2,9,0,28,1,1,2,12,198,10,3,4,8,10,9,3,11,6,5,3,1,1,4,5,205,6,9,10,4,3,12,
-4,61,2,16,49,2,9,0,44,1,1,6,12,198,3,5,5,13,23,2,1,4,13,14,51,14,8,15,1,1,2,
-16,198,7,3,10,9,15,3,12,3,205,4,1,1,4,5,9,11,6,3,16,4,61,2,16,3,0,2,74,2,16,
-3,0,2,73,2,16,3,0,2,72,2,16,3,0,2,71,2,16,3,0,2,70,2,16,59,2,1,0,54,1,2,2,4,
-1,1,5,5,1,1,6,6,1,1,7,7,1,1,8,8,134,6,2,3,5,6,7,8,9,1,1,4,10,1,1,3,5,1,1,2,6,
-5,4,13,3,7,5,9,3,10,4,3,13,5,61,2,16,3,0,2,69,2,16,53,2,5,0,48,1,2,2,8,1,1,5,
-9,1,1,6,10,1,1,7,11,134,9,2,3,9,10,11,7,6,5,3,3,1,1,4,13,1,1,3,5,1,1,2,6,5,4,
-7,13,4,3,8,5,61,2,16,47,2,5,0,42,1,1,2,8,1,1,3,9,1,1,4,10,134,8,2,2,8,9,10,7,
-6,5,11,134,8,2,3,8,9,10,7,6,5,5,5,4,8,11,4,3,8,3,61,2,16,93,2,1,0,88,208,3,43,
-0,1,1,2,4,1,1,3,5,1,1,4,6,1,1,5,7,1,1,6,8,134,5,2,4,6,7,8,9,205,10,5,4,8,5,3,
-5,9,4,10,5,3,8,3,1,2,2,4,1,1,4,5,1,1,5,6,1,1,6,7,1,1,3,8,134,6,2,3,5,6,7,8,3,
-1,1,2,10,5,4,7,10,4,3,7,2,61,2,16,92,2,1,0,87,208,3,41,0,1,2,4,4,1,1,3,5,1,1,
-4,6,1,1,5,7,1,1,6,8,134,6,2,5,5,6,7,8,3,1,1,2,10,5,4,7,10,4,3,7,2,1,2,2,4,1,
-1,3,5,1,1,6,6,1,1,4,7,1,1,5,8,1,1,2,9,134,7,2,3,5,6,7,8,9,3,5,4,7,5,4,3,7,2,
-61,2,16,21,2,5,0,16,1,1,2,8,198,7,3,4,7,6,5,3,3,3,8,2,61,2,16,72,2,1,0,67,1,
-2,2,4,1,1,5,5,1,1,6,6,1,1,7,7,1,1,8,8,1,1,9,9,1,1,10,10,1,1,11,11,134,9,2,3,
-5,6,7,8,9,10,11,12,1,1,4,5,1,1,3,6,1,1,2,7,9,4,10,5,3,4,12,3,3,10,5,61,2,16,
-51,2,5,0,46,1,2,2,8,1,1,3,9,1,1,4,10,1,1,5,11,1,1,6,12,1,1,7,13,134,12,2,3,4,
-9,10,11,12,13,7,6,5,3,3,1,1,2,4,3,8,2,61,2,16,45,2,5,0,40,1,1,2,8,1,1,3,9,1,
-1,4,10,134,8,2,2,4,6,5,8,9,10,11,134,8,2,3,4,6,5,8,9,10,5,9,11,4,3,7,3,61,2,
-16,92,2,1,0,87,208,3,41,0,1,2,4,4,1,1,3,5,1,1,4,6,1,1,5,7,1,1,6,8,134,6,2,5,
-5,6,7,8,3,1,1,2,10,5,4,7,10,4,3,7,2,1,2,2,4,1,1,5,5,1,1,6,6,1,1,2,7,1,1,3,8,
-1,1,4,9,134,7,2,3,5,6,7,8,9,3,5,4,7,5,4,3,7,2,61,2,16,24,2,5,0,19,1,1,2,8,198,
-7,3,7,6,5,4,3,3,9,7,4,3,8,2,61,2,16,7,2,5,0,2,24,4,61,2,16,24,2,2,0,19,1,1,2,
-5,1,1,3,6,9,4,8,5,5,4,6,5,3,8,3,61,2,16,7,2,5,0,2,24,7,61,2,16,13,2,3,0,8,5,
-4,8,5,4,3,8,3,61,2,16,37,2,5,0,32,1,2,2,8,1,1,3,9,1,1,4,10,1,1,5,11,134,6,2,
-3,9,10,11,3,3,1,1,2,4,3,8,5,61,2,16,52,2,5,0,47,1,2,2,8,1,1,6,9,1,1,7,10,1,1,
-8,11,134,9,2,3,7,6,5,9,10,11,3,3,1,1,5,4,1,1,4,5,1,1,3,6,1,1,2,7,3,8,5,61,2,
-16,3,0,2,68,2,16,43,2,1,0,38,1,2,2,4,1,1,2,5,1,1,3,6,1,1,4,7,1,1,5,8,134,7,2,
-3,3,5,6,7,8,3,5,4,7,8,4,3,7,2,61,2,16,33,2,5,0,28,1,1,3,8,134,6,2,2,7,6,5,3,
-3,1,1,2,10,9,4,5,5,8,6,10,4,3,6,4,61,2,16,84,2,1,0,79,208,3,38,0,1,1,3,4,1,1,
-2,5,1,1,4,6,1,1,5,7,134,4,2,4,6,7,8,205,9,5,4,10,5,3,5,8,4,9,5,3,10,3,1,2,2,
-4,1,1,5,5,1,1,2,6,1,1,4,7,1,1,3,8,134,6,2,3,5,6,7,8,3,5,4,8,7,4,3,8,2,61,2,16,
-30,2,5,0,25,1,1,3,8,134,6,2,2,6,5,4,3,3,1,1,2,5,5,7,4,8,6,3,6,4,61,2,16,84,2,
-1,0,79,208,3,37,0,1,2,3,4,1,1,2,5,1,1,3,6,1,1,4,7,1,1,5,8,134,6,2,4,5,6,7,8,
-3,5,4,8,7,4,3,8,2,1,1,4,4,1,1,3,5,1,1,5,6,1,1,2,7,134,4,2,2,6,7,8,205,9,5,4,
-10,5,3,5,8,4,9,5,3,10,3,61,2,16,83,2,1,0,78,208,3,37,0,1,2,2,4,1,1,2,5,1,1,3,
-6,1,1,4,7,1,1,5,8,134,6,2,4,5,6,7,8,3,5,4,7,8,4,3,7,2,1,2,2,4,1,1,3,5,1,1,5,
-6,1,1,4,7,1,1,2,8,134,6,2,3,5,6,7,8,3,5,4,7,6,4,3,7,2,61,2,16,32,2,4,0,27,208,
-4,21,0,208,5,15,0,1,1,2,7,198,6,3,6,3,4,5,3,3,7,2,24,4,24,5,61,2,16,93,2,1,0,
-88,208,3,42,0,1,2,3,4,1,1,6,5,1,1,5,6,1,1,4,7,1,1,3,8,1,1,2,9,5,4,10,5,3,5,6,
-4,7,5,5,8,6,9,7,3,10,5,1,2,2,4,1,1,6,5,1,1,5,6,1,1,4,7,1,1,3,8,1,1,2,9,5,4,10,
-5,3,5,6,4,7,5,5,8,6,9,7,3,10,5,61,2,16,58,2,1,0,53,1,1,3,4,8,3,4,33,0,1,2,2,
-5,1,1,4,6,1,1,5,7,1,1,6,8,1,1,7,9,134,7,2,3,3,6,7,8,9,3,3,5,2,1,1,7,5,1,1,2,
-3,3,5,1,61,2,16,58,2,1,0,53,1,1,3,4,8,3,4,33,0,1,2,2,5,1,1,4,6,1,1,5,7,1,1,6,
-8,1,1,7,9,134,7,2,3,6,7,8,3,9,3,3,5,2,1,1,7,5,1,1,2,3,3,5,1,61,2,16,89,2,5,0,
-84,1,1,3,8,44,8,5,9,208,9,27,0,1,1,2,10,1,1,4,11,134,8,2,4,11,4,7,6,5,3,3,5,
-8,5,10,6,3,6,4,8,8,5,30,0,1,1,2,10,1,1,4,11,134,8,2,3,11,7,6,5,4,3,3,9,7,4,5,
-8,5,10,6,3,6,4,1,2,2,10,9,7,5,3,10,3,61,2,16,25,2,4,0,20,208,4,14,0,1,1,2,7,
-198,5,3,6,5,4,5,3,7,3,24,4,61,2,16,129,51,2,2,0,174,208,3,66,0,1,1,4,5,1,1,9,
-6,6,4,2,7,3,6,7,23,2,1,5,7,8,1,1,3,9,51,8,9,10,1,2,5,11,1,1,6,12,1,1,7,13,1,
-1,8,14,6,6,2,6,12,10,13,14,3,1,1,5,16,5,4,6,16,4,3,11,4,1,1,2,5,208,5,47,0,1,
-1,4,6,1,1,9,7,6,3,2,4,7,8,23,2,1,6,8,9,1,1,3,10,51,9,10,5,1,1,8,4,1,1,7,3,1,
-1,6,6,1,1,5,7,3,4,5,1,2,2,6,1,1,6,7,1,1,3,8,1,1,7,9,1,1,8,10,6,6,2,3,7,8,9,10,
-3,1,1,5,4,1,1,4,5,1,1,9,14,5,6,9,14,6,3,9,4,61,2,16,3,0,2,67,2,16,3,0,2,66,2,
-16,3,0,2,65,2,16,3,0,2,64,2,16,3,0,2,63,2,16,3,0,2,62,2,16,3,0,2,61,2,16,3,0,
-2,60,2,16,30,2,5,0,25,1,1,2,8,205,9,1,1,3,10,134,6,2,2,10,6,5,4,5,9,9,4,3,8,
-3,61,2,16,45,2,5,0,40,1,1,2,8,205,9,1,1,3,10,1,1,4,11,1,1,5,12,1,1,6,13,134,
-9,2,2,10,6,5,4,11,12,13,5,9,9,4,3,8,3,61,2,16,31,2,5,0,26,1,1,2,8,205,9,1,1,
-3,10,134,7,2,2,10,4,7,6,5,5,9,9,4,3,8,3,61,2,16,85,2,1,0,80,208,3,38,0,1,1,3,
-4,1,1,2,5,1,1,4,6,1,1,5,7,134,4,2,3,6,7,8,205,9,5,4,10,5,3,5,8,4,9,5,3,10,3,
-1,1,4,4,1,1,2,5,205,6,1,1,5,7,1,1,3,8,134,4,2,2,7,8,9,5,4,8,5,3,5,6,4,9,5,3,
-8,3,61,2,16,27,2,5,0,22,1,1,2,8,1,1,3,9,134,6,2,2,9,6,5,4,4,205,5,3,8,3,61,2,
-16,42,2,5,0,37,1,1,2,8,1,1,3,9,1,1,4,10,1,1,5,11,1,1,6,12,134,9,2,2,9,6,5,4,
-10,11,12,4,205,5,3,8,3,61,2,16,28,2,5,0,23,1,1,2,8,1,1,3,9,134,7,2,2,9,4,7,6,
-5,4,205,5,3,8,3,61,2,16,85,2,1,0,80,208,3,38,0,1,1,3,4,1,1,2,5,1,1,4,6,1,1,5,
-7,134,4,2,3,6,7,8,205,9,5,4,10,5,3,5,8,4,9,5,3,10,3,1,1,4,4,1,1,2,5,1,1,5,6,
-1,1,3,7,134,4,2,2,6,7,8,205,9,5,4,10,5,3,5,8,4,9,5,3,10,3,61,2,16,3,0,2,59,2,
-3,29,115,116,114,105,110,103,45,108,101,110,103,116,104,58,32,110,111,116,32,
-97,32,115,116,114,105,110,103,58,32,2,3,24,115,116,114,45,105,116,101,114,58,
-32,110,111,116,32,97,32,115,116,114,105,110,103,58,32,2,3,68,105,109,112,108,
-101,109,101,110,116,97,116,105,111,110,32,114,101,115,116,114,105,99,116,105,
-111,110,58,32,97,100,100,32,109,111,114,101,32,118,97,108,117,101,115,32,116,
-111,32,99,111,110,116,105,110,117,97,116,105,111,110,32,104,97,110,100,108,105,
-110,103,2,16,3,0,2,58,2,16,3,0,2,57,2,16,3,0,2,56,2,16,3,0,2,55,2,16,3,0,2,54,
-2,16,3,0,2,53,2,16,3,0,2,52,1,17,3,136,71,7,8,1,17,2,136,71,1,2,16,3,0,2,51,
-1,17,3,136,71,1,136,72,1,17,3,136,71,136,85,1,1,17,3,136,69,4,136,70,1,17,2,
-136,67,1,1,17,2,136,33,136,34,1,17,2,136,45,1,1,17,3,84,85,85,1,17,2,84,1,2,
-3,9,66,97,100,32,109,97,116,104,58,2,3,10,98,97,100,32,109,97,116,104,58,32,
-2,3,12,66,97,100,32,110,117,109,98,101,114,58,32,1,17,3,136,97,0,32,0,25,1,40,
-2,0,0,1,0,13,0,1,40,2,0,0,0,1,1,17,3,135,117,11,6,1,17,4,135,117,135,120,135,
-119,4,1,17,2,136,98,135,117,1,17,2,136,57,135,117,1,17,5,135,117,4,137,70,1,
-136,10,1,17,4,135,117,5,137,72,3,1,17,3,135,114,17,11,1,17,7,135,113,0,0,135,
-255,255,127,8,135,114,9,7,137,48,1,17,2,136,100,1,1,17,3,135,112,11,135,113,
-1,17,2,136,106,1,1,17,5,135,113,13,1,135,115,135,115,1,17,2,136,66,1,1,17,2,
-135,113,135,114,1,17,2,136,68,1,1,17,3,135,114,136,5,18,1,17,3,135,114,2,1,1,
-17,4,135,114,3,135,118,135,118,1,17,2,136,75,1,1,17,3,135,115,22,136,9,1,17,
-3,135,115,2,1,1,17,3,135,115,18,1,1,17,3,135,115,25,24,1,17,2,136,16,136,13,
-1,17,2,136,17,136,14,1,17,2,136,18,136,15,1,17,12,135,118,5,14,3,10,16,2,12,
-1,29,4,28,1,18,2,1,21,1,17,2,136,21,136,18,1,17,2,136,22,136,19,1,17,2,136,23,
-136,20,1,17,12,135,121,19,3,10,21,2,15,17,1,9,34,33,1,18,2,1,26,1,17,2,136,90,
-135,122,1,17,2,137,2,135,122,1,17,2,135,122,2,1,17,5,135,122,36,137,63,2,1,1,
-17,2,135,121,135,122,1,17,2,136,95,1,1,17,2,135,122,1,1,17,2,137,8,135,122,1,
-17,3,136,12,136,31,44,1,17,3,136,13,136,32,45,1,17,3,135,124,4,1,1,17,2,136,
-61,5,1,17,11,135,125,45,137,110,18,136,22,6,4,44,5,2,1,1,17,2,137,14,1,1,17,
-2,135,126,136,23,1,17,2,136,102,1,1,17,2,137,17,135,127,1,17,2,136,43,136,40,
-1,17,3,136,4,2,1,1,17,2,136,69,3,1,17,2,136,46,136,43,1,17,2,136,47,136,44,1,
-17,4,136,4,28,136,32,0,0,135,255,255,127,1,17,12,136,4,56,137,120,8,5,4,59,7,
-3,2,1,0,0,135,255,255,127,1,17,2,137,25,1,1,17,2,136,4,136,5,1,17,2,137,27,1,
-1,17,4,136,1,60,137,119,1,1,17,3,135,127,136,37,136,37,1,17,2,136,116,1,1,17,
-2,135,127,136,42,1,17,2,135,127,136,40,1,17,7,135,127,136,2,33,38,2,136,41,1,
-1,17,2,136,120,1,1,17,2,136,97,35,1,17,3,136,1,6,1,1,17,2,136,1,1,1,17,2,137,
-38,1,1,17,2,136,1,37,1,17,2,137,36,1,1,17,3,136,0,1,136,1,1,17,3,136,0,136,5,
-1,1,17,3,136,0,3,1,1,17,3,136,3,4,136,4,1,17,3,136,3,136,8,1,1,17,3,136,3,6,
-1,1,17,4,136,3,136,10,4,1,1,17,2,136,9,1,1,17,2,136,77,15,1,17,3,136,5,25,1,
-1,17,3,136,5,17,1,1,17,3,136,5,57,1,1,17,3,136,5,53,1,1,17,2,136,5,1,1,17,3,
-136,5,55,1,1,17,3,136,5,56,1,1,17,2,136,5,1,1,17,3,136,5,1,20,1,17,4,136,5,29,
-11,1,1,17,2,137,60,1,1,17,2,136,86,136,83,1,17,2,136,87,136,84,1,17,2,136,88,
-136,85,1,17,2,136,89,136,86,1,17,2,136,90,136,87,1,17,3,136,69,136,88,101,1,
-17,3,136,70,136,89,102,1,17,3,136,71,136,90,103,1,17,13,136,14,101,138,10,9,
-8,39,7,6,5,4,3,2,1,1,17,2,137,70,1,1,17,3,136,14,76,136,15,1,17,2,137,30,1,1,
-17,4,136,15,78,97,136,17,1,17,2,137,32,1,1,17,3,136,16,3,0,0,131,255,255,127,
-1,17,3,136,16,2,4,1,17,7,136,16,0,0,135,255,255,127,82,2,77,1,136,21,1,17,2,
-137,36,1,1,17,4,136,17,122,138,8,115,1,17,3,135,125,1,135,126,1,17,3,135,125,
-86,1,1,17,2,137,82,1,1,17,3,135,126,88,137,70,1,17,4,135,126,59,1,2,1,17,3,135,
-126,7,1,1,17,2,135,126,1,1,17,2,137,87,136,79,1,17,2,135,125,1,1,17,2,137,85,
-1,1,17,3,135,123,95,135,124,1,17,4,135,123,135,126,66,1,1,17,4,135,123,3,64,
-1,1,17,2,136,1,1,1,40,2,0,0,0,0,13,0,1,17,3,135,125,81,136,104,1,17,3,135,125,
-82,1,1,17,5,135,125,69,1,4,3,1,17,3,135,125,70,1,1,17,2,137,99,1,1,17,2,135,
-126,129,3,1,17,2,136,126,1,1,17,2,135,127,1,1,17,2,137,0,3,1,17,2,136,1,1,1,
-17,5,136,1,6,129,8,3,1,1,17,2,137,106,1,1,17,2,137,4,129,10,1,17,3,136,33,22,
-1,1,17,3,136,33,129,12,1,1,17,2,137,7,129,13,1,17,3,136,96,25,1,1,17,2,136,2,
-129,15,1,17,2,136,3,129,16,1,17,2,137,48,28,1,17,13,136,3,129,19,138,36,129,
-18,6,4,111,3,2,1,29,136,4,136,4,1,17,2,137,50,129,16,1,17,3,135,107,47,1,1,17,
-2,137,52,129,18,1,17,2,135,108,129,19,1,17,6,135,108,50,3,2,1,129,20,1,17,3,
-135,108,6,137,2,1,17,2,137,122,1,1,17,2,135,109,0,0,132,128,128,0,1,17,3,130,
-12,0,0,1,0,0,2,1,17,3,130,13,0,0,3,0,0,8,1,17,3,130,14,0,0,5,0,0,32,1,17,5,130,
-12,2,0,0,2,0,0,4,3,1,17,3,130,16,0,0,7,0,0,129,0,1,17,3,130,17,0,0,9,0,0,132,
-0,1,17,5,130,15,2,0,0,6,0,0,64,4,1,17,3,130,19,0,0,11,0,0,144,0,1,17,3,130,20,
-0,0,13,0,0,192,0,1,17,5,130,18,2,0,0,10,0,0,136,0,4,1,17,5,130,19,4,0,0,4,0,
-0,16,7,1,17,3,130,23,0,0,15,0,0,130,128,0,1,17,3,130,24,0,0,17,0,0,136,128,0,
-1,17,5,130,22,2,0,0,14,0,0,129,128,0,5,1,17,3,130,26,0,0,19,0,0,160,128,0,1,
-17,3,130,27,0,0,21,0,0,129,128,128,0,1,17,3,130,28,0,0,23,0,0,132,128,128,0,
-1,17,5,130,26,3,0,0,18,0,0,144,128,0,5,1,17,5,130,27,2,0,0,22,0,0,130,128,128,
-0,3,1,17,5,130,28,6,0,0,12,0,0,160,0,10,1,17,5,130,29,2,0,0,20,0,0,192,128,0,
-3,1,17,5,130,25,1,0,0,16,0,0,132,128,0,2,1,17,5,130,31,1,0,0,8,0,0,130,0,12,
-1,17,3,136,3,129,19,136,91,1,17,3,136,3,25,1,1,17,4,136,3,26,1,137,116,1,17,
-3,136,2,129,53,136,3,1,17,3,136,2,72,1,1,17,3,136,2,129,29,1,1,17,3,136,106,
-129,11,1,1,17,4,136,3,129,65,1,8,1,17,3,136,3,129,13,1,1,17,6,136,3,33,137,62,
-129,67,1,10,1,17,4,136,3,129,1,8,1,1,17,4,136,3,129,5,129,2,1,1,17,2,137,117,
-1,1,17,2,136,4,1,1,17,8,136,3,129,64,136,4,136,4,137,42,137,42,39,1,1,17,2,138,
-34,1,1,17,3,136,0,129,66,137,44,1,17,3,136,1,129,67,137,45,1,17,3,136,1,59,136,
-5,1,17,3,136,1,60,1,1,17,3,136,1,129,66,1,1,17,4,136,1,6,1,138,43,1,17,6,136,
-1,129,72,6,5,136,7,1,1,17,2,138,42,1,1,17,3,136,86,129,43,136,2,1,17,2,137,93,
-2,1,17,2,137,107,3,1,17,3,136,4,104,1,1,17,3,136,4,129,47,1,1,17,3,136,4,106,
-1,1,17,6,136,4,107,6,129,49,5,1,1,18,2,1,129,76,1,18,2,129,52,1,1,17,3,136,95,
-129,57,136,6,1,17,3,136,6,111,1,1,17,3,136,6,129,59,136,8,1,17,3,136,6,113,1,
-1,17,2,137,105,14,1,17,2,137,119,15,1,17,3,136,16,116,1,1,17,3,136,16,129,64,
-1,1,17,3,136,16,118,1,1,17,7,136,11,8,129,66,5,119,1,6,1,18,2,1,129,88,1,17,
-2,138,63,1,1,18,2,129,70,1,1,17,3,136,29,14,136,11,1,17,4,136,10,15,1,136,11,
-1,18,2,18,1,1,18,2,129,69,1,1,17,3,136,12,5,136,14,1,17,3,136,12,6,1,1,17,2,
-136,12,1,1,18,2,11,1,1,17,2,138,73,1,1,18,2,129,80,1,1,17,2,138,9,7,1,17,4,135,
-72,8,1,129,117,1,17,2,138,11,3,1,17,5,135,73,4,129,119,1,10,1,17,2,135,70,135,
-71,1,17,2,138,38,1,1,17,2,135,71,1,1,18,2,1,90,1,17,3,137,110,130,0,135,27,1,
-17,4,135,24,129,127,130,15,1,1,17,2,135,23,135,24,1,17,2,138,47,1,1,17,2,135,
-23,135,24,1,17,3,135,23,5,1,1,17,2,138,47,1,1,17,3,135,127,14,138,77,1,17,2,
-135,25,1,1,17,3,135,25,9,1,1,17,2,135,25,7,1,17,7,135,25,130,9,130,24,2,5,10,
-1,1,17,2,138,95,1,1,17,3,138,102,0,13,0,1,2,3,36,66,97,100,32,118,101,99,116,
-111,114,32,110,111,100,101,32,105,110,32,100,105,115,112,97,116,99,104,45,49,
-58,32,116,121,112,101,32,2,3,27,76,101,97,102,32,118,101,99,116,111,114,32,105,
-110,32,100,105,115,112,97,116,99,104,45,50,58,32,2,3,35,66,97,100,32,118,101,
-99,116,111,114,32,110,111,100,101,32,105,110,32,100,105,115,112,97,116,99,104,
-45,50,58,32,111,98,106,32,2,3,24,118,101,99,45,108,101,97,102,45,111,102,58,
-32,98,97,100,32,105,110,100,101,120,58,32,2,3,29,118,101,99,116,111,114,45,108,
-101,110,103,116,104,58,32,110,111,116,32,97,32,118,101,99,116,111,114,58,32,
-1,17,4,134,87,130,17,5,0,0,159,127,1,17,4,134,87,130,18,4,5,1,17,2,138,25,2,
-1,17,2,138,26,3,1,17,6,134,89,3,2,4,0,0,160,0,1,1,17,2,138,107,1,1,17,2,136,
-97,5,1,17,3,134,89,2,1,1,17,6,134,87,130,25,10,1,7,0,0,160,0,1,17,6,134,87,130,
-26,10,139,18,139,78,28,1,17,2,138,70,134,83,1,17,2,135,98,1,1,17,3,134,84,36,
-1,1,17,2,138,115,1,1,17,3,134,84,34,134,85,1,17,4,134,84,41,1,0,0,160,0,1,17,
-3,134,84,3,1,1,17,3,134,84,9,1,1,17,4,134,84,9,135,94,1,2,3,17,104,111,119,32,
-100,111,32,105,32,105,116,101,114,97,116,101,32,1,17,2,133,16,135,68,1,17,3,
-133,16,138,74,1,1,1,2,0,0,0,0,13,0,1,1,2,1,0,13,0,1,17,3,133,7,1,133,8,1,17,
-4,133,6,138,8,1,133,7,1,17,4,133,6,2,138,79,1,1,17,2,139,1,1,1,17,4,133,7,130,
-45,9,10,1,17,4,133,7,134,103,1,35,1,17,3,133,7,135,73,1,1,17,3,138,121,138,84,
-1,1,17,2,138,68,5,1,17,3,133,9,2,1,1,17,2,139,16,139,17,1,17,2,139,16,1,1,17,
-2,139,15,139,16,1,17,2,139,16,139,15,1,17,3,139,18,0,13,1,130,64,2,3,29,115,
-116,114,105,110,103,45,108,101,110,103,116,104,58,32,110,111,116,32,97,32,115,
-116,114,105,110,103,58,32,2,3,24,115,116,114,45,105,116,101,114,58,32,110,111,
-116,32,97,32,115,116,114,105,110,103,58,32,2,3,25,115,116,114,45,105,116,101,
-114,114,58,32,110,111,116,32,97,32,115,116,114,105,110,103,58,32,2,3,23,70,97,
-105,108,101,100,32,116,111,32,109,97,107,101,32,115,116,114,105,110,103,58,32,
-1,1,2,0,0,0,0,13,0,2,3,68,105,109,112,108,101,109,101,110,116,97,116,105,111,
-110,32,114,101,115,116,114,105,99,116,105,111,110,58,32,97,100,100,32,109,111,
-114,101,32,118,97,108,117,101,115,32,116,111,32,99,111,110,116,105,110,117,97,
-116,105,111,110,32,104,97,110,100,108,105,110,103,2,16,3,0,2,50,2,16,11,2,3,
-0,6,50,4,5,6,24,6,61,2,16,10,2,2,0,5,62,4,5,24,5,61,2,16,13,2,5,0,8,63,4,5,6,
-7,8,24,8,61,1,17,3,139,17,2,139,18,1,17,2,139,20,1,1,17,2,139,18,3,1,17,3,139,
-18,7,8,1,17,2,139,18,1,2,16,3,0,2,49,1,17,3,139,18,1,139,19,1,17,3,139,18,139,
-32,1,1,17,3,139,16,4,139,17,1,17,2,139,16,1,1,17,2,139,16,2,1,17,2,139,16,3,
-1,17,2,139,16,4,1,17,2,139,16,5,1,17,2,139,16,6,1,17,2,139,16,6,1,17,3,139,16,
-8,1,1,17,2,131,61,9,1,17,2,139,16,10,1,17,2,139,16,11,1,17,5,139,13,2,139,15,
-8,139,14,1,17,2,139,13,1,1,17,4,139,13,4,139,18,1,1,17,3,139,12,13,139,117,1,
-17,4,139,10,2,139,12,139,11,1,17,3,139,10,12,1,1,17,2,139,8,139,9,1,17,2,139,
-11,1,1,17,2,139,9,139,8,1,17,3,139,8,2,1,1,17,3,139,8,23,1,1,17,3,139,8,24,1,
-1,17,3,139,61,0,13,0,130,107,1,18,3,48,130,112,130,112,1,18,3,49,130,112,130,
-113,1,18,3,50,130,114,130,113,1,18,3,51,130,114,130,114,1,17,3,139,9,139,11,
-139,10,1,17,2,139,57,1,1,17,2,139,9,139,10,1,17,2,139,21,1,1,17,2,139,10,139,
-63,1,17,2,139,10,1,1,17,2,139,10,1,1,17,2,139,25,1,1,17,2,139,10,139,11,1,17,
-2,139,30,1,1,17,2,139,10,139,11,1,17,2,139,29,1,1,17,2,139,11,139,71,1,17,2,
-139,11,1,1,17,2,139,74,1,1,17,2,139,75,139,12,1,17,2,139,74,139,75,1,17,2,139,
-77,1,1,17,2,139,12,1,1,17,2,139,12,1,1,17,3,139,12,139,31,1,1,17,2,139,77,1,
-1,17,3,139,13,5,1,1,17,2,139,83,139,13,1,17,3,139,90,0,13,0,1,1,17,3,139,12,
-1,139,13,1,17,4,139,12,2,139,15,1,1,17,2,139,12,1,1,17,2,139,11,139,12,1,17,
-3,139,11,18,1,1,17,2,139,11,1,1,17,4,139,11,82,1,79,1,17,4,139,9,8,139,101,139,
-10,1,17,2,139,9,1,1,17,4,139,6,10,139,22,139,7,1,17,2,139,6,1,1,17,3,135,97,
-135,99,135,98,1,17,5,131,109,131,113,131,112,131,111,131,110,1,17,5,131,110,
-131,109,131,108,131,107,131,106,1,17,2,131,106,2,1,17,2,131,107,2,1,17,3,131,
-83,131,85,131,84,1,17,2,139,11,4,1,17,3,131,109,6,1,1,17,3,131,108,7,1,1,17,
-3,131,53,8,1,1,17,2,139,15,8,1,17,3,131,113,10,1,1,17,3,131,113,11,1,1,17,4,
-131,56,8,4,1,1,17,2,139,19,12,1,17,3,132,88,12,1,1,17,5,131,58,11,3,13,1,1,17,
-3,131,58,12,1,1,17,2,131,117,17,1,17,3,131,59,2,1,1,17,2,139,25,18,1,17,3,131,
-123,20,1,1,17,3,131,120,21,1,1,17,3,131,62,22,1,1,17,2,139,29,22,1,17,3,131,
-127,24,1,1,17,3,131,123,25,1,1,17,4,131,65,22,4,1,1,17,3,131,65,23,1,1,17,2,
-132,0,28,1,17,3,131,126,2,1,1,17,2,139,36,29,1,17,2,139,36,30,1,17,4,132,0,31,
-2,1,1,17,2,139,39,4,1,17,2,139,39,16,1,17,4,132,3,35,2,1,1,17,4,132,3,35,4,1,
-1,17,2,139,92,1,1,17,2,139,44,37,1,17,2,139,44,38,1,17,4,132,8,39,2,1,1,17,2,
-139,47,41,1,17,2,139,47,42,1,17,4,132,11,43,2,1,1,17,3,131,122,4,1,1,17,2,139,
-100,1,1,17,3,132,11,132,12,132,12,1,17,2,132,11,1,1,17,2,139,42,46,1,17,3,132,
-12,12,1,1,17,2,139,52,139,53,1,17,4,132,13,139,55,139,54,1,1,17,2,132,13,1,1,
-17,2,139,108,1,1,17,2,139,56,139,57,1,17,4,132,15,139,58,139,59,1,1,17,2,132,
-17,1,1,17,2,139,112,1,1,17,3,139,57,5,139,53,1,17,2,139,60,10,1,17,3,132,19,
-94,1,1,17,3,139,60,8,139,61,1,17,2,139,68,33,1,17,2,139,69,62,1,17,3,132,13,
-35,1,1,17,3,132,13,62,1,1,17,3,132,13,66,1,1,17,2,139,73,66,1,17,3,132,17,39,
-1,1,17,3,132,17,66,1,1,17,3,132,17,70,1,1,17,3,132,17,5,1,1,17,4,132,17,69,10,
-1,1,17,2,139,78,72,1,17,5,132,18,70,2,72,1,1,17,3,132,18,71,1,1,17,2,139,81,
-58,1,17,2,139,83,76,1,17,3,132,53,78,1,1,17,3,132,21,61,1,1,17,3,132,21,77,1,
-1,17,2,139,87,80,1,17,3,132,57,82,1,1,17,3,132,25,65,1,1,17,3,132,25,81,1,1,
-17,3,132,25,5,1,1,17,4,132,31,83,10,1,1,17,2,139,93,86,1,17,5,132,27,84,2,86,
-1,1,17,3,132,27,85,1,1,17,3,132,26,132,27,132,27,1,17,3,132,27,132,26,132,26,
-1,17,2,139,98,17,1,17,3,132,26,93,1,1,17,2,132,3,1,1,17,2,139,101,94,1,17,3,
-132,71,96,1,1,17,3,132,29,97,1,1,17,2,132,6,1,1,17,2,132,6,1,1,17,3,132,6,6,
-1,1,17,3,136,89,97,1,1,17,2,132,33,1,1,17,3,132,33,13,1,1,17,2,139,109,103,1,
-17,2,132,34,1,1,17,4,132,34,15,3,1,1,17,2,139,113,106,1,17,2,132,35,1,1,17,2,
-139,115,108,1,17,3,132,43,109,1,1,17,2,132,16,1,1,17,2,139,118,111,1,17,3,132,
-88,112,1,1,17,3,132,46,113,1,1,17,2,132,19,1,1,17,2,132,19,1,1,17,3,132,19,6,
-1,1,17,3,136,106,114,1,1,17,2,132,50,1,1,17,3,132,50,30,1,1,17,4,132,47,13,30,
-1,1,17,4,132,47,118,16,1,1,17,3,132,47,119,1,1,17,2,140,93,1,1,17,3,132,48,36,
-124,1,17,3,132,48,122,1,1,17,3,132,50,52,126,1,17,3,132,49,124,1,1,17,4,132,
-49,5,3,1,1,17,3,132,49,132,64,1,1,17,2,140,100,1,1,17,2,136,8,129,2,1,17,3,136,
-0,129,1,1,1,17,3,139,31,3,1,2,3,9,66,97,100,32,109,97,116,104,58,2,3,10,98,97,
-100,32,109,97,116,104,58,32,2,3,12,66,97,100,32,110,117,109,98,101,114,58,32,
-1,17,3,140,113,0,0,0,132,31,1,17,3,140,112,0,32,0,132,31,1,40,2,0,0,1,0,13,0,
-1,40,2,0,0,0,1,1,17,3,140,4,129,77,7,1,17,4,140,4,140,7,140,6,4,1,17,2,140,113,
-140,4,1,17,2,140,72,140,4,1,17,5,140,4,4,141,85,1,140,25,1,17,4,140,4,5,141,
-87,3,1,17,2,140,4,2,1,17,3,140,2,129,84,13,1,17,7,140,1,0,0,135,255,255,127,
-9,140,2,10,8,141,64,1,17,2,140,116,1,1,17,3,140,0,12,140,1,1,17,2,140,122,1,
-1,17,5,140,1,14,1,140,3,140,3,1,17,2,140,82,1,1,17,2,140,1,140,2,1,17,2,140,
-84,1,1,17,3,140,2,140,21,19,1,17,3,140,2,2,1,1,17,4,140,2,3,140,6,140,6,1,17,
-2,140,91,1,1,17,3,140,3,23,140,25,1,17,3,140,3,2,1,1,17,3,140,3,19,1,1,17,3,
-140,3,26,25,1,17,2,140,32,140,29,1,17,2,140,33,140,30,1,17,2,140,34,140,31,1,
-17,12,140,6,5,14,3,10,16,2,12,1,30,4,29,1,18,2,1,21,1,17,2,140,37,140,34,1,17,
-2,140,38,140,35,1,17,2,140,39,140,36,1,17,12,140,9,19,3,10,21,2,15,17,1,9,35,
-34,1,18,2,1,26,1,17,2,140,106,140,10,1,17,2,141,18,140,10,1,17,2,140,10,2,1,
-17,5,140,10,37,141,79,2,1,1,17,2,140,9,140,10,1,17,2,140,111,1,1,17,2,140,10,
-1,1,17,2,141,24,140,10,1,17,3,140,28,140,47,45,1,17,3,140,29,140,48,46,1,17,
-3,140,12,4,1,1,17,2,140,77,5,1,17,11,140,13,46,141,126,18,140,38,6,4,45,5,2,
-1,1,17,2,141,30,1,1,17,2,140,14,140,39,1,17,2,140,118,1,1,17,2,141,33,140,15,
-1,17,2,140,59,140,56,1,17,3,140,20,2,1,1,17,2,140,85,3,1,17,2,140,62,140,59,
-1,17,2,140,63,140,60,1,17,4,140,20,28,140,48,0,0,135,255,255,127,1,17,12,140,
-20,57,142,8,8,5,4,60,7,3,2,1,0,0,135,255,255,127,1,17,2,141,41,1,1,17,2,140,
-20,140,21,1,17,2,141,43,1,1,17,2,140,21,140,52,1,17,2,141,45,1,1,17,2,140,21,
-140,22,1,17,2,141,47,1,1,17,3,140,77,1,140,22,1,17,4,140,22,66,142,12,6,1,17,
-4,140,22,67,141,61,5,1,17,4,140,22,68,142,12,3,1,17,3,140,22,140,60,140,60,1,
-17,2,141,11,1,1,17,2,140,22,140,65,1,17,2,140,22,140,63,1,17,7,140,22,140,25,
-40,45,2,140,64,1,1,17,2,141,15,1,1,17,2,140,120,42,1,17,3,140,24,6,1,1,17,2,
-140,24,1,1,17,2,141,61,1,1,17,2,140,24,44,1,17,2,141,59,1,1,17,3,140,23,1,140,
-24,1,17,3,140,23,140,28,1,1,17,3,140,23,3,1,1,17,3,140,26,4,140,27,1,17,3,140,
-26,140,31,1,1,17,3,140,26,6,1,1,17,4,140,26,140,33,4,1,1,17,2,140,32,1,1,17,
-2,140,100,15,1,17,3,140,28,32,1,1,17,3,140,28,17,1,1,17,3,140,28,64,1,1,17,3,
-140,28,60,1,1,17,2,140,28,1,1,17,3,140,28,62,1,1,17,3,140,28,63,1,1,17,2,140,
-28,1,1,17,3,140,28,1,20,1,17,4,140,28,29,11,1,1,17,2,141,83,1,1,17,2,140,109,
-140,106,1,17,2,140,110,140,107,1,17,2,140,111,140,108,1,17,2,140,112,140,109,
-1,17,2,140,113,140,110,1,17,3,140,92,140,111,109,1,17,3,140,93,140,112,110,1,
-17,3,140,94,140,113,111,1,17,13,140,37,109,142,33,9,8,39,7,6,5,4,3,2,1,1,17,
-2,141,93,1,1,17,3,140,37,83,140,38,1,17,2,141,53,1,1,17,4,140,38,85,104,140,
-40,1,17,2,141,55,1,1,17,3,140,39,3,0,0,131,255,255,127,1,17,3,140,39,2,4,1,17,
-7,140,39,0,0,135,255,255,127,89,2,84,1,140,44,1,17,2,141,59,1,1,17,4,140,40,
-130,68,142,31,124,1,17,3,140,40,111,140,47,1,17,3,140,40,2,1,1,17,3,140,40,94,
-1,1,17,2,141,64,1,1,17,3,140,41,91,140,116,1,17,3,140,41,67,1,1,17,3,140,62,
-98,1,1,17,4,140,42,69,1,4,1,17,3,140,42,10,1,1,17,2,140,42,1,1,17,2,140,42,129,
-1,1,17,3,140,42,2,1,1,17,3,140,41,129,3,141,124,1,17,3,140,41,4,1,1,17,3,140,
-41,129,5,1,1,17,3,140,41,129,6,141,127,1,17,3,140,41,129,7,1,1,17,3,140,105,
-8,1,1,17,3,140,47,129,9,142,2,1,17,3,140,45,129,10,142,3,1,17,3,140,45,129,11,
-1,1,17,3,140,47,129,12,142,5,1,17,3,140,46,129,13,141,53,1,17,3,140,51,14,1,
-1,17,3,140,48,129,15,141,55,1,17,16,140,47,129,17,142,29,129,16,11,8,108,7,5,
-142,9,4,2,1,16,140,48,141,56,1,17,3,140,46,27,140,47,1,17,3,140,46,119,1,1,17,
-2,142,3,1,1,17,3,140,47,121,141,119,1,17,4,140,47,92,1,2,1,17,3,140,47,33,1,
-1,17,2,140,47,1,1,17,2,142,8,141,0,1,17,2,140,46,1,1,17,2,142,6,1,1,17,3,140,
-44,129,0,140,45,1,17,4,140,44,140,47,99,1,1,17,4,140,44,3,92,1,1,17,2,140,50,
-1,1,40,2,0,0,0,0,13,0,1,17,3,140,46,114,141,25,1,17,3,140,46,115,1,1,17,5,140,
-46,97,1,4,3,1,17,3,140,46,98,1,1,17,2,142,20,1,1,17,2,140,47,129,37,1,17,2,141,
-47,1,1,17,2,140,48,1,1,17,2,141,49,3,1,17,2,140,50,1,1,17,5,140,50,6,129,42,
-3,1,1,17,2,142,27,1,1,17,2,141,77,1,1,17,3,140,52,129,18,1,1,17,3,140,52,23,
-1,1,17,2,140,52,129,51,1,17,3,140,52,141,54,129,52,1,17,3,140,89,129,13,1,1,
-17,2,141,96,4,1,17,3,140,87,129,51,1,1,17,2,141,85,50,1,17,2,141,99,51,1,17,
-13,140,57,129,55,142,103,129,54,3,2,129,18,140,93,5,1,8,140,93,7,1,17,2,141,
-64,129,55,1,17,3,140,93,33,1,1,17,3,140,93,129,57,1,1,17,2,141,67,129,58,1,17,
-3,141,28,36,1,1,17,2,140,62,129,60,1,17,2,140,63,129,61,1,17,2,141,108,39,1,
-17,13,140,63,129,64,142,96,129,63,6,4,129,27,3,2,1,40,140,64,140,64,2,3,33,117,
-116,102,56,32,101,110,99,111,100,101,58,32,99,111,100,101,32,112,111,105,110,
-116,32,116,111,111,32,104,105,103,104,32,2,3,21,108,105,115,116,45,114,101,102,
-58,32,111,117,116,32,111,102,32,108,105,115,116,2,3,30,108,105,115,116,45,115,
-101,116,58,32,111,117,116,32,111,102,32,108,105,115,116,32,115,101,116,116,105,
-110,103,32,2,3,28,108,105,115,116,45,100,101,108,58,32,111,117,116,32,111,102,
-32,108,105,115,116,44,32,108,101,102,116,32,2,3,29,108,101,100,110,58,32,111,
-117,116,32,111,102,32,108,105,115,116,44,32,114,101,109,97,105,110,105,110,103,
-32,2,3,24,108,105,110,115,58,32,111,117,116,32,111,102,32,108,105,115,116,44,
-32,108,101,102,116,32,2,3,10,98,97,100,32,105,111,116,97,58,32,1,17,5,140,68,
-131,21,6,129,44,141,64,1,17,2,142,56,1,1,17,2,140,69,142,56,1,17,5,140,69,131,
-24,8,129,47,1,1,17,2,142,17,1,1,17,2,140,70,142,59,1,17,5,140,70,131,27,10,129,
-50,1,1,17,2,142,62,1,1,17,2,140,75,142,62,1,17,5,140,72,131,30,12,129,53,1,1,
-17,2,142,23,1,1,17,2,140,78,142,65,1,17,5,140,73,131,33,14,129,56,1,1,17,2,142,
-26,1,1,17,2,140,74,129,53,1,17,3,140,74,131,7,1,1,17,2,140,81,142,70,1,17,3,
-140,75,129,61,1,1,17,2,142,73,1,1,17,3,140,76,129,63,141,83,1,17,2,142,75,1,
-1,17,2,140,77,142,75,1,17,3,140,77,129,61,1,1,17,3,140,77,129,91,1,1,17,2,142,
-37,1,1,17,2,140,81,142,79,1,17,3,140,81,129,65,1,1,17,3,140,81,129,93,1,1,17,
-2,142,41,1,1,17,4,140,82,131,50,30,143,58,1,17,2,140,82,2,1,17,5,140,82,129,
-98,2,129,97,1,1,17,2,140,84,8,1,17,4,140,83,129,101,2,1,1,17,3,140,83,129,100,
-1,1,17,6,140,82,131,6,142,18,142,18,129,79,141,34,1,17,2,140,82,1,2,3,17,100,
-105,118,105,115,105,111,110,32,98,121,32,122,101,114,111,32,1,17,2,142,27,129,
-106,1,17,3,140,84,129,1,1,1,17,2,142,29,129,108,1,17,2,140,85,129,109,1,17,6,
-140,85,129,4,3,2,1,129,110,1,17,3,140,85,51,141,107,1,17,2,142,99,1,1,17,2,140,
-86,0,0,132,128,128,0,1,17,3,134,117,0,0,1,0,0,2,1,17,3,134,118,0,0,3,0,0,8,1,
-17,3,134,119,0,0,5,0,0,32,1,17,5,134,117,2,0,0,2,0,0,4,3,1,17,3,134,121,0,0,
-7,0,0,129,0,1,17,3,134,122,0,0,9,0,0,132,0,1,17,5,134,120,2,0,0,6,0,0,64,4,1,
-17,3,134,124,0,0,11,0,0,144,0,1,17,3,134,125,0,0,13,0,0,192,0,1,17,5,134,123,
-2,0,0,10,0,0,136,0,4,1,17,5,134,124,4,0,0,4,0,0,16,7,1,17,3,135,0,0,0,15,0,0,
-130,128,0,1,17,3,135,1,0,0,17,0,0,136,128,0,1,17,5,134,127,2,0,0,14,0,0,129,
-128,0,5,1,17,3,135,3,0,0,19,0,0,160,128,0,1,17,3,135,4,0,0,21,0,0,129,128,128,
-0,1,17,3,135,5,0,0,23,0,0,132,128,128,0,1,17,5,135,3,3,0,0,18,0,0,144,128,0,
-5,1,17,5,135,4,2,0,0,22,0,0,130,128,128,0,3,1,17,5,135,5,6,0,0,12,0,0,160,0,
-10,1,17,5,135,6,2,0,0,20,0,0,192,128,0,3,1,17,5,135,2,1,0,0,16,0,0,132,128,0,
-2,1,17,5,135,8,1,0,0,8,0,0,130,0,12,1,17,3,140,108,129,108,141,68,1,17,3,140,
-108,25,1,1,17,4,140,108,26,1,142,93,1,17,3,140,107,130,15,140,108,1,17,3,140,
-107,129,26,1,1,17,3,140,107,129,118,1,1,17,3,141,83,129,100,1,1,17,4,140,108,
-130,115,1,8,1,17,3,140,108,129,102,1,1,17,6,140,108,33,142,39,130,117,1,10,1,
-17,4,140,108,129,85,8,1,1,17,4,140,108,129,94,129,86,1,1,17,2,142,94,1,1,17,
-2,140,109,1,1,17,8,140,108,130,26,140,109,140,109,142,19,142,19,39,1,1,17,2,
-143,11,1,1,17,3,140,105,130,28,142,21,1,17,3,140,106,130,29,142,22,1,17,3,140,
-106,115,140,110,1,17,3,140,106,116,1,1,17,3,140,106,130,28,1,1,17,4,140,106,
-6,1,143,20,1,17,6,140,106,130,34,6,5,140,112,1,1,17,2,143,19,1,1,17,3,141,63,
-130,4,140,107,1,17,2,142,70,2,1,17,2,142,84,3,1,17,3,140,109,129,58,1,1,17,3,
-140,109,130,8,1,1,17,3,140,109,129,60,1,1,17,6,140,109,129,61,6,130,10,5,1,1,
-18,2,1,130,37,1,18,2,130,13,1,1,17,3,141,72,130,18,140,111,1,17,3,140,111,129,
-65,1,1,17,3,140,111,130,20,140,113,1,17,3,140,111,129,67,1,1,17,2,142,82,14,
-1,17,2,142,96,15,1,17,3,140,121,129,70,1,1,17,3,140,121,130,25,1,1,17,3,140,
-121,129,72,1,1,17,7,140,116,8,130,27,5,129,73,1,6,1,18,2,1,130,49,1,17,2,143,
-40,1,1,18,2,130,31,1,1,17,6,140,117,130,59,144,13,140,118,140,118,130,57,1,17,
-2,143,43,1,1,17,3,141,8,16,140,118,1,17,4,140,117,17,1,140,118,1,18,2,20,1,1,
-18,2,130,32,1,1,17,3,140,119,7,140,121,1,17,3,140,119,8,1,1,17,2,140,119,1,1,
-18,2,13,1,1,17,2,143,52,1,1,18,2,130,43,1,1,17,3,141,97,26,141,0,1,17,2,140,
-123,1,1,17,2,140,123,1,1,17,3,140,123,16,1,1,17,2,140,123,1,1,17,2,142,126,141,
-5,1,17,2,140,124,41,1,17,2,143,0,141,7,1,17,2,142,124,43,1,17,2,141,102,1,1,
-17,2,143,3,141,10,1,17,2,141,1,46,1,17,2,143,5,141,12,1,17,2,141,3,48,1,17,2,
-143,7,141,14,1,17,2,141,5,50,1,17,2,143,9,141,16,1,17,2,141,7,52,1,17,15,141,
-7,129,107,14,13,12,11,9,8,7,6,5,4,3,2,1,1,17,2,143,73,1,1,17,2,141,8,141,20,
-1,17,3,142,28,22,1,1,17,3,141,9,3,1,1,17,3,141,9,4,1,1,17,2,141,9,1,1,17,3,141,
-9,32,1,1,17,3,141,9,7,1,1,17,3,141,9,8,1,1,17,3,141,20,35,1,1,17,3,141,10,10,
-1,1,17,2,141,18,141,30,1,17,3,141,11,12,1,1,17,2,141,11,1,1,17,3,141,11,14,1,
-1,17,2,141,22,141,34,1,17,3,141,12,36,1,1,17,3,141,16,17,1,1,17,2,141,16,1,1,
-17,3,141,14,19,1,1,17,3,141,69,46,1,1,17,3,141,15,21,1,1,17,3,141,15,22,142,
-104,1,17,2,143,30,77,1,17,2,141,86,78,1,17,12,141,17,132,64,129,6,144,70,25,
-15,11,4,3,2,1,79,1,17,2,143,99,1,1,17,2,141,17,141,71,1,17,3,141,17,143,52,1,
-1,17,2,143,102,1,1,17,3,141,17,142,47,143,51,1,17,3,141,19,143,55,1,1,17,2,143,
-63,1,1,17,2,141,19,141,77,1,17,3,141,19,1,143,106,1,17,3,141,19,143,59,1,1,17,
-2,143,109,1,1,17,3,141,15,143,97,143,109,1,17,3,141,15,143,62,1,1,17,2,143,108,
-1,1,17,2,141,15,143,100,1,17,3,141,15,143,65,1,1,17,2,143,111,1,2,3,17,78,111,
-32,97,114,103,117,109,101,110,116,115,32,102,111,114,32,1,17,2,141,17,143,116,
-1,17,2,141,17,1,1,17,2,143,77,1,1,17,3,141,18,143,119,143,119,1,17,2,141,18,
-1,1,17,2,143,80,1,1,17,2,143,62,143,122,1,17,3,141,20,2,1,1,17,2,143,125,1,1,
-17,4,141,20,143,125,7,141,21,1,17,2,143,88,1,1,17,3,141,21,3,143,9,1,17,2,144,
-1,1,1,17,2,141,22,1,1,17,3,141,22,4,1,1,17,2,141,22,1,1,17,3,141,102,132,70,
-60,1,17,3,141,22,129,37,141,23,1,17,3,141,22,129,38,141,24,1,17,2,143,23,129,
-39,1,17,2,143,23,94,1,17,3,143,23,129,41,1,1,17,2,143,73,92,1,17,2,141,22,1,
-1,17,3,141,22,129,44,1,1,17,3,141,21,132,79,141,22,1,17,3,142,69,2,143,71,1,
-17,3,141,22,130,16,1,1,17,5,141,22,132,78,3,1,131,38,1,17,2,141,20,141,21,1,
-17,4,141,20,2,6,142,4,1,17,2,141,19,141,20,1,17,5,141,19,129,52,2,96,1,1,17,
-6,141,19,141,26,129,53,4,143,56,1,1,17,2,143,109,1,1,17,2,143,86,105,1,17,4,
-141,21,106,1,132,90,1,17,2,143,88,101,1,17,5,141,22,102,132,92,1,108,1,17,2,
-143,90,83,1,17,4,141,23,84,132,94,1,1,17,2,143,92,59,1,17,4,141,24,60,26,1,1,
-17,2,141,23,141,24,1,17,2,143,119,1,1,17,2,141,24,1,1,18,2,1,129,66,1,18,2,2,
-28,1,18,2,3,27,1,17,4,141,27,132,103,133,4,50,1,18,3,1,33,0,13,1,1,18,3,2,33,
-0,13,1,1,17,3,141,25,131,11,143,75,1,17,3,141,25,13,142,114,1,17,3,141,25,131,
-13,1,1,17,4,141,25,15,3,1,1,17,3,141,25,130,124,1,1,17,2,144,4,1,1,17,2,141,
-26,1,1,17,2,141,27,2,1,17,2,141,27,18,1,17,2,142,88,1,1,17,2,141,29,20,1,17,
-2,142,90,1,1,17,10,141,30,24,26,6,5,131,69,3,1,131,70,145,0,1,17,2,144,54,1,
-1,17,3,141,18,18,0,0,128,255,255,127,1,17,3,141,17,131,7,141,18,1,17,3,143,16,
-1,141,17,1,17,3,141,17,2,1,1,17,3,141,17,131,29,1,1,17,3,143,102,4,1,1,17,3,
-141,18,131,31,1,1,17,5,141,18,133,28,130,14,131,32,1,1,17,3,141,17,7,141,18,
-1,17,3,143,106,8,1,1,17,3,141,18,131,35,1,1,17,6,141,18,31,4,0,0,129,128,128,
-0,131,36,1,1,17,3,141,17,11,141,18,1,17,6,141,17,33,2,0,0,132,128,0,131,38,1,
-1,17,4,141,17,34,1,0,0,144,0,1,17,3,141,17,35,1,1,17,3,143,98,133,41,141,15,
-1,17,2,144,30,141,15,1,17,2,141,15,1,1,17,3,144,62,3,1,1,17,4,141,15,133,41,
-133,62,4,1,17,2,141,14,141,15,1,17,2,144,38,1,1,17,2,141,14,141,15,1,17,3,141,
-14,8,1,1,17,2,144,38,1,1,17,3,141,118,56,144,68,1,17,2,141,16,1,1,17,3,141,16,
-12,1,1,17,2,141,16,7,1,17,7,141,16,133,51,133,71,2,5,10,1,1,17,2,144,86,1,1,
-17,3,144,93,0,13,0,1,1,17,2,141,17,141,18,1,17,2,144,47,1,1,17,2,141,18,141,
-20,1,17,2,144,49,1,1,17,3,142,1,65,144,79,1,17,2,141,20,1,1,17,2,143,122,3,1,
-17,2,143,123,6,1,17,3,141,22,69,1,1,17,9,141,22,133,63,133,82,26,144,84,4,3,
-22,1,1,17,2,144,98,1,1,17,3,144,105,0,13,0,1,1,17,2,144,0,123,1,17,3,141,25,
-2,1,1,17,3,144,37,1,32,1,17,3,144,5,2,136,29,1,17,4,141,26,133,41,141,27,79,
-1,17,4,141,26,133,31,1,30,1,17,4,141,25,133,43,141,26,81,1,17,4,141,25,133,33,
-1,32,1,17,4,141,25,133,34,1,144,104,1,17,3,141,25,130,18,1,1,17,3,141,25,130,
-19,1,1,17,3,141,25,130,20,1,1,17,5,141,25,87,7,131,82,1,1,17,3,141,25,77,1,1,
-17,3,141,25,130,44,1,1,17,2,144,111,1,1,17,3,141,25,133,82,133,100,1,17,4,141,
-25,133,33,141,27,1,1,17,2,144,15,3,1,17,3,141,26,133,35,1,1,17,2,141,24,84,1,
-17,3,141,23,86,141,24,1,17,3,141,23,97,1,1,17,5,141,23,68,1,6,141,29,1,17,5,
-141,23,141,29,89,4,1,1,17,7,141,23,8,6,0,0,160,0,141,31,144,76,1,1,17,2,143,
-34,1,1,17,2,141,24,1,1,17,2,141,22,144,9,1,17,3,141,21,129,86,141,22,1,17,3,
-141,21,144,81,1,1,17,4,141,21,1,129,88,141,24,1,17,5,141,21,144,83,4,142,103,
-1,1,17,3,141,21,144,84,1,1,17,2,145,6,1,1,17,2,144,69,1,1,17,3,143,60,49,1,1,
-17,3,141,24,50,1,1,17,3,142,21,129,95,1,1,17,3,141,25,64,1,1,17,3,144,72,65,
-1,1,17,4,141,25,40,141,26,133,124,1,17,4,141,25,136,68,72,1,2,3,0,1,18,2,134,
-21,0,0,32,1,17,2,144,106,1,1,18,2,134,11,1,1,17,3,141,16,45,141,17,1,17,3,141,
-16,2,1,1,17,4,141,16,9,1,6,2,3,9,109,99,112,47,108,105,110,107,115,2,3,9,109,
-99,112,47,98,114,101,97,107,2,3,18,115,116,111,112,112,105,110,103,32,111,110,
-32,115,105,103,110,97,108,2,3,5,35,116,114,117,101,2,3,6,35,102,97,108,115,101,
-2,3,11,35,60,102,117,110,99,116,105,111,110,62,2,3,6,35,60,87,84,70,62,1,17,
-3,145,35,0,13,4,136,81,1,17,3,145,34,0,0,0,136,81,1,1,2,0,12,2,0,13,0,1,1,2,
-0,12,1,1,1,1,2,0,12,0,1,1,17,3,145,40,1,133,87,1,17,3,145,41,0,0,19,136,88,1,
-17,2,144,125,141,25,1,17,2,141,25,1,1,17,2,141,25,1,1,17,2,145,35,1,1,17,2,144,
-65,5,1,17,2,144,66,6,1,17,4,141,28,6,2,1,1,17,2,141,66,4,2,3,36,66,97,100,32,
-118,101,99,116,111,114,32,110,111,100,101,32,105,110,32,100,105,115,112,97,116,
-99,104,45,49,58,32,116,121,112,101,32,2,3,27,76,101,97,102,32,118,101,99,116,
-111,114,32,105,110,32,100,105,115,112,97,116,99,104,45,50,58,32,2,3,35,66,97,
-100,32,118,101,99,116,111,114,32,110,111,100,101,32,105,110,32,100,105,115,112,
-97,116,99,104,45,50,58,32,111,98,106,32,2,3,39,98,97,100,32,118,101,99,116,111,
-114,32,110,111,100,101,32,105,110,32,118,101,99,45,114,101,102,45,100,105,103,
-105,116,58,32,116,121,112,101,32,2,3,23,118,101,99,116,111,114,45,114,101,102,
-58,32,98,97,100,32,105,110,100,101,120,58,32,2,3,24,118,101,99,45,108,101,97,
-102,45,111,102,58,32,98,97,100,32,105,110,100,101,120,58,32,2,3,29,118,101,99,
-116,111,114,45,108,101,110,103,116,104,58,32,110,111,116,32,97,32,118,101,99,
-116,111,114,58,32,1,17,4,141,36,134,17,7,0,0,159,127,1,17,4,141,36,134,18,6,
-7,1,17,2,144,102,2,1,17,2,144,103,3,1,17,6,141,38,3,2,4,0,0,160,0,1,1,17,2,145,
-56,1,1,17,5,141,39,134,23,10,0,0,159,127,0,0,160,0,1,17,2,145,58,1,1,17,2,143,
-48,1,1,17,3,141,41,8,1,1,17,3,141,41,5,1,1,17,3,141,41,4,0,0,159,127,1,17,8,
-141,41,134,29,15,2,11,1,5,0,0,160,0,1,17,2,143,53,12,1,17,3,141,45,9,1,1,17,
-6,141,43,134,32,17,1,14,0,0,160,0,1,17,6,141,43,134,33,17,145,102,146,34,124,
-1,17,2,145,26,141,39,1,17,2,142,54,1,1,17,3,141,40,129,43,1,1,17,2,145,71,1,
-1,17,3,141,40,129,37,141,41,1,17,4,141,40,129,48,1,0,0,160,0,1,17,3,141,40,3,
-1,1,17,3,141,40,9,1,1,17,4,141,40,9,142,50,1,1,17,2,141,38,142,115,1,17,3,141,
-38,129,51,1,1,17,2,145,37,1,1,17,3,141,39,129,53,144,114,1,17,2,141,39,1,1,17,
-2,145,40,1,1,17,2,142,68,1,1,17,4,141,41,129,13,1,5,1,17,2,145,85,1,1,17,4,141,
-42,129,59,144,95,0,0,160,0,1,17,3,141,53,2,1,1,17,3,141,43,22,1,1,17,2,145,89,
-1,1,17,2,145,24,1,1,17,2,145,25,2,1,17,4,141,46,129,65,2,1,1,17,4,141,46,132,
-44,1,0,0,159,127,1,17,3,145,82,27,1,1,17,2,144,123,129,118,1,17,3,142,20,2,1,
-1,17,4,141,49,54,1,137,23,1,17,2,145,19,134,16,1,17,4,141,50,124,1,71,1,17,2,
-141,49,141,50,1,17,5,141,49,72,2,71,1,1,17,2,141,51,141,49,1,17,5,141,49,141,
-94,2,129,29,1,1,17,2,141,47,141,48,1,17,2,141,46,141,47,1,17,4,141,46,134,43,
-2,1,1,17,3,141,46,131,18,1,1,17,5,141,46,142,53,5,129,37,1,1,17,2,141,52,141,
-56,1,17,2,141,51,141,52,1,17,4,141,51,134,48,2,1,1,17,3,141,51,131,23,1,1,17,
-5,141,50,145,114,5,129,42,1,1,17,4,141,50,142,59,1,87,1,17,2,141,60,141,50,1,
-17,6,141,49,19,143,87,73,1,141,50,1,17,5,141,49,134,21,3,141,107,1,1,17,4,141,
-49,141,90,1,97,1,17,2,145,40,134,37,1,17,3,145,39,129,17,1,1,17,6,141,51,141,
-120,3,95,96,1,1,17,2,141,65,141,64,1,17,3,141,50,141,51,1,1,17,3,141,50,145,
-75,1,1,17,5,141,50,141,117,4,141,54,1,1,17,4,141,50,145,77,1,129,24,1,17,4,141,
-50,142,68,1,129,104,1,17,3,141,50,142,115,1,1,17,2,146,1,1,1,17,2,141,49,142,
-23,1,17,5,141,49,134,77,146,3,145,82,1,1,17,2,141,49,120,1,17,5,141,49,145,84,
-2,142,74,1,1,17,3,141,49,142,75,1,1,17,2,146,7,1,2,3,7,10,32,32,32,32,32,32,
-2,3,49,69,82,82,79,82,58,32,102,100,32,114,101,97,100,32,119,105,116,104,32,
-116,105,109,101,111,117,116,32,104,97,100,32,110,111,32,109,97,116,99,104,105,
-110,103,32,97,108,97,114,109,2,3,11,32,45,32,102,111,117,110,100,32,105,116,
-2,3,23,119,97,107,101,117,112,58,32,117,110,107,110,111,119,110,32,119,97,107,
-101,117,112,32,2,3,23,98,97,100,32,109,117,120,101,114,32,109,101,115,115,97,
-103,101,32,102,114,111,109,32,2,3,22,110,111,116,32,115,117,114,101,32,104,111,
-119,32,116,111,32,97,108,97,114,109,32,1,1,2,0,0,10,0,13,0,1,1,2,0,0,10,0,13,
-0,1,1,2,0,0,10,0,13,0,1,1,2,0,13,0,0,13,0,1,17,3,144,69,134,62,146,27,1,17,3,
-141,61,134,63,1,1,17,2,141,61,1,1,17,4,141,58,4,1,141,59,1,17,2,141,57,129,8,
-1,17,3,146,11,142,92,1,1,17,3,143,117,1,141,57,1,17,3,141,56,2,141,57,1,17,3,
-144,9,3,1,1,17,5,141,57,4,141,61,3,1,1,17,2,141,57,1,1,17,2,141,65,0,0,14,1,
-17,2,141,66,0,0,88,1,17,2,141,59,4,1,17,4,141,53,2,141,57,141,54,1,17,3,141,
-57,4,1,1,17,3,141,57,3,1,1,17,3,141,55,8,1,1,17,2,141,72,0,0,129,1,1,17,2,141,
-51,10,1,17,2,146,43,141,51,1,17,2,146,44,141,51,1,17,2,145,102,1,1,17,2,141,
-51,1,1,17,2,145,104,3,1,17,4,141,52,4,1,141,54,1,17,3,141,52,3,1,1,17,2,145,
-107,6,1,17,3,141,53,8,1,1,17,2,145,109,8,1,17,4,141,54,10,1,141,59,1,17,4,141,
-54,5,3,1,1,17,3,141,54,11,141,61,1,17,3,141,54,2,1,1,17,2,146,52,1,1,17,3,141,
-54,144,60,146,52,1,17,2,146,15,1,1,17,2,145,117,17,1,17,2,145,105,18,1,17,4,
-141,57,2,3,1,1,17,2,145,120,19,1,17,2,145,108,20,1,17,4,141,59,2,6,1,1,17,4,
-141,59,4,1,146,71,1,17,2,141,64,1,1,17,2,141,59,141,60,1,17,2,146,25,1,1,17,
-3,141,60,1,145,99,1,17,4,141,59,141,60,2,145,100,1,17,4,141,59,2,1,146,77,1,
-17,2,141,59,1,1,17,2,145,94,134,113,1,17,4,142,94,2,1,143,78,1,17,2,141,58,36,
-1,17,5,141,58,135,24,147,21,146,123,1,1,17,3,142,35,129,39,1,1,17,7,141,59,135,
-26,142,67,147,23,146,125,129,32,144,45,1,17,3,141,59,2,1,1,17,2,141,59,1,1,17,
-2,146,77,1,1,17,3,141,58,1,141,59,1,17,3,145,121,129,44,1,1,17,2,146,1,3,1,17,
-3,146,0,129,46,1,1,17,5,141,61,0,0,160,0,134,126,3,1,1,17,2,146,44,1,1,17,2,
-141,62,1,1,17,5,141,62,135,14,1,84,71,1,17,3,141,62,3,0,12,1,1,17,7,141,62,2,
-0,12,1,135,16,1,86,72,1,17,2,141,66,5,1,17,5,141,63,135,18,1,88,73,1,17,3,141,
-63,55,0,12,1,1,17,3,141,63,1,83,1,17,3,144,41,2,1,1,17,3,141,59,135,11,146,21,
-1,17,2,144,87,1,1,17,6,141,60,10,141,65,0,12,2,86,146,94,1,17,2,146,96,1,1,17,
-5,141,60,12,0,12,2,87,141,61,1,17,3,141,60,135,7,1,1,17,3,141,59,3,146,40,1,
-17,10,141,59,146,127,135,64,141,61,146,123,1,15,141,61,0,12,2,89,1,17,3,141,
-59,135,65,141,62,1,17,3,141,62,4,146,43,1,17,3,141,60,135,67,1,1,17,3,141,60,
-135,68,1,1,17,3,141,60,11,1,1,17,5,141,60,12,6,5,1,1,17,2,141,60,146,106,1,17,
-3,141,60,130,73,1,1,17,2,146,67,1,1,17,3,141,126,132,72,0,0,189,132,64,1,17,
-3,146,63,74,1,1,17,3,141,127,76,1,1,17,3,141,63,4,146,54,1,17,3,143,87,130,89,
-1,1,17,3,141,65,6,146,56,1,17,3,143,89,130,91,1,1,17,12,141,66,147,16,147,12,
-5,3,147,40,147,10,1,32,141,78,0,12,2,105,1,17,5,141,64,135,97,141,66,12,141,
-65,1,17,3,141,64,141,70,1,1,17,2,141,64,1,1,17,5,141,64,135,84,1,4,141,68,1,
-17,2,141,64,1,1,17,4,141,64,135,81,135,82,1,1,17,3,141,62,30,141,63,1,17,4,141,
-62,135,89,141,65,147,18,1,17,3,146,22,130,87,0,0,135,255,255,127,1,17,3,145,
-112,130,100,1,1,17,5,141,64,135,107,141,76,22,141,75,1,17,3,141,74,141,80,1,
-1,17,4,141,65,135,74,3,1,1,17,5,141,65,135,94,1,14,141,78,1,17,13,141,65,147,
-25,135,96,141,72,147,27,8,147,26,47,7,0,12,2,119,135,90,1,1,17,3,141,65,130,
-98,1,1,17,3,143,102,135,78,1,1,17,5,141,66,135,80,12,23,1,1,17,2,146,94,1,1,
-17,2,141,67,1,1,17,3,142,26,135,92,1,1,17,3,141,68,147,88,1,1,17,2,141,68,135,
-116,1,17,3,142,28,2,1,2,19,129,0,0,0,0,0,0,0,0,0,0,8,8,8,8,8,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,8,1,16,0,1,1,1,0,0,0,1,3,0,3,2,1,6,6,6,6,6,6,6,6,6,6,1,0,
-1,1,1,1,1,5,37,5,37,69,5,1,1,65,1,1,1,1,1,33,1,1,1,1,1,1,1,1,33,1,1,0,16,0,1,
-1,0,21,53,5,37,69,5,1,1,65,1,1,1,1,17,33,1,1,17,1,17,1,1,1,33,1,1,0,16,0,1,0,
-2,3,12,101,110,100,32,111,102,32,105,110,112,117,116,2,3,16,116,114,97,105,108,
-105,110,103,32,103,97,114,98,97,103,101,1,17,2,146,103,141,72,1,17,2,141,72,
-146,52,1,17,5,141,72,2,4,146,98,1,1,17,2,146,106,1,1,17,2,141,73,145,35,1,17,
-3,141,73,5,147,39,1,17,3,141,73,2,1,1,17,5,141,73,7,9,146,103,1,1,17,2,147,32,
-1,1,17,2,147,22,1,1,17,2,141,79,145,41,1,17,4,141,76,1,11,147,45,1,17,5,141,
-76,12,14,146,108,1,1,17,2,147,37,1,1,17,2,147,27,1,1,17,2,146,113,141,78,1,17,
-2,141,77,141,78,1,17,2,144,22,1,1,17,2,139,54,147,34,1,17,2,147,36,1,1,17,3,
-141,75,1,146,72,1,17,2,141,75,1,1,17,3,141,79,135,83,141,80,1,17,3,141,76,2,
-1,1,17,2,141,80,1,1,17,2,147,42,1,1,17,3,147,49,0,13,0,1,1,17,2,141,79,141,87,
-1,17,3,141,79,2,1,1,17,2,141,79,1,1,17,2,146,42,1,1,17,2,139,76,141,74,1,17,
-3,139,75,32,33,1,17,2,139,75,1,1,17,4,139,75,139,78,131,64,1,1,17,2,139,75,1,
-1,17,3,139,75,5,1,2,3,17,104,111,119,32,100,111,32,105,32,105,116,101,114,97,
-116,101,32,1,17,2,141,79,144,1,1,17,3,141,79,147,7,1,1,17,2,147,18,1,1,17,2,
-141,76,141,77,1,17,4,141,76,1,135,43,141,79,1,17,3,141,76,147,11,1,1,17,2,147,
-68,1,1,17,2,141,76,141,77,1,17,3,141,75,141,76,147,21,1,17,2,141,75,1,1,1,2,
-0,0,0,0,13,0,1,1,2,1,0,13,0,1,17,3,141,76,1,141,77,1,17,4,141,73,136,34,14,129,
-120,1,17,4,141,73,143,41,1,130,110,1,17,3,141,73,144,11,1,1,17,3,147,59,147,
-22,1,1,17,2,147,6,5,1,17,3,141,75,2,1,1,17,2,141,58,60,1,17,3,141,57,1,141,58,
-1,17,2,141,57,131,51,1,17,2,141,57,1,1,17,3,141,57,131,49,1,1,17,3,141,57,136,
-16,1,1,18,3,51,50,0,0,43,1,18,3,52,51,0,0,45,1,17,2,142,0,0,0,43,1,18,3,50,2,
-1,1,18,3,51,4,1,1,17,3,141,61,6,141,126,1,17,2,141,82,1,1,17,3,144,46,40,1,1,
-17,3,144,47,62,1,1,17,3,141,64,14,1,1,17,2,146,85,1,1,17,3,141,65,131,64,142,
-4,1,17,2,141,88,1,1,17,3,141,127,3,1,1,17,3,141,121,10,1,1,17,2,146,90,1,1,17,
-3,141,126,131,42,142,9,1,17,2,141,93,1,1,17,3,141,71,3,1,1,17,2,141,95,1,1,17,
-3,141,72,69,1,1,17,3,141,72,67,1,1,17,3,141,72,70,1,1,17,5,141,72,147,106,136,
-92,131,76,142,16,1,17,3,142,7,20,1,1,17,2,141,93,142,18,1,17,3,144,79,131,77,
-1,1,17,3,141,75,131,82,1,1,17,2,141,95,1,1,17,3,141,76,7,1,1,17,2,141,97,1,1,
-17,3,142,101,131,80,142,24,1,17,3,145,88,131,58,1,1,17,3,141,79,133,43,1,1,17,
-3,141,79,35,1,1,17,2,141,111,1,1,17,3,144,75,73,1,1,17,3,144,76,91,1,1,17,3,
-141,91,43,1,1,17,2,141,115,1,1,17,3,141,84,89,1,1,17,4,141,84,87,11,1,1,17,3,
-141,84,90,1,1,17,2,141,115,1,1,17,3,141,85,34,1,1,17,3,141,119,21,1,1,17,2,146,
-121,1,1,17,2,141,85,74,1,17,3,144,8,2,1,1,17,2,147,50,1,1,17,2,141,87,2,1,17,
-4,141,87,131,28,2,1,1,17,2,141,87,136,107,1,17,5,141,87,129,48,1,0,12,2,130,
-109,2,3,4,114,118,97,108,2,3,49,115,121,115,99,97,108,108,32,49,52,32,45,32,
-109,101,109,108,105,109,105,116,32,101,120,99,101,101,100,101,100,44,32,100,
-114,111,112,112,105,110,103,32,97,32,116,104,114,101,97,100,1,17,3,141,82,135,
-118,141,85,1,17,2,141,82,147,65,1,17,3,141,84,135,124,141,87,1,17,8,141,83,143,
-51,3,129,122,135,125,2,143,50,1,1,17,3,142,111,147,91,1,1,17,3,141,84,135,125,
-1,1,17,3,141,83,1,141,84,1,17,2,143,118,1,1,17,2,141,84,136,0,1,17,4,140,6,136,
-1,1,130,123,1,17,2,141,84,3,1,17,3,141,84,135,44,1,1,17,4,141,84,136,6,1,130,
-126,1,17,3,144,120,135,46,1,1,17,6,140,10,135,47,141,89,136,6,1,131,0,1,17,3,
-141,86,6,1,1,17,2,141,86,148,23,1,17,2,148,25,1,1,17,2,141,87,3,1,17,3,141,87,
-2,1,1,17,3,141,87,3,1,1,17,2,141,86,141,87,1,17,2,148,30,1,1,17,3,141,86,8,148,
-114,1,17,3,141,86,9,148,113,1,17,4,141,86,136,15,1,27,1,17,2,141,86,147,90,1,
-17,3,141,90,12,149,0,1,17,3,141,87,136,18,141,103,1,17,2,141,87,148,124,1,17,
-5,141,87,136,95,2,143,77,1,1,17,4,141,87,136,23,1,130,22,1,17,3,141,87,136,113,
-148,49,1,17,2,141,87,1,1,17,2,141,87,147,98,1,17,3,145,101,136,89,1,1,17,3,141,
-88,136,98,1,1,17,4,141,88,137,35,1,139,95,1,17,3,141,88,136,100,1,1,17,4,141,
-88,137,37,1,139,97,1,17,2,141,98,148,127,1,17,4,141,88,36,141,89,1,1,17,5,141,
-88,136,34,142,92,131,27,45,1,17,3,141,88,136,97,1,1,17,5,141,87,136,34,141,119,
-131,29,142,2,1,17,7,140,2,136,35,141,120,142,2,136,39,141,120,147,109,1,17,3,
-141,88,130,33,1,1,17,4,141,88,136,39,1,130,38,1,17,4,141,88,33,149,9,148,123,
-1,17,4,141,88,129,93,1,50,1,17,2,141,88,148,121,1,17,4,141,88,31,148,120,1,1,
-17,2,141,110,148,115,1,17,2,141,89,1,1,17,3,141,89,147,118,1,1,17,2,141,113,
-148,116,1,17,2,141,90,147,120,1,17,3,145,38,35,1,1,17,4,141,91,3,136,112,1,1,
-17,2,141,90,141,91,1,17,3,141,90,137,5,1,1,17,4,141,89,137,6,1,141,90,1,17,5,
-141,89,136,52,142,9,64,147,126,1,17,2,141,121,148,113,1,17,2,141,90,1,1,17,5,
-141,90,135,98,142,12,148,114,148,1,1,17,4,141,90,135,99,1,148,117,1,17,4,141,
-90,136,59,1,148,118,1,17,4,141,90,136,60,1,148,117,1,17,5,141,89,136,59,142,
-16,131,55,148,5,1,17,3,141,89,136,60,1,1,17,3,141,89,137,4,1,1,17,3,141,89,136,
-64,1,1,17,4,140,68,136,65,1,131,59,1,17,2,140,100,148,10,1,17,2,140,100,1,1,
-2,24,142,12,53,51,50,49,45,43,37,35,33,141,120,32,29,27,25,22,18,15,14,12,8,
-141,97,3,1,1,17,3,141,93,136,69,79,1,17,3,141,92,136,118,141,93,1,17,3,144,103,
-144,90,1,1,17,2,148,88,1,1,17,4,141,93,136,75,141,94,149,2,1,17,3,141,93,136,
-72,1,1,17,3,141,93,132,66,1,1,17,3,141,93,136,76,1,1,17,4,141,93,136,77,1,149,
-6,1,17,4,141,93,6,1,149,3,1,17,3,141,93,132,24,1,1,17,3,144,102,145,41,1,1,17,
-2,142,19,149,8,1,17,2,141,116,1,1,17,4,141,96,136,81,142,38,149,12,1,17,2,142,
-22,149,12,1,17,2,141,97,17,1,17,3,141,97,137,82,1,1,17,4,141,97,18,7,1,1,17,
-6,140,90,136,86,5,149,19,4,1,1,2,24,142,33,74,72,71,70,66,64,58,56,54,142,13,
-53,50,48,46,43,39,36,35,1,7,141,118,24,22,1,17,2,141,102,1,1,17,5,141,100,22,
-137,87,1,0,0,206,16,1,17,2,141,100,1,1,17,3,144,117,136,80,1,1,17,2,148,7,137,
-71,1,17,2,141,98,1,1,17,3,141,98,129,99,1,1,17,7,141,98,4,149,70,130,96,131,
-90,108,1,1,17,2,148,11,130,77,1,17,3,144,2,130,79,1,1,17,3,144,4,134,78,0,0,
-189,132,64,1,17,3,144,4,2,1,1,40,2,0,0,2,0,13,0,1,40,2,0,0,130,233,171,36,1,
-1,40,2,0,0,131,185,187,41,1,1,40,2,0,0,132,241,227,71,1,2,3,16,98,97,100,32,
-114,97,110,100,32,108,105,109,105,116,58,32,2,3,19,114,97,110,100,45,101,108,
-101,109,58,32,119,104,97,116,32,98,101,32,2,3,22,114,110,100,45,114,97,110,103,
-101,58,32,98,97,100,32,114,97,110,103,101,58,32,1,17,2,148,125,141,90,1,17,2,
-141,90,1,1,17,2,148,123,1,1,17,2,141,91,0,0,129,191,159,25,1,17,2,148,87,1,1,
-17,4,141,91,1,141,92,0,0,132,128,128,9,1,17,4,143,98,132,102,1,10,1,17,4,141,
-91,3,141,92,0,0,132,128,128,9,1,17,4,141,91,4,141,95,0,0,132,128,128,9,1,17,
-7,141,91,5,141,96,0,0,132,128,128,9,2,0,0,129,191,159,25,1,1,17,8,141,91,132,
-110,4,6,141,97,0,0,132,128,128,9,133,92,1,1,17,2,141,91,146,44,1,17,3,143,41,
-2,1,1,17,2,149,6,1,1,17,3,146,91,135,11,141,93,1,17,4,141,93,132,111,1,0,0,135,
-255,255,127,1,17,3,141,93,133,39,1,1,17,2,148,76,1,1,17,6,141,93,0,0,135,255,
-255,127,133,41,141,94,132,118,1,1,17,3,141,93,17,149,25,1,17,3,141,94,18,149,
-26,1,17,7,141,93,5,2,3,1,133,44,141,94,1,17,2,141,93,1,1,17,5,141,93,137,114,
-26,1,7,1,17,3,141,93,131,86,149,30,1,17,3,147,45,2,1,1,17,5,141,94,137,117,28,
-131,84,1,1,17,3,141,93,132,127,141,94,1,17,3,147,48,5,1,1,17,5,141,94,144,126,
-3,132,83,1,1,17,3,141,99,134,99,149,36,1,17,3,147,51,8,1,1,17,5,141,97,145,102,
-3,134,87,1,1,17,3,141,97,148,109,1,1,17,3,141,97,135,109,149,40,1,17,3,141,97,
-12,1,1,17,3,145,125,135,120,1,1,17,3,141,98,133,7,1,1,17,3,141,97,133,10,145,
-66,1,17,3,141,97,130,102,1,1,17,3,141,97,133,2,1,1,17,4,141,97,141,101,18,1,
-1,17,5,141,97,130,97,149,48,148,118,1,1,17,2,147,76,1,1,17,3,141,98,130,117,
-142,19,1,17,4,141,98,141,105,133,17,1,1,17,2,141,98,3,1,17,5,141,98,148,123,
-2,133,19,1,1,17,5,141,98,130,103,149,54,134,2,1,1,17,2,147,82,1,1,17,3,141,99,
-1,144,58,1,17,3,141,99,14,147,96,1,17,3,141,99,29,1,1,17,3,141,99,134,7,1,1,
-17,3,141,117,133,26,149,60,1,17,3,147,75,32,1,1,17,5,141,101,138,19,57,133,26,
-1,1,17,3,141,101,133,19,1,1,17,3,141,100,133,81,141,101,1,17,4,141,98,137,110,
-147,70,140,111,1,17,4,141,98,137,127,141,100,1,1,17,3,146,31,137,99,1,1,17,4,
-141,99,138,50,1,140,115,1,17,4,143,46,138,50,1,140,112,1,17,3,141,100,138,5,
-1,1,17,2,149,23,1,1,17,3,141,101,1,149,21,1,17,4,141,101,133,60,1,141,108,1,
-17,4,141,101,137,124,1,10,1,17,2,149,24,1,1,17,2,141,102,1,1,17,3,142,6,133,
-33,149,77,1,17,4,141,102,49,141,103,1,2,3,6,112,99,97,112,110,103,1,4,1,1,2,
-3,9,103,101,110,101,114,97,116,111,114,1,4,1,1,1,42,2,0,0,4,0,0,5,1,17,2,148,
-103,137,61,2,16,3,0,2,48,1,17,4,1,137,59,133,52,2,1,17,3,148,91,137,62,1,1,17,
-3,147,109,133,52,148,88,2,16,3,0,2,47,1,17,3,1,141,8,2,1,17,2,149,82,1,1,17,
-2,149,17,133,47,1,17,3,148,8,141,12,1,1,17,3,145,90,141,13,1,1,17,3,147,53,133,
-59,148,95,2,16,3,0,2,46,1,17,4,1,141,15,2,138,30,2,16,3,0,2,45,1,17,3,1,133,
-55,2,1,17,3,145,107,138,35,1,1,17,2,149,92,1,1,17,2,149,27,141,19,1,17,2,143,
-47,1,1,17,4,145,58,133,68,1,0,0,144,0,2,16,3,0,2,44,1,17,3,1,132,62,2,1,17,4,
-141,83,135,23,1,0,0,144,0,1,17,2,149,20,141,25,2,16,3,0,2,43,1,17,6,1,135,28,
-3,0,0,144,0,132,66,2,2,16,3,0,2,42,1,17,4,1,133,68,2,0,0,144,0,2,16,3,0,2,41,
-1,17,4,1,135,35,147,76,2,1,40,2,0,0,129,0,0,13,0,1,40,2,0,0,0,1,1,40,2,0,0,127,
-0,13,0,1,40,2,0,0,135,255,255,127,1,1,40,2,0,0,1,4,1,40,2,0,0,130,0,0,13,0,1,
-40,2,0,0,0,1,1,40,2,0,0,129,127,0,13,0,1,40,2,0,0,135,255,255,127,1,1,40,2,0,
-0,1,4,1,40,2,0,0,130,128,0,0,13,0,1,40,2,0,0,0,1,1,40,2,0,0,0,1,1,40,2,0,0,129,
-255,127,0,13,0,1,40,2,0,0,135,255,255,127,1,1,40,2,0,0,135,255,255,127,1,1,40,
-2,0,0,1,5,1,40,2,0,0,132,128,0,0,13,0,1,40,2,0,0,0,1,1,40,2,0,0,0,1,1,40,2,0,
-0,131,255,127,0,13,0,1,40,2,0,0,135,255,255,127,1,1,40,2,0,0,135,255,255,127,
-1,1,40,2,0,0,1,5,1,40,2,0,0,129,0,0,13,0,1,40,2,0,0,0,1,1,40,2,0,0,0,1,1,40,
-2,0,0,0,1,1,40,2,0,0,0,1,1,40,2,0,0,0,1,1,40,2,0,0,127,0,13,0,1,40,2,0,0,135,
-255,255,127,1,1,40,2,0,0,135,255,255,127,1,1,40,2,0,0,135,255,255,127,1,1,40,
-2,0,0,135,255,255,127,1,1,40,2,0,0,135,255,255,127,1,1,40,2,0,0,1,8,1,40,2,0,
-0,130,0,0,13,0,1,40,2,0,0,0,1,1,40,2,0,0,0,1,1,40,2,0,0,0,1,1,40,2,0,0,0,1,1,
-40,2,0,0,0,1,1,40,2,0,0,129,127,0,13,0,1,40,2,0,0,135,255,255,127,1,1,40,2,0,
-0,135,255,255,127,1,1,40,2,0,0,135,255,255,127,1,1,40,2,0,0,135,255,255,127,
-1,1,40,2,0,0,135,255,255,127,1,1,40,2,0,0,1,8,1,11,33,2,8,1,15,21,14,28,31,27,
-35,38,34,42,44,41,47,49,46,0,0,131,255,127,0,0,132,128,0,0,0,132,128,1,0,0,129,
-255,127,0,0,130,128,0,0,0,130,128,1,0,0,129,127,0,0,130,0,0,0,130,1,0,0,127,
-0,0,129,0,0,0,129,1,0,0,1,0,0,2,0,0,3,1,17,3,142,101,134,4,150,38,1,17,3,142,
-96,134,3,150,39,1,17,3,142,103,134,4,150,40,1,17,3,148,55,129,12,1,2,16,3,0,
-2,40,1,17,2,1,150,43,2,16,3,0,2,39,1,17,4,1,134,9,134,11,2,2,16,3,0,2,38,1,17,
-3,1,129,18,2,2,16,3,0,2,37,1,17,3,1,118,2,2,16,3,0,2,36,1,17,13,1,134,17,150,
-51,134,15,150,51,129,12,14,13,12,134,13,10,116,2,2,16,3,0,2,35,1,17,3,1,129,
-24,2,1,17,2,149,107,141,99,1,17,2,143,15,1,1,17,3,149,4,141,102,1,2,16,3,0,2,
-34,1,17,3,1,141,105,2,1,17,2,150,8,1,1,17,2,149,113,141,105,1,17,2,147,17,1,
-2,16,3,0,2,33,1,17,3,1,141,109,2,1,17,2,150,51,1,1,17,2,149,84,138,38,1,17,3,
-148,14,141,111,1,2,16,3,0,2,32,1,17,3,1,138,43,2,1,17,3,143,49,141,116,1,1,17,
-3,143,32,141,116,1,2,16,3,0,2,31,1,17,3,1,141,119,2,1,17,3,142,54,139,1,1,2,
-16,3,0,2,30,1,17,3,1,129,36,150,70,2,16,3,0,2,29,1,17,3,1,129,38,2,1,17,3,148,
-125,129,39,1,1,17,2,149,119,141,124,2,16,3,0,2,28,1,17,3,1,141,126,2,2,16,3,
-0,2,27,1,17,3,1,138,58,2,2,16,3,0,2,26,1,17,3,1,138,50,2,1,17,3,149,120,13,1,
-1,17,3,146,88,142,5,1,1,17,3,149,122,15,1,1,17,3,146,86,142,8,1,2,16,3,0,2,25,
-1,17,3,1,142,8,147,96,2,16,3,0,2,24,1,17,3,1,142,10,2,2,16,3,0,2,23,1,17,3,1,
-142,12,147,109,1,17,3,2,142,13,147,101,2,16,3,0,2,22,1,17,4,1,142,16,3,2,2,16,
-3,0,2,21,1,17,3,1,134,117,2,2,16,3,0,2,20,1,17,4,1,142,20,9,2,1,17,3,148,59,
-39,150,35,2,16,3,0,2,19,1,17,4,1,41,2,3,2,16,3,0,2,18,1,17,3,1,132,91,2,1,17,
-3,145,89,134,72,149,43,2,16,3,0,2,17,1,17,4,1,32,136,31,2,2,16,3,0,2,16,1,17,
-5,1,34,139,40,2,23,2,16,3,0,2,15,1,17,4,1,129,85,2,36,2,16,3,0,2,14,1,17,3,1,
-134,72,2,2,16,3,0,2,13,1,17,3,1,0,0,134,141,32,2,1,17,3,143,76,142,36,1,2,16,
-3,0,2,12,1,17,3,1,142,38,2,1,17,3,142,107,15,1,2,16,3,0,2,11,1,17,3,1,65,150,
-124,2,16,3,0,2,10,1,17,3,1,4,2,2,3,5,98,121,116,101,115,1,4,1,1,1,1,2,0,0,0,
-0,13,0,1,1,2,0,0,0,1,1,1,2,0,0,0,1,1,1,2,0,0,6,1,2,16,3,0,2,9,1,17,3,150,21,
-132,118,2,2,16,3,0,2,8,1,17,3,1,136,54,2,1,17,3,148,77,133,31,1,2,16,3,0,2,7,
-2,16,3,0,2,6,1,17,3,1,134,91,151,12,1,17,4,146,105,129,112,1,0,0,160,0,2,16,
-3,0,2,5,2,16,3,0,2,4,2,16,3,0,2,3,2,16,3,0,2,2,2,16,3,0,2,1,2,16,3,0,2,0,1,17,
-2,150,60,142,65,1,17,3,146,1,142,66,149,84,2,16,3,0,1,255,1,17,4,1,142,64,3,
-2,1,17,2,150,101,1,2,3,8,111,110,99,101,45,100,101,99,2,3,8,109,97,110,121,45,
-100,101,99,2,3,5,98,117,114,115,116,1,4,1,3,1,4,1,3,1,4,1,3,1,17,2,147,22,22,
-1,17,3,150,70,140,11,1,1,17,4,148,59,142,76,1,129,81,1,17,3,148,38,135,0,148,
-39,2,16,3,0,1,254,1,17,3,1,142,82,2,2,16,3,0,1,253,1,17,3,1,142,85,2,2,16,3,
-0,1,252,2,16,3,0,1,251,1,17,2,1,2,2,16,3,0,1,250,1,17,4,1,142,88,5,2,2,16,3,
-0,1,249,1,17,5,1,139,20,12,129,91,2,2,16,3,0,1,248,1,17,3,1,139,111,2,2,16,3,
-0,1,247,1,17,3,1,142,92,2,2,16,3,0,1,246,1,17,4,1,130,22,2,148,65,2,16,3,0,1,
-245,1,17,3,1,139,76,2,2,16,3,0,1,244,1,17,2,1,2,2,16,3,0,1,243,1,17,3,1,135,
-74,2,2,16,3,0,1,242,1,17,3,1,130,30,2,1,17,2,150,113,135,70,2,16,3,0,1,241,1,
-17,3,1,142,107,2,2,16,3,0,1,240,1,17,3,1,5,2,2,16,3,0,1,239,1,17,5,1,139,39,
-2,152,30,38,1,17,2,150,120,135,77,2,16,3,0,1,238,1,17,3,1,142,114,2,2,16,3,0,
-1,237,1,17,4,1,129,121,2,129,116,2,16,3,0,1,236,1,17,3,1,14,2,2,16,3,0,1,235,
-1,17,5,1,139,48,2,152,39,46,1,17,2,151,28,1,1,17,2,151,2,135,87,2,16,3,0,1,234,
-1,17,3,1,135,45,144,48,2,16,3,0,1,233,1,17,4,1,142,126,4,2,2,16,3,0,1,232,1,
-17,3,1,135,39,2,2,16,3,0,1,231,1,17,4,1,130,7,2,130,2,2,16,3,0,1,230,1,17,2,
-1,2,1,17,3,25,29,1,1,17,5,24,139,62,1,152,53,59,2,16,3,0,1,229,2,16,3,0,1,228,
-1,17,3,1,129,119,2,2,16,3,0,1,227,1,17,3,1,130,65,2,1,42,2,0,0,11,0,0,20,2,3,
-8,109,117,116,97,45,110,117,109,2,3,9,98,121,116,101,45,100,114,111,112,2,3,
-8,98,121,116,101,45,105,110,99,2,3,8,98,121,116,101,45,100,101,99,2,3,11,98,
-121,116,101,45,105,110,115,101,114,116,2,3,11,98,121,116,101,45,114,101,112,
-101,97,116,2,3,11,98,121,116,101,45,114,97,110,100,111,109,2,3,9,98,121,116,
-101,45,112,101,114,109,2,3,9,102,117,115,101,45,116,104,105,115,2,3,9,102,117,
-115,101,45,110,101,120,116,2,3,8,102,117,115,101,45,111,108,100,2,3,10,115,101,
-113,45,114,101,112,101,97,116,2,3,11,115,101,100,45,115,101,113,45,100,101,108,
-2,3,8,108,105,110,101,45,100,101,108,2,3,12,108,105,110,101,45,100,101,108,45,
-115,101,113,2,3,8,108,105,110,101,45,100,117,112,2,3,10,108,105,110,101,45,99,
-108,111,110,101,2,3,11,108,105,110,101,45,114,101,112,101,97,116,2,3,9,108,105,
-110,101,45,115,119,97,112,2,3,9,108,105,110,101,45,112,101,114,109,2,3,8,108,
-105,115,116,45,105,110,115,2,3,12,108,105,115,116,45,114,101,112,108,97,99,101,
-2,3,10,117,116,102,56,45,119,105,100,101,110,2,3,11,117,116,102,56,45,105,110,
-115,101,114,116,2,3,13,116,114,101,101,45,115,119,97,112,45,111,110,101,2,3,
-13,116,114,101,101,45,115,119,97,112,45,116,119,111,2,3,8,116,114,101,101,45,
-100,101,108,2,3,8,116,114,101,101,45,100,117,112,2,3,12,116,114,101,101,45,115,
-116,117,116,116,101,114,2,3,4,116,101,120,116,2,3,9,100,101,108,105,109,105,
-116,101,100,2,3,37,115,116,114,105,110,103,45,102,108,97,116,116,101,110,58,
-32,119,104,97,116,32,107,105,110,100,32,111,102,32,110,111,100,101,32,105,115,
-32,2,3,23,115,116,114,105,110,103,45,109,117,116,97,116,101,58,32,119,104,97,
-116,32,105,115,32,2,3,9,97,98,45,115,116,114,105,110,103,1,4,1,34,1,4,1,34,1,
-4,1,34,1,4,1,34,1,4,1,34,1,4,1,34,1,4,1,34,1,4,1,34,1,4,1,34,1,4,1,34,1,4,1,
-34,1,4,1,34,1,4,1,34,1,4,1,34,1,4,1,34,1,4,1,34,1,4,1,34,1,4,1,34,1,4,1,34,1,
-4,1,34,1,4,1,34,1,4,1,34,1,4,1,34,1,4,1,34,1,4,1,34,1,4,1,34,1,4,1,34,1,4,1,
-34,1,4,1,34,1,4,1,34,1,4,1,34,1,4,1,32,1,17,2,151,87,143,79,1,17,2,144,123,1,
-1,17,3,150,112,143,82,1,2,16,3,0,1,226,1,17,3,1,143,85,2,1,17,2,151,116,1,1,
-17,3,144,103,137,97,152,40,1,17,3,150,55,131,12,1,2,16,3,0,1,225,1,17,3,1,137,
-92,2,1,17,3,150,78,140,81,152,44,2,16,3,0,1,224,1,17,3,1,137,90,2,2,16,3,0,1,
-223,1,17,3,1,137,76,2,1,17,3,149,125,131,20,1,2,16,3,0,1,222,1,17,3,1,136,15,
-2,2,16,3,0,1,221,1,17,3,1,131,24,2,2,16,3,0,1,220,1,17,3,1,137,3,2,1,17,3,144,
-114,137,105,1,1,17,2,151,97,143,102,2,16,3,0,1,219,1,17,3,1,143,106,2,2,16,3,
-0,1,218,1,17,4,1,22,152,61,2,1,17,3,150,76,131,33,1,1,17,3,21,137,112,1,2,16,
-3,0,1,217,1,17,3,1,143,110,151,0,2,16,3,0,1,216,1,17,3,1,136,31,2,1,17,2,152,
-17,1,1,17,2,150,75,1,2,16,3,0,1,215,1,17,3,1,143,118,2,2,16,3,0,1,214,1,17,4,
-1,34,152,73,2,2,16,3,0,1,213,1,17,3,1,136,26,2,2,16,3,0,1,212,1,17,3,1,131,18,
-2,1,17,3,150,92,131,49,1,1,17,3,37,138,0,1,1,17,3,147,120,138,3,152,80,1,17,
-3,129,65,138,16,1,1,17,3,129,65,131,53,1,1,17,3,148,116,131,54,1,1,17,3,42,138,
-5,1,1,17,2,152,10,144,2,1,17,3,150,100,144,3,1,1,17,3,148,88,141,19,1,1,17,3,
-147,96,144,7,1,1,17,3,152,68,141,23,1,1,17,4,30,51,152,90,1,1,17,3,150,105,131,
-62,1,2,16,3,0,1,211,1,17,3,1,136,57,2,2,16,3,0,1,210,1,17,3,1,136,51,2,1,17,
-3,145,26,138,17,1,1,17,3,151,3,141,6,152,97,1,17,3,150,46,141,7,1,2,16,3,0,1,
-209,1,17,3,1,138,16,2,1,17,3,151,45,131,25,1,2,16,3,0,1,208,1,17,3,1,138,21,
-2,1,17,3,150,21,138,20,1,2,16,3,0,1,207,1,17,3,1,138,24,2,2,16,3,0,1,206,1,17,
-3,1,136,59,2,2,16,3,0,1,205,1,17,3,1,136,62,2,2,16,3,0,1,204,1,17,3,1,131,53,
-2,2,16,3,0,1,203,1,17,3,1,131,51,2,1,17,3,65,136,79,1,1,17,3,150,64,131,87,1,
-2,16,3,0,1,202,1,17,3,1,136,82,2,2,16,3,0,1,201,1,17,3,1,136,76,2,1,17,3,145,
-51,138,42,1,1,17,2,152,47,144,39,1,17,3,151,38,144,41,1,2,16,3,0,1,200,1,17,
-3,1,138,60,2,2,16,3,0,1,199,1,17,4,1,88,152,127,2,2,16,3,0,1,198,1,17,3,1,136,
-95,2,2,16,3,0,1,197,1,17,3,1,138,66,2,2,16,3,0,1,196,1,17,3,1,131,104,2,2,16,
-3,0,1,195,1,17,3,1,136,91,2,1,17,3,149,96,144,53,149,103,1,17,3,150,66,144,54,
-1,2,16,3,0,1,194,1,17,3,1,144,57,2,2,16,3,0,1,193,1,17,3,1,138,76,2,1,17,3,149,
-105,136,108,1,2,16,3,0,1,192,1,17,3,1,144,63,2,2,16,3,0,1,191,1,17,4,1,131,117,
-11,2,2,16,3,0,1,190,1,17,3,1,136,104,2,2,16,3,0,1,189,1,17,3,1,144,69,2,1,17,
-2,152,103,1,1,17,3,150,95,138,87,153,24,1,17,3,145,119,144,71,1,1,17,3,151,40,
-131,125,1,1,17,3,145,85,144,74,1,2,16,3,0,1,188,1,17,2,1,144,74,2,16,3,0,1,187,
-1,17,4,1,120,152,91,2,2,16,3,0,1,186,1,17,3,1,132,4,2,2,16,3,0,1,185,1,17,3,
-1,8,2,2,16,3,0,1,184,1,17,3,1,14,2,2,16,3,0,1,183,1,17,3,1,138,88,2,1,17,2,152,
-93,144,85,1,17,3,147,34,144,87,1,1,17,4,12,129,3,152,102,1,1,17,3,11,132,14,
-1,1,17,3,10,17,1,1,17,3,9,22,1,1,17,3,8,138,95,1,2,3,11,111,112,101,110,45,115,
-105,110,103,108,101,2,3,3,98,117,103,2,3,36,98,117,103,32,45,32,101,118,101,
-114,121,116,104,105,110,103,32,115,104,111,117,108,100,32,98,101,32,112,97,114,
-115,101,97,98,108,101,2,3,16,119,104,97,116,32,102,105,110,101,32,110,111,100,
-101,58,32,2,3,16,119,104,97,116,32,102,105,110,101,32,110,111,100,101,58,32,
-1,17,3,145,59,0,13,2,0,0,48,1,17,3,145,60,0,13,2,0,0,50,1,17,3,145,61,0,13,2,
-0,0,52,1,17,5,145,59,2,0,13,2,0,0,49,3,1,17,3,145,63,0,13,2,0,0,54,1,17,3,145,
-59,0,13,2,0,0,57,1,17,4,145,64,1,0,13,2,0,0,56,1,17,5,145,58,1,0,13,2,0,0,55,
-3,1,17,5,145,64,1,0,13,2,0,0,53,6,1,17,5,145,65,1,0,13,2,0,0,51,6,1,18,3,133,
-121,133,120,1,1,18,2,133,118,1,1,18,3,133,121,2,1,1,18,3,133,122,1,133,127,1,
-18,2,133,112,1,2,3,19,116,97,103,45,105,110,102,111,58,32,98,97,100,32,110,111,
-100,101,32,2,3,7,87,84,78,32,73,83,32,2,3,3,63,63,63,2,3,7,87,84,78,32,73,83,
-32,2,3,3,63,63,63,2,3,7,120,112,45,115,119,97,112,2,3,36,103,101,110,101,114,
-97,116,101,45,110,111,100,101,58,32,117,110,101,120,112,101,99,116,101,100,32,
-110,111,100,101,32,116,121,112,101,32,2,3,9,120,112,45,105,110,115,101,114,116,
-2,3,6,120,112,45,100,117,112,2,3,7,120,112,45,112,117,109,112,2,3,9,120,112,
-45,114,101,112,101,97,116,1,4,1,31,1,4,1,7,1,4,1,6,1,4,1,6,1,4,1,6,1,4,1,6,1,
-17,2,153,9,145,1,1,17,3,150,43,145,2,1,1,17,3,149,86,145,4,1,2,16,3,0,1,182,
-1,17,4,1,145,5,145,7,2,1,17,3,153,12,153,31,1,1,17,3,152,111,142,10,1,1,18,3,
-134,53,134,52,0,0,32,1,18,3,134,54,134,53,0,0,10,1,18,3,134,51,2,1,1,18,4,134,
-45,1,134,44,0,13,0,1,18,3,134,57,134,56,0,0,34,1,18,3,134,58,134,57,0,0,39,1,
-18,3,134,55,2,1,2,16,3,0,1,181,1,17,2,1,137,55,2,16,3,0,1,180,1,17,4,1,137,56,
-2,137,57,2,16,3,0,1,179,1,17,4,1,137,58,2,137,59,2,16,3,0,1,178,1,17,3,1,137,
-60,2,1,18,3,134,73,134,72,1,1,18,2,134,52,1,1,17,3,148,89,142,17,148,12,2,16,
-3,0,1,177,1,17,3,1,145,27,2,1,17,2,147,94,1,2,16,3,0,1,176,1,17,3,1,134,73,2,
-1,17,2,147,101,1,1,17,3,150,65,134,63,1,2,16,3,0,1,175,1,17,3,1,145,34,148,21,
-1,17,3,147,109,134,89,1,1,17,2,148,11,1,1,17,3,147,108,134,80,1,1,17,4,150,78,
-134,78,6,1,1,17,2,153,10,142,101,1,17,3,150,120,145,38,1,2,16,3,0,1,174,1,17,
-4,1,134,90,4,2,1,17,2,152,112,1,1,17,3,148,20,145,44,148,31,1,17,2,147,115,1,
-1,17,3,147,109,3,1,1,17,3,148,24,33,1,1,18,3,134,89,1,24,1,17,3,148,113,145,
-49,148,36,2,16,3,0,1,173,1,17,3,1,44,2,1,17,2,147,122,1,1,17,3,147,120,5,147,
-126,1,17,3,148,0,43,1,1,17,2,148,30,1,2,16,3,0,1,172,1,17,3,1,134,100,2,1,17,
-4,150,98,134,98,6,1,2,16,3,0,1,171,1,17,3,1,134,102,2,1,17,3,148,1,50,1,1,17,
-3,148,8,38,1,1,17,3,148,40,52,1,2,16,3,0,1,170,2,16,3,0,1,169,1,17,2,1,2,1,17,
-2,148,14,154,26,1,17,2,148,43,1,2,16,3,0,1,168,1,17,3,1,134,113,2,1,17,2,148,
-18,76,1,17,2,148,47,1,2,16,3,0,1,167,1,17,3,1,134,117,2,1,17,2,148,50,1,1,17,
-3,147,110,134,119,1,2,16,3,0,1,166,1,17,5,1,134,118,12,8,2,1,17,3,148,53,68,
-1,1,17,2,148,22,1,1,17,4,148,18,134,112,1,18,1,17,3,148,59,58,1,1,17,2,148,27,
-148,28,2,16,3,0,1,165,1,17,2,1,154,45,1,17,2,148,28,1,2,16,3,0,1,164,1,17,3,
-1,135,3,2,1,17,3,148,29,78,1,1,17,3,148,36,66,1,1,17,2,148,66,1,1,17,3,147,126,
-135,7,1,1,17,5,148,16,135,5,10,1,11,1,17,2,148,69,1,2,16,3,0,1,163,1,17,3,1,
-135,11,2,2,16,3,0,1,162,2,16,3,0,1,161,1,17,2,1,131,54,1,17,2,148,75,1,1,17,
-3,153,89,135,4,1,1,17,4,148,43,135,22,1,5,1,17,2,147,125,131,58,1,17,2,153,112,
-145,104,2,16,3,0,1,160,1,17,5,1,131,61,145,106,3,2,2,16,3,0,1,159,1,17,3,1,145,
-104,2,1,17,3,148,85,1,148,96,1,17,3,148,50,8,1,1,17,3,148,88,135,37,1,1,18,3,
-135,25,16,1,1,18,4,135,19,1,135,18,0,13,0,2,16,3,0,1,158,1,17,5,1,135,8,2,129,
-22,129,21,1,17,3,152,27,145,117,153,71,2,16,3,0,1,157,1,17,3,1,142,48,2,2,16,
-3,0,1,156,1,17,4,1,142,50,145,122,2,1,17,2,154,67,1,1,17,2,153,96,142,50,1,17,
-2,146,31,1,1,17,3,150,64,145,125,1,1,17,3,131,61,142,55,1,1,17,3,147,55,146,
-0,1,2,16,3,0,1,155,1,17,4,1,142,56,146,2,2,2,16,3,0,1,154,1,17,2,1,2,2,16,3,
-0,1,153,1,17,3,1,2,154,6,1,17,3,152,101,12,1,1,17,3,147,24,146,6,154,89,2,16,
-3,0,1,152,1,17,2,1,2,2,16,3,0,1,151,1,17,3,1,146,11,2,2,16,3,0,1,150,1,17,2,
-1,2,2,16,3,0,1,149,1,17,3,1,146,16,2,1,17,2,154,47,1,2,16,3,0,1,148,1,17,2,1,
-143,52,2,16,3,0,1,147,1,17,2,1,154,106,1,17,3,153,9,146,20,154,103,1,17,3,147,
-70,146,22,1,1,17,3,152,119,17,1,1,17,3,147,36,146,25,1,2,16,3,0,1,146,1,17,4,
-1,10,6,2,1,17,2,8,129,31,1,17,3,153,16,146,27,154,110,1,17,3,147,77,146,29,1,
-1,17,3,152,126,24,1,1,17,3,147,43,146,32,1,1,17,4,7,16,5,1,2,16,3,0,1,145,1,
-17,2,1,154,121,1,17,2,18,143,69,2,16,3,0,1,144,1,17,12,1,131,119,154,123,31,
-11,129,41,5,154,124,3,136,23,2,129,69,2,16,3,0,1,143,1,17,6,1,136,25,21,129,
-70,146,34,2,1,17,3,147,57,146,39,154,122,1,17,2,150,88,1,2,16,3,0,1,142,1,17,
-3,1,146,43,2,2,16,3,0,1,141,1,17,2,1,2,2,16,3,0,1,140,1,17,5,1,151,65,8,146,
-48,2,2,16,3,0,1,139,1,17,3,1,154,73,2,1,17,2,154,123,1,1,17,2,154,58,146,50,
-2,16,3,0,1,138,1,17,4,1,146,53,2,132,7,2,16,3,0,1,137,1,17,5,1,132,9,143,46,
-2,146,54,2,16,3,0,1,136,1,17,3,1,146,52,2,2,16,3,0,1,135,1,17,5,1,132,13,146,
-58,146,60,2,2,16,3,0,1,134,1,17,3,1,146,56,2,2,16,3,0,1,133,1,17,3,1,143,65,
-2,1,17,3,152,104,146,63,154,18,2,16,3,0,1,132,1,17,4,1,146,66,154,80,2,1,17,
-3,152,107,146,66,154,21,2,16,3,0,1,131,1,17,6,1,155,27,146,64,3,146,69,2,2,16,
-3,0,1,130,1,17,3,1,146,66,2,2,16,3,0,1,129,1,17,3,1,146,74,2,1,17,2,153,12,1,
-1,17,3,152,115,146,74,154,29,1,17,3,152,116,146,75,154,30,1,17,3,152,117,146,
-76,154,31,2,16,3,0,1,128,1,17,4,1,146,78,154,33,155,55,2,16,3,0,1,127,1,17,4,
-1,146,81,4,2,1,17,3,152,122,146,81,154,36,2,16,3,0,1,126,1,17,10,1,132,38,146,
-84,9,155,42,8,155,43,10,3,2,2,16,3,0,1,125,1,17,3,1,146,81,2,2,16,3,0,1,124,
-1,17,4,1,143,77,146,89,2,1,17,2,155,34,1,2,16,3,0,1,123,1,17,2,1,2,1,17,2,154,
-65,143,19,1,17,2,154,66,143,20,1,17,3,152,124,146,93,1,2,16,3,0,1,122,1,17,3,
-1,146,96,2,2,16,3,0,1,121,1,17,5,1,146,97,6,146,99,2,2,16,3,0,1,120,1,17,3,1,
-143,29,2,1,17,2,153,72,129,117,1,17,3,152,33,146,101,154,56,2,16,3,0,1,119,1,
-17,3,1,139,24,2,2,16,3,0,1,118,1,17,3,1,141,51,2,2,16,3,0,1,117,1,17,3,1,146,
-107,2,1,17,3,153,108,1,155,63,1,17,3,152,61,133,11,1,1,17,2,154,51,1,1,17,2,
-154,85,143,43,1,17,3,153,15,146,112,1,1,17,2,154,84,3,2,16,3,0,1,116,1,17,3,
-1,135,58,2,1,17,3,155,14,138,63,1,1,17,2,154,91,143,45,2,16,3,0,1,115,1,17,4,
-1,146,120,3,2,1,17,3,154,108,20,1,1,17,3,148,38,146,122,1,1,17,3,151,74,146,
-124,1,2,16,3,0,1,114,1,17,4,1,144,7,12,2,2,16,3,0,1,113,1,17,3,1,143,56,2,2,
-16,3,0,1,112,1,17,3,1,29,2,2,16,3,0,1,111,1,17,2,1,2,2,16,3,0,1,110,1,17,13,
-1,132,87,155,91,4,155,92,130,9,155,109,144,15,2,155,78,136,121,0,12,2,130,20,
-2,16,3,0,1,109,1,17,3,1,147,2,2,2,16,3,0,1,108,1,17,4,1,144,19,155,82,2,2,16,
-3,0,1,107,1,17,3,1,2,148,54,2,16,3,0,1,106,1,17,3,1,50,2,1,17,3,153,110,92,1,
-1,17,3,155,3,80,1,2,16,3,0,1,105,1,17,3,1,129,29,2,2,16,3,0,1,104,1,17,2,1,147,
-18,2,16,3,0,1,103,1,17,2,1,147,20,1,17,3,154,20,144,13,1,2,16,3,0,1,102,1,17,
-4,1,144,15,5,2,1,17,2,149,50,1,2,16,3,0,1,101,1,17,3,1,147,27,2,2,16,3,0,1,100,
-1,17,3,1,147,30,2,1,17,2,155,103,1,2,16,3,0,1,99,1,17,2,1,147,31,1,17,3,154,
-31,144,24,1,1,17,3,154,2,4,1,2,16,3,0,1,98,1,17,3,1,147,35,2,1,17,2,6,147,36,
-1,17,3,154,36,144,29,1,1,17,3,154,7,9,1,2,16,3,0,1,97,1,17,3,1,147,40,2,2,16,
-3,0,1,96,1,17,3,1,147,42,2,1,17,3,9,147,43,1,1,17,2,14,147,44,1,17,3,148,20,
-147,45,1,1,17,3,154,45,144,38,1,2,16,3,0,1,95,1,17,3,1,147,48,2,1,17,2,148,25,
-144,84,1,17,4,149,109,137,35,1,0,12,2,1,17,4,149,110,147,51,1,130,64,1,17,3,
-154,51,147,52,1,1,17,2,155,27,18,1,17,2,147,90,1,1,17,2,129,39,144,90,1,17,4,
-149,115,137,41,1,0,12,2,1,17,4,149,116,147,57,1,130,72,1,17,3,154,57,147,58,
-1,2,16,3,0,1,94,1,17,16,1,133,15,144,52,156,37,12,6,156,19,25,130,65,17,156,
-20,156,39,155,15,147,60,2,130,74,2,16,3,0,1,93,1,17,6,1,147,62,10,130,74,147,
-58,2,2,16,3,0,1,92,1,17,5,1,152,83,2,144,67,156,10,2,16,3,0,1,91,1,17,3,1,144,
-79,2,1,17,2,150,109,1,2,16,3,0,1,90,1,17,3,1,144,80,156,15,2,16,3,0,1,89,1,17,
-6,1,156,50,153,116,156,48,144,82,156,17,1,17,3,148,118,147,68,1,2,16,3,0,1,88,
-1,17,3,1,147,74,2,2,16,3,0,1,87,1,17,2,1,2,2,16,3,0,1,86,1,17,4,1,155,103,9,
-2,2,16,3,0,1,85,1,17,3,1,147,78,130,85,2,16,3,0,1,84,1,17,4,1,147,80,2,156,59,
-2,16,3,0,1,83,1,17,4,1,147,82,2,156,43,2,16,3,0,1,82,1,17,3,1,147,82,2,1,18,
-2,9,1,1,17,3,151,50,147,86,156,65,1,17,3,4,147,85,1,1,18,2,12,1,1,18,2,13,156,
-40,1,17,3,13,147,90,156,69,1,17,4,10,147,91,1,133,48,1,17,3,9,147,90,1,1,18,
-2,17,1,2,16,3,0,1,81,1,17,3,1,144,97,156,39,1,17,2,149,119,156,75,2,16,3,0,1,
-80,1,17,5,1,156,77,144,100,2,156,42,2,16,3,0,1,79,1,17,3,1,147,98,2,2,16,3,0,
-1,78,1,17,2,1,2,2,16,3,0,1,77,1,17,4,1,156,3,9,2,1,17,2,155,78,144,126,2,16,
-3,0,1,76,2,16,3,0,1,75,1,17,4,1,4,155,125,2,2,16,3,0,1,74,1,17,3,1,134,119,2,
-2,16,3,0,1,73,1,17,4,1,147,115,7,2,1,17,3,149,40,145,6,1,2,16,3,0,1,72,1,17,
-3,1,30,2,1,17,2,155,126,135,34,1,17,3,152,73,144,38,1,2,16,3,0,1,71,1,17,3,151,
-98,147,122,155,11,1,17,3,149,44,147,122,1,1,17,3,151,100,147,124,155,13,1,17,
-3,149,46,147,124,1,1,17,3,153,44,147,125,1,2,16,3,0,1,70,1,17,3,1,148,1,2,2,
-16,3,0,1,69,1,17,2,1,2,2,16,3,0,1,68,1,17,5,1,148,5,9,148,4,2,1,17,3,150,37,
-144,110,1,1,17,3,151,98,148,6,1,2,16,3,0,1,67,1,17,5,1,148,9,2,148,8,155,25,
-2,16,3,0,1,66,1,17,3,1,135,63,2,2,16,3,0,1,65,1,17,4,1,144,55,19,2,1,17,2,150,
-33,156,117,2,16,3,0,1,64,1,17,9,1,156,121,156,101,131,19,148,14,2,145,54,131,
-24,156,97,2,16,3,0,1,63,1,17,3,1,5,2,2,16,3,0,1,62,1,17,3,1,144,76,2,1,17,3,
-153,63,28,1,2,16,3,0,1,61,1,17,4,1,43,156,36,149,75,2,16,3,0,1,60,1,17,3,1,4,
-2,1,17,3,154,55,135,68,1,2,16,3,0,1,59,1,17,3,1,63,2,1,17,3,39,60,1,2,16,3,0,
-1,58,1,17,2,1,157,8,2,16,3,0,1,57,1,17,4,1,53,156,46,2,2,16,3,0,1,56,1,17,3,
-1,135,77,2,1,17,3,46,75,1,2,16,3,0,1,55,1,17,3,1,140,85,156,119,2,16,3,0,1,54,
-1,17,5,1,143,71,155,121,135,92,2,2,16,3,0,1,53,1,17,4,1,148,38,0,0,129,128,0,
-2,2,16,3,0,1,52,1,17,3,1,148,40,2,1,17,3,152,124,141,15,1,2,16,3,0,1,51,1,17,
-2,1,2,1,17,3,152,23,148,47,155,64,1,17,3,152,24,148,48,155,65,2,16,3,0,1,50,
-1,17,3,1,148,51,2,2,16,3,0,1,49,1,17,3,1,141,23,2,1,17,4,134,34,148,54,6,1,2,
-16,3,0,1,48,1,17,4,1,76,156,9,149,108,2,16,3,0,1,47,1,17,6,1,78,156,71,149,110,
-140,103,2,2,16,3,0,1,46,1,17,2,1,2,2,16,3,0,1,45,1,17,3,1,15,2,2,16,3,0,1,44,
-1,17,3,1,135,106,2,1,17,2,156,34,145,125,1,17,3,154,16,148,62,1,2,16,3,0,1,43,
-1,17,4,1,145,51,4,2,2,16,3,0,1,42,1,17,3,1,101,2,2,16,3,0,1,41,1,17,3,1,18,2,
-2,16,3,0,1,40,1,17,4,151,8,141,14,2,1,2,16,3,0,1,39,1,17,3,1,112,2,2,16,3,0,
-1,38,1,17,4,1,140,123,156,31,157,55,2,16,3,0,1,37,1,17,3,1,157,33,2,1,17,3,151,
-57,34,1,1,17,4,60,102,156,95,150,6,2,16,3,0,1,36,1,17,3,1,3,2,1,17,3,51,135,
-127,1,1,17,3,96,125,1,2,16,3,0,1,35,1,17,11,1,97,131,90,52,131,88,12,131,87,
-2,131,86,59,131,89,2,16,3,0,1,34,1,17,3,1,136,14,2,2,16,3,0,1,33,2,16,3,0,1,
-32,1,17,2,1,2,2,16,3,0,1,31,1,17,3,1,5,2,1,17,2,156,126,1,2,16,3,0,1,30,2,16,
-3,0,1,29,1,17,3,1,148,98,2,2,16,3,0,1,28,2,16,3,0,1,27,1,17,3,154,29,135,96,
-1,1,17,3,155,23,135,70,1,1,17,3,150,21,148,103,1,2,16,3,0,1,26,1,17,2,1,2,2,
-16,3,0,1,25,1,17,3,1,129,39,2,2,16,3,0,1,24,1,17,4,1,10,14,2,2,16,3,0,1,23,1,
-17,3,1,13,2,2,16,3,0,1,22,1,17,3,1,129,96,2,1,17,3,150,43,139,90,1,2,16,3,0,
-1,21,1,17,3,1,148,117,2,1,17,2,152,31,1,1,18,4,2,0,13,1,0,13,1,1,2,16,3,0,1,
-20,2,16,3,0,1,19,1,17,3,1,141,92,2,2,16,3,0,1,18,2,16,3,0,1,17,1,17,4,1,136,
-0,2,133,111,1,17,3,155,100,141,45,156,79,2,16,3,0,1,16,1,17,3,1,148,127,2,2,
-16,3,0,1,15,1,17,3,1,149,2,2,2,16,3,0,1,14,1,17,3,1,149,4,2,1,17,2,157,74,1,
-1,17,2,156,103,140,43,1,17,2,156,104,140,44,2,16,3,0,1,13,1,17,6,1,3,156,90,
-149,7,2,156,90,2,16,3,0,1,12,1,17,3,1,149,5,2,2,16,3,0,1,11,1,17,4,1,141,58,
-157,58,2,2,16,3,0,1,10,1,17,2,1,141,60,1,17,3,155,72,141,63,156,32,1,17,3,156,
-42,141,64,1,2,16,3,0,1,9,1,17,3,1,141,62,2,2,16,3,0,1,8,1,17,3,1,149,20,2,1,
-17,3,154,53,7,1,2,16,3,0,1,7,1,17,3,1,149,24,2,1,17,2,155,0,1,1,17,2,157,32,
-149,24,1,17,2,150,68,1,1,17,3,156,57,149,27,1,1,17,3,135,53,149,29,1,1,17,2,
-157,60,1,1,17,3,154,89,149,29,157,44,2,16,3,0,1,6,1,17,3,1,149,33,2,1,17,2,150,
-87,1,2,16,3,0,1,5,2,16,3,0,1,4,1,17,3,1,139,108,2,2,16,3,0,1,3,1,17,3,1,139,
-110,2,2,16,3,0,1,2,1,17,3,1,11,157,54,2,16,3,0,1,1,1,17,5,1,135,71,4,141,88,
-2,2,16,3,0,1,0,1,17,2,1,2,2,16,3,0,0,255,1,17,5,1,149,46,13,141,94,2,2,16,3,
-0,0,254,1,17,5,1,136,101,130,86,24,2,1,17,2,157,80,1,2,16,3,0,0,253,1,17,3,1,
-157,82,157,82,2,16,3,0,0,252,1,17,2,1,157,84,2,16,3,0,0,251,1,17,2,1,157,86,
-2,16,3,0,0,250,1,17,7,1,136,110,6,136,52,4,134,9,2,1,17,3,155,69,136,26,1,2,
-16,3,0,0,249,1,17,3,1,149,60,2,2,16,3,0,0,248,1,17,3,1,58,2,2,16,3,0,0,247,1,
-17,3,1,15,2,1,17,3,154,97,140,41,1,2,16,3,0,0,246,1,17,3,1,149,68,2,1,17,2,157,
-99,1,2,16,3,0,0,245,1,17,2,1,157,101,2,16,3,0,0,244,1,17,4,1,136,67,2,134,23,
-1,17,3,155,122,149,72,1,2,16,3,0,0,243,1,17,3,1,149,75,2,2,16,3,0,0,242,1,17,
-4,1,65,2,157,86,2,16,3,0,0,241,1,17,3,1,149,80,2,2,16,3,0,0,240,1,17,3,1,88,
-2,2,16,3,0,0,239,1,17,3,1,137,8,2,1,17,3,18,149,85,1,1,17,2,157,116,1,1,17,2,
-17,157,117,1,17,4,16,136,82,1,134,37,1,17,3,156,9,149,87,1,1,17,3,15,149,89,
-1,1,17,2,157,84,149,89,2,16,3,0,0,238,1,17,3,1,144,116,2,1,17,3,135,29,142,13,
-1,1,17,4,18,82,5,1,1,17,3,17,149,96,1,1,17,3,16,103,1,1,17,3,15,137,22,1,1,17,
-3,32,149,99,1,1,17,2,158,2,1,1,17,2,31,158,3,1,17,4,30,136,96,1,134,50,1,17,
-3,156,23,149,101,1,1,17,3,29,149,103,1,1,17,2,157,98,149,103,2,16,3,0,0,237,
-1,17,3,1,142,24,2,2,16,3,0,0,236,1,17,3,1,143,10,2,1,17,4,33,97,6,1,1,17,3,32,
-149,111,1,1,17,3,31,118,1,1,17,3,30,137,37,1,1,17,3,47,149,114,1,1,17,2,158,
-17,1,1,17,2,46,158,18,1,17,4,45,136,111,1,134,66,1,17,3,156,38,149,116,1,1,17,
-3,44,149,118,1,1,17,2,157,113,149,118,2,16,3,0,0,235,1,17,3,1,145,15,2,2,16,
-3,0,0,234,1,17,4,1,111,5,2,2,16,3,0,0,233,1,17,3,1,149,126,2,2,16,3,0,0,232,
-1,17,3,1,145,31,2,2,16,3,0,0,231,1,17,3,1,129,8,2,2,16,3,0,0,230,1,17,3,1,137,
-56,2,1,17,3,50,137,57,1,1,17,3,67,150,6,1,1,17,2,158,37,1,1,17,2,66,158,38,1,
-17,4,65,137,3,1,134,84,1,17,3,156,58,150,8,1,1,17,3,64,150,10,1,1,17,2,158,18,
-150,10,2,16,3,0,0,229,1,17,3,1,150,12,2,1,17,4,20,129,2,4,1,2,16,3,0,0,228,1,
-17,3,1,150,17,2,2,16,3,0,0,227,1,17,3,1,137,71,2,1,17,3,67,129,26,1,1,17,3,66,
-137,73,1,1,17,3,83,150,22,1,1,17,2,158,53,1,2,16,3,0,0,226,1,17,4,1,145,56,157,
-106,137,77,2,16,3,0,0,225,1,17,5,1,137,79,143,56,2,0,0,136,128,0,2,16,3,0,0,
-224,1,17,3,1,137,81,2,1,17,2,129,112,1,2,16,3,0,0,223,1,17,3,1,150,30,157,48,
-2,16,3,0,0,222,1,17,3,1,142,79,2,1,17,2,158,65,1,1,17,2,94,158,66,1,17,4,93,
-137,31,1,134,111,1,17,3,156,86,150,36,1,1,17,3,92,150,38,1,1,17,2,158,12,5,2,
-16,3,0,0,221,1,17,3,1,150,40,2,1,17,4,48,129,30,4,1,1,17,3,28,150,44,1,2,16,
-3,0,0,220,1,17,3,1,16,2,1,17,3,94,129,53,1,1,17,3,93,137,100,1,1,17,3,110,150,
-49,1,1,17,2,158,80,1,1,17,2,109,158,81,1,17,4,108,137,46,1,134,125,1,17,3,156,
-101,150,51,1,1,17,3,107,150,53,1,2,16,3,0,0,219,1,17,2,1,150,54,1,17,4,62,129,
-44,3,1,1,17,3,42,150,58,1,1,17,3,41,137,111,1,1,17,3,107,129,66,1,1,17,3,106,
-137,113,1,1,17,3,123,150,62,1,1,17,2,158,93,1,1,17,2,122,158,94,1,17,4,121,137,
-59,1,135,9,1,17,3,156,114,150,64,1,1,17,3,120,150,66,1,2,16,3,0,0,218,1,17,2,
-1,147,59,1,17,3,156,100,137,75,1,1,17,3,154,42,144,68,1,2,16,3,0,0,217,1,17,
-3,1,144,72,2,2,16,3,0,0,216,1,17,3,1,137,93,2,1,17,3,63,150,74,1,2,16,3,0,0,
-215,1,17,4,1,129,65,11,2,2,16,3,0,0,214,1,17,3,1,150,80,2,1,17,3,129,0,129,87,
-1,1,17,3,127,138,6,1,1,17,3,129,16,150,83,1,1,17,2,158,114,1,1,17,2,129,15,158,
-115,1,17,4,129,14,137,80,1,135,29,1,17,3,157,7,137,54,1,2,16,3,0,0,213,1,17,
-3,1,150,88,2,2,16,3,0,0,212,1,17,3,1,129,94,2,2,16,3,0,0,211,1,17,3,1,136,48,
-2,1,17,3,155,125,141,69,1,1,17,3,129,28,150,95,1,1,17,2,158,126,1,1,17,3,154,
-30,150,95,157,113,1,17,3,136,16,150,98,1,1,17,3,158,1,150,98,1,2,16,3,0,0,210,
-1,17,5,1,147,89,158,101,150,100,2,2,16,3,0,0,209,1,17,5,1,147,91,158,103,150,
-102,2,1,17,2,158,87,1,1,17,2,129,35,159,7,1,17,4,129,34,137,100,1,135,48,2,16,
-3,0,0,208,1,17,3,1,137,75,2,1,17,3,19,129,112,1,2,16,3,0,0,207,1,17,3,1,136,
-66,2,1,17,3,129,127,136,67,1,2,16,3,0,0,206,1,17,3,1,141,89,2,1,17,3,156,125,
-143,85,1,1,17,3,134,59,150,116,1,2,16,3,0,0,205,1,17,3,1,150,117,2,1,17,3,156,
-22,15,1,1,17,3,156,23,141,95,1,2,16,3,0,0,204,1,17,3,1,150,122,2,1,17,2,159,
-25,1,2,16,3,0,0,203,1,17,2,1,153,111,2,16,3,0,0,202,1,17,4,1,137,121,158,31,
-135,68,1,17,3,157,48,137,95,1,1,17,3,157,11,137,96,1,1,17,3,151,53,151,1,1,2,
-16,3,0,0,201,1,17,2,1,2,2,16,3,0,0,200,1,17,3,1,151,6,2,2,16,3,0,0,199,1,17,
-3,1,130,11,2,2,16,3,0,0,198,1,17,3,1,138,62,2,2,16,3,0,0,197,1,17,3,1,136,95,
-2,2,16,3,0,0,196,1,17,3,1,136,97,2,1,17,3,151,119,147,120,1,2,16,3,0,0,195,1,
-17,3,1,141,120,2,1,17,3,153,49,147,123,1,1,17,3,153,50,141,122,1,2,16,3,0,0,
-194,1,17,3,1,151,21,2,1,17,2,156,82,1,2,16,3,0,0,193,1,17,4,1,151,24,27,2,1,
-17,2,159,31,151,23,1,17,3,158,22,151,25,1,1,17,2,159,20,151,25,1,17,2,129,86,
-159,58,1,17,4,129,85,138,23,1,135,97,2,16,3,0,0,192,1,17,4,1,142,68,4,2,2,16,
-3,0,0,191,1,17,2,1,151,31,2,16,3,0,0,190,1,17,4,1,148,44,4,2,2,16,3,0,0,189,
-1,17,3,1,145,20,2,2,16,3,0,0,188,1,17,5,1,151,38,142,76,13,2,1,17,3,136,116,
-130,46,1,2,16,3,0,0,187,1,17,3,1,143,74,2,2,16,3,0,0,186,1,17,3,1,138,66,2,1,
-17,3,152,101,142,82,1,1,17,2,159,39,151,40,1,17,3,152,87,151,47,1,2,16,3,0,0,
-185,1,17,4,1,148,47,4,2,2,16,3,0,0,184,1,17,3,1,145,34,2,1,17,2,159,45,151,46,
-1,17,3,152,93,151,53,1,2,16,3,0,0,183,1,17,4,1,148,53,4,2,2,16,3,0,0,182,1,17,
-3,1,145,40,2,2,16,3,0,0,181,1,17,3,1,151,59,2,1,17,2,159,53,151,54,1,17,3,152,
-101,151,61,1,2,16,3,0,0,180,1,17,4,1,148,61,4,2,2,16,3,0,0,179,1,17,3,1,145,
-48,2,2,16,3,0,0,178,1,17,3,1,138,85,2,2,16,3,0,0,177,1,17,3,1,143,116,2,2,16,
-3,0,0,176,1,17,3,1,138,89,2,2,16,3,0,0,175,1,17,4,1,143,118,2,159,103,2,16,3,
-0,0,174,1,17,3,1,143,112,2,2,16,3,0,0,173,1,17,3,1,151,77,2,1,17,2,159,108,1,
-1,17,2,159,85,151,77,1,17,3,158,76,151,79,1,1,17,2,130,11,159,111,1,17,4,130,
-10,138,76,1,136,21,2,16,3,0,0,172,1,17,5,1,151,83,142,121,4,2,1,17,3,130,4,130,
-91,1,1,17,3,158,111,135,111,1,1,17,3,156,118,142,62,1,1,17,3,130,21,151,88,1,
-1,17,2,159,119,1,2,16,3,0,0,171,1,17,2,159,60,148,79,1,17,3,159,21,151,90,1,
-1,17,3,157,23,151,91,131,99,1,17,3,159,80,148,82,1,2,16,3,0,0,170,1,17,6,1,148,
-84,4,151,94,2,159,74,1,17,4,160,17,142,72,7,1,1,17,3,153,121,130,93,153,9,2,
-16,3,0,0,169,1,17,3,1,151,100,2,1,17,3,157,122,4,1,1,17,3,159,76,148,103,148,
-92,2,16,3,0,0,168,1,17,2,1,160,6,2,16,3,0,0,167,1,17,3,1,138,100,2,1,17,3,158,
-27,138,74,1,1,17,3,130,33,151,107,1,1,17,3,155,41,7,1,2,16,3,0,0,166,1,17,3,
-1,160,13,2,1,17,3,153,40,11,1,2,16,3,0,0,165,1,17,3,1,151,114,2,1,17,3,157,42,
-138,109,131,14,1,17,3,158,36,138,83,1,1,17,3,130,42,151,116,1,1,17,3,153,35,
-16,1,2,16,3,0,0,164,1,17,2,1,2,2,16,3,0,0,163,1,17,3,1,131,22,2,1,17,3,152,99,
-22,1,2,16,3,0,0,162,1,17,3,1,151,125,2,2,16,3,0,0,161,1,17,2,1,2,1,18,3,14,136,
-38,136,66,1,17,2,160,31,1,1,18,3,16,136,27,136,67,1,17,2,160,33,1,1,18,3,18,
-136,22,136,68,1,17,2,160,35,1,1,18,3,20,136,3,136,69,1,17,2,160,37,1,1,18,3,
-22,136,10,136,70,1,17,2,160,39,1,1,18,3,24,135,123,136,71,1,17,2,160,41,1,1,
-18,3,26,135,100,136,72,1,17,2,160,43,1,1,1,2,0,0,0,0,13,0,1,18,3,16,135,57,136,
-74,1,18,5,19,135,58,2,1,136,75,1,1,2,0,0,0,0,13,0,1,18,3,19,135,53,136,76,1,
-18,5,22,135,54,2,1,136,77,1,1,2,0,0,129,46,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,
-0,129,98,1,1,1,2,0,0,129,45,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,98,1,1,1,
-2,0,0,129,14,0,13,0,1,1,2,0,0,129,32,1,1,1,2,0,0,129,97,1,1,1,2,0,0,129,32,0,
-13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,98,1,1,1,2,0,0,129,62,0,13,0,1,1,2,0,0,
-129,59,1,1,1,2,0,0,129,111,1,1,1,2,0,0,129,63,0,13,0,1,1,2,0,0,129,63,1,1,1,
-2,0,0,129,111,1,1,1,2,0,0,129,45,0,13,0,1,1,2,0,0,129,63,1,1,1,2,0,0,129,96,
-1,1,1,2,0,0,129,45,0,13,0,1,1,2,0,0,129,58,1,1,1,2,0,0,129,109,1,1,1,2,0,0,129,
-45,0,13,0,1,1,2,0,0,129,42,1,1,1,2,0,0,129,109,1,1,1,2,0,0,129,63,0,13,0,1,1,
-2,0,0,129,35,1,1,1,2,0,0,129,111,1,1,1,2,0,0,129,15,0,13,0,1,1,2,0,0,129,60,
-1,1,1,2,0,0,129,111,1,1,1,2,0,0,129,22,0,13,0,1,1,2,0,0,129,31,1,1,1,2,0,0,129,
-29,1,1,1,2,0,0,129,112,1,1,1,2,0,0,129,31,0,13,0,1,1,2,0,0,129,67,1,1,1,2,0,
-0,129,58,0,13,0,1,1,2,0,0,129,55,1,1,1,2,0,0,129,111,1,1,1,2,0,0,129,16,0,13,
-0,1,1,2,0,0,129,78,1,1,1,2,0,0,129,2,0,13,0,1,1,2,0,0,129,62,1,1,1,2,0,0,129,
-97,1,1,1,2,0,0,129,44,0,13,0,1,1,2,0,0,129,44,1,1,1,2,0,0,129,111,1,1,1,2,0,
-0,129,32,0,13,0,1,1,2,0,0,129,5,1,1,1,2,0,0,129,29,1,1,1,2,0,0,129,112,1,1,1,
-2,0,0,129,62,0,13,0,1,1,2,0,0,129,63,1,1,1,2,0,0,129,15,1,1,1,2,0,0,129,116,
-1,1,1,2,0,0,129,63,0,13,0,1,1,2,0,0,129,63,1,1,1,2,0,0,129,111,1,1,1,2,0,0,129,
-0,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,16,1,1,1,2,0,0,129,112,1,1,1,2,0,0,
-129,63,0,13,0,1,1,2,0,0,129,59,1,1,1,2,0,0,129,111,1,1,1,2,0,0,129,127,0,13,
-0,1,1,2,0,0,129,126,1,1,1,2,0,0,129,126,0,13,0,1,1,2,0,0,129,127,1,1,1,2,0,0,
-129,127,0,13,0,1,1,2,0,0,129,127,1,1,1,2,0,0,0,1,1,1,2,0,0,0,1,1,1,2,0,0,0,0,
-13,0,1,1,2,0,0,0,1,1,1,2,0,0,129,127,1,1,1,2,0,0,129,127,1,1,1,2,0,0,56,0,13,
-0,1,1,2,0,0,118,1,1,1,2,0,0,47,1,1,1,2,0,0,43,1,1,1,2,0,0,57,0,13,0,1,1,2,0,
-0,118,1,1,1,2,0,0,47,1,1,1,2,0,0,43,1,1,1,2,0,0,43,0,13,0,1,1,2,0,0,118,1,1,
-1,2,0,0,47,1,1,1,2,0,0,43,1,1,1,2,0,0,47,0,13,0,1,1,2,0,0,118,1,1,1,2,0,0,47,
-1,1,1,2,0,0,43,1,1,1,2,0,0,76,0,13,0,1,1,2,0,0,100,1,1,1,2,0,0,129,119,1,1,1,
-2,0,0,115,0,13,0,1,1,2,0,0,102,1,1,1,2,0,0,115,1,1,1,2,0,0,129,93,1,1,1,2,0,
-0,129,127,0,13,0,1,1,2,0,0,129,126,1,1,1,2,0,0,14,1,1,1,2,0,0,40,0,13,0,1,1,
-2,0,0,129,110,1,1,1,2,0,0,129,123,1,1,1,2,0,0,129,127,0,13,0,1,1,2,0,0,40,1,
-1,1,2,0,0,129,110,1,1,1,2,0,0,129,123,1,1,1,2,0,0,51,0,13,0,1,1,2,0,0,129,21,
-1,1,1,2,0,0,49,1,1,1,2,0,0,129,4,1,1,1,2,0,0,129,41,0,13,0,1,1,2,0,0,129,18,
-1,1,1,2,0,0,129,31,1,1,1,2,0,0,129,112,1,1,1,2,0,0,129,0,0,13,0,1,1,2,0,0,129,
-57,1,1,1,2,0,0,129,96,1,1,1,2,0,0,129,1,0,13,0,1,1,2,0,0,129,57,1,1,1,2,0,0,
-129,96,1,1,1,2,0,0,129,2,0,13,0,1,1,2,0,0,129,57,1,1,1,2,0,0,129,96,1,1,1,2,
-0,0,129,3,0,13,0,1,1,2,0,0,129,57,1,1,1,2,0,0,129,96,1,1,1,2,0,0,129,4,0,13,
-0,1,1,2,0,0,129,57,1,1,1,2,0,0,129,96,1,1,1,2,0,0,129,32,0,13,0,1,1,2,0,0,129,
-0,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,33,0,13,0,1,1,2,0,0,
-129,0,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,34,0,13,0,1,1,2,
-0,0,129,0,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,35,0,13,0,1,
-1,2,0,0,129,0,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,36,0,13,
-0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,37,
-0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,
-38,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,
-129,39,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,
-0,0,129,40,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,
-1,2,0,0,129,41,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,
-1,1,1,2,0,0,129,42,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,
-115,1,1,1,2,0,0,129,43,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,32,1,1,1,2,0,0,
-129,115,1,1,1,2,0,0,129,44,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,32,1,1,1,2,
-0,0,129,115,1,1,1,2,0,0,129,45,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,32,1,1,
-1,2,0,0,129,115,1,1,1,2,0,0,129,46,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,32,
-1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,47,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,
-32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,48,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,
-129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,49,0,13,0,1,1,2,0,0,129,0,1,1,1,2,
-0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,50,0,13,0,1,1,2,0,0,129,0,1,1,
-1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,51,0,13,0,1,1,2,0,0,129,0,
-1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,52,0,13,0,1,1,2,0,0,129,
-0,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,53,0,13,0,1,1,2,0,0,
-129,0,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,54,0,13,0,1,1,2,
-0,0,129,0,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,55,0,13,0,1,
-1,2,0,0,129,0,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,56,0,13,
-0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,57,
-0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,
-58,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,
-129,59,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,
-0,0,129,60,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,
-1,2,0,0,129,61,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,
-1,1,1,2,0,0,129,62,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,
-115,1,1,1,2,0,0,129,63,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,32,1,1,1,2,0,0,
-129,115,1,1,1,2,0,0,129,0,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,
-0,0,129,115,1,1,1,2,0,0,129,1,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,
-1,2,0,0,129,115,1,1,1,2,0,0,129,2,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,
-1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,3,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,
-32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,4,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,
-129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,5,0,13,0,1,1,2,0,0,129,1,1,1,1,2,
-0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,6,0,13,0,1,1,2,0,0,129,1,1,1,
-1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,7,0,13,0,1,1,2,0,0,129,1,
-1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,8,0,13,0,1,1,2,0,0,129,
-1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,9,0,13,0,1,1,2,0,0,
-129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,10,0,13,0,1,1,2,
-0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,11,0,13,0,1,
-1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,12,0,13,
-0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,13,
-0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,
-14,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,
-129,15,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,
-0,0,129,16,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,
-1,2,0,0,129,17,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,
-1,1,1,2,0,0,129,18,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,
-115,1,1,1,2,0,0,129,19,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,
-129,115,1,1,1,2,0,0,129,20,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,
-0,0,129,115,1,1,1,2,0,0,129,21,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,
-1,2,0,0,129,115,1,1,1,2,0,0,129,22,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,
-1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,23,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,
-32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,24,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,
-129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,25,0,13,0,1,1,2,0,0,129,1,1,1,1,2,
-0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,26,0,13,0,1,1,2,0,0,129,1,1,1,
-1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,27,0,13,0,1,1,2,0,0,129,1,
-1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,28,0,13,0,1,1,2,0,0,129,
-1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,29,0,13,0,1,1,2,0,0,
-129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,30,0,13,0,1,1,2,
-0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,31,0,13,0,1,
-1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,32,0,13,
-0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,33,
-0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,
-34,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,
-129,35,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,
-0,0,129,36,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,
-1,2,0,0,129,37,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,
-1,1,1,2,0,0,129,38,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,
-115,1,1,1,2,0,0,129,39,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,
-129,115,1,1,1,2,0,0,129,40,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,
-0,0,129,115,1,1,1,2,0,0,129,41,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,
-1,2,0,0,129,115,1,1,1,2,0,0,129,42,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,
-1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,43,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,
-32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,44,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,
-129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,45,0,13,0,1,1,2,0,0,129,1,1,1,1,2,
-0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,46,0,13,0,1,1,2,0,0,129,1,1,1,
-1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,47,0,13,0,1,1,2,0,0,129,1,
-1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,48,0,13,0,1,1,2,0,0,129,
-1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,49,0,13,0,1,1,2,0,0,
-129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,50,0,13,0,1,1,2,
-0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,51,0,13,0,1,
-1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,52,0,13,
-0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,53,
-0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,
-54,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,
-129,55,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,1,2,
-0,0,129,56,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,1,1,
-1,2,0,0,129,57,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,115,
-1,1,1,2,0,0,129,58,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,129,
-115,1,1,1,2,0,0,129,59,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,0,0,
-129,115,1,1,1,2,0,0,129,60,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,1,2,
-0,0,129,115,1,1,1,2,0,0,129,61,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,1,1,
-1,2,0,0,129,115,1,1,1,2,0,0,129,62,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,32,
-1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,63,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,
-32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,1,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,
-129,32,1,1,1,2,0,0,129,115,1,1,1,2,0,0,129,32,0,13,0,1,1,2,0,0,129,62,1,1,1,
-2,0,0,129,111,1,1,1,2,0,0,129,36,0,13,0,1,1,2,0,0,129,5,1,1,1,2,0,0,129,99,1,
-1,1,2,0,0,129,37,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,98,1,1,1,2,0,0,129,38,
-0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,98,1,1,1,2,0,0,129,39,0,13,0,1,1,2,0,
-0,129,1,1,1,1,2,0,0,129,98,1,1,1,2,0,0,129,40,0,13,0,1,1,2,0,0,129,1,1,1,1,2,
-0,0,129,98,1,1,1,2,0,0,129,41,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,98,1,1,
-1,2,0,0,129,31,0,13,0,1,1,2,0,0,129,5,1,1,1,2,0,0,129,97,1,1,1,2,0,0,129,32,
-0,13,0,1,1,2,0,0,129,5,1,1,1,2,0,0,129,97,1,1,1,2,0,0,129,15,0,13,0,1,1,2,0,
-0,129,77,1,1,1,2,0,0,129,16,0,13,0,1,1,2,0,0,129,55,1,1,1,2,0,0,129,111,1,1,
-1,2,0,0,129,48,0,13,0,1,1,2,0,0,129,74,1,1,1,2,0,0,129,49,0,13,0,1,1,2,0,0,129,
-74,1,1,1,2,0,0,129,50,0,13,0,1,1,2,0,0,129,74,1,1,1,2,0,0,129,51,0,13,0,1,1,
-2,0,0,129,74,1,1,1,2,0,0,129,52,0,13,0,1,1,2,0,0,129,74,1,1,1,2,0,0,129,53,0,
-13,0,1,1,2,0,0,129,74,1,1,1,2,0,0,129,54,0,13,0,1,1,2,0,0,129,74,1,1,1,2,0,0,
-129,55,0,13,0,1,1,2,0,0,129,74,1,1,1,2,0,0,129,56,0,13,0,1,1,2,0,0,129,74,1,
-1,1,2,0,0,129,48,0,13,0,1,1,2,0,0,129,61,1,1,1,2,0,0,129,111,1,1,1,2,0,0,129,
-16,0,13,0,1,1,2,0,0,129,75,1,1,1,2,0,0,129,17,0,13,0,1,1,2,0,0,129,75,1,1,1,
-2,0,0,129,55,0,13,0,1,1,2,0,0,129,66,1,1,1,2,0,0,129,5,0,13,0,1,1,2,0,0,129,
-77,1,1,1,2,0,0,129,12,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,98,1,1,1,2,0,0,
-129,13,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,98,1,1,1,2,0,0,129,42,0,13,0,1,
-1,2,0,0,129,0,1,1,1,2,0,0,129,98,1,1,1,2,0,0,129,43,0,13,0,1,1,2,0,0,129,0,1,
-1,1,2,0,0,129,98,1,1,1,2,0,0,129,44,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,98,
-1,1,1,2,0,0,129,45,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,98,1,1,1,2,0,0,129,
-46,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,98,1,1,1,2,0,0,129,14,0,13,0,1,1,2,
-0,0,129,0,1,1,1,2,0,0,129,98,1,1,1,2,0,0,129,15,0,13,0,1,1,2,0,0,129,0,1,1,1,
-2,0,0,129,98,1,1,1,2,0,0,129,0,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,99,1,1,
-1,2,0,0,129,31,0,13,0,1,1,2,0,0,129,1,1,1,1,2,0,0,129,98,1,1,1,2,0,0,129,47,
-0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,98,1,1,1,2,0,0,129,41,0,13,0,1,1,2,0,
-0,129,0,1,1,1,2,0,0,129,98,1,1,1,2,0,0,129,40,0,13,0,1,1,2,0,0,129,0,1,1,1,2,
-0,0,129,98,1,1,1,2,0,0,129,0,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,98,1,1,1,
-2,0,0,129,1,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,98,1,1,1,2,0,0,129,2,0,13,
-0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,98,1,1,1,2,0,0,129,3,0,13,0,1,1,2,0,0,129,
-0,1,1,1,2,0,0,129,98,1,1,1,2,0,0,129,4,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,
-98,1,1,1,2,0,0,129,5,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,98,1,1,1,2,0,0,129,
-6,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,98,1,1,1,2,0,0,129,7,0,13,0,1,1,2,0,
-0,129,0,1,1,1,2,0,0,129,98,1,1,1,2,0,0,129,8,0,13,0,1,1,2,0,0,129,0,1,1,1,2,
-0,0,129,98,1,1,1,2,0,0,129,9,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,98,1,1,1,
-2,0,0,129,10,0,13,0,1,1,2,0,0,129,0,1,1,1,2,0,0,129,98,1,1,1,2,0,0,129,14,0,
-13,0,1,1,2,0,0,129,32,1,1,1,2,0,0,129,97,1,1,1,2,0,0,129,0,0,13,0,1,1,2,0,0,
-129,26,1,1,1,2,0,0,129,97,1,1,1,2,0,0,129,32,0,13,0,1,1,2,0,0,129,66,1,1,1,2,
-0,0,9,0,13,0,1,1,2,0,0,10,0,13,0,1,1,2,0,0,11,0,13,0,1,1,2,0,0,12,0,13,0,1,1,
-2,0,0,13,0,13,0,1,2,129,69,133,31,133,28,133,25,133,22,133,19,133,16,133,13,
-133,10,133,7,133,4,133,1,132,125,132,123,132,120,132,118,132,115,132,112,132,
-108,132,104,132,101,132,97,132,94,132,92,132,90,132,86,132,82,132,78,132,74,
-132,70,132,66,132,63,132,59,132,56,132,53,132,49,132,45,132,41,132,38,132,35,
-132,32,132,29,132,26,132,22,132,18,132,14,132,10,132,6,132,2,131,126,131,122,
-131,118,131,114,131,110,131,106,131,102,131,98,131,94,131,90,131,86,131,82,131,
-78,131,74,131,70,131,66,131,62,131,58,131,54,131,50,131,46,131,42,131,38,131,
-34,131,30,131,26,131,22,131,18,131,14,131,10,131,6,131,2,130,126,130,122,130,
-118,130,114,130,110,130,106,130,102,130,98,130,94,130,90,130,86,130,82,130,78,
-130,74,130,70,130,66,130,62,130,58,130,54,130,50,130,46,130,42,130,38,130,34,
-130,30,130,26,130,22,130,18,130,14,130,10,130,6,130,2,129,126,129,122,129,118,
-129,114,129,110,129,106,129,102,129,98,129,94,129,90,129,86,129,82,129,78,129,
-74,129,70,129,66,129,62,129,58,129,54,129,50,129,46,129,42,129,38,129,34,129,
-30,129,26,129,22,129,19,129,16,129,13,129,10,129,7,129,4,129,1,126,123,121,118,
-116,114,112,110,108,106,104,102,100,97,95,93,91,89,86,83,80,77,74,71,68,65,62,
-59,56,53,50,47,44,41,38,35,32,29,26,23,20,17,14,11,8,6,5,4,3,2,1,1,17,2,135,
-112,165,84,1,17,4,135,111,144,49,1,141,112,1,17,3,163,104,157,54,1,1,17,3,135,
-110,157,56,1,2,16,3,0,0,160,1,17,2,1,157,57,1,17,3,164,117,157,58,1,2,16,3,0,
-0,159,1,17,4,1,152,84,2,157,60,2,16,3,0,0,158,1,17,3,1,152,87,2,1,17,4,135,116,
-136,52,8,1,1,17,3,135,115,157,66,1,1,17,3,135,114,136,73,1,1,17,3,135,113,144,
-120,1,1,17,3,136,2,157,69,1,1,17,2,165,100,1,1,17,2,136,1,165,101,1,17,4,136,
-0,144,66,1,142,0,1,17,3,163,121,157,71,1,1,17,3,135,127,157,73,1,1,17,2,165,
-81,154,65,1,17,3,135,63,157,74,1,1,17,4,135,82,136,64,3,1,1,17,3,135,62,157,
-78,1,2,16,3,0,0,157,1,17,4,1,144,122,2,27,1,17,3,136,0,136,87,1,1,17,3,135,127,
-145,6,1,1,17,3,136,16,157,83,1,1,17,2,165,114,1,1,17,3,158,40,0,0,125,0,0,123,
-1,17,4,158,45,1,0,0,93,0,0,91,1,17,3,158,47,0,0,34,0,0,34,1,17,3,158,48,0,0,
-41,0,0,40,1,17,5,158,41,1,0,0,39,0,0,39,2,1,17,5,158,47,4,0,0,62,0,0,60,1,1,
-17,3,159,114,154,79,165,91,1,17,3,161,18,154,82,159,113,1,17,3,163,123,157,91,
-1,1,17,3,161,27,157,92,164,110,2,16,3,0,0,156,1,17,5,1,154,84,3,157,94,2,2,16,
-3,0,0,155,1,17,4,1,157,96,164,114,2,2,16,3,0,0,154,1,17,8,1,154,88,159,121,157,
-98,9,154,28,2,10,1,17,2,166,3,1,2,16,3,0,0,153,1,17,2,159,29,165,56,2,16,3,0,
-0,152,1,17,3,1,157,103,2,2,16,3,0,0,151,1,17,4,1,157,106,164,22,2,1,17,3,158,
-72,166,3,1,1,17,3,7,157,109,1,1,17,2,161,22,1,1,17,3,158,127,151,127,166,64,
-1,17,3,164,79,145,36,1,2,16,3,0,0,150,1,17,3,1,151,116,2,1,17,3,162,67,5,1,1,
-17,2,165,122,157,114,1,17,2,159,30,1,1,17,3,165,19,157,117,1,2,16,3,0,0,149,
-1,17,2,1,2,2,16,3,0,0,148,1,17,3,1,157,122,2,2,16,3,0,0,147,1,17,3,1,157,124,
-2,2,16,3,0,0,146,1,17,3,1,166,21,2,1,17,2,166,29,1,1,17,2,166,6,157,126,1,17,
-2,160,26,1,1,17,3,159,51,158,1,1,1,17,2,166,9,158,1,1,17,2,160,29,1,1,17,3,159,
-54,158,4,1,2,16,3,0,0,145,1,17,2,1,2,1,17,2,166,14,158,6,1,17,2,160,34,1,1,17,
-3,159,59,158,9,1,1,17,2,159,73,1,2,16,3,0,0,144,1,17,4,1,158,13,6,2,2,16,3,0,
-0,143,1,17,5,1,158,15,13,154,71,2,1,17,3,159,67,166,39,1,2,16,3,0,0,142,1,17,
-3,1,158,18,2,1,17,3,164,2,166,42,1,1,17,2,166,92,1,1,17,3,163,79,158,19,165,
-102,1,17,3,164,77,158,22,1,1,17,2,166,29,155,13,1,17,3,164,54,158,22,1,1,17,
-3,163,83,158,23,165,106,2,16,3,0,0,141,1,17,5,1,155,15,3,158,25,2,2,16,3,0,0,
-140,1,17,3,1,56,2,1,17,3,143,76,158,29,1,2,16,3,0,0,139,1,17,5,1,158,31,10,158,
-32,2,2,16,3,0,0,138,1,17,4,1,154,90,2,72,1,17,4,139,75,155,23,158,35,1,2,16,
-3,0,0,137,1,17,2,1,2,1,17,3,164,28,137,33,1,2,16,3,0,0,136,1,17,2,1,165,121,
-1,17,3,164,96,158,40,1,2,16,3,0,0,135,1,17,4,1,158,41,158,43,2,1,17,3,70,166,
-67,1,1,17,2,166,117,1,2,16,3,0,0,134,1,17,2,1,166,77,1,17,3,165,73,145,15,1,
-1,17,3,162,115,158,48,1,2,16,3,0,0,133,1,17,3,1,6,2,2,16,3,0,0,132,1,17,3,1,
-54,2,2,16,3,0,0,131,1,17,3,1,68,2,1,17,3,160,65,18,1,1,17,3,159,113,149,32,1,
-2,16,3,0,0,130,1,17,3,1,158,59,2,2,16,3,0,0,129,1,17,2,1,166,91,2,16,3,0,0,128,
-1,17,4,1,145,57,4,2,2,16,3,0,0,127,1,17,3,1,155,110,2,1,17,2,134,91,166,96,1,
-17,4,158,124,145,61,1,142,122,1,17,3,165,93,145,35,1,1,17,3,163,7,158,68,1,1,
-17,3,20,25,1,1,17,2,166,77,158,69,1,17,3,161,18,158,71,1,2,16,3,0,0,126,1,17,
-4,1,75,4,2,1,17,3,142,18,155,90,1,2,16,3,0,0,125,1,17,3,1,158,77,2,2,16,3,0,
-0,124,1,17,3,1,145,84,2,2,16,3,0,0,123,1,17,4,1,145,106,2,166,111,2,16,3,0,0,
-122,1,17,3,1,145,73,2,1,17,3,160,2,152,86,1,1,17,3,162,48,103,1,1,17,3,164,3,
-48,1,1,17,3,160,118,149,62,1,1,17,2,28,166,118,2,16,3,0,0,121,1,17,4,1,158,90,
-3,2,2,16,3,0,0,120,1,17,3,1,156,9,2,1,17,2,166,123,1,1,17,2,134,119,166,124,
-1,17,4,159,24,145,89,1,143,21,1,17,3,165,121,145,63,1,1,17,3,163,35,158,96,1,
-1,17,3,48,53,1,1,17,3,165,19,79,1,1,17,3,161,3,155,15,1,1,17,3,164,111,158,99,
-1,1,17,3,144,45,158,100,1,2,16,3,0,0,119,1,17,4,1,158,102,2,162,96,2,16,3,0,
-0,118,1,17,4,1,158,104,2,162,98,2,16,3,0,0,117,1,17,3,1,155,123,2,1,17,3,33,
-158,109,1,1,17,4,30,146,7,1,167,12,2,16,3,0,0,116,1,17,3,1,145,102,2,1,17,3,
-162,76,129,3,1,1,17,3,164,31,76,1,1,17,3,161,18,149,90,1,1,17,2,56,167,18,1,
-17,4,28,158,117,2,1,1,17,3,27,156,35,1,1,17,2,167,21,1,1,17,2,165,112,158,119,
-1,18,3,56,143,46,1,1,17,2,167,24,1,1,17,2,166,116,158,121,1,17,3,167,56,158,
-124,1,1,18,3,60,143,49,1,1,17,2,167,28,1,1,17,2,167,5,158,125,1,17,3,165,124,
-158,127,1,1,17,2,140,120,1,2,16,3,0,0,115,1,17,3,1,151,48,2,2,16,3,0,0,114,1,
-17,3,1,129,6,2,2,16,3,0,0,113,1,17,3,1,151,44,2,1,17,2,167,38,1,2,16,3,0,0,112,
-1,17,2,1,146,52,1,17,3,163,91,129,29,1,2,16,3,0,0,111,1,17,5,1,159,12,166,94,
-159,13,160,55,1,17,3,165,43,3,1,2,16,3,0,0,110,1,17,3,1,159,16,2,1,17,2,167,
-89,1,1,17,2,135,43,167,48,1,17,4,159,76,146,13,1,143,70,1,17,3,166,45,145,115,
-1,1,17,3,163,87,159,20,1,1,17,3,100,105,1,1,17,2,167,29,159,21,1,17,3,166,20,
-159,23,1,2,16,3,0,0,109,1,17,3,1,18,2,2,16,3,0,0,108,1,17,5,1,167,58,129,29,
-6,2,2,16,3,0,0,107,1,17,3,1,146,52,2,1,17,3,81,14,1,1,17,3,165,80,146,37,1,1,
-17,3,162,124,129,51,1,1,17,3,164,79,124,1,1,17,3,161,66,150,10,1,1,17,2,104,
-167,66,1,17,4,76,159,37,2,1,1,17,3,75,156,83,1,1,17,2,167,69,1,2,16,3,0,0,106,
-2,16,3,0,0,105,2,16,3,0,0,104,1,17,3,1,151,79,2,2,16,3,0,0,103,1,17,3,1,151,
-81,2,2,16,3,0,0,102,1,17,3,1,151,84,2,1,17,3,166,22,151,93,167,1,2,16,3,0,0,
-101,1,17,3,1,159,49,2,1,17,3,167,37,4,1,2,16,3,0,0,100,1,17,3,1,159,53,2,2,16,
-3,0,0,99,1,17,2,1,2,1,17,2,167,49,159,54,1,17,3,166,24,159,55,1,2,16,3,0,0,98,
-1,17,3,1,156,47,2,2,16,3,0,0,97,2,16,3,0,0,96,2,16,3,0,0,95,1,17,2,167,32,156,
-51,1,17,4,145,3,5,1,143,114,2,16,3,0,0,94,2,16,3,0,0,93,1,17,3,1,159,65,2,1,
-17,3,164,109,159,66,3,2,16,3,0,0,92,1,17,4,1,159,68,2,143,120,2,16,3,0,0,91,
-1,17,3,1,156,60,2,2,16,3,0,0,90,1,17,5,1,159,73,7,2,143,123,2,16,3,0,0,89,1,
-17,3,1,156,64,2,2,16,3,0,0,88,2,16,3,0,0,87,1,17,3,1,159,77,2,2,16,3,0,0,86,
-1,17,3,1,159,79,4,2,16,3,0,0,85,1,17,3,1,159,83,2,2,16,3,0,0,84,1,17,3,1,159,
-83,8,2,16,3,0,0,83,1,17,3,1,159,85,2,1,17,3,6,156,103,1,2,16,3,0,0,82,1,17,5,
-1,159,89,7,156,103,2,1,17,3,160,66,44,1,2,16,3,0,0,81,1,17,5,1,159,92,14,156,
-108,2,2,16,3,0,0,80,1,17,4,1,36,30,144,17,1,17,3,16,159,94,19,1,17,3,15,159,
-97,1,2,16,3,0,0,79,1,17,5,1,156,89,4,159,98,2,2,16,3,0,0,78,1,17,6,1,159,100,
-25,8,54,2,2,16,3,0,0,77,1,17,5,1,156,93,39,159,103,2,1,17,2,167,73,156,92,2,
-16,3,0,0,76,2,16,3,0,0,75,1,17,3,1,159,105,2,1,17,3,37,159,108,1,2,16,3,0,0,
-74,1,17,6,1,51,45,144,32,159,109,2,1,17,3,161,39,64,1,2,16,3,0,0,73,2,16,3,0,
-0,72,1,17,3,1,159,112,2,2,16,3,0,0,71,1,17,3,1,159,116,2,2,16,3,0,0,70,1,17,
-3,1,159,118,2,2,16,3,0,0,69,1,17,5,1,159,120,9,159,119,2,1,17,3,161,49,81,1,
-2,16,3,0,0,68,1,17,6,1,64,19,144,45,159,123,2,1,17,2,167,93,156,112,1,17,3,19,
-159,123,161,4,1,17,3,55,159,126,1,2,16,3,0,0,67,2,16,3,0,0,66,1,17,6,1,160,0,
-3,70,2,168,92,2,16,3,0,0,65,1,17,7,1,156,119,72,7,168,94,76,2,2,16,3,0,0,64,
-1,17,7,1,73,72,71,30,10,2,1,17,2,168,12,160,4,1,17,3,166,102,156,125,1,2,16,
-3,0,0,63,1,17,9,1,168,100,156,127,144,58,160,7,2,144,59,157,47,144,91,1,17,3,
-141,77,160,4,1,1,17,3,167,113,157,12,1,2,16,3,0,0,62,1,17,2,1,168,104,1,17,3,
-165,120,160,8,1,2,16,3,0,0,61,1,17,3,1,160,16,2,1,17,3,168,77,154,19,1,1,1,2,
-0,0,110,0,13,0,1,1,2,0,0,37,1,1,1,2,0,0,110,0,13,0,1,1,2,0,0,37,1,1,1,2,0,0,
-115,0,13,0,1,1,2,0,0,37,1,1,1,2,0,0,100,0,13,0,1,1,2,0,0,37,1,1,1,2,0,0,112,
-0,13,0,1,1,2,0,0,37,1,1,1,2,0,0,120,0,13,0,1,1,2,0,0,35,1,1,1,2,0,0,37,1,1,1,
-2,0,0,48,0,13,0,1,1,2,0,0,92,1,1,1,2,0,0,110,0,13,0,1,1,2,0,0,37,1,1,1,2,0,0,
-100,1,1,1,2,0,0,37,1,1,1,2,0,0,97,1,1,1,2,0,0,97,1,1,1,2,0,0,97,1,1,1,2,0,0,
-97,1,1,1,2,0,0,96,0,13,0,1,1,2,0,0,99,1,1,1,2,0,0,108,1,1,1,2,0,0,97,1,1,1,2,
-0,0,99,1,1,1,2,0,0,120,1,1,1,2,0,0,96,1,1,1,2,0,0,99,0,13,0,1,1,2,0,0,108,1,
-1,1,2,0,0,97,1,1,1,2,0,0,99,1,1,1,2,0,0,120,1,1,1,2,0,0,59,1,1,1,2,0,0,41,0,
-13,0,1,1,2,0,0,99,1,1,1,2,0,0,108,1,1,1,2,0,0,97,1,1,1,2,0,0,99,1,1,1,2,0,0,
-120,1,1,1,2,0,0,40,1,1,1,2,0,0,36,1,1,1,2,0,0,99,0,13,0,1,1,2,0,0,108,1,1,1,
-2,0,0,97,1,1,1,2,0,0,99,1,1,1,2,0,0,120,1,1,1,2,0,0,33,1,1,1,2,0,0,99,0,13,0,
-1,1,2,0,0,108,1,1,1,2,0,0,97,1,1,1,2,0,0,99,1,1,1,2,0,0,120,1,1,1,2,0,0,34,1,
-1,1,2,0,0,99,0,13,0,1,1,2,0,0,108,1,1,1,2,0,0,97,1,1,1,2,0,0,99,1,1,1,2,0,0,
-120,1,1,1,2,0,0,39,1,1,1,2,0,0,48,0,13,0,1,1,2,0,0,48,1,1,1,2,0,0,120,1,1,1,
-2,0,0,92,1,1,1,2,0,0,110,0,13,0,1,1,2,0,0,92,1,1,1,2,0,0,114,1,1,1,2,0,0,92,
-1,1,1,2,0,0,114,0,13,0,1,1,2,0,0,92,1,1,1,2,0,0,110,0,13,0,1,1,2,0,0,92,1,1,
-1,2,0,0,97,0,13,0,1,1,2,0,0,48,1,1,1,2,0,0,120,1,1,1,2,0,0,92,1,1,1,2,0,0,100,
-0,13,0,1,1,2,0,0,48,1,1,1,2,0,0,120,1,1,1,2,0,0,92,1,1,1,2,0,0,78,0,13,0,1,1,
-2,0,0,97,1,1,1,2,0,0,78,1,1,1,2,0,0,102,0,13,0,1,1,2,0,0,110,1,1,1,2,0,0,105,
-1,1,1,2,0,0,43,1,1,1,2,0,0,72,0,13,0,1,1,2,0,0,84,1,1,1,2,0,0,65,1,1,1,2,0,0,
-80,1,1,1,2,0,0,36,1,1,1,2,0,0,33,0,13,0,1,1,2,0,0,33,1,1,1,2,0,0,36,1,1,1,2,
-0,0,33,0,13,0,1,1,2,0,0,33,1,1,1,2,0,0,59,0,13,0,1,1,2,0,0,48,1,1,1,2,0,0,48,
-1,1,1,2,0,0,48,1,1,1,2,0,0,35,1,1,1,2,0,0,38,1,1,1,2,0,0,48,0,13,0,1,1,2,0,0,
-48,1,1,1,2,0,0,48,1,1,1,2,0,0,48,1,1,1,2,0,0,117,1,1,1,2,0,0,92,1,1,1,2,0,0,
-38,0,13,0,1,1,2,0,0,36,1,1,1,2,0,0,43,0,13,0,1,1,2,0,0,36,1,1,1,2,0,0,96,0,13,
-0,1,1,2,0,0,36,1,1,1,2,0,0,39,0,13,0,1,1,2,0,0,36,1,1,1,2,0,0,49,0,13,0,1,1,
-2,0,0,36,1,1,1,2,1,0,13,0,1,1,2,4,1,1,1,2,7,1,1,1,2,10,1,1,1,2,13,1,1,1,2,16,
-1,1,1,2,23,1,1,1,2,30,1,1,1,2,33,1,1,1,2,37,1,1,1,2,43,1,1,1,2,48,1,1,1,2,52,
-1,1,1,2,57,1,1,1,2,62,1,1,1,2,65,1,1,1,2,68,1,1,1,2,73,1,1,1,2,78,1,1,1,2,85,
-1,1,1,2,92,1,1,1,2,99,1,1,1,2,108,1,1,1,2,115,1,1,1,2,123,1,1,1,2,129,4,1,1,
-1,2,129,7,1,1,1,2,129,11,1,1,1,2,129,14,1,1,1,2,129,17,1,1,1,2,129,20,1,1,1,
-2,129,23,1,1,17,4,162,103,155,59,169,124,1,2,16,3,0,0,60,1,17,3,1,148,97,2,2,
-16,3,0,0,59,1,17,3,166,102,158,37,168,63,2,16,3,0,0,58,1,17,3,1,153,94,2,2,16,
-3,0,0,57,1,17,3,1,6,2,2,16,3,0,0,56,1,17,4,1,153,100,7,2,2,16,3,0,0,55,1,17,
-3,1,148,107,2,1,17,2,169,62,161,54,1,17,2,165,103,1,2,16,3,0,0,54,1,17,3,1,161,
-58,2,2,16,3,0,0,53,1,17,3,1,169,84,2,1,17,3,162,111,161,61,1,1,17,3,142,34,161,
-63,1,1,17,2,170,8,1,2,16,3,0,0,52,1,17,10,1,0,0,128,255,127,0,0,129,128,0,0,
-0,129,255,127,0,0,130,128,0,0,0,131,255,127,0,0,132,128,0,148,118,168,58,0,0,
-136,0,2,16,3,0,0,51,1,17,3,1,148,120,2,2,16,3,0,0,50,1,17,3,1,161,68,169,23,
-1,17,2,170,15,1,1,17,2,144,125,158,62,2,16,3,0,0,49,1,17,4,1,155,81,170,27,2,
-2,16,3,0,0,48,1,17,3,1,21,2,1,17,3,168,44,149,1,1,1,17,2,145,3,14,1,17,4,6,155,
-86,170,32,1,1,17,3,5,25,1,1,17,3,168,48,149,5,1,1,17,2,145,7,11,2,16,3,0,0,47,
-1,17,4,1,155,91,170,37,2,1,17,3,167,114,149,9,1,2,16,3,0,0,46,1,17,3,1,155,89,
-2,1,17,3,168,75,158,78,170,41,2,16,3,0,0,45,1,17,8,1,155,92,13,9,22,3,161,88,
-2,2,16,3,0,0,44,1,17,3,1,149,16,2,2,16,3,0,0,43,1,17,4,1,155,107,170,47,146,
-16,2,16,3,0,0,42,1,17,4,1,155,109,170,49,146,17,2,16,3,0,0,41,1,17,9,1,146,20,
-6,4,170,61,146,19,2,159,8,146,51,2,16,3,0,0,40,1,17,3,1,161,94,2,2,16,3,0,0,
-39,1,17,3,1,155,118,2,2,16,3,0,0,38,1,17,3,1,149,28,2,1,17,2,170,7,1,1,17,2,
-140,36,170,8,1,17,4,140,35,148,101,1,146,27,1,17,3,168,28,148,75,1,1,17,3,140,
-34,161,108,1,1,17,3,139,22,129,99,1,1,17,3,140,30,140,114,1,2,16,3,0,0,37,1,
-17,4,1,170,15,8,2,1,17,3,168,37,129,97,1,1,17,3,167,18,129,110,1,1,17,3,167,
-19,152,91,1,1,17,3,140,50,161,117,1,1,17,2,170,20,1,2,16,3,0,0,36,1,17,2,1,154,
-24,2,16,3,0,0,35,1,17,3,1,154,27,2,2,16,3,0,0,34,1,17,3,1,154,43,2,1,17,4,163,
-60,158,123,170,78,161,124,1,17,4,165,88,154,66,1,148,113,2,16,3,0,0,33,1,17,
-4,1,154,68,2,148,115,1,17,3,163,11,161,127,170,82,1,17,3,168,97,149,54,1,1,17,
-3,168,32,154,46,1,2,16,3,0,0,32,1,17,3,1,161,127,2,2,16,3,0,0,31,1,17,3,1,162,
-1,2,1,17,4,166,84,158,115,8,1,2,16,3,0,0,30,1,17,2,170,16,152,75,1,17,3,169,
-7,162,11,1,1,17,2,139,16,3,1,17,3,168,61,159,3,1,2,16,3,0,0,29,1,17,4,1,162,
-14,2,170,54,2,16,3,0,0,28,1,17,4,1,162,17,6,2,2,16,3,0,0,27,1,17,3,1,170,42,
-2,2,16,3,0,0,26,1,17,3,1,162,19,2,2,16,3,0,0,25,1,17,3,1,27,2,2,16,3,0,0,24,
-1,17,2,1,2,2,16,3,0,0,23,1,17,4,1,18,162,27,2,2,16,3,0,0,22,1,17,2,1,2,2,16,
-3,0,0,21,1,17,5,1,22,170,90,23,2,2,16,3,0,0,20,1,17,3,1,170,56,2,2,16,3,0,0,
-19,1,17,2,1,2,1,17,2,167,96,1,2,16,3,0,0,18,1,17,2,170,44,162,36,1,17,2,166,
-85,1,1,17,3,167,124,154,85,1,1,17,3,167,88,154,88,1,1,17,3,5,152,86,1,1,17,2,
-170,115,1,1,17,3,168,68,162,42,170,125,1,17,3,170,32,153,82,1,1,17,3,146,80,
-3,1,2,16,3,0,0,17,1,17,2,1,2,2,16,3,0,0,16,1,17,3,1,154,95,2,2,16,3,0,0,15,1,
-17,3,1,154,99,2,2,16,3,0,0,14,1,17,3,1,154,87,2,2,16,3,0,0,13,1,17,3,1,147,124,
-2,2,16,3,0,0,12,1,17,3,1,154,94,2,1,17,2,170,89,1,2,3,2,102,116,2,3,2,102,111,
-2,3,2,102,110,2,3,3,110,117,109,2,3,2,116,100,2,3,3,116,114,50,2,3,3,116,115,
-49,2,3,2,116,114,2,3,3,116,115,50,2,3,2,108,100,2,3,3,108,100,115,2,3,3,108,
-114,50,2,3,2,108,105,2,3,2,108,115,2,3,2,108,112,2,3,2,108,114,2,3,3,108,105,
-115,2,3,3,108,114,115,2,3,2,115,114,2,3,2,115,100,2,3,2,98,100,2,3,2,98,102,
-2,3,2,98,105,2,3,2,98,114,2,3,2,98,112,2,3,3,98,101,105,2,3,3,98,101,100,2,3,
-3,98,101,114,2,3,2,117,119,2,3,2,117,105,2,3,2,120,112,2,3,2,97,98,1,2,4,0,0,
-8,0,0,2,139,124,32,1,1,2,1,0,13,0,1,2,4,0,0,2,0,0,2,139,70,33,1,1,2,1,2,1,2,
-4,0,0,9,0,0,1,139,101,34,1,1,2,1,2,1,2,4,0,0,2,0,0,5,141,29,35,1,1,2,1,2,1,2,
-4,0,0,7,0,0,1,131,106,36,1,1,2,1,2,1,2,4,0,0,4,0,0,1,131,104,37,1,1,2,1,2,1,
-2,4,0,0,5,0,0,1,132,11,38,1,1,2,1,2,1,2,4,0,0,5,0,0,1,131,67,39,1,1,2,1,2,1,
-2,4,0,0,8,0,0,1,131,117,40,1,1,2,1,2,1,2,4,0,0,6,0,0,1,138,109,41,1,1,2,1,2,
-1,2,4,0,0,8,0,0,1,138,109,42,1,1,2,1,2,1,2,4,0,0,2,0,0,1,138,109,43,1,1,2,1,
-2,1,2,4,0,0,4,0,0,1,138,109,44,1,1,2,1,2,1,2,4,0,0,7,0,0,1,138,107,45,1,1,2,
-1,2,1,2,4,0,0,2,0,0,1,138,107,46,1,1,2,1,2,1,2,4,0,0,6,0,0,1,138,113,47,1,1,
-2,1,2,1,2,4,0,0,5,0,0,1,138,108,48,1,1,2,1,2,1,2,4,0,0,9,0,0,1,138,107,49,1,
-1,2,1,2,1,2,4,0,0,2,0,0,1,139,50,50,1,1,2,1,2,1,2,4,0,0,3,0,0,1,139,41,51,1,
-1,2,1,2,1,2,4,0,0,7,0,0,1,141,46,52,1,1,2,1,2,1,2,4,0,0,2,0,0,1,140,127,53,1,
-1,2,1,2,1,2,4,0,0,3,0,0,1,140,113,54,1,1,2,1,2,1,2,4,0,0,2,0,0,1,140,88,55,1,
-1,2,1,2,1,2,4,0,0,4,0,0,1,140,56,56,1,1,2,1,2,1,2,4,0,0,5,0,0,1,141,42,57,1,
-1,2,1,2,1,2,4,0,0,2,0,0,1,141,29,58,1,1,2,1,2,1,2,4,0,0,2,0,0,1,140,83,59,1,
-1,2,1,2,1,2,4,0,0,8,0,0,1,133,78,60,1,1,2,1,2,1,2,4,0,0,5,0,0,2,133,66,61,1,
-1,2,1,2,1,2,4,0,0,2,0,0,9,142,33,62,1,1,2,1,2,1,2,4,0,0,2,0,0,1,129,36,63,1,
-1,2,1,2,1,18,3,121,1,120,1,1,2,0,0,1,148,44,1,1,2,0,0,2,148,35,1,1,2,0,0,1,148,
-23,1,1,2,1,0,13,0,1,1,2,4,1,1,1,2,4,1,1,18,3,148,22,0,0,4,1,1,2,3,0,13,1,0,0,
-192,0,0,0,0,1,17,2,168,94,148,94,1,17,3,168,36,155,83,1,1,17,3,164,50,154,44,
-1,2,16,3,0,0,11,1,17,4,1,160,50,171,54,2,2,16,3,0,0,10,1,17,3,1,163,42,2,1,17,
-3,167,14,163,44,1,1,17,3,171,69,160,33,1,1,17,3,171,70,156,6,1,2,16,3,0,0,9,
-1,17,3,1,13,2,2,16,3,0,0,8,2,16,3,0,0,7,1,17,3,1,3,2,2,16,3,0,0,6,1,17,3,1,160,
-85,172,6,2,16,3,0,0,5,1,17,2,1,2,2,16,3,0,0,4,1,17,3,1,6,2,1,17,3,148,124,127,
-1,1,17,3,165,82,160,91,172,12,1,17,3,164,98,163,58,1,2,16,3,0,0,3,1,17,3,1,158,
-85,2,2,16,3,0,0,2,1,17,4,1,150,126,6,2,2,16,3,0,0,1,1,17,3,1,156,95,2,2,16,3,
-0,0,0,1,17,3,1,151,23,2,1,17,2,166,38,1,1,18,4,2,42,34,1,1,18,2,151,30,1,0};
-/* Owl Lisp runtime */
-
-#include <signal.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <errno.h>
-#include <time.h>
-#include <inttypes.h>
-#include <fcntl.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <dirent.h>
-#include <string.h>
-#include <netinet/in.h>
-#include <sys/select.h>
-#include <sys/socket.h>
-#include <sys/wait.h>
-#include <termios.h>
-#include <stdio.h>
-#include <netdb.h>
-
-#include "./radamsa.h"
-
-#ifndef EMULTIHOP
-#define EMULTIHOP -1
-#endif
-#ifndef ENODATA
-#define ENODATA -1
-#endif
-#ifndef ENOLINK
-#define ENOLINK -1
-#endif
-#ifndef ENOSR
-#define ENOSR -1
-#endif
-#ifndef ENOSTR
-#define ENOSTR -1
-#endif
-#ifndef ENOTRECOVERABLE
-#define ENOTRECOVERABLE -1
-#endif
-#ifndef EOWNERDEAD
-#define EOWNERDEAD -1
-#endif
-#ifndef ETIME
-#define ETIME -1
-#endif
-#ifndef F_DUPFD_CLOEXEC
-#define F_DUPFD_CLOEXEC -1
-#endif
-#ifndef O_CLOEXEC
-#define O_CLOEXEC 0
-#endif
-#ifndef O_EXEC
-#define O_EXEC 0
-#endif
-#ifndef O_NOFOLLOW
-#define O_NOFOLLOW 0
-#endif
-#ifndef O_RSYNC
-#define O_RSYNC 0
-#endif
-#ifndef O_DSYNC
-#define O_DSYNC 0
-#endif
-#ifndef O_SEARCH
-#define O_SEARCH 0
-#endif
-#ifndef O_TTY_INIT
-#define O_TTY_INIT 0
-#endif
-#ifdef __APPLE__
-#define st_atim st_atimespec
-#define st_mtim st_mtimespec
-#define st_ctim st_ctimespec
-#endif
-
-typedef unsigned int uint;
-typedef uint8_t byte;
-typedef uintptr_t word; /* heap cell */
-typedef uint32_t hval; /* heap value */
-typedef intptr_t wdiff;
-
-/*** Macros ***/
-
-#define IPOS                        8 /* offset of immediate payload */
-#define SPOS                        16 /* offset of size bits in header immediate values */
-#define TPOS                        2  /* offset of type bits in header */
-#define V(ob)                       (*(word *)(ob))
-#define W                           ((uint)sizeof(word))
-#define LDW                         ((W >> 3) + 2) /* poor man's log2(W), valid for 4, 8, 16 */
-#define NWORDS                      1024*1024*8    /* static malloc'd heap size if used as a library */
-#define FBITS                       24             /* bits in fixnum, on the way to 24 and beyond */
-#define FMAX                        ((1<<FBITS)-1) /* maximum fixnum (and most negative fixnum) */
-#define MAXOBJ                      0xffff         /* max words in tuple including header */
-#define MAXPAYL                     ((MAXOBJ - 1) * W) /* maximum payload in an allocated object */
-#define RAWBIT                      2048
-#define FPOS                        (SPOS - LDW) /* offset of the fractional part in the header size */
-#define payl_len(hdr)               (((hval)hdr >> FPOS) - W - (W - 1))
-#define make_immediate(value, type) ((hval)(value) << IPOS | (type) << TPOS | 2)
-#define make_header(size, type)     ((hval)(size) << SPOS | (type) << TPOS | 2)
-#define BOOL(cval)                  ((cval) ? ITRUE : IFALSE)
-#define immval(desc)                ((hval)(desc) >> IPOS)
-#define fixnump(desc)               (((desc) & 255) == 2)
-#define NR                          98 /* FIXME: should be ~32, see owl/register.scm:/define.n-registers/ */
-#define header(x)                   V(x)
-#define is_type(x, t)               (((x) & (63 << TPOS | 2)) == ((t) << TPOS | 2))
-#define objsize(x)                  ((hval)(x) >> SPOS)
-#define immediatep(x)               ((word)(x) & 2)
-#define allocp(x)                   (!immediatep(x))
-#define rawp(hdr)                   ((hdr) & RAWBIT)
-#define NEXT(n)                     ip += n; continue
-#define PAIRHDR                     make_header(3, 1)
-#define NUMHDR                      make_header(3, 40) /* <- on the way to 40, see type-int+ in defmac.scm */
-#define NUMNHDR                     make_header(3, 41)
-#define pairp(ob)                   (allocp(ob) && V(ob) == PAIRHDR)
-#define cons(a, d)                  mkpair(PAIRHDR, a, d)
-#define INULL                       make_immediate(0, 13)
-#define IFALSE                      make_immediate(1, 13)
-#define ITRUE                       make_immediate(2, 13)
-#define IEMPTY                      make_immediate(3, 13) /* empty ff */
-#define IEOF                        make_immediate(4, 13)
-#define IHALT                       make_immediate(5, 13)
-#define TNUM                        0
-#define TTUPLE                      2
-#define TSTRING                     3
-#define TPORT                       12
-#define TTHREAD                     31
-#define TNUMN                       32
-#define TBVEC                       19
-#define TBYTECODE                   16
-#define TPROC                       17
-#define TCLOS                       18
-#define F(value)                    make_immediate(value, TNUM)
-#define stringp(ob)                 (allocp(ob) && (V(ob) & make_header(0, 63)) == make_header(0, TSTRING))
-#define FLAG                        1
-#define cont(n)                     V((word)(n) & ~FLAG)
-#define flag(n)                     ((word)(n) ^ FLAG)
-#define flagged(n)                  ((word)(n) & FLAG)
-#define flagged_or_raw(n)           ((word)(n) & (RAWBIT | FLAG))
-#define TBIT                        1024
-#define teardown_needed(hdr)        ((word)(hdr) & TBIT)
-#define A0                          R[*ip]
-#define A1                          R[ip[1]]
-#define A2                          R[ip[2]]
-#define A3                          R[ip[3]]
-#define A4                          R[ip[4]]
-#define A5                          R[ip[5]]
-#define G(ptr, n)                   (((word *)(ptr))[n])
-#define TICKS                       10000 /* # of function calls in a thread quantum */
-#define allocate(size, to)          (to = fp, fp += size)
-#define error(opcode, a, b)         do { R[4] = F(opcode); R[5] = (word)(a); R[6] = (word)(b); goto invoke_mcp; } while (0)
-#define assert(exp, val, code)      if (!(exp)) error(code, val, ITRUE)
-#define assert_not(exp, val, code)  if (exp) error(code, val, ITRUE)
-#define MEMPAD                      (NR + 2) * 8 /* space at end of heap for starting GC */
-#define MINGEN                      1024 * 32 /* minimum generation size before doing full GC */
-#define INITCELLS                   100000
-
-/*** Globals and Prototypes ***/
-
-extern char **environ;
-
-/* memstart <= genstart <= memend */
-static word *genstart;
-static word *memstart;
-static word *memend;
-static hval max_heap_mb; /* max heap size in MB */
-static int breaked;      /* set in signal handler, passed over to owl in thread switch */
-static word state;       /* IFALSE | previous program state across runs */
-static const byte *hp;
-static word *fp;
-static byte *file_heap;
-static struct termios tsettings;
-static uint64_t nalloc;
-static size_t maxheap;
-
-/*** Garbage Collector, based on "Efficient Garbage Compaction Algorithm" by Johannes Martin (1982) ***/
-
-static __inline__ void rev(word pos) {
-   word val = V(pos);
-   word next = cont(val);
-   V(pos) = next;
-   cont(val) = (pos | FLAG) ^ (val & FLAG);
-}
-
-static __inline__ word *chase(word *pos) {
-   word val = cont(pos);
-   while (allocp(val) && flagged(val)) {
-      pos = (word *)val;
-      val = cont(pos);
-   }
-   return pos;
-}
-
-static void mark(word *pos, word *end) {
-   while (pos != end) {
-      word val = *pos;
-      if (allocp(val) && val >= (word)genstart) {
-         if (flagged(val)) {
-            pos = (word *)flag(chase((word *)val));
-         } else {
-            word hdr = header(val);
-            rev((word) pos);
-            if (!flagged_or_raw(hdr))
-               pos = (word *)val + objsize(hdr);
-         }
-      }
-      --pos;
-   }
-}
-
-static word *compact() {
-   word *new = genstart;
-   word *old = new;
-   word *end = memend - 1;
-   while (old < end) {
-      word val = *old;
-      if (flagged(val)) {
-         hval h;
-         *new = val;
-         do { /* unthread */
-            rev((word) new);
-         } while (flagged(*new));
-         h = objsize(*new);
-         if (old == new) {
-            old += h;
-            new += h;
-         } else {
-            while (--h)
-               *++new = *++old;
-            old++;
-            new++;
-         }
-      } else {
-         /* if (teardown_needed(val))
-            printf("gc: would teardown\n"); */
-         old += objsize(val);
-      }
-   }
-   return new;
-}
-
-static void fix_pointers(word *pos, wdiff delta) {
-   for (;;) {
-      word hdr = *pos;
-      hval n = objsize(hdr);
-      if (hdr == 0) /* end marker reached. only dragons beyond this point. */
-         return;
-      if (rawp(hdr)) {
-         pos += n; /* no pointers in raw objects */
-      } else {
-         for (++pos; --n; ++pos) {
-            word val = *pos;
-            if (allocp(val))
-               *pos = val + delta;
-         }
-      }
-   }
-}
-
-/* emulate sbrk with malloc'd memory, because sbrk is no longer properly supported */
-/* n-cells-wanted → heap-delta (to be added to pointers), updates memstart and memend */
-static wdiff adjust_heap(wdiff cells) {
-   word *old = memstart;
-   word nwords = memend - memstart + MEMPAD; /* MEMPAD is after memend */
-   word new_words = nwords + (cells > 0xffffff ? 0xffffff : cells); /* limit heap growth speed */
-   if (((cells > 0) && (new_words*W < nwords*W)) || ((cells < 0) && (new_words*W > nwords*W)))
-      return 0; /* don't try to adjust heap, if the size_t would overflow in realloc */
-   memstart = realloc(memstart, new_words*W);
-   if (memstart == old) { /* whee, no heap slide \o/ */
-      memend = memstart + new_words - MEMPAD; /* leave MEMPAD words alone */
-      return 0;
-   } else if (memstart) { /* d'oh! we need to O(n) all the pointers... */
-      wdiff delta = (word)memstart - (word)old;
-      memend = memstart + new_words - MEMPAD; /* leave MEMPAD words alone */
-      fix_pointers(memstart, delta);
-      return delta;
-   } else {
-      breaked |= 8; /* will be passed over to mcp at thread switch */
-      return 0;
-   }
-}
-
-/* input desired allocation size and (the only) pointer to root object
-   return a pointer to the same object after heap compaction, possible heap size change and relocation */
-static word *gc(int size, word *regs) {
-   word *root;
-   word *realend = memend;
-   wdiff nfree;
-   fp = regs + objsize(*regs);
-   root = fp+1;
-   *root = (word) regs;
-   memend = fp;
-   nalloc += fp - genstart;
-   mark(root, fp);
-   fp = compact();
-   regs = (word *)*root;
-   memend = realend;
-   nfree = (word)memend - (word)regs;
-   if (genstart == memstart) {
-      word heapsize = (word) memend - (word) memstart;
-      word nused = heapsize - nfree;
-      if (maxheap < nused)
-         maxheap = nused;
-      if (heapsize / (1024 * 1024) > max_heap_mb)
-         breaked |= 8; /* will be passed over to mcp at thread switch */
-      nfree -= size*W + MEMPAD; /* how much really could be snipped off */
-      if (nfree < (heapsize / 5) || nfree < 0) {
-         /* increase heap size if less than 20% is free by ~10% of heap size (growth usually implies more growth) */
-         regs[objsize(*regs)] = 0; /* use an invalid descriptor to denote end live heap data */
-         regs = (word *) ((word)regs + adjust_heap(size*W + nused/10 + 4096));
-         nfree = memend - regs;
-         if (nfree <= size)
-            breaked |= 8; /* will be passed over to mcp at thread switch. may cause owl<->gc loop if handled poorly on lisp side! */
-      } else if (nfree > (heapsize/3)) {
-         /* decrease heap size if more than 33% is free by 10% of the free space */
-         wdiff dec = -(nfree / 10);
-         wdiff new = nfree - dec;
-         if (new > size*W*2 + MEMPAD) {
-            regs[objsize(*regs)] = 0; /* as above */
-            regs = (word *) ((word)regs + adjust_heap(dec+MEMPAD*W));
-            heapsize = (word)memend - (word)memstart;
-            nfree = (word)memend - (word)regs;
-         }
-      }
-      genstart = regs; /* always start new generation */
-   } else if (nfree < MINGEN || nfree < size*W*2) {
-      genstart = memstart; /* start full generation */
-      return gc(size, regs);
-   } else {
-      genstart = regs; /* start new generation */
-   }
-   return regs;
-}
-
-/*** OS Interaction and Helpers ***/
-
-//static void signal_handler(int signal) {
-//   switch (signal) {
-//      case SIGINT:
-//         breaked |= 2;
-//         break;
-//      case SIGPIPE:
-//         break; /* can cause loop when reporting errors */
-//      default:
-//         breaked |= 4;
-//   }
-//}
-
-/* list length, no overflow or valid termination checks */
-static uint llen(word *ptr) {
-   uint len = 0;
-   while (pairp(ptr)) {
-      len++;
-      ptr = (word *) ptr[2];
-   }
-   return len;
-}
-/*
-static void set_signal_handler(void) {
-   struct sigaction sa;
-   sa.sa_handler = signal_handler;
-   sigemptyset(&sa.sa_mask);
-   sa.sa_flags = SA_RESTART;
-   sigaction(SIGINT, &sa, NULL);
-   sigaction(SIGPIPE, &sa, NULL);
-}
-*/
-static word mkpair(word h, word a, word d) {
-   word *pair;
-   allocate(3, pair);
-   pair[0] = h;
-   pair[1] = a;
-   pair[2] = d;
-   return (word)pair;
-}
-
-/* recursion depth does not exceed two */
-static word mkint(uint64_t x) {
-   return mkpair(NUMHDR, F(x), x > FMAX ? mkint(x >> FBITS) : INULL);
-}
-
-/* make a raw object to hold len bytes (compute size, advance fp, clear padding) */
-static word mkraw(uint type, hval len) {
-   word *ob;
-   byte *end;
-   hval hdr = (W + len + W - 1) << FPOS | RAWBIT | make_header(0, type);
-   uint pads = -len % W;
-   allocate(objsize(hdr), ob);
-   *ob = hdr;
-   end = (byte *)ob + W + len;
-   while (pads--)
-      *end++ = 0; /* clear the padding bytes */
-   return (word)ob;
-}
-
-/*** Primops called from VM and generated C-code ***/
-
-static hval prim_connect(word *host, word port, word type) {
-   int sock;
-   byte *ip = (byte *)host + W;
-   unsigned long ipfull;
-   struct sockaddr_in addr;
-   char udp = (immval(type) == 1);
-   port = immval(port);
-   if ((sock = socket(PF_INET, (udp ? SOCK_DGRAM : SOCK_STREAM), (udp ? IPPROTO_UDP : 0))) == -1)
-      return IFALSE;
-   if (udp)
-      return make_immediate(sock, TPORT);
-   if (!allocp(host)) /* bad host type */
-      return IFALSE;
-   addr.sin_family = AF_INET;
-   addr.sin_port = htons(port);
-   addr.sin_addr.s_addr = (in_addr_t) host[1];
-   ipfull = ip[0] << 24 | ip[1] << 16 | ip[2] << 8 | ip[3];
-   addr.sin_addr.s_addr = htonl(ipfull);
-   if (connect(sock, (struct sockaddr *) &addr, sizeof(struct sockaddr_in)) < 0) {
-      close(sock);
-      return IFALSE;
-   }
-   return make_immediate(sock, TPORT);
-}
-
-static word prim_less(word a, word b) {
-   if (immediatep(a))
-      return immediatep(b) ? BOOL(a < b) : ITRUE;  /* imm < alloc */
-   else
-      return immediatep(b) ? IFALSE : BOOL(a < b); /* alloc > imm */
-}
-
-static word prim_ref(word pword, hval pos) {
-   hval hdr;
-   if (immediatep(pword))
-      return IFALSE;
-   hdr = header(pword);
-   pos = immval(pos);
-   if (rawp(hdr)) { /* raw data is #[hdrbyte{W} b0 .. bn 0{0,W-1}] */
-      if (payl_len(hdr) <= pos)
-         return IFALSE;
-      return F(((byte *)pword)[W + pos]);
-   }
-   if (!pos || objsize(hdr) <= pos) /* tuples are indexed from 1 (probably later 0-255) */
-      return IFALSE;
-   return G(pword, pos);
-}
-
-static int64_t cnum(word a) {
-   uint64_t x;
-   if (allocp(a)) {
-      word *p = (word *)a;
-      uint shift = 0;
-      x = 0;
-      do {
-         x |= (uint64_t)immval(p[1]) << shift;
-         shift += FBITS;
-         p = (word *)p[2];
-      } while (shift < 64 && allocp(p));
-      return header(a) == NUMNHDR ? -x : x;
-   }
-   x = immval(a);
-   return is_type(a, TNUMN) ? -x : x;
-}
-
-static word onum(int64_t n, uint s) {
-   word h = NUMHDR, t = TNUM;
-   if (s && n < 0) {
-      h = NUMNHDR;
-      t = TNUMN;
-      n = -n;
-   }
-   if (n > FMAX) {
-      word p = mkint(n);
-      header(p) = h;
-      return p;
-   }
-   return make_immediate(n, t);
-}
-
-static word prim_set(word wptr, hval pos, word val) {
-   word *ob = (word *)wptr;
-   hval hdr, p;
-   word *new;
-   pos = immval(pos);
-   if (immediatep(ob))
-      return IFALSE;
-   hdr = *ob;
-   if (rawp(hdr) || (hdr = objsize(hdr)) < pos)
-      return IFALSE;
-   allocate(hdr, new);
-   for (p = 0; p <= hdr; ++p)
-      new[p] = (pos == p && p) ? val : ob[p];
-   return (word) new;
-}
-
-static void setdown(void) {
-   tcsetattr(0, TCSANOW, &tsettings); /* return stdio settings */
-}
-
-static word do_poll(word, word, word);
-
-/* system- and io primops */
-static word prim_sys(word op, word a, word b, word c) {
-   switch (immval(op)) {
-      case 0: { /* clock_gettime clock_id → nanoseconds */
-         struct timespec ts;
-         if (clock_gettime(cnum(a), &ts) != -1)
-            return onum(ts.tv_sec * INT64_C(1000000000) + ts.tv_nsec, 1);
-         return IFALSE; }
-      case 1: /* open path flags mode → port | #f */
-         if (stringp(a)) {
-            int fd = open((const char *)a + W, cnum(b), immval(c));
-            if (fd != -1)
-               return make_immediate(fd, TPORT);
-         }
-         return IFALSE;
-      case 2:
-         return BOOL(close(immval(a)) == 0);
-      case 3: { /* 3 = sopen port 0=tcp|1=udp -> False | fd  */
-         int port = immval(a);
-         int type = immval(b);
-         int s;
-         int opt = 1; /* TRUE */
-         char udp = (type == 1);
-         struct sockaddr_in myaddr;
-         myaddr.sin_family = AF_INET;
-         myaddr.sin_port = htons(port);
-         myaddr.sin_addr.s_addr = INADDR_ANY;
-         s = socket(AF_INET, (udp ? SOCK_DGRAM : SOCK_STREAM), (udp ? IPPROTO_UDP : 0));
-         if (s < 0)
-            return IFALSE;
-         if (type != 1) {
-            if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (char *)&opt, sizeof(opt)) \
-                || bind(s, (struct sockaddr *) &myaddr, sizeof(myaddr)) != 0 \
-                || listen(s, SOMAXCONN) != 0) {
-               close(s);
-               return IFALSE;
-            }
-         } else {
-            if (bind(s, (struct sockaddr *) &myaddr, sizeof(myaddr)) != 0) {
-               close(s);
-               return IFALSE;
-            }
-         }
-         return make_immediate(s, TPORT); }
-      case 4: { /* 4 = accept port -> rval=False|(ip . fd) */
-         int sock = immval(a);
-         struct sockaddr_in addr;
-         socklen_t len = sizeof(addr);
-         int fd;
-         word ipa;
-         fd = accept(sock, (struct sockaddr *)&addr, &len);
-         if (fd < 0) return IFALSE;
-         ipa = mkraw(TBVEC, 4);
-         memcpy((word *)ipa + 1, &addr.sin_addr, 4);
-         return cons(ipa, make_immediate(fd, TPORT)); }
-      case 5: /* read fd len -> bvec | EOF | #f */
-         if (is_type(a, TPORT)) {
-            size_t len = memend - fp;
-            const size_t max = len > MAXOBJ ? MAXPAYL : (len - 1) * W;
-            len = cnum(b);
-            len = read(immval(a), fp + 1, len < max ? len : max);
-            if (len == 0)
-               return IEOF;
-            if (len != (size_t)-1)
-               return mkraw(TBVEC, len);
-         }
-         return IFALSE;
-      case 6:
-         setdown();
-         exit(immval(a)); /* stop the press */
-      case 7: /* set memory limit (in mb) */
-         max_heap_mb = immval(a);
-         return a;
-      case 8: { /* return system constants */
-         static const word sysconst[] = {
-            S_IFMT, W, S_IFBLK, S_IFCHR, S_IFIFO, S_IFREG, S_IFDIR, S_IFLNK,
-            S_IFSOCK, E2BIG, EACCES, EADDRINUSE, EADDRNOTAVAIL, EAFNOSUPPORT, EAGAIN, EALREADY,
-            EBADF, EBADMSG, EBUSY, ECANCELED, ECHILD, ECONNABORTED, ECONNREFUSED, ECONNRESET,
-            EDEADLK, EDESTADDRREQ, EDOM, EDQUOT, EEXIST, EFAULT, EFBIG, EHOSTUNREACH,
-            EIDRM, EILSEQ, EINPROGRESS, EINTR, EINVAL, EIO, EISCONN, EISDIR,
-            ELOOP, EMFILE, EMLINK, EMSGSIZE, EMULTIHOP, ENAMETOOLONG, ENETDOWN, ENETRESET,
-            ENETUNREACH, ENFILE, ENOBUFS, ENODATA, ENODEV, ENOENT, ENOEXEC, ENOLCK,
-            ENOLINK, ENOMEM, ENOMSG, ENOPROTOOPT, ENOSPC, ENOSR, ENOSTR, ENOSYS,
-            ENOTCONN, ENOTDIR, ENOTEMPTY, ENOTRECOVERABLE, ENOTSOCK, ENOTSUP, ENOTTY, ENXIO,
-            EOPNOTSUPP, EOVERFLOW, EOWNERDEAD, EPERM, EPIPE, EPROTO, EPROTONOSUPPORT, EPROTOTYPE,
-            ERANGE, EROFS, ESPIPE, ESRCH, ESTALE, ETIME, ETIMEDOUT, ETXTBSY,
-            EWOULDBLOCK, EXDEV, SEEK_SET, SEEK_CUR, SEEK_END, O_EXEC, O_RDONLY, O_RDWR,
-            O_SEARCH, O_WRONLY, O_APPEND, O_CLOEXEC, O_CREAT,
-#if defined O_DIRECTORY
-                                                              O_DIRECTORY,
-#endif
-                                                                           O_DSYNC, O_EXCL,
-            O_NOCTTY, O_NOFOLLOW, O_NONBLOCK, O_RSYNC, O_SYNC, O_TRUNC, O_TTY_INIT, O_ACCMODE,
-            FD_CLOEXEC, F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD, F_SETFD, F_GETFL, F_SETFL, F_GETOWN,
-            F_SETOWN, F_GETLK, F_SETLK, F_SETLKW, F_RDLCK, F_UNLCK, F_WRLCK, CLOCK_MONOTONIC,
-            CLOCK_PROCESS_CPUTIME_ID, CLOCK_REALTIME, CLOCK_THREAD_CPUTIME_ID
-         };
-         return onum(sysconst[immval(a) % (sizeof sysconst / W)], 0); }
-      case 9: /* return process variables */
-         return onum(
-            a == F(0) ? errno :
-            a == F(1) ? (uintptr_t)environ :
-            a == F(8) ? nalloc + fp - memstart : /* total allocated objects so far */
-            a == F(9) ? maxheap : /* maximum heap size in a major gc */
-            max_heap_mb, 0);
-      case 10: { /* receive-udp-packet sock → (ip-bvec . payload-bvec)| #false */
-         struct sockaddr_in si_other;
-         socklen_t slen = sizeof(si_other);
-         word bvec, ipa;
-         int recvd;
-         recvd = recvfrom(immval(a), fp + 1, 65528, 0, (struct sockaddr *)&si_other, &slen);
-         if (recvd < 0)
-            return IFALSE;
-         bvec = mkraw(TBVEC, recvd);
-         ipa = mkraw(TBVEC, 4);
-         memcpy((word *)ipa + 1, &si_other.sin_addr, 4);
-         return cons(ipa, bvec); }
-      case 11: /* open-dir path → dirobjptr | #false */
-         if (stringp(a)) {
-            DIR *dirp = opendir((const char *)a + W);
-            if (dirp != NULL)
-               return onum((intptr_t)dirp, 1);
-         }
-         return IFALSE;
-      case 12: { /* read-dir dirp → pointer */
-         struct dirent *ent;
-         errno = 0;
-         ent = readdir((DIR *)(intptr_t)cnum(a));
-         return onum(ent != NULL ? (uintptr_t)&ent->d_name : 0, 0); }
-      case 13: /* close-dir dirp → bool */
-         return BOOL(closedir((DIR *)(intptr_t)cnum(a)) == 0);
-      case 14: /* strerror errnum → pointer */
-         return onum((uintptr_t)strerror(immval(a)), 0);
-      case 15: /* fcntl port cmd arg → integer | #f */
-         if (is_type(a, TPORT)) {
-            int res = fcntl(immval(a), cnum(b), (intptr_t)cnum(c));
-            if (res != -1)
-               return onum(res, 1);
-         }
-         return IFALSE;
-      case 16: /* getenv key → pointer */
-         return onum(stringp(a) ? (uintptr_t)getenv((const char *)a + W) : 0, 0);
-      case 17: { /* exec[v] path argl ret */
-         char *path = (char *)a + W;
-         int nargs = llen((word *)b);
-         char **argp, **args = realloc(NULL, (nargs + 1) * sizeof(char *));
-         if (args == NULL)
-            return IFALSE;
-         for (argp = args; nargs--; ++argp) {
-            *argp = (char *)G(b, 1) + W;
-            b = G(b, 2);
-         }
-         *argp = NULL;
-         execv(path, args); /* may return -1 and set errno */
-         free(args);
-         return IFALSE; }
-      case 18: { /* fork → #f: failed, 0: we're in child process, integer: we're in parent process */
-         pid_t pid = fork();
-         return pid != -1 ? onum(pid, 1) : IFALSE; }
-      case 19: { /* wait <pid> <respair> _ */
-         pid_t pid = a != IFALSE ? cnum(a) : -1;
-         int status;
-         word *r = (word *)b;
-         pid = waitpid(pid, &status, WNOHANG|WUNTRACED); /* |WCONTINUED */
-         if (pid == -1)
-            return IFALSE; /* error */
-         if (pid == 0)
-            return ITRUE; /* no changes, would block */
-         if (WIFEXITED(status)) {
-            r[1] = F(1);
-            r[2] = F(WEXITSTATUS(status));
-         } else if (WIFSIGNALED(status)) {
-            r[1] = F(2);
-            r[2] = F(WTERMSIG(status));
-         } else if (WIFSTOPPED(status)) {
-            r[1] = F(3);
-            r[2] = F(WSTOPSIG(status));
-         /*} else if (WIFCONTINUED(status)) {
-            r[1] = F(4);
-            r[2] = F(1); */
-         } else {
-            r = (word *)IFALSE;
-         }
-         return (word)r; }
-      case 20: /* chdir path → bool */
-         return BOOL(stringp(a) && chdir((char *)a + W) == 0);
-      case 21: /* kill pid signal → bool */
-         return BOOL(kill(cnum(a), immval(b)) == 0);
-      case 22: /* unlink path → bool */
-         return BOOL(stringp(a) && unlink((char *)a + W) == 0);
-      case 23: /* rmdir path → bool */
-         return BOOL(stringp(a) && rmdir((char *)a + W) == 0);
-      case 24: /* mknod path (type . mode) dev → bool */
-         if (stringp(a) && pairp(b)) {
-            const char *path = (const char *)a + W;
-            const mode_t type = cnum(G(b, 1)), mode = immval(G(b, 2));
-            if ((type == S_IFDIR ? mkdir(path, mode) : mknod(path, type | mode, cnum(c))) == 0)
-               return ITRUE;
-         }
-         return IFALSE;
-      case 25: /* lseek port offset whence → offset | #f */
-         if (is_type(a, TPORT)) {
-            off_t o = lseek(immval(a), cnum(b), cnum(c));
-            if (o != -1)
-               return onum(o, 1);
-         }
-         return IFALSE;
-      case 26:
-         if (a != IFALSE) {
-            static struct termios old;
-            tcgetattr(0, &old);
-            old.c_iflag &= ~(IGNBRK | BRKINT | PARMRK | ISTRIP | INLCR | IGNCR | ICRNL | IXON);
-            old.c_oflag &= ~OPOST;
-            old.c_lflag &= ~(ECHO | ECHONL | ICANON | ISIG | IEXTEN);
-            old.c_cflag &= ~(CSIZE | PARENB);
-            old.c_cflag |= CS8;
-            return BOOL(tcsetattr(0, TCSANOW, &old) == 0);
-         }
-         return BOOL(tcsetattr(0, TCSANOW, &tsettings) == 0);
-      case 27: { /* sendmsg sock (port . ipv4) bvec */
-         int sock = immval(a);
-         int port;
-         struct sockaddr_in peer;
-         byte *ip, *data = (byte *)c + W;
-         size_t len = payl_len(header(c));
-         port = immval(G(b, 1));
-         ip = (byte *)G(b, 2) + W;
-         peer.sin_family = AF_INET;
-         peer.sin_port = htons(port);
-         peer.sin_addr.s_addr = htonl(ip[0] << 24 | ip[1] << 16 | ip[2] << 8 | ip[3]);
-         return BOOL(sendto(sock, data, len, 0, (struct sockaddr *)&peer, sizeof(peer)) != -1); }
-      case 28: /* setenv <owl-raw-bvec-or-ascii-leaf-string> <owl-raw-bvec-or-ascii-leaf-string-or-#f> */
-         if (stringp(a) && (b == IFALSE || stringp(b))) {
-            const char *name = (const char *)a + W;
-            if ((b != IFALSE ? setenv(name, (const char *)b + W, 1) : unsetenv(name)) == 0)
-               return ITRUE;
-         }
-         return IFALSE;
-      case 29:
-         return prim_connect((word *) a, b, c);
-      case 30: /* dup2 old-port new-fd → new-port | #f */
-         if (is_type(a, TPORT)) {
-            int fd = dup2(immval(a), immval(b));
-            if (fd != -1)
-               return make_immediate(fd, TPORT);
-         }
-         return IFALSE;
-      case 31: { /* pipe → '(read-port . write-port) | #f */
-         int fd[2];
-         if (pipe(fd) != 0)
-            return IFALSE;
-         return cons(make_immediate(fd[0], TPORT), make_immediate(fd[1], TPORT)); }
-      case 32: /* rename src dst → bool */
-         return BOOL(stringp(a) && stringp(b) && rename((char *)a + W, (char *)b + W) == 0);
-      case 33: /* link src dst → bool */
-         return BOOL(stringp(a) && stringp(b) && link((char *)a + W, (char *)b + W) == 0);
-      case 34: /* symlink src dst → bool */
-         return BOOL(stringp(a) && stringp(b) && symlink((char *)a + W, (char *)b + W) == 0);
-      case 35: /* readlink path → raw-sting | #false */
-         if (stringp(a)) {
-            size_t len = memend - fp;
-            size_t max = len > MAXOBJ ? MAXPAYL + 1 : (len - 1) * W;
-            /* the last byte is temporarily used to check, if the string fits */
-            len = readlink((const char *)a + W, (char *)fp + W, max);
-            if (len != (size_t)-1 && len != max)
-               return mkraw(TSTRING, len);
-         }
-         return IFALSE;
-      case 36: /* getcwd → raw-sting | #false */
-         {
-            size_t len = memend - fp;
-            size_t max = len > MAXOBJ ? MAXPAYL + 1 : (len - 1) * W;
-            /* the last byte is temporarily used for the terminating '\0' */
-            if (getcwd((char *)fp + W, max) != NULL)
-               return mkraw(TSTRING, strnlen((char *)fp + W, max - 1));
-         }
-         return IFALSE;
-      case 37: /* umask mask → mask */
-         return F(umask(immval(a)));
-      case 38: /* stat fd|path follow → list */
-         if (immediatep(a) || stringp(a)) {
-            struct stat st;
-            int flg = b != IFALSE ? 0 : AT_SYMLINK_NOFOLLOW;
-            if ((allocp(a) ? fstatat(AT_FDCWD, (char *)a + W, &st, flg) : fstat(immval(a), &st)) == 0) {
-               word lst = INULL;
-               lst = cons(onum(st.st_blocks, 1), lst);
-               lst = cons(onum(st.st_blksize, 1), lst);
-               lst = cons(onum(st.st_ctim.tv_sec * INT64_C(1000000000) + st.st_atim.tv_nsec, 1), lst);
-               lst = cons(onum(st.st_mtim.tv_sec * INT64_C(1000000000) + st.st_atim.tv_nsec, 1), lst);
-               lst = cons(onum(st.st_atim.tv_sec * INT64_C(1000000000) + st.st_atim.tv_nsec, 1), lst);
-               lst = cons(onum(st.st_size, 1), lst);
-               lst = cons(onum(st.st_rdev, 0), lst);
-               lst = cons(onum(st.st_gid, 0), lst);
-               lst = cons(onum(st.st_uid, 0), lst);
-               lst = cons(onum(st.st_nlink, 0), lst);
-               lst = cons(onum(st.st_mode, 0), lst);
-               lst = cons(onum(st.st_ino, 0), lst);
-               lst = cons(onum(st.st_dev, 1), lst);
-               return lst;
-            }
-         }
-         return INULL;
-      case 39: /* chmod fd|path mode follow → bool */
-         if ((immediatep(a) || stringp(a)) && fixnump(b)) {
-            mode_t mod = immval(b);
-            int flg = c != IFALSE ? 0 : AT_SYMLINK_NOFOLLOW;
-            if ((allocp(a) ? fchmodat(AT_FDCWD, (char *)a + W, mod, flg) : fchmod(immval(a), mod)) == 0)
-               return ITRUE;
-         }
-         return IFALSE;
-      case 40: /* chown fd|path (uid . gid) follow → bool */
-         if ((immediatep(a) || stringp(a)) && pairp(b)) {
-            uid_t uid = cnum(G(b, 1));
-            gid_t gid = cnum(G(b, 2));
-            int flg = c != IFALSE ? 0 : AT_SYMLINK_NOFOLLOW;
-            if ((allocp(a) ? fchownat(AT_FDCWD, (char *)a + W, uid, gid, flg) : fchown(immval(a), uid, gid)) == 0)
-               return ITRUE;
-         }
-         return IFALSE;
-      case 41: { /* peek mem nbytes → num */
-         const word p = cnum(a);
-         return onum(
-            b == F(1) ? *(uint8_t *)p :
-            b == F(2) ? *(uint16_t *)p :
-            b == F(4) ? *(uint32_t *)p :
-            b == F(8) ? *(uint64_t *)p :
-            V(p), 0);
-         }
-      case 42: /* write fd data len | #f → nbytes | #f */
-         if (is_type(a, TPORT) && allocp(b)) {
-            size_t len, size = payl_len(header(b));
-            len = c != IFALSE ? cnum(c) : size;
-            if (len <= size) {
-               len = write(immval(a), (const word *)b + 1, len);
-               if (len != (size_t)-1)
-                  return onum(len, 0);
-            }
-         }
-         return IFALSE;
-      case 43:
-         return do_poll(a, b, c);
-      case 44:  {
-         char *host = (char *) (word *) a + W;
-         struct addrinfo *res;
-         int nth = immval(b);
-         int rv = getaddrinfo(host, NULL, NULL, &res);
-         if (rv == 0) {
-            word rv = IFALSE;
-            while (nth--) {
-               if (res)
-                  res = res->ai_next;
-               if (!res)
-                  return INULL;
-            }
-            if (res->ai_addr->sa_family == AF_INET6) {
-               char *n = (char *) &((struct sockaddr_in6*)res->ai_addr)->sin6_addr;
-               rv = mkraw(TBVEC, 6);
-               memcpy((word *)rv + 1, n, 6);
-            } else if (res->ai_addr->sa_family == AF_INET) {
-               char *n = (char *) &((struct sockaddr_in*)res->ai_addr)->sin_addr;
-               rv = mkraw(TBVEC, 4);
-               memcpy((word *)rv + 1, n, 4);
-            }
-            freeaddrinfo(res);
-            return rv;
-         }
-         return IFALSE; }
-      default:
-         return IFALSE;
-   }
-}
-
-static word prim_lraw(word wptr, word type) {
-   word *lst = (word *)wptr;
-   byte *pos;
-   word *ob, raw;
-   uint len = 0;
-   for (ob = lst; pairp(ob); ob = (word *)ob[2])
-      len++;
-   if ((word)ob != INULL || len > MAXPAYL)
-      return IFALSE;
-   raw = mkraw(immval(type), len);
-   pos = (byte *)raw + W;
-   for (ob = lst; (word)ob != INULL; ob = (word *)ob[2])
-      *pos++ = immval(ob[1]);
-   return raw;
-}
-
-/* TODO: implement this in owl */
-static word do_poll(word a, word b, word c) {
-   fd_set rs, ws, es;
-   word *cur;
-   hval r1, r2;
-   int nfds = 1;
-   struct timeval tv;
-   int res;
-   FD_ZERO(&rs); FD_ZERO(&ws); FD_ZERO(&es);
-   for (cur = (word *)a; (word)cur != INULL; cur = (word *)cur[2]) {
-      int fd = immval(G(cur[1], 1));
-      FD_SET(fd, &rs);
-      FD_SET(fd, &es);
-      if (fd >= nfds)
-         nfds = fd + 1;
-   }
-   for (cur = (word *)b; (word)cur != INULL; cur = (word *)cur[2]) {
-      int fd = immval(G(cur[1], 1));
-      FD_SET(fd, &ws);
-      FD_SET(fd, &es);
-      if (fd >= nfds)
-         nfds = fd + 1;
-   }
-   if (c == IFALSE) {
-      res = select(nfds, &rs, &ws, &es, NULL);
-   } else {
-      hval ms = immval(c);
-      tv.tv_sec = ms/1000;
-      tv.tv_usec = (ms%1000)*1000;
-      res = select(nfds, &rs, &ws, &es, &tv);
-   }
-   if (res < 1) {
-      r1 = IFALSE; r2 = BOOL(res < 0); /* 0 = timeout, otherwise error or signal */
-   } else {
-      int fd; /* something active, wake the first thing */
-      for (fd = 0; ; ++fd) {
-         if (FD_ISSET(fd, &rs)) {
-            r1 = make_immediate(fd, TPORT); r2 = F(1); break;
-         } else if (FD_ISSET(fd, &ws)) {
-            r1 = make_immediate(fd, TPORT); r2 = F(2); break;
-         } else if (FD_ISSET(fd, &es)) {
-            r1 = make_immediate(fd, TPORT); r2 = F(3); break;
-         }
-      }
-   }
-   return cons(r1, r2);
-}
-
-static word vm(word *ob, word arg) {
-   byte *ip;
-   uint bank = 0;
-   uint ticker = TICKS;
-   unsigned short acc;
-   uint op;
-   word R[NR];
-
-   static const uint16_t load_imms[] = { F(0), INULL, ITRUE, IFALSE };
-
-   /* clear blank regs */
-   for (acc = 1; acc != NR; ++acc)
-      R[acc] = INULL;
-   R[0] = IFALSE;
-   R[3] = IHALT;
-   R[4] = arg;
-   acc = 2; /* boot always calls with 2 args */
-
-apply: /* apply something at ob to values in regs, or maybe switch context */
-
-   if (allocp(ob)) {
-      hval hdr = *ob & 4095; /* cut size out, take just header info */
-      if (hdr == make_header(0, TPROC)) { /* proc */
-         R[1] = (word) ob; ob = (word *) ob[1];
-      } else if (hdr == make_header(0, TCLOS)) { /* clos */
-         R[1] = (word) ob; ob = (word *) ob[1];
-         R[2] = (word) ob; ob = (word *) ob[1];
-      } else if (!is_type(hdr, TBYTECODE)) { /* not even code, extend bits later */
-         error(259, ob, INULL);
-      }
-      if (!ticker--)
-         goto switch_thread;
-      ip = (byte *)ob + W;
-      goto invoke;
-   } else if ((word)ob == IHALT) {
-      /* it's the final continuation */
-      ob = (word *) R[0];
-      if (allocp(ob)) {
-         R[0] = IFALSE;
-         breaked = 0;
-         R[4] = R[3];
-         R[3] = F(2);
-         R[5] = IFALSE;
-         R[6] = IFALSE;
-         ticker = FMAX;
-         bank = 0;
-         acc = 4;
-         goto apply;
-      }
-      if (acc == 2) /* update state when main program exits with 2 values */
-         state = R[4];
-      return R[3];
-   } else {
-      word *state;
-      allocate(acc+1, state);
-      *state = make_header(acc+1, TTUPLE);
-      memcpy(state + 1, R + 3, acc * W); /* first arg at R3 */
-      error(0, ob, state); /* not callable */
-   }
-
-switch_thread: /* enter mcp if present */
-   if (R[0] == IFALSE) { /* no mcp, ignore */
-      ticker = TICKS;
-      goto apply;
-   } else {
-      /* save vm state and enter mcp cont at R0 */
-      word *state;
-      ticker = FMAX;
-      bank = 0;
-      acc = acc + 4;
-      R[acc] = (word) ob;
-      allocate(acc, state);
-      *state = make_header(acc, TTHREAD);
-      state[acc-1] = R[acc];
-      memcpy(state + 1, R + 1, (acc - 2) * W);
-      ob = (word *) R[0];
-      R[0] = IFALSE; /* remove mcp cont */
-      /* R3 marks the syscall to perform */
-      R[3] = breaked ? (breaked & 8 ? F(14) : F(10)) : F(1);
-      R[4] = (word) state;
-      R[5] = F(breaked);
-      R[6] = IFALSE;
-      acc = 4;
-      breaked = 0;
-      goto apply;
-   }
-invoke: /* nargs and regs ready, maybe gc and execute ob */
-   if (((word)fp) + 1024*64 >= ((word) memend)) {
-      *fp = make_header(NR + 2, 50); /* hdr r_0 .. r_(NR-1) ob */
-      memcpy(fp + 1, R, NR * W);
-      fp[NR + 1] = (word)ob;
-      fp = gc(1024*64, fp);
-      ob = (word *)fp[NR + 1];
-      memcpy(R, fp + 1, NR * W);
-      ip = (byte *)ob + W;
-   }
-
-   for (;;) {
-      op = *ip++;
-      /* main dispatch */
-      switch (op & 63) {
-      case 0:
-         op = *ip << 8 | ip[1];
-         goto super_dispatch;
-      case 1:
-         A2 = G(A0, ip[1]);
-         NEXT(3);
-      case 2: /* jmp-nargs a hi lo */
-         if (acc != *ip)
-            ip += ip[1] << 8 | ip[2];
-         NEXT(3);
-      case 3: /* goto */
-         ob = (word *)A0;
-         acc = ip[1];
-         goto apply;
-      case 5: /* mov2 from1 to1 from2 to2 */
-         A1 = A0;
-         A3 = A2;
-         NEXT(4);
-      case 6: { /* opcodes 134, 6, 198, 70 */
-         word size = *ip++, tmp;
-         word *ob;
-         tmp = R[op & 64 ? 1 : *ip++];
-         allocate(size, ob);
-         *ob = make_header(size, (op >> 7) + TPROC);
-         ob[1] = G(tmp, *ip++);
-         for (tmp = 2; tmp != size; ++tmp)
-            ob[tmp] = R[*ip++];
-         R[*ip++] = (word)ob;
-         NEXT(0); }
-      case 7: /* eq? a b r */
-         A2 = BOOL(A0 == A1);
-         NEXT(3);
-      case 8: /* jeq a b o, extended jump */
-         if (A0 == A1)
-            ip += ip[3] << 8 | ip[2];
-         NEXT(4);
-      case 9:
-         A1 = A0;
-         NEXT(2);
-      case 10: /* ldfix n to, encoding: nnnnnnnn nsoooooo (num-1/sign/op) */
-         A1 = ((hval)*ip << 9) + (op << 1) + F(1) - 20;
-         NEXT(2);
-      case 13: /* ldi{2bit what} [to] */
-         A0 = load_imms[op >> 6];
-         NEXT(1);
-      case 15: { /* type o r */
-         word ob = A0;
-         if (allocp(ob))
-            ob = V(ob);
-         A1 = F((hval)ob >> TPOS & 63);
-         NEXT(2); }
-      case 16: /* jeqi[which] a lo hi */ /* FIXME: move this to op4 after fasl update, and encode offset in big-endian (like most other jump instructions) */
-         if (A0 == load_imms[op >> 6])
-            ip += ip[2] << 8 | ip[1];
-         NEXT(3);
-      case 18: /* fxand a b r, prechecked */
-         A2 = A0 & A1;
-         NEXT(3);
-      case 21: { /* fx- a b r u, types prechecked, signs ignored */
-         hval r = immval(A0) - immval(A1);
-         A3 = F(r >> FBITS & 1);
-         A2 = F(r);
-         NEXT(4); }
-      case 22: { /* fx+ a b r o, types prechecked, signs ignored */
-         hval r = immval(A0) + immval(A1);
-         A3 = F(r >> FBITS);
-         A2 = F(r);
-         NEXT(4); }
-      case 23: { /* mkt t s f1 .. fs r */
-         word t = *ip++;
-         word s = *ip++ + 1; /* the argument is n-1 to allow making a 256-tuple with 255, and avoid 0-tuples */
-         word *ob;
-         uint p;
-         allocate(s+1, ob); /* s fields + header */
-         *ob = make_header(s+1, t);
-         for (p = 0; p != s; ++p)
-            ob[p + 1] = R[ip[p]];
-         R[ip[p]] = (word)ob;
-         NEXT(s+1); }
-      case 24: /* ret val == implicit call r3 with 1 arg */
-         ob = (word *) R[3];
-         R[3] = A0;
-         acc = 1;
-         goto apply;
-      case 25: { /* jmp-var-args a hi lo */
-         uint needed = *ip;
-         if (acc == needed) {
-            R[acc + 3] = INULL; /* add empty extra arg list */
-         } else if (acc > needed) {
-            word tail; /* TODO: no call overflow handling yet */
-            for (tail = INULL; acc > needed; --acc)
-               tail = cons(R[acc + 2], tail);
-            R[acc + 3] = tail;
-         } else {
-            ip += ip[1] << 8 | ip[2];
-         }
-         NEXT(3); }
-      case 26: { /* fxqr ah al b qh ql r, b != 0, int32 / int16 -> int32, as fixnums */
-         uint64_t a = (uint64_t)immval(A0) << FBITS | immval(A1);
-         hval b = immval(A2);
-         uint64_t q;
-         q = a / b;
-         A3 = F(q >> FBITS);
-         A4 = F(q);
-         A5 = F(a - q*b);
-         NEXT(6); }
-      case 27: /* syscall cont op arg1 arg2 */
-         ob = (word *) R[0];
-         R[0] = IFALSE;
-         R[3] = A1;
-         R[4] = A0;
-         R[5] = A2;
-         R[6] = A3;
-         acc = 4;
-         if (ticker > 10)
-            bank = ticker; /* deposit remaining ticks for return to thread */
-         goto apply;
-      case 28: { /* sizeb obj to */
-         word ob = A0;
-         if (immediatep(ob)) {
-            A1 = IFALSE;
-         } else {
-            word hdr = header(ob);
-            A1 = rawp(hdr) ? F(payl_len(hdr)) : IFALSE;
-         }
-         NEXT(2); }
-      case 29: /* fxior a b r, prechecked */
-         A2 = A0 | A1;
-         NEXT(3);
-      case 32: { /* bind tuple <n> <r0> .. <rn> */
-         word *tuple = (word *) R[*ip++];
-         word hdr, pos = 1, n = *ip++ + 1;
-         assert(allocp(tuple), tuple, 32);
-         hdr = *tuple;
-         assert_not(rawp(hdr) || objsize(hdr) != n, tuple, 32);
-         while (--n)
-            R[*ip++] = tuple[pos++];
-         NEXT(0); }
-      case 33: /* fxxor a b r, prechecked */
-         A2 = A0 ^ (FMAX << IPOS & A1); /* inherit A0's type info */
-         NEXT(3);
-      case 35: { /* listuple type size lst to */
-         uint type = immval(A0);
-         hval size = immval(A1) + 1;
-         word *lst = (word *)A2;
-         word *ob;
-         if (size < MAXOBJ) {
-            allocate(size, ob);
-            A3 = (word) ob;
-            *ob++ = make_header(size, type);
-            while (--size) {
-               assert(pairp(lst), lst, 35);
-               *ob++ = lst[1];
-               lst = (word *) lst[2];
-            }
-         } else {
-            A3 = IFALSE;
-         }
-         NEXT(4); }
-      case 39: { /* fx* a b l h */
-         uint64_t res = (uint64_t)immval(A0) * immval(A1);
-         A3 = F(res >> FBITS);
-         A2 = F(res);
-         NEXT(4); }
-      case 41: { /* car a r, or cdr d r */
-         word *ob = (word *)A0;
-         assert(pairp(ob), ob, op);
-         A1 = ob[op >> 6];
-         NEXT(2); }
-      case 44: /* less a b r */
-         A2 = prim_less(A0, A1);
-         NEXT(3);
-      case 45: /* set t o v r */
-         A3 = prim_set(A0, A1, A2);
-         NEXT(4);
-      case 47: /* ref t o r */
-         A2 = prim_ref(A0, A1);
-         NEXT(3);
-      case 50: { /* run thunk quantum */
-         word hdr;
-         ob = (word *)A0;
-         R[0] = R[3];
-         ticker = bank ? bank : immval(A1);
-         bank = 0;
-         assert(allocp(ob), ob, 50);
-         hdr = *ob;
-         if (is_type(hdr, TTHREAD)) {
-            hval pos = objsize(hdr) - 1;
-            word code = ob[pos];
-            acc = pos - 3;
-            while (--pos)
-               R[pos] = ob[pos];
-            ip = (byte *)code + W;
-         } else {
-            /* call a thunk with terminal continuation */
-            R[3] = IHALT; /* exit via R0 when the time comes */
-            acc = 1;
-            goto apply;
-         }
-         NEXT(0); }
-      case 51: /* cons a b r */
-         A2 = cons(A0, A1);
-         NEXT(3);
-      case 58: { /* fx>> x n hi lo */
-         hval x = immval(A0);
-         uint n = immval(A1);
-         A2 = F(x >> n);
-         A3 = F(x << (FBITS - n));
-         NEXT(4); }
-      case 59: /* lraw lst type r (FIXME: alloc amount testing compiler pass not in place yet) */
-         A2 = prim_lraw(A0, A1);
-         NEXT(3);
-      case 61: { /* arity error */
-         word *t;
-         allocate(acc + 1, t);
-         *t = make_header(acc + 1, TTUPLE);
-         memcpy(t + 1, R + 3, acc * W);
-         error(61, ob, t); }
-      case 62: /* set-ticker <val> <to> -> old ticker value */
-         /* ponder: it should be possible to remove this, if the only use is to yield control */
-         A1 = F(ticker);
-         ticker = immval(A0);
-         NEXT(2);
-      case 63: /* sys-prim op arg1 arg2 arg3 r1 */
-         A4 = prim_sys(A0, A1, A2, A3);
-         NEXT(5);
-      default:
-         error(256, F(op), IFALSE); /* report unimplemented opcode */
-      }
-   }
-
-super_dispatch: /* run macro instructions */
-   switch (op) {
-   case 0:
-    if(acc==2){
-      {word*ob=(word*)R[4];hval hdr;assert(allocp(R[4]),R[4],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=5,ob,IFALSE);
-R[5]=ob[1];R[6]=ob[2];R[7]=ob[3];R[8]=ob[4];}
-      R[9]=G(R[2],2);
-      R[10]=G(R[1],2);
-      R[11]=G(R[1],3);
-      R[12]=G(R[1],4);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[3];fp[7]=R[8];fp[6]=R[12];fp[5]=R[11];fp[4]=R[10];fp[3]=R[5];fp[2]=R[6];R[3]=(word)fp;fp+=9;
-      ob=(word*)R[9];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      R[11]=G(R[1],8);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=9;
-      R[13]=F(0);
-      R[8]=R[4];
-      R[4]=R[5];R[5]=R[13];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 2:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],6);
-        R[10]=G(R[1],8);
-        *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=8;
-        R[12]=G(R[1],7);
-        R[7]=R[4];R[4]=R[12];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[1],6);
-        R[5]=G(R[1],7);
-        R[6]=G(R[1],8);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],4);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-        R[8]=G(R[1],4);
-        R[5]=G(R[1],5);
-        R[6]=R[4];
-        R[3]=R[7];R[4]=R[8];
-        ob=(word*)R[6];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 3:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[3];fp[2]=R[5];R[6]=(word)fp;fp+=4;
-      R[7]=G(R[1],2);
-      R[5]=128*508+258;
-      R[9]=R[4];
-      R[3]=R[6];R[4]=R[7];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 4:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[7];fp[2]=R[6];R[8]=(word)fp;fp+=4;
-      R[9]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[11]=R[5];
-      R[7]=R[4];R[4]=R[3];
-      R[3]=R[8];R[5]=R[9];
-      ob=(word*)R[11];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 5:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      R[8]=G(R[1],3);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],2);fp[3]=R[8];fp[2]=R[6];R[3]=(word)fp;fp+=4;
-      R[10]=R[5];R[5]=R[4];
-      R[6]=R[7];R[4]=R[10];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 6:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-      R[7]=G(R[1],2);
-      R[8]=R[4];R[4]=R[7];
-      ob=(word*)R[8];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 7:
-    if(acc==5){
-      R[8]=G(R[1],2);
-      *fp=make_header(4,TPROC);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-      R[5]=R[6];R[6]=R[7];
-      ob=(word*)R[8];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 8:
-    if(acc==3){
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],2);
-      R[9]=R[6];R[6]=R[5];
-      R[5]=R[4];R[4]=R[7];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 9:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],3);fp[2]=R[3];R[8]=(word)fp;fp+=3;
-      R[9]=IFALSE;
-      R[10]=R[7];R[11]=R[6];
-      R[6]=R[5];R[3]=R[8];
-      R[7]=R[9];R[5]=R[11];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 10:
-    if(acc==1){
-      {word*ob=(word*)R[3];hval hdr;assert(allocp(R[3]),R[3],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=4,ob,IFALSE);
-R[4]=ob[1];R[5]=ob[2];R[6]=ob[3];}
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],3);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[8];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-      R[4]=G(R[1],2);
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 11:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[8]=(word)fp;fp+=5;
-      R[9]=G(R[2],4);
-      R[5]=INULL;
-      R[11]=R[4];R[6]=R[3];
-      R[3]=R[8];R[4]=R[9];
-      ob=(word*)R[11];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 12:
-    if(acc==5){
-      R[8]=G(R[1],2);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[1],3);fp[6]=R[3];fp[5]=R[5];fp[4]=R[7];fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=7;
-      R[5]=F(0);
-      R[4]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 13:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],6);
-        R[5]=G(R[1],2);
-        R[6]=INULL;
-        R[7]=R[4];
-        R[3]=R[5];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[10]=G(R[1],2);
-        R[7]=R[4];R[4]=R[10];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 14:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[3];fp[2]=R[6];R[3]=(word)fp;fp+=7;
-      R[8]=R[5];R[5]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 15:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[9];fp[6]=R[8];fp[5]=R[3];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[10]=(word)fp;fp+=8;
-      R[9]=R[4];R[5]=R[3];
-      R[4]=R[8];R[3]=R[10];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 16:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=8;
-      R[11]=G(R[1],2);
-      R[8]=R[4];
-      R[5]=R[7];R[4]=R[11];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 17:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],6);
-      R[7]=G(R[1],7);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],2);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[8]=(word)fp;fp+=5;
-      R[9]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[6]=R[3];R[7]=R[4];
-      R[3]=R[8];R[4]=R[9];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 18:
-    if(acc==4){
-      if(R[5]==F(0)){
-        R[7]=INULL;
-        ob=(word*)R[3];R[3]=R[7];acc=1;
-      }else{
-        R[7]=G(R[1],2);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[3];fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 19:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      R[8]=G(R[1],3);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],2);fp[5]=R[8];fp[4]=R[6];fp[3]=R[4];fp[2]=R[7];R[9]=(word)fp;fp+=6;
-      R[4]=R[5];R[5]=R[9];
-      ob=(word*)R[5];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 20:
-    if(acc==3){
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],2);
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],4);
-      R[10]=G(R[1],5);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[10];fp[7]=R[4];fp[6]=R[9];fp[5]=R[3];fp[4]=R[5];fp[3]=R[8];fp[2]=R[7];R[3]=(word)fp;fp+=9;
-      ob=(word*)R[6];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 21:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],7);
-        if(R[4]==INULL){
-          R[5]=G(R[1],8);
-          R[6]=G(R[1],6);
-          R[7]=G(R[1],3);
-          R[8]=G(R[1],5);
-          *fp=make_header(6,TPROC);fp[1]=G(R[2],2);fp[5]=R[8];fp[4]=R[7];fp[3]=R[4];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-          R[4]=G(R[1],2);
-          ob=(word*)R[5];acc=3;
-        }else{
-          R[5]=G(R[1],5);
-          R[6]=G(R[1],4);
-          *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-          ob=(word*)R[4];acc=1;
-        }
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],5);
-        R[6]=G(R[1],6);
-        R[7]=G(R[1],7);
-        R[8]=G(R[1],8);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],5);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[10]=G(R[1],3);
-        R[5]=G(R[1],2);
-        R[8]=R[4];R[4]=R[10];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 22:
-    if(acc==2){
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],2);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[8]=(word)fp;fp+=5;
-      R[9]=G(R[1],2);
-      R[5]=INULL;
-      R[6]=R[3];
-      R[7]=R[8];R[3]=R[9];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 23:
-    if(acc==5){
-      if(R[4]==INULL){
-        R[8]=G(R[1],4);
-        R[9]=G(R[1],2);
-        R[10]=G(R[1],3);
-        *fp=make_header(6,TPROC);fp[1]=G(R[2],2);fp[5]=R[3];fp[4]=R[6];fp[3]=R[10];fp[2]=R[9];R[3]=(word)fp;fp+=6;
-        R[4]=R[5];R[5]=R[8];
-        ob=(word*)R[5];acc=3;
-      }else{
-        R[8]=G(R[2],3);
-        R[9]=G(R[1],2);
-        R[10]=G(R[1],3);
-        R[11]=G(R[1],4);
-        *fp=make_header(10,TCLOS);fp[1]=G(R[2],4);fp[9]=R[7];fp[8]=R[3];fp[7]=R[11];fp[6]=R[4];fp[5]=R[10];fp[4]=R[5];fp[3]=R[6];fp[2]=R[9];R[3]=(word)fp;fp+=10;
-        ob=(word*)R[8];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 24:
-    if(acc==1){
-      {word*ob=(word*)R[3];hval hdr;assert(allocp(R[3]),R[3],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=5,ob,IFALSE);
-R[4]=ob[1];R[5]=ob[2];R[6]=ob[3];R[7]=ob[4];}
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      R[11]=G(R[1],7);
-      R[12]=G(R[1],8);
-      R[13]=G(R[1],9);
-      *fp=make_header(11,TCLOS);fp[1]=G(R[2],2);fp[10]=R[13];fp[9]=R[12];fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[5];fp[3]=R[7];fp[2]=R[4];R[3]=(word)fp;fp+=11;
-      R[4]=G(R[1],3);
-      R[16]=G(R[1],2);
-      R[10]=R[6];
-      R[5]=R[9];R[6]=R[16];
-      ob=(word*)R[10];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 25:
-    if(acc==5){
-      R[8]=G(R[2],2);
-      R[9]=G(R[1],3);
-      R[10]=G(R[1],4);
-      R[11]=G(R[1],5);
-      R[12]=G(R[1],6);
-      R[13]=G(R[1],7);
-      R[14]=G(R[1],8);
-      R[15]=G(R[1],9);
-      R[16]=G(R[1],10);
-      *fp=make_header(14,TCLOS);fp[1]=G(R[2],3);fp[13]=R[16];fp[12]=R[15];fp[11]=R[4];fp[10]=R[5];fp[9]=R[6];fp[8]=R[14];fp[7]=R[13];fp[6]=R[12];fp[5]=R[11];fp[4]=R[10];fp[3]=R[3];fp[2]=R[9];R[3]=(word)fp;fp+=14;
-      R[4]=G(R[1],2);
-      R[5]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 26:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      *fp=make_header(5,2);fp[1]=R[3];fp[2]=R[4];fp[3]=R[5];fp[4]=R[6];R[4]=(word)fp;fp+=5;
-      R[8]=G(R[2],2);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      R[11]=G(R[1],8);
-      R[12]=G(R[1],9);
-      R[13]=G(R[1],10);
-      R[14]=G(R[1],11);
-      R[15]=G(R[1],12);
-      R[16]=G(R[1],13);
-      *fp=make_header(10,TCLOS);fp[1]=G(R[2],3);fp[9]=R[16];fp[8]=R[15];fp[7]=R[14];fp[6]=R[13];fp[5]=R[12];fp[4]=R[11];fp[3]=R[10];fp[2]=R[9];R[3]=(word)fp;fp+=10;
-      R[5]=G(R[1],5);
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 27:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      R[11]=G(R[1],8);
-      R[12]=G(R[1],9);
-      *fp=make_header(11,TCLOS);fp[1]=G(R[2],3);fp[10]=R[12];fp[9]=R[11];fp[8]=R[3];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=11;
-      R[7]=R[4];R[4]=R[9];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 28:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      R[8]=G(R[1],7);
-      R[9]=G(R[1],8);
-      R[10]=G(R[1],9);
-      R[11]=G(R[1],10);
-      *fp=make_header(10,TCLOS);fp[1]=G(R[2],4);fp[9]=R[11];fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[12]=(word)fp;fp+=10;
-      if(R[3]==IFALSE){
-        R[3]=IFALSE;
-        ob=(word*)R[12];acc=1;
-      }else{
-        R[13]=G(R[2],2);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[12];fp[2]=R[7];R[3]=(word)fp;fp+=4;
-        R[4]=G(R[1],2);
-        ob=(word*)R[13];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 29:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],7);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],6);
-        R[10]=G(R[1],8);
-        *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=8;
-        R[12]=G(R[1],2);
-        R[7]=R[4];R[4]=R[12];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],6);
-        R[6]=G(R[1],7);
-        R[7]=G(R[1],8);
-        R[8]=G(R[1],9);
-        *fp=make_header(6,TPROC);fp[1]=G(R[2],4);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[10]=G(R[1],2);
-        R[7]=R[4];R[4]=R[10];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 30:
-    if(acc==1){
-      R[4]=G(R[1],5);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],2);
-      R[9]=R[4];R[4]=R[5];
-      R[5]=R[6];R[6]=R[7];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 31:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-      R[8]=128*0+258;
-      R[4]=R[5];R[5]=R[8];
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 32:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=6;
-      R[5]=128*2+258;
-      R[10]=R[4];R[4]=R[6];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 33:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-      R[8]=G(R[2],4);
-      R[9]=R[5];
-      R[5]=R[4];R[4]=R[8];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 34:
-    if(acc==3){
-      if(R[5]==F(0)){
-        ob=(word*)R[3];R[3]=R[4];acc=1;
-      }else{
-        R[6]=G(R[1],2);
-        *fp=make_header(3,TCLOS);fp[1]=G(R[1],3);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-        ob=(word*)R[6];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 35:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],3);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[7]=128*18+258;
-      R[8]=R[4];R[5]=R[3];
-      R[3]=R[6];R[4]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 36:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=128*2+258;
-      R[8]=R[4];
-      R[9]=R[5];R[5]=R[3];
-      R[4]=R[6];R[3]=R[9];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 37:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],6);
-        R[5]=G(R[1],7);
-        *fp=make_header(3,TPROC);fp[1]=G(R[2],2);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],4);
-        R[9]=G(R[1],5);
-        R[10]=128*1+258;
-        R[11]=R[4];R[3]=R[6];
-        R[4]=R[7];R[5]=R[8];
-        R[6]=R[9];R[7]=R[10];
-        ob=(word*)R[11];acc=5;
-      }else{
-        R[4]=G(R[2],3);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],6);
-        R[8]=G(R[1],7);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],4);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=6;
-        R[10]=G(R[1],3);
-        R[5]=G(R[1],2);
-        R[12]=R[4];R[6]=R[3];
-        R[3]=R[9];R[4]=R[10];
-        ob=(word*)R[12];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 38:
-    if(acc==5){
-      R[8]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[3];fp[4]=R[5];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-      R[5]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 39:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[9];fp[6]=R[8];fp[5]=R[4];fp[4]=R[3];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=8;
-      R[9]=R[5];
-      R[5]=R[4];R[4]=R[8];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 40:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[11]=(word)fp;fp+=9;
-      R[5]=128*0+258;
-      R[8]=R[4];
-      R[4]=R[3];R[3]=R[11];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 41:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      if(R[3]==R[4]){
-        R[5]=G(R[1],2);
-        {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[6]=ob[1];R[7]=ob[2];}
-        R[8]=G(R[2],3);
-        R[9]=G(R[1],6);
-        R[10]=G(R[1],7);
-        R[11]=G(R[1],8);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],4);fp[4]=R[11];fp[3]=R[10];fp[2]=R[9];R[3]=(word)fp;fp+=5;
-        R[4]=G(R[1],5);
-        R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[5]=G(R[2],5);
-        if(R[3]==R[5]){
-          R[6]=G(R[1],2);
-          {word*ob=(word*)R[6];hval hdr;assert(allocp(R[6]),R[6],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[7]=ob[1];R[8]=ob[2];}
-          R[7]=G(R[1],4);
-          R[3]=G(R[1],8);
-          R[4]=G(R[1],5);
-          R[5]=G(R[1],7);
-          R[6]=G(R[1],3);
-          ob=(word*)R[7];acc=5;
-        }else{
-          R[6]=G(R[2],6);
-          if(R[3]==R[6]){
-            R[7]=G(R[1],2);
-            {word*ob=(word*)R[7];hval hdr;assert(allocp(R[7]),R[7],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=5,ob,IFALSE);
-R[8]=ob[1];R[9]=ob[2];R[10]=ob[3];R[11]=ob[4];}
-            R[12]=G(R[2],3);
-            R[13]=G(R[1],6);
-            R[14]=G(R[1],7);
-            R[15]=G(R[1],8);
-            *fp=make_header(7,TCLOS);fp[1]=G(R[2],7);fp[6]=R[15];fp[5]=R[14];fp[4]=R[13];fp[3]=R[9];fp[2]=R[11];R[3]=(word)fp;fp+=7;
-            R[4]=G(R[1],5);
-            R[5]=R[10];
-            ob=(word*)R[12];acc=3;
-          }else{
-            R[5]=G(R[1],2);
-            R[8]=G(R[2],8);
-            R[3]=G(R[1],8);
-            R[4]=G(R[2],9);
-            ob=(word*)R[8];acc=3;
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 42:
-    if(acc==2){
-      R[5]=G(R[2],4);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],2);
-      *fp=make_header(5,2);fp[1]=R[5];fp[2]=R[6];fp[3]=R[4];fp[4]=R[7];R[6]=(word)fp;fp+=5;
-      R[9]=G(R[2],2);
-      R[10]=G(R[1],6);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[10];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-      R[4]=G(R[1],5);
-      R[5]=G(R[1],4);
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 43:
-    if(acc==2){
-      R[5]=G(R[2],4);
-      *fp=make_header(3,2);fp[1]=R[5];fp[2]=R[4];R[6]=(word)fp;fp+=3;
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],4);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[8];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],2);
-      ob=(word*)R[7];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 44:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-      R[5]=128*6+258;
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 45:
-    if(acc==2){
-      if(R[4]==F(0)){
-        R[5]=G(R[2],2);
-        R[4]=G(R[1],2);
-        R[7]=G(R[1],3);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[4];fp[2]=R[3];R[3]=(word)fp;fp+=5;
-        ob=(word*)R[5];acc=2;
-      }else{
-        R[5]=128*0+258;
-        if(R[4]==R[5]){
-          R[6]=G(R[2],2);
-          R[4]=G(R[1],2);
-          R[8]=G(R[1],3);
-          *fp=make_header(5,TCLOS);fp[1]=G(R[2],4);fp[4]=R[8];fp[3]=R[4];fp[2]=R[3];R[3]=(word)fp;fp+=5;
-          ob=(word*)R[6];acc=2;
-        }else{
-          R[6]=128*2+258;
-          if(R[4]==R[6]){
-            R[7]=G(R[2],5);
-            R[8]=G(R[1],2);
-            R[9]=G(R[1],3);
-            *fp=make_header(4,TCLOS);fp[1]=G(R[2],6);fp[3]=R[9];fp[2]=R[8];R[10]=(word)fp;fp+=4;
-            R[4]=R[3];R[3]=R[10];
-            ob=(word*)R[7];acc=2;
-          }else{
-            R[7]=G(R[2],7);
-            R[8]=G(R[1],2);
-            R[9]=G(R[1],3);
-            *fp=make_header(5,TCLOS);fp[1]=G(R[2],8);fp[4]=R[9];fp[3]=R[3];fp[2]=R[8];R[3]=(word)fp;fp+=5;
-            R[4]=F(0);
-            R[5]=INULL;
-            ob=(word*)R[7];acc=3;
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 46:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[4];fp[4]=R[7];fp[3]=R[6];fp[2]=R[3];R[3]=(word)fp;fp+=6;
-      R[4]=R[6];
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 47:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[3];R[7]=(word)fp;fp+=4;
-      R[8]=G(R[1],2);
-      R[9]=G(R[1],4);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],4);fp[2]=R[9];R[6]=(word)fp;fp+=3;
-      R[9]=R[5];R[5]=R[4];
-      R[3]=R[7];R[4]=R[8];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 48:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[4];R[8]=(word)fp;fp+=5;
-      R[4]=R[3];R[3]=R[8];
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 49:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],4);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[3];R[7]=(word)fp;fp+=4;
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],4);fp[2]=R[4];R[6]=(word)fp;fp+=3;
-      R[11]=R[5];R[3]=R[7];
-      R[4]=R[8];R[5]=R[9];
-      ob=(word*)R[11];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 50:
-    if(acc==4){
-      if(R[4]==F(0)){
-        ob=(word*)R[3];R[3]=R[5];acc=1;
-      }else{
-        R[7]=128*0+258;
-        {hval r=immval(R[4])-immval(R[7]);R[9]=F(r>>FBITS&1);R[8]=F(r);}
-        R[10]=G(R[1],2);
-        *fp=make_header(5,TPROC);fp[1]=G(R[1],3);fp[4]=R[6];fp[3]=R[3];fp[2]=R[8];R[3]=(word)fp;fp+=5;
-        R[4]=128*192+258;
-        ob=(word*)R[10];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 51:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],3);fp[2]=R[3];R[6]=(word)fp;fp+=3;
-      R[7]=128*20+258;
-      R[8]=R[5];
-      R[3]=R[6];R[5]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 52:
-    if(acc==2){
-      if(R[4]==F(0)){
-        R[5]=G(R[1],2);
-        R[4]=128*252+258;
-        ob=(word*)R[5];acc=2;
-      }else{
-        R[5]=128*0+258;
-        if(R[4]==R[5]){
-          R[6]=G(R[1],2);
-          R[4]=128*254+258;
-          ob=(word*)R[6];acc=2;
-        }else{
-          R[6]=128*2+258;
-          if(R[4]==R[6]){
-            R[7]=G(R[1],2);
-            R[4]=128*508+258;
-            ob=(word*)R[7];acc=2;
-          }else{
-            R[7]=128*4+258;
-            if(R[4]==R[7]){
-              R[8]=G(R[1],2);
-              R[4]=128*510+258;
-              ob=(word*)R[8];acc=2;
-            }else{
-              R[8]=128*6+258;
-              if(R[4]==R[8]){
-                R[9]=G(R[1],2);
-                R[4]=G(R[2],2);
-                ob=(word*)R[9];acc=2;
-              }else{
-                R[9]=128*8+258;
-                if(R[4]==R[9]){
-                  R[10]=G(R[1],2);
-                  R[4]=G(R[2],3);
-                  ob=(word*)R[10];acc=2;
-                }else{
-                  R[10]=128*10+258;
-                  if(R[4]==R[10]){
-                    R[11]=G(R[1],2);
-                    R[4]=G(R[2],4);
-                    ob=(word*)R[11];acc=2;
-                  }else{
-                    R[11]=128*12+258;
-                    if(R[4]==R[11]){
-                      R[12]=G(R[1],2);
-                      R[4]=G(R[2],5);
-                      ob=(word*)R[12];acc=2;
-                    }else{
-                      R[12]=128*14+258;
-                      if(R[4]==R[12]){
-                        R[13]=G(R[1],2);
-                        R[4]=G(R[2],6);
-                        ob=(word*)R[13];acc=2;
-                      }else{
-                        R[13]=128*16+258;
-                        if(R[4]==R[13]){
-                          R[14]=G(R[1],2);
-                          R[4]=G(R[2],7);
-                          ob=(word*)R[14];acc=2;
-                        }else{
-                          R[14]=G(R[2],8);
-                          R[15]=G(R[1],2);
-                          *fp=make_header(3,TPROC);fp[1]=G(R[2],9);fp[2]=R[15];R[16]=(word)fp;fp+=3;
-                          R[5]=G(R[2],10);
-                          R[4]=R[3];R[3]=R[16];
-                          ob=(word*)R[14];acc=3;
-                        }
-                      }
-                    }
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 53:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[7]=R[4];R[4]=R[5];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 54:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[8]=(word)fp;fp+=6;
-      if(R[3]==IFALSE){
-        R[3]=G(R[1],2);
-        ob=(word*)R[8];acc=1;
-      }else{
-        R[9]=G(R[2],2);
-        R[4]=G(R[1],2);
-        R[3]=R[8];
-        ob=(word*)R[9];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 55:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],3);fp[2]=R[3];R[6]=(word)fp;fp+=3;
-      R[7]=128*38+258;
-      R[8]=R[5];
-      R[3]=R[6];R[5]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 56:
-    if(acc==2){
-      R[5]=G(R[2],4);
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],2);
-      *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[5];fp[3]=R[7];fp[2]=R[3];R[3]=(word)fp;fp+=5;
-      R[5]=128*0+258;
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 57:
-    if(acc==5){
-      if(R[5]==F(0)){
-        R[7]=R[3];
-        R[3]=R[4];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[8]=G(R[1],2);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        ob=(word*)R[8];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 58:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[3];fp[3]=R[4];fp[2]=R[6];R[3]=(word)fp;fp+=7;
-      R[4]=G(R[1],2);
-      R[11]=128*0+258;
-      R[8]=R[5];R[5]=R[11];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 59:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[7]=INULL;
-      R[10]=R[6];
-      R[11]=R[5];R[5]=R[3];
-      R[6]=R[7];R[7]=R[4];
-      R[4]=R[10];R[3]=R[11];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 60:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],3);fp[2]=R[3];R[6]=(word)fp;fp+=3;
-      R[7]=128*62+258;
-      R[8]=R[5];
-      R[3]=R[6];R[5]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 61:
-    if(acc==1){
-      if(R[3]==F(0)){
-        R[4]=G(R[1],3);
-        R[3]=IFALSE;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-        R[7]=G(R[1],2);
-        R[8]=R[4];R[4]=R[7];
-        ob=(word*)R[8];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 62:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      if(R[4]==R[3]){
-        R[5]=G(R[1],3);
-        R[3]=IFALSE;
-        ob=(word*)R[5];acc=1;
-      }else{
-        R[5]=G(R[1],3);
-        R[3]=G(R[1],2);
-        ob=(word*)R[5];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 63:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      if(R[3]==R[4]){
-        R[5]=G(R[1],2);
-        {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[6]=ob[1];R[7]=ob[2];}
-        R[8]=G(R[2],3);
-        R[3]=G(R[1],4);
-        R[5]=G(R[1],3);
-        R[4]=R[7];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[5]=G(R[2],4);
-        if(R[3]==R[5]){
-          R[6]=G(R[1],2);
-          {word*ob=(word*)R[6];hval hdr;assert(allocp(R[6]),R[6],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=5,ob,IFALSE);
-R[7]=ob[1];R[8]=ob[2];R[9]=ob[3];R[10]=ob[4];}
-          R[11]=G(R[2],5);
-          R[12]=G(R[1],4);
-          *fp=make_header(5,TCLOS);fp[1]=G(R[2],6);fp[4]=R[12];fp[3]=R[8];fp[2]=R[9];R[3]=(word)fp;fp+=5;
-          R[5]=G(R[1],3);
-          R[4]=R[10];
-          ob=(word*)R[11];acc=3;
-        }else{
-          R[6]=G(R[2],7);
-          if(R[3]==R[6]){
-            R[7]=G(R[1],2);
-            {word*ob=(word*)R[7];hval hdr;assert(allocp(R[7]),R[7],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[8]=ob[1];R[9]=ob[2];}
-            R[10]=G(R[2],3);
-            R[3]=G(R[1],4);
-            R[5]=G(R[1],3);
-            R[4]=R[9];
-            ob=(word*)R[10];acc=3;
-          }else{
-            R[7]=G(R[2],8);
-            R[3]=G(R[1],4);
-            R[4]=G(R[2],9);
-            R[5]=G(R[1],2);
-            ob=(word*)R[7];acc=3;
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 64:
-    if(acc==2){
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],6);
-      R[7]=G(R[1],7);
-      *fp=make_header(5,TPROC);fp[1]=G(R[1],2);fp[4]=R[5];fp[3]=R[6];fp[2]=R[7];R[8]=(word)fp;fp+=5;
-      *fp=make_header(5,TPROC);fp[1]=G(R[1],3);fp[4]=R[6];fp[3]=R[5];fp[2]=R[7];R[9]=(word)fp;fp+=5;
-      *fp=make_header(5,TPROC);fp[1]=G(R[1],4);fp[4]=R[7];fp[3]=R[5];fp[2]=R[6];R[10]=(word)fp;fp+=5;
-      R[5]=INULL;
-      R[6]=R[5];
-      ob=(word*)R[10];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 65:
-    if(acc==7){
-      if(R[4]==INULL){
-        if(R[5]==INULL){
-          R[10]=G(R[1],2);
-          R[4]=R[6];
-          ob=(word*)R[10];acc=2;
-        }else{
-          R[10]=G(R[1],3);
-          *fp=make_header(3,TCLOS);fp[1]=G(R[1],4);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-          R[4]=G(R[1],5);
-          ob=(word*)R[10];acc=4;
-        }
-      }else{
-        R[10]=G(R[1],6);
-        *fp=make_header(9,TCLOS);fp[1]=G(R[1],7);fp[8]=R[8];fp[7]=R[3];fp[6]=R[4];fp[5]=R[7];fp[4]=R[9];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=9;
-        ob=(word*)R[10];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 66:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],6);
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],8);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],3);
-        R[10]=G(R[1],7);
-        R[11]=G(R[1],4);
-        *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=9;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[1],2);
-        if(R[4]==INULL){
-          R[5]=G(R[1],8);
-          R[6]=G(R[1],7);
-          R[7]=G(R[1],6);
-          R[8]=INULL;
-          R[9]=G(R[1],3);
-          R[10]=G(R[1],5);
-          R[11]=G(R[1],4);
-          R[12]=R[8];R[8]=R[5];
-          R[3]=R[6];R[4]=R[7];
-          R[6]=R[9];R[7]=R[10];
-          R[9]=R[11];R[5]=R[12];
-          ob=(word*)R[8];acc=7;
-        }else{
-          R[5]=G(R[2],4);
-          R[6]=G(R[1],4);
-          R[7]=G(R[1],5);
-          R[8]=G(R[1],6);
-          R[9]=G(R[1],7);
-          R[10]=G(R[1],8);
-          *fp=make_header(7,TPROC);fp[1]=G(R[2],5);fp[6]=R[10];fp[5]=R[9];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=7;
-          R[12]=G(R[2],6);
-          R[6]=G(R[1],3);
-          R[9]=R[5];
-          R[5]=R[4];R[4]=R[12];
-          ob=(word*)R[9];acc=4;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 67:
-    if(acc==1){
-      R[4]=G(R[1],6);
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],4);
-      R[7]=INULL;
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],2);
-      R[12]=R[5];
-      R[5]=R[7];R[7]=R[8];
-      R[8]=R[4];R[4]=R[6];
-      R[6]=R[3];R[3]=R[12];
-      ob=(word*)R[8];acc=7;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 68:
-    if(acc==7){
-      if(R[4]==INULL){
-        R[10]=G(R[1],2);
-        *fp=make_header(3,TCLOS);fp[1]=G(R[1],3);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-        R[4]=G(R[1],4);
-        ob=(word*)R[10];acc=4;
-      }else{
-        R[10]=G(R[1],5);
-        *fp=make_header(9,TCLOS);fp[1]=G(R[1],6);fp[8]=R[7];fp[7]=R[3];fp[6]=R[6];fp[5]=R[8];fp[4]=R[9];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=9;
-        ob=(word*)R[10];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 69:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],8);
-        R[9]=G(R[1],6);
-        R[10]=G(R[1],7);
-        R[11]=G(R[1],5);
-        *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=9;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],6);
-        R[10]=G(R[1],7);
-        R[11]=G(R[1],8);
-        *fp=make_header(10,TCLOS);fp[1]=G(R[2],5);fp[9]=R[11];fp[8]=R[10];fp[7]=R[3];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=10;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 70:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      R[11]=G(R[1],8);
-      R[12]=G(R[1],9);
-      *fp=make_header(11,TCLOS);fp[1]=G(R[2],3);fp[10]=R[12];fp[9]=R[11];fp[8]=R[3];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=11;
-      R[7]=R[4];R[4]=R[5];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 71:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      R[11]=G(R[1],9);
-      R[12]=G(R[1],10);
-      *fp=make_header(11,TCLOS);fp[1]=G(R[2],3);fp[10]=R[12];fp[9]=R[11];fp[8]=R[10];fp[7]=R[3];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=11;
-      R[14]=G(R[1],2);
-      R[7]=R[4];R[4]=R[14];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 72:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      R[11]=G(R[1],9);
-      R[12]=G(R[1],10);
-      *fp=make_header(10,TPROC);fp[1]=G(R[2],3);fp[9]=R[12];fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[13]=(word)fp;fp+=10;
-      R[5]=G(R[1],2);
-      R[8]=R[4];
-      R[4]=R[3];R[3]=R[13];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 73:
-    if(acc==1){
-      R[4]=G(R[1],9);
-      R[5]=G(R[1],8);
-      R[6]=G(R[1],7);
-      R[7]=G(R[1],6);
-      R[8]=G(R[1],5);
-      R[9]=INULL;
-      R[10]=G(R[1],4);
-      R[11]=G(R[1],3);
-      R[12]=G(R[1],2);
-      R[15]=R[10];
-      R[10]=R[4];R[4]=R[6];
-      R[6]=R[8];R[8]=R[3];
-      R[3]=R[5];R[5]=R[7];
-      R[7]=R[9];R[9]=R[15];
-      ob=(word*)R[10];acc=10;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 74:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],8);
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],2);
-        R[8]=G(R[1],7);
-        R[9]=G(R[1],4);
-        *fp=make_header(7,TPROC);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-        R[11]=G(R[2],4);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],6);
-        R[9]=R[4];R[4]=R[11];
-        ob=(word*)R[9];acc=4;
-      }else{
-        R[4]=G(R[2],5);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],6);
-        R[10]=G(R[1],7);
-        R[11]=G(R[1],8);
-        *fp=make_header(9,TCLOS);fp[1]=G(R[2],6);fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=9;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 75:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      *fp=make_header(8,TPROC);fp[1]=G(R[2],3);fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[11]=(word)fp;fp+=8;
-      R[5]=G(R[1],2);
-      R[8]=R[4];
-      R[4]=R[3];R[3]=R[11];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 76:
-    if(acc==1){
-      R[4]=G(R[1],7);
-      R[5]=G(R[1],6);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],2);
-      R[12]=R[6];R[13]=R[5];
-      R[5]=R[3];R[6]=R[7];
-      R[7]=R[8];R[8]=R[4];
-      R[4]=R[12];R[3]=R[13];
-      ob=(word*)R[8];acc=7;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 77:
-    if(acc==10){
-      if(R[4]==INULL){
-        R[13]=G(R[1],2);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[9];R[3]=(word)fp;fp+=4;
-        R[4]=R[7];R[5]=R[8];
-        ob=(word*)R[13];acc=3;
-      }else{
-        R[13]=G(R[1],4);
-        *fp=make_header(12,TCLOS);fp[1]=G(R[1],5);fp[11]=R[10];fp[10]=R[3];fp[9]=R[5];fp[8]=R[6];fp[7]=R[8];fp[6]=R[9];fp[5]=R[11];fp[4]=R[12];fp[3]=R[7];fp[2]=R[4];R[3]=(word)fp;fp+=12;
-        ob=(word*)R[13];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 78:
-    if(acc==1){
-      R[4]=G(R[1],8);
-      if(R[3]==R[4]){
-        R[5]=G(R[2],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],9);
-        R[8]=G(R[1],2);
-        R[9]=G(R[1],6);
-        R[10]=G(R[1],5);
-        R[11]=G(R[1],11);
-        R[12]=G(R[1],10);
-        R[13]=G(R[1],4);
-        *fp=make_header(11,TCLOS);fp[1]=G(R[2],3);fp[10]=R[13];fp[9]=R[12];fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[4];fp[2]=R[6];R[3]=(word)fp;fp+=11;
-        R[4]=G(R[1],7);
-        ob=(word*)R[5];acc=2;
-      }else{
-        R[5]=128*182+258;
-        if(R[3]==R[5]){
-          R[6]=G(R[2],2);
-          R[7]=G(R[1],2);
-          R[8]=G(R[1],3);
-          R[9]=G(R[1],4);
-          R[10]=G(R[1],5);
-          R[11]=G(R[1],6);
-          R[12]=G(R[1],7);
-          R[13]=G(R[1],9);
-          R[14]=G(R[1],10);
-          R[15]=G(R[1],11);
-          *fp=make_header(12,TCLOS);fp[1]=G(R[2],4);fp[11]=R[15];fp[10]=R[14];fp[9]=R[13];fp[8]=R[4];fp[7]=R[12];fp[6]=R[11];fp[5]=R[10];fp[4]=R[9];fp[3]=R[8];fp[2]=R[7];R[3]=(word)fp;fp+=12;
-          R[4]=R[7];
-          ob=(word*)R[6];acc=2;
-        }else{
-          R[6]=G(R[2],5);
-          R[7]=G(R[1],2);
-          R[8]=G(R[1],3);
-          R[9]=G(R[1],4);
-          R[10]=G(R[1],5);
-          R[11]=G(R[1],6);
-          R[12]=G(R[1],7);
-          R[13]=G(R[1],9);
-          R[14]=G(R[1],10);
-          R[15]=G(R[1],11);
-          *fp=make_header(12,TCLOS);fp[1]=G(R[2],6);fp[11]=R[15];fp[10]=R[14];fp[9]=R[13];fp[8]=R[4];fp[7]=R[12];fp[6]=R[11];fp[5]=R[10];fp[4]=R[9];fp[3]=R[8];fp[2]=R[7];R[16]=(word)fp;fp+=12;
-          R[4]=R[3];R[3]=R[16];
-          ob=(word*)R[6];acc=2;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 79:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],6);
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],11);
-        R[8]=G(R[1],2);
-        R[9]=G(R[1],10);
-        R[10]=G(R[1],4);
-        *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=8;
-        R[12]=G(R[1],3);
-        R[5]=G(R[1],7);
-        R[8]=R[4];R[4]=R[12];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],6);
-        R[10]=G(R[1],7);
-        R[11]=G(R[1],8);
-        R[12]=G(R[1],9);
-        R[13]=G(R[1],10);
-        R[14]=G(R[1],11);
-        *fp=make_header(12,TCLOS);fp[1]=G(R[2],5);fp[11]=R[14];fp[10]=R[13];fp[9]=R[12];fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=12;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 80:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      *fp=make_header(7,TPROC);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[10]=(word)fp;fp+=7;
-      R[11]=G(R[2],4);
-      R[6]=G(R[1],2);
-      R[9]=R[4];R[5]=R[3];
-      R[3]=R[10];R[4]=R[11];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 81:
-    if(acc==1){
-      if(R[3]==INULL){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        R[9]=G(R[1],7);
-        R[10]=G(R[1],8);
-        R[11]=G(R[1],9);
-        R[12]=G(R[1],10);
-        R[13]=G(R[1],11);
-        *fp=make_header(11,TCLOS);fp[1]=G(R[2],3);fp[10]=R[13];fp[9]=R[12];fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=11;
-        R[15]=G(R[1],2);
-        R[7]=R[4];R[4]=R[15];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],6);
-        R[10]=G(R[1],7);
-        R[11]=G(R[1],8);
-        R[12]=G(R[1],9);
-        R[13]=G(R[1],10);
-        R[14]=G(R[1],11);
-        *fp=make_header(12,TCLOS);fp[1]=G(R[2],5);fp[11]=R[14];fp[10]=R[13];fp[9]=R[12];fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=12;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 82:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],6);
-        R[10]=G(R[1],7);
-        R[11]=G(R[1],8);
-        R[12]=G(R[1],9);
-        R[13]=G(R[1],10);
-        R[14]=G(R[1],11);
-        *fp=make_header(12,TCLOS);fp[1]=G(R[2],3);fp[11]=R[14];fp[10]=R[13];fp[9]=R[12];fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=12;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],6);
-        R[10]=G(R[1],7);
-        R[11]=G(R[1],8);
-        R[12]=G(R[1],9);
-        R[13]=G(R[1],10);
-        R[14]=G(R[1],11);
-        *fp=make_header(12,TCLOS);fp[1]=G(R[2],5);fp[11]=R[14];fp[10]=R[13];fp[9]=R[12];fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=12;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 83:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      R[11]=G(R[1],9);
-      R[12]=G(R[1],10);
-      R[13]=G(R[1],11);
-      *fp=make_header(12,TCLOS);fp[1]=G(R[2],3);fp[11]=R[13];fp[10]=R[12];fp[9]=R[11];fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=12;
-      R[15]=128*182+258;
-      R[5]=G(R[1],2);
-      R[8]=R[4];R[4]=R[15];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 84:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      R[11]=G(R[1],9);
-      R[12]=G(R[1],10);
-      R[13]=G(R[1],11);
-      *fp=make_header(11,TPROC);fp[1]=G(R[2],3);fp[10]=R[13];fp[9]=R[12];fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[14]=(word)fp;fp+=11;
-      R[15]=G(R[1],2);
-      R[8]=R[4];R[5]=R[3];
-      R[3]=R[14];R[4]=R[15];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 85:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      R[11]=G(R[1],9);
-      R[12]=G(R[1],10);
-      R[13]=G(R[1],11);
-      *fp=make_header(12,TCLOS);fp[1]=G(R[2],3);fp[11]=R[13];fp[10]=R[12];fp[9]=R[3];fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=12;
-      R[15]=G(R[1],2);
-      R[7]=R[4];R[4]=R[15];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 86:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      R[11]=G(R[1],9);
-      R[12]=G(R[1],10);
-      R[13]=G(R[1],11);
-      *fp=make_header(11,TPROC);fp[1]=G(R[2],3);fp[10]=R[13];fp[9]=R[12];fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[14]=(word)fp;fp+=11;
-      R[5]=G(R[1],2);
-      R[8]=R[4];
-      R[4]=R[3];R[3]=R[14];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 87:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      R[11]=G(R[1],9);
-      R[12]=G(R[1],10);
-      *fp=make_header(11,TPROC);fp[1]=G(R[2],3);fp[10]=R[12];fp[9]=R[11];fp[8]=R[3];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=11;
-      R[14]=128*182+258;
-      R[5]=G(R[1],2);
-      R[8]=R[4];R[4]=R[14];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 88:
-    if(acc==1){
-      R[4]=G(R[1],10);
-      R[5]=G(R[1],9);
-      R[6]=G(R[1],8);
-      R[7]=G(R[1],7);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],4);
-      R[11]=G(R[1],3);
-      R[12]=G(R[1],2);
-      R[15]=R[6];R[16]=R[5];
-      R[5]=R[7];R[7]=R[3];
-      R[6]=R[8];R[8]=R[9];
-      R[9]=R[10];R[10]=R[4];
-      R[4]=R[15];R[3]=R[16];
-      ob=(word*)R[10];acc=10;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 89:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      R[11]=G(R[1],9);
-      R[12]=G(R[1],10);
-      *fp=make_header(11,TCLOS);fp[1]=G(R[2],3);fp[10]=R[12];fp[9]=R[11];fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[3];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=11;
-      R[14]=G(R[1],2);
-      R[7]=R[4];R[4]=R[14];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 90:
-    if(acc==1){
-      R[4]=G(R[2],5);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      *fp=make_header(5,2);fp[1]=R[4];fp[2]=R[5];fp[3]=R[3];fp[4]=R[6];R[7]=(word)fp;fp+=5;
-      R[8]=G(R[1],5);
-      if(R[8]==INULL){
-        R[9]=G(R[2],2);
-        R[10]=G(R[1],6);
-        R[11]=G(R[1],7);
-        R[12]=G(R[1],8);
-        R[13]=G(R[1],9);
-        R[14]=G(R[1],10);
-        *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[14];fp[6]=R[13];fp[5]=R[12];fp[4]=R[11];fp[3]=R[7];fp[2]=R[10];R[3]=(word)fp;fp+=8;
-        R[4]=G(R[1],4);
-        ob=(word*)R[9];acc=2;
-      }else{
-        R[9]=G(R[2],2);
-        R[10]=G(R[1],6);
-        R[11]=G(R[1],7);
-        R[12]=G(R[1],8);
-        R[13]=G(R[1],9);
-        R[14]=G(R[1],10);
-        *fp=make_header(9,TCLOS);fp[1]=G(R[2],4);fp[8]=R[14];fp[7]=R[13];fp[6]=R[12];fp[5]=R[11];fp[4]=R[7];fp[3]=R[10];fp[2]=R[8];R[3]=(word)fp;fp+=9;
-        R[4]=G(R[1],4);
-        ob=(word*)R[9];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 91:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[10];fp[7]=R[9];fp[6]=R[3];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=9;
-      R[12]=G(R[1],2);
-      R[7]=R[4];R[4]=R[12];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 92:
-    if(acc==1){
-      R[4]=G(R[2],4);
-      *fp=make_header(3,2);fp[1]=R[4];fp[2]=R[3];R[5]=(word)fp;fp+=3;
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      R[11]=G(R[1],7);
-      R[12]=G(R[1],8);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[12];fp[6]=R[11];fp[5]=R[10];fp[4]=R[9];fp[3]=R[8];fp[2]=R[7];R[3]=(word)fp;fp+=8;
-      R[14]=G(R[1],2);
-      R[4]=R[5];R[5]=R[14];
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 93:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      R[8]=G(R[1],7);
-      *fp=make_header(7,TPROC);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[10]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[8]=R[4];R[4]=R[10];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 94:
-    if(acc==1){
-      R[4]=G(R[1],6);
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],4);
-      R[7]=INULL;
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],2);
-      R[12]=R[5];R[5]=R[7];
-      R[7]=R[8];R[8]=R[9];
-      R[9]=R[4];R[4]=R[6];
-      R[6]=R[3];R[3]=R[12];
-      ob=(word*)R[9];acc=7;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 95:
-    if(acc==4){
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],2);
-      R[12]=R[8];R[8]=R[9];
-      R[9]=R[7];R[7]=R[12];
-      ob=(word*)R[9];acc=7;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 96:
-    if(acc==4){
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],2);
-      R[12]=R[8];
-      R[8]=R[7];R[7]=R[12];
-      ob=(word*)R[8];acc=7;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 97:
-    if(acc==7){
-      R[10]=G(R[1],4);
-      R[11]=G(R[1],3);
-      R[12]=G(R[1],2);
-      ob=(word*)R[10];acc=10;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 98:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-      R[4]=R[5];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 99:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[6]=128*10+258;
-      R[9]=R[6];
-      R[6]=R[5];R[5]=R[9];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 100:
-    if(acc==4){
-      if(R[4]==INULL){
-        R[7]=ITRUE;
-        ob=(word*)R[3];R[3]=R[7];acc=1;
-      }else{
-        if(R[5]==F(0)){
-          R[7]=ITRUE;
-          ob=(word*)R[3];R[3]=R[7];acc=1;
-        }else{
-          R[7]=G(R[1],2);
-          *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[6];fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-          ob=(word*)R[7];acc=2;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 101:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],4);
-        R[3]=IFALSE;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[9]=G(R[1],2);
-        R[7]=R[4];R[4]=R[9];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 102:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[4];fp[2]=R[3];R[6]=(word)fp;fp+=4;
-      R[7]=128*16+258;
-      R[8]=R[5];
-      R[3]=R[6];R[5]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 103:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        R[5]=128*250+258;
-        R[9]=R[4];R[4]=R[6];
-        ob=(word*)R[9];acc=3;
-      }else{
-        R[4]=G(R[1],2);
-        R[3]=IFALSE;
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 104:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        R[5]=128*60+258;
-        R[9]=R[4];R[4]=R[6];
-        ob=(word*)R[9];acc=3;
-      }else{
-        R[4]=G(R[1],2);
-        R[3]=IFALSE;
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 105:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],3);
-        R[5]=128*16+258;
-        if(R[4]==R[5]){
-          R[6]=G(R[1],2);
-          R[3]=ITRUE;
-          ob=(word*)R[6];acc=1;
-        }else{
-          R[6]=128*18+258;
-          if(R[4]==R[6]){
-            R[7]=G(R[1],2);
-            R[3]=ITRUE;
-            ob=(word*)R[7];acc=1;
-          }else{
-            R[7]=128*24+258;
-            if(R[4]==R[7]){
-              R[8]=G(R[1],2);
-              R[3]=ITRUE;
-              ob=(word*)R[8];acc=1;
-            }else{
-              R[8]=G(R[1],2);
-              R[3]=IFALSE;
-              ob=(word*)R[8];acc=1;
-            }
-          }
-        }
-      }else{
-        R[4]=G(R[1],2);
-        R[3]=ITRUE;
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 106:
-    if(acc==2){
-      R[5]=128*76+258;
-      if(R[4]==R[5]){
-        ob=(word*)R[3];R[3]=R[5];acc=1;
-      }else{
-        R[6]=128*66+258;
-        if(R[4]==R[6]){
-          ob=(word*)R[3];R[3]=R[6];acc=1;
-        }else{
-          R[7]=IFALSE;
-          ob=(word*)R[3];R[3]=R[7];acc=1;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 107:
-    if(acc==3){
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],2);
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],4);
-      R[10]=G(R[1],5);
-      R[11]=G(R[1],6);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[4];fp[7]=R[5];fp[6]=R[11];fp[5]=R[10];fp[4]=R[9];fp[3]=R[8];fp[2]=R[7];R[12]=(word)fp;fp+=9;
-      R[5]=128*18+258;
-      R[4]=R[3];R[3]=R[12];
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 108:
-    if(acc==2){
-      R[5]=G(R[1],8);
-      if(R[5]==IFALSE){
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],6);
-        *fp=make_header(3,TPROC);fp[1]=G(R[2],2);fp[2]=R[7];R[8]=(word)fp;fp+=3;
-        R[5]=G(R[1],3);
-        R[10]=G(R[1],4);
-        R[7]=128*1+258;
-        R[12]=R[6];R[4]=R[3];
-        R[3]=R[8];R[6]=R[10];
-        ob=(word*)R[12];acc=5;
-      }else{
-        R[6]=G(R[2],3);
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],4);
-        R[9]=G(R[1],5);
-        R[10]=G(R[1],6);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],4);fp[6]=R[10];fp[5]=R[9];fp[4]=R[3];fp[3]=R[8];fp[2]=R[7];R[3]=(word)fp;fp+=7;
-        R[12]=G(R[1],2);
-        R[13]=G(R[1],7);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],5);fp[4]=R[5];fp[3]=R[13];fp[2]=R[4];R[14]=(word)fp;fp+=5;
-        R[9]=R[6];R[4]=R[12];
-        R[5]=R[13];R[6]=R[14];
-        ob=(word*)R[9];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 109:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[3];fp[2]=R[4];R[6]=(word)fp;fp+=4;
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],2);
-      R[10]=R[5];
-      R[3]=R[6];R[4]=R[7];
-      R[5]=R[8];R[6]=R[9];
-      ob=(word*)R[10];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 110:
-    if(acc==4){
-      if(R[5]==INULL){
-        R[5]=IFALSE;
-        R[8]=R[3];
-        R[3]=R[4];R[4]=R[5];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[7]=G(R[1],2);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[3];fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-        R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 111:
-    if(acc==2){
-      if(R[4]==IFALSE){
-        R[5]=G(R[2],2);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],3);
-        *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[3];R[3]=(word)fp;fp+=5;
-        R[4]=G(R[1],2);
-        ob=(word*)R[5];acc=2;
-      }else{
-        R[5]=G(R[2],4);
-        R[6]=G(R[1],4);
-        *fp=make_header(5,TPROC);fp[1]=G(R[2],5);fp[4]=R[6];fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-        R[4]=G(R[1],2);
-        ob=(word*)R[5];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 112:
-    if(acc==1){
-      if(R[3]==INULL){
-        R[4]=G(R[1],3);
-        R[5]=G(R[1],2);
-        R[6]=IFALSE;
-        R[7]=R[4];
-        R[3]=R[5];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],2);
-        R[8]=R[4];
-        R[9]=R[5];R[5]=R[3];
-        R[4]=R[6];R[3]=R[9];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 113:
-    if(acc==5){
-      R[8]=G(R[1],2);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[1],3);fp[6]=R[7];fp[5]=R[4];fp[4]=R[5];fp[3]=R[6];fp[2]=R[3];R[3]=(word)fp;fp+=7;
-      R[5]=128*2+258;
-      R[4]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 114:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],3);
-        R[9]=G(R[1],6);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[9];fp[4]=R[6];fp[3]=R[7];fp[2]=R[8];R[10]=(word)fp;fp+=6;
-        R[9]=R[4];
-        R[3]=R[5];R[4]=R[6];
-        R[5]=R[7];R[6]=R[10];
-        ob=(word*)R[9];acc=4;
-      }else{
-        R[4]=G(R[1],2);
-        R[3]=G(R[1],5);
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 115:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[3];fp[5]=R[4];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=7;
-      R[4]=G(R[1],2);
-      R[11]=128*0+258;
-      R[8]=R[5];R[5]=R[11];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 116:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[11]=(word)fp;fp+=9;
-      R[5]=128*2+258;
-      R[8]=R[4];
-      R[4]=R[3];R[3]=R[11];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 117:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[3];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=9;
-      R[12]=G(R[1],2);
-      R[7]=R[4];R[4]=R[12];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 118:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      R[11]=G(R[1],8);
-      *fp=make_header(10,TCLOS);fp[1]=G(R[2],3);fp[9]=R[11];fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[12]=(word)fp;fp+=10;
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],4);fp[2]=R[3];R[5]=(word)fp;fp+=3;
-      R[8]=R[4];
-      R[4]=R[11];R[3]=R[12];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 119:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=9;
-      R[12]=G(R[1],2);
-      R[13]=G(R[1],9);
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],4);fp[2]=R[13];R[5]=(word)fp;fp+=3;
-      R[8]=R[4];R[4]=R[12];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 120:
-    if(acc==5){
-      R[8]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[7];fp[4]=R[4];fp[3]=R[5];fp[2]=R[6];R[4]=(word)fp;fp+=6;
-      ob=(word*)R[8];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 121:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],4);fp[6]=R[8];fp[5]=R[4];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=7;
-      R[10]=G(R[2],2);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[8];fp[6]=R[3];fp[5]=R[5];fp[4]=R[6];fp[3]=R[7];fp[2]=R[9];R[3]=(word)fp;fp+=8;
-      R[4]=R[6];
-      ob=(word*)R[10];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 122:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      R[11]=G(R[1],8);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=9;
-      R[13]=128*2+258;
-      R[8]=R[4];
-      R[4]=R[5];R[5]=R[13];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 123:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],6);
-        R[8]=G(R[1],7);
-        R[9]=G(R[1],8);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-        R[11]=G(R[1],3);
-        R[5]=G(R[1],2);
-        R[6]=128*2+258;
-        R[9]=R[4];R[4]=R[11];
-        ob=(word*)R[9];acc=4;
-      }else{
-        R[4]=G(R[1],7);
-        R[5]=G(R[1],8);
-        *fp=make_header(3,TPROC);fp[1]=G(R[2],4);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],6);
-        R[10]=128*1+258;
-        R[11]=R[4];R[3]=R[6];
-        R[4]=R[7];R[5]=R[8];
-        R[6]=R[9];R[7]=R[10];
-        ob=(word*)R[11];acc=5;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 124:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[10];fp[5]=R[9];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[11]=(word)fp;fp+=7;
-      R[8]=R[5];R[5]=R[4];
-      R[4]=R[3];R[3]=R[11];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 125:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[10];fp[7]=R[9];fp[6]=R[3];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=9;
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 126:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      R[8]=G(R[1],7);
-      R[9]=G(R[1],8);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[10]=(word)fp;fp+=7;
-      R[11]=G(R[1],3);
-      R[5]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],4);fp[2]=R[3];R[6]=(word)fp;fp+=3;
-      R[9]=R[4];
-      R[3]=R[10];R[4]=R[11];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 127:
-    if(acc==5){
-      R[8]=G(R[2],2);
-      R[9]=G(R[1],2);
-      R[10]=G(R[1],3);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[7];fp[6]=R[4];fp[5]=R[5];fp[4]=R[6];fp[3]=R[10];fp[2]=R[9];R[4]=(word)fp;fp+=8;
-      ob=(word*)R[8];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 128:
-    if(acc==2){
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      R[8]=G(R[1],7);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],4);fp[6]=R[8];fp[5]=R[4];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=7;
-      R[10]=G(R[2],2);
-      R[11]=G(R[1],3);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[8];fp[6]=R[3];fp[5]=R[6];fp[4]=R[11];fp[3]=R[7];fp[2]=R[9];R[3]=(word)fp;fp+=8;
-      R[13]=G(R[1],2);
-      R[4]=R[5];R[5]=R[13];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 129:
-    if(acc==1){
-      R[4]=G(R[1],5);
-      R[5]=G(R[1],6);
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],2);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],2);
-      R[10]=128*1+258;
-      R[11]=R[4];R[4]=R[6];
-      R[5]=R[7];R[6]=R[8];
-      R[7]=R[9];R[8]=R[10];
-      ob=(word*)R[11];acc=6;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 130:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[10];fp[7]=R[9];fp[6]=R[3];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=9;
-      R[7]=R[4];R[4]=R[8];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 131:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[10]=(word)fp;fp+=8;
-      R[11]=G(R[1],2);
-      R[8]=R[4];R[5]=R[3];
-      R[3]=R[10];R[4]=R[11];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 132:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[3];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=7;
-      R[11]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[9]=R[5];
-      R[5]=R[4];R[4]=R[11];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 133:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[10]=(word)fp;fp+=7;
-      R[5]=INULL;
-      R[8]=R[4];
-      R[4]=R[3];R[3]=R[10];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 134:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],5);
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],2);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[9]=128*0+258;
-      R[10]=R[4];R[5]=R[3];
-      R[3]=R[6];R[4]=R[7];
-      R[6]=R[8];R[7]=R[9];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 135:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],3);
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[4]=G(R[2],3);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],4);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 136:
-    if(acc==1){
-      R[4]=G(R[1],5);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      *fp=make_header(5,TPROC);fp[1]=G(R[2],2);fp[4]=R[4];fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=5;
-      R[5]=G(R[1],2);
-      R[6]=R[4];
-      R[4]=R[3];R[3]=R[7];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 137:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],3);
-        R[7]=INULL;
-        R[9]=R[6];
-        R[6]=R[4];R[3]=R[5];
-        R[5]=R[7];R[4]=R[9];
-        ob=(word*)R[6];acc=4;
-      }else{
-        R[4]=G(R[1],2);
-        R[3]=G(R[1],4);
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 138:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=6;
-      R[10]=G(R[2],4);
-      R[6]=IFALSE;
-      R[12]=R[4];R[5]=R[3];
-      R[3]=R[9];R[4]=R[10];
-      ob=(word*)R[12];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 139:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],5);fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 140:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=6;
-      R[5]=G(R[1],2);
-      R[6]=INULL;
-      R[12]=R[4];
-      R[4]=R[3];R[3]=R[9];
-      ob=(word*)R[12];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 141:
-    if(acc==2){
-      if(R[4]==IFALSE){
-        R[5]=G(R[2],2);
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],4);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[3];R[3]=(word)fp;fp+=5;
-        R[4]=G(R[1],3);
-        ob=(word*)R[5];acc=2;
-      }else{
-        R[5]=G(R[2],4);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],5);fp[5]=R[8];fp[4]=R[7];fp[3]=R[4];fp[2]=R[6];R[9]=(word)fp;fp+=6;
-        R[4]=G(R[1],2);
-        R[8]=R[5];
-        R[5]=R[3];R[3]=R[9];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 142:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],5);
-        R[3]=G(R[1],2);
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 143:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],5);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[5]=G(R[1],2);
-        R[11]=IFALSE;
-        R[12]=R[4];
-        R[4]=R[6];R[6]=R[11];
-        ob=(word*)R[12];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 144:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],4);fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=7;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 145:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],5);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],2);fp[5]=R[7];fp[4]=R[4];fp[3]=R[6];fp[2]=R[5];R[8]=(word)fp;fp+=6;
-      R[5]=R[6];R[6]=R[4];
-      R[4]=R[3];R[3]=R[8];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 146:
-    if(acc==5){
-      R[8]=G(R[1],2);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[1],3);fp[6]=R[3];fp[5]=R[7];fp[4]=R[5];fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=7;
-      ob=(word*)R[8];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 147:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],6);
-        R[3]=G(R[1],2);
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],6);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 148:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      if(R[3]==R[4]){
-        R[5]=G(R[1],3);
-        R[3]=G(R[1],6);
-        R[4]=G(R[1],2);
-        ob=(word*)R[5];acc=2;
-      }else{
-        R[5]=G(R[2],2);
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],6);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[4];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=7;
-        R[4]=R[6];
-        ob=(word*)R[5];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 149:
-    if(acc==1){
-      R[4]=G(R[1],5);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],6);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],2);fp[6]=R[8];fp[5]=R[4];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=7;
-      R[5]=R[7];R[7]=R[4];
-      R[4]=R[3];R[3]=R[9];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 150:
-    if(acc==1){
-      if(R[3]==INULL){
-        R[4]=G(R[1],3);
-        R[5]=G(R[1],2);
-        R[6]=IFALSE;
-        R[7]=R[4];
-        R[3]=R[5];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[7]=(word)fp;fp+=5;
-        R[8]=R[4];
-        R[4]=R[3];R[3]=R[7];
-        ob=(word*)R[8];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 151:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],6);
-        *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[9]=G(R[1],2);
-        R[7]=R[4];R[4]=R[9];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],4);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[10]=G(R[1],2);
-        R[7]=R[4];R[4]=R[10];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 152:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[9]=G(R[1],2);
-      R[10]=R[4];
-      R[4]=R[5];R[5]=R[9];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 153:
-    if(acc==4){
-      if(R[4]==INULL){
-        ob=(word*)R[3];R[3]=R[5];acc=1;
-      }else{
-        R[7]=G(R[1],2);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[6];fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 154:
-    if(acc==5){
-      if(R[4]==INULL){
-        R[8]=G(R[1],2);
-        *fp=make_header(3,TPROC);fp[1]=G(R[1],3);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-        R[4]=R[6];
-        ob=(word*)R[8];acc=2;
-      }else{
-        {word*ob=(word*)R[4];hval hdr;assert(allocp(R[4]),R[4],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[8]=ob[1];R[9]=ob[2];}
-        if(R[8]==R[5]){
-          R[10]=G(R[1],4);
-          *fp=make_header(4,TCLOS);fp[1]=G(R[1],5);fp[3]=R[3];fp[2]=R[9];R[3]=(word)fp;fp+=4;
-          R[4]=R[5];R[5]=R[6];
-          ob=(word*)R[10];acc=3;
-        }else{
-          R[10]=G(R[1],6);
-          *fp=make_header(8,TCLOS);fp[1]=G(R[1],7);fp[7]=R[7];fp[6]=R[3];fp[5]=R[5];fp[4]=R[6];fp[3]=R[8];fp[2]=R[9];R[3]=(word)fp;fp+=8;
-          R[4]=G(R[1],8);
-          R[6]=IFALSE;
-          R[5]=R[8];
-          ob=(word*)R[10];acc=4;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 155:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],5);
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],6);
-        R[8]=G(R[1],7);
-        *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[10]=G(R[1],3);
-        R[5]=G(R[1],4);
-        R[8]=R[4];R[4]=R[10];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[4]=G(R[1],7);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],4);fp[6]=R[4];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=7;
-        R[10]=G(R[1],2);
-        R[6]=INULL;
-        R[5]=R[3];R[7]=R[4];
-        R[3]=R[9];R[4]=R[10];
-        ob=(word*)R[7];acc=5;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 156:
-    if(acc==2){
-      if(R[4]==IFALSE){
-        R[5]=G(R[2],2);
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],5);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[3];R[3]=(word)fp;fp+=5;
-        R[4]=G(R[1],3);
-        ob=(word*)R[5];acc=2;
-      }else{
-        R[5]=G(R[2],4);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],6);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],5);fp[6]=R[9];fp[5]=R[8];fp[4]=R[4];fp[3]=R[7];fp[2]=R[6];R[10]=(word)fp;fp+=7;
-        R[4]=G(R[1],2);
-        R[8]=R[5];
-        R[5]=R[3];R[3]=R[10];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 157:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[10];fp[6]=R[9];fp[5]=R[4];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[11]=(word)fp;fp+=8;
-      R[12]=G(R[2],4);
-      R[8]=R[5];R[4]=R[3];
-      R[3]=R[11];R[5]=R[12];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 158:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-      R[5]=128*124+258;
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 159:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      if(R[4]==R[3]){
-        R[5]=G(R[2],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=4;
-        R[9]=128*254+258;
-        R[10]=R[5];R[5]=R[9];
-        ob=(word*)R[10];acc=3;
-      }else{
-        R[5]=G(R[2],4);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],3);
-        R[8]=R[5];
-        R[3]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 160:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=128*382+258;
-      R[8]=R[4];
-      R[9]=R[5];R[5]=R[3];
-      R[4]=R[6];R[3]=R[9];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 161:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],2);fp[5]=R[7];fp[4]=R[5];fp[3]=R[4];fp[2]=R[6];R[8]=(word)fp;fp+=6;
-      ob=(word*)R[3];R[3]=R[8];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 162:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      R[9]=G(R[1],3);
-      R[10]=G(R[1],4);
-      R[11]=G(R[1],5);
-      *fp=make_header(10,TCLOS);fp[1]=G(R[2],3);fp[9]=R[3];fp[8]=R[6];fp[7]=R[11];fp[6]=R[5];fp[5]=R[10];fp[4]=R[4];fp[3]=R[9];fp[2]=R[8];R[3]=(word)fp;fp+=10;
-      R[4]=R[5];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 163:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],5);
-        R[5]=G(R[1],8);
-        R[6]=G(R[1],6);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],9);
-        *fp=make_header(6,TPROC);fp[1]=G(R[2],2);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[10]=G(R[1],3);
-        R[5]=R[4];R[4]=R[10];
-        ob=(word*)R[5];acc=3;
-      }else{
-        R[4]=G(R[1],2);
-        R[5]=G(R[1],5);
-        R[6]=G(R[1],6);
-        R[7]=G(R[1],7);
-        R[8]=G(R[1],8);
-        R[9]=G(R[1],9);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[10]=(word)fp;fp+=7;
-        R[11]=G(R[1],4);
-        R[5]=G(R[1],3);
-        R[9]=R[4];R[6]=R[3];
-        R[3]=R[10];R[4]=R[11];
-        ob=(word*)R[9];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 164:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],2);fp[7]=R[10];fp[6]=R[3];fp[5]=R[9];fp[4]=R[8];fp[3]=R[7];fp[2]=R[5];R[3]=(word)fp;fp+=8;
-      R[5]=R[6];
-      ob=(word*)R[5];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 165:
-    if(acc==5){
-      R[8]=G(R[2],2);
-      R[9]=G(R[1],2);
-      R[10]=G(R[1],3);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[7];fp[7]=R[3];fp[6]=R[6];fp[5]=R[10];fp[4]=R[5];fp[3]=R[4];fp[2]=R[9];R[3]=(word)fp;fp+=9;
-      R[4]=R[5];
-      ob=(word*)R[8];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 166:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],7);
-        R[5]=G(R[1],8);
-        *fp=make_header(3,TPROC);fp[1]=G(R[2],2);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],4);
-        R[9]=G(R[1],6);
-        R[10]=128*1+258;
-        R[11]=R[4];R[3]=R[6];
-        R[4]=R[7];R[5]=R[8];
-        R[6]=R[9];R[7]=R[10];
-        ob=(word*)R[11];acc=5;
-      }else{
-        R[4]=G(R[1],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],6);
-        R[8]=G(R[1],7);
-        R[9]=G(R[1],8);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[10]=(word)fp;fp+=7;
-        R[11]=G(R[1],3);
-        R[8]=R[4];R[5]=R[3];
-        R[3]=R[10];R[4]=R[11];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 167:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=6;
-      R[9]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[11]=R[4];R[4]=R[9];
-      ob=(word*)R[11];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 168:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],5);
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],2);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[9]=128*0+258;
-      R[10]=R[4];
-      R[11]=R[6];R[6]=R[3];
-      R[4]=R[7];R[5]=R[8];
-      R[7]=R[9];R[3]=R[11];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 169:
-    if(acc==1){
-      if(R[3]==INULL){
-        R[4]=G(R[1],2);
-        R[3]=IFALSE;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[5];fp[2]=R[3];R[6]=(word)fp;fp+=4;
-        R[7]=R[4];
-        R[4]=R[3];R[3]=R[6];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 170:
-    if(acc==5){
-      if(R[4]==INULL){
-        if(R[5]==INULL){
-          R[8]=G(R[1],2);
-          R[4]=R[6];
-          ob=(word*)R[8];acc=2;
-        }else{
-          R[8]=G(R[1],2);
-          *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[6];R[3]=(word)fp;fp+=4;
-          R[4]=R[5];
-          ob=(word*)R[8];acc=2;
-        }
-      }else{
-        {word*ob=(word*)R[4];hval hdr;assert(allocp(R[4]),R[4],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[8]=ob[1];R[9]=ob[2];}
-        R[10]=128*18+258;
-        if(R[8]==R[10]){
-          R[11]=G(R[1],4);
-          *fp=make_header(6,TCLOS);fp[1]=G(R[1],5);fp[5]=R[7];fp[4]=R[3];fp[3]=R[9];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-          R[4]=R[10];
-          ob=(word*)R[11];acc=3;
-        }else{
-          R[11]=G(R[1],4);
-          *fp=make_header(6,TPROC);fp[1]=G(R[1],6);fp[5]=R[7];fp[4]=R[3];fp[3]=R[9];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-          R[4]=R[8];
-          ob=(word*)R[11];acc=3;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 171:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[6]=INULL;
-      R[7]=R[4];R[4]=R[3];
-      R[3]=R[5];R[5]=R[6];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 172:
-    if(acc==2){
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],5);fp[6]=R[7];fp[5]=R[6];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[8]=(word)fp;fp+=7;
-      R[9]=G(R[1],2);
-      if(R[9]==INULL){
-        R[10]=G(R[2],2);
-        R[4]=G(R[1],3);
-        R[3]=R[8];
-        ob=(word*)R[10];acc=2;
-      }else{
-        R[10]=G(R[2],3);
-        R[11]=G(R[1],3);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],4);fp[3]=R[8];fp[2]=R[11];R[3]=(word)fp;fp+=4;
-        R[4]=R[9];
-        ob=(word*)R[10];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 173:
-    if(acc==5){
-      R[8]=G(R[1],2);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[1],3);fp[6]=R[7];fp[5]=R[5];fp[4]=R[3];fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=7;
-      R[4]=R[5];
-      ob=(word*)R[8];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 174:
-    if(acc==1){
-      if(immediatep(R[3])){R[4]=IFALSE;}else{hval h=V(R[3]);R[4]=rawp(h)?F(payl_len(h)):IFALSE;}      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[4];fp[2]=R[6];R[3]=(word)fp;fp+=8;
-      R[12]=128*2+258;
-      R[8]=R[5];R[5]=R[12];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 175:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],7);
-        R[10]=G(R[1],6);
-        *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=8;
-        R[5]=128*0+258;
-        R[8]=R[4];R[4]=R[6];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[4]=G(R[1],5);
-        R[5]=G(R[1],7);
-        *fp=make_header(3,TPROC);fp[1]=G(R[2],4);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-        R[7]=G(R[1],2);
-        R[8]=G(R[1],6);
-        R[9]=G(R[1],4);
-        R[10]=F(0);
-        R[11]=R[4];R[3]=R[6];
-        R[4]=R[7];R[5]=R[8];
-        R[6]=R[9];R[7]=R[10];
-        ob=(word*)R[11];acc=5;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 176:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[10]=(word)fp;fp+=7;
-      R[11]=G(R[1],2);
-      R[5]=F(0);
-      R[9]=R[4];R[6]=R[3];
-      R[3]=R[10];R[4]=R[11];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 177:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[4];fp[3]=R[3];fp[2]=R[6];R[3]=(word)fp;fp+=9;
-      R[12]=128*0+258;
-      R[8]=R[5];R[5]=R[12];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 178:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      R[8]=G(R[1],7);
-      R[9]=G(R[1],8);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[10]=(word)fp;fp+=7;
-      R[11]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[9]=R[4];R[5]=R[3];
-      R[3]=R[10];R[4]=R[11];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 179:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=9;
-      R[4]=F(0);
-      R[13]=128*0+258;
-      R[9]=R[5];R[5]=R[13];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 180:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      R[11]=G(R[1],8);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[12]=(word)fp;fp+=9;
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],4);fp[2]=R[11];R[13]=(word)fp;fp+=3;
-      R[8]=R[4];R[5]=R[3];
-      R[3]=R[12];R[4]=R[13];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 181:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      R[11]=G(R[1],8);
-      *fp=make_header(10,TCLOS);fp[1]=G(R[2],3);fp[9]=R[11];fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[3];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=10;
-      R[7]=R[4];R[4]=R[11];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 182:
-    if(acc==1){
-      if(immediatep(R[3])){R[4]=IFALSE;}else{hval h=V(R[3]);R[4]=rawp(h)?F(payl_len(h)):IFALSE;}      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      R[11]=G(R[1],7);
-      R[12]=G(R[1],8);
-      R[13]=G(R[1],9);
-      *fp=make_header(10,TCLOS);fp[1]=G(R[2],3);fp[9]=R[13];fp[8]=R[12];fp[7]=R[11];fp[6]=R[10];fp[5]=R[9];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=10;
-      R[15]=128*0+258;
-      R[9]=R[5];
-      R[10]=R[6];R[6]=R[4];
-      R[4]=R[10];R[5]=R[15];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 183:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      R[11]=G(R[1],8);
-      R[12]=G(R[1],9);
-      *fp=make_header(10,TCLOS);fp[1]=G(R[2],3);fp[9]=R[12];fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[13]=(word)fp;fp+=10;
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],4);fp[2]=R[12];R[14]=(word)fp;fp+=3;
-      R[8]=R[4];R[5]=R[3];
-      R[3]=R[13];R[4]=R[14];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 184:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      R[8]=G(R[1],7);
-      R[9]=G(R[1],8);
-      R[10]=G(R[1],9);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=9;
-      R[12]=G(R[1],3);
-      R[5]=128*0+258;
-      R[6]=G(R[1],2);
-      R[9]=R[4];R[4]=R[12];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 185:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],8);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      R[11]=G(R[1],7);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[12]=(word)fp;fp+=9;
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],4);fp[2]=R[7];R[13]=(word)fp;fp+=3;
-      R[8]=R[4];R[5]=R[3];
-      R[3]=R[12];R[4]=R[13];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 186:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[3];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=9;
-      R[12]=G(R[1],2);
-      R[5]=128*18+258;
-      R[8]=R[4];R[4]=R[12];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 187:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      R[11]=G(R[1],7);
-      R[12]=G(R[1],8);
-      *fp=make_header(10,TCLOS);fp[1]=G(R[2],3);fp[9]=R[12];fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[3];R[3]=(word)fp;fp+=10;
-      R[14]=128*2+258;
-      R[8]=R[5];
-      R[5]=R[4];R[4]=R[14];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 188:
-    if(acc==2){
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      R[8]=G(R[1],7);
-      R[9]=G(R[1],8);
-      R[10]=G(R[1],9);
-      *fp=make_header(10,TCLOS);fp[1]=G(R[2],5);fp[9]=R[10];fp[8]=R[9];fp[7]=R[8];fp[6]=R[3];fp[5]=R[4];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[11]=(word)fp;fp+=10;
-      R[12]=G(R[1],2);
-      if(R[12]==INULL){
-        R[13]=G(R[2],2);
-        R[4]=G(R[1],3);
-        R[3]=R[11];
-        ob=(word*)R[13];acc=2;
-      }else{
-        R[13]=G(R[2],3);
-        R[14]=G(R[1],3);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],4);fp[3]=R[11];fp[2]=R[14];R[3]=(word)fp;fp+=4;
-        R[4]=R[12];
-        ob=(word*)R[13];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 189:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      R[11]=G(R[1],9);
-      *fp=make_header(10,TCLOS);fp[1]=G(R[2],3);fp[9]=R[11];fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=10;
-      R[13]=F(0);
-      R[5]=128*0+258;
-      R[6]=G(R[1],2);
-      R[9]=R[4];R[4]=R[13];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 190:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[11]=(word)fp;fp+=8;
-      R[12]=G(R[1],9);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],4);fp[2]=R[12];R[13]=(word)fp;fp+=3;
-      R[5]=G(R[1],2);
-      R[9]=R[4];R[6]=R[3];
-      R[3]=R[11];R[4]=R[13];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 191:
-    if(acc==3){
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],2);
-      R[5]=R[4];R[4]=R[7];
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 192:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      R[8]=G(R[1],7);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],4);fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[9]=(word)fp;fp+=7;
-      R[10]=G(R[1],2);
-      if(R[10]==INULL){
-        ob=(word*)R[9];acc=1;
-      }else{
-        R[11]=G(R[2],2);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[9];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-        R[4]=R[10];
-        ob=(word*)R[11];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 193:
-    if(acc==4){
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],2);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[1],3);fp[6]=R[3];fp[5]=R[4];fp[4]=R[5];fp[3]=R[6];fp[2]=R[7];R[3]=(word)fp;fp+=7;
-      R[4]=R[5];
-      ob=(word*)R[8];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 194:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      R[9]=G(R[1],3);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[3];fp[6]=R[6];fp[5]=R[5];fp[4]=R[9];fp[3]=R[8];fp[2]=R[4];R[3]=(word)fp;fp+=8;
-      R[4]=R[5];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 195:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      R[11]=G(R[1],7);
-      *fp=make_header(10,TCLOS);fp[1]=G(R[2],3);fp[9]=R[11];fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[4];fp[3]=R[6];fp[2]=R[3];R[3]=(word)fp;fp+=10;
-      R[4]=R[7];
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 196:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      R[11]=G(R[1],9);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[4];fp[2]=R[6];R[12]=(word)fp;fp+=9;
-      R[4]=G(R[1],3);
-      R[14]=G(R[1],2);
-      R[9]=R[5];R[6]=R[3];
-      R[3]=R[12];R[5]=R[14];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 197:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[10];fp[6]=R[9];fp[5]=R[4];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[11]=(word)fp;fp+=8;
-      R[12]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[9]=R[5];R[4]=R[3];
-      R[3]=R[11];R[5]=R[12];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 198:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      R[11]=G(R[1],7);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[4];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[12]=(word)fp;fp+=9;
-      R[13]=128*4+258;
-      R[8]=R[5];R[4]=R[3];
-      R[3]=R[12];R[5]=R[13];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 199:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      R[11]=G(R[1],7);
-      R[12]=G(R[1],8);
-      *fp=make_header(10,TCLOS);fp[1]=G(R[2],3);fp[9]=R[12];fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[4];fp[2]=R[6];R[13]=(word)fp;fp+=10;
-      R[4]=R[3];R[3]=R[13];
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 200:
-    if(acc==2){
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      R[8]=G(R[1],7);
-      R[9]=G(R[1],8);
-      R[10]=G(R[1],9);
-      *fp=make_header(10,TCLOS);fp[1]=G(R[2],3);fp[9]=R[10];fp[8]=R[3];fp[7]=R[4];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[11]=(word)fp;fp+=10;
-      R[12]=G(R[1],3);
-      if(R[12]==F(0)){
-        R[13]=G(R[2],2);
-        R[4]=R[6];R[3]=R[11];
-        ob=(word*)R[13];acc=2;
-      }else{
-        R[3]=G(R[1],2);
-        ob=(word*)R[11];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 201:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      R[11]=G(R[1],9);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],2);fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[12]=(word)fp;fp+=9;
-      R[5]=R[4];
-      R[4]=R[3];R[3]=R[12];
-      ob=(word*)R[5];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 202:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(7,TPROC);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[10]=G(R[1],2);
-      R[5]=G(R[2],4);
-      R[8]=R[4];R[4]=R[10];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 203:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],2);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=6;
-      R[5]=R[4];
-      R[4]=R[3];R[3]=R[9];
-      ob=(word*)R[5];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 204:
-    if(acc==5){
-      R[8]=G(R[1],2);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[1],3);fp[6]=R[7];fp[5]=R[3];fp[4]=R[6];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[4]=R[5];
-      ob=(word*)R[8];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 205:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[4];fp[4]=R[7];fp[3]=R[3];fp[2]=R[6];R[3]=(word)fp;fp+=9;
-      R[4]=R[6];
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 206:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      R[11]=G(R[1],7);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[4];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[12]=(word)fp;fp+=9;
-      R[4]=R[3];R[3]=R[12];
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 207:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[9];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[10]=(word)fp;fp+=6;
-      R[6]=G(R[1],2);
-      R[9]=R[5];R[5]=R[4];
-      R[4]=R[3];R[3]=R[10];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 208:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[3];fp[3]=R[4];fp[2]=R[6];R[3]=(word)fp;fp+=7;
-      R[4]=G(R[1],3);
-      R[11]=G(R[1],2);
-      R[8]=R[5];R[5]=R[11];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 209:
-    if(acc==5){
-      if(R[5]==INULL){
-        R[8]=G(R[1],2);
-        *fp=make_header(4,TPROC);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-        R[4]=R[6];
-        ob=(word*)R[8];acc=2;
-      }else{
-        R[8]=G(R[1],4);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[1],5);fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-        R[4]=R[5];
-        ob=(word*)R[8];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 210:
-    if(acc==1){
-      if(R[3]==INULL){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],4);
-        *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        R[8]=G(R[1],3);
-        R[9]=R[4];R[4]=R[8];
-        ob=(word*)R[9];acc=2;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],5);fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=7;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 211:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=6;
-      R[10]=G(R[1],2);
-      R[11]=R[4];
-      R[5]=R[3];R[6]=R[3];
-      R[3]=R[9];R[4]=R[10];
-      ob=(word*)R[11];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 212:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[4];fp[2]=R[6];R[10]=(word)fp;fp+=7;
-      R[4]=R[3];R[3]=R[10];
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 213:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[9];fp[6]=R[8];fp[5]=R[3];fp[4]=R[4];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=8;
-      R[4]=G(R[1],2);
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 214:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[3];fp[7]=R[10];fp[6]=R[9];fp[5]=R[4];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=9;
-      R[4]=R[7];
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 215:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],8);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[11]=(word)fp;fp+=8;
-      R[5]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],4);fp[2]=R[8];R[6]=(word)fp;fp+=3;
-      R[9]=R[4];
-      R[4]=R[3];R[3]=R[11];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 216:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[5];fp[2]=R[3];R[6]=(word)fp;fp+=4;
-      R[7]=G(R[1],2);
-      R[5]=128*2+258;
-      R[9]=128*38+258;
-      R[10]=R[4];R[3]=R[6];
-      R[4]=R[7];R[6]=R[9];
-      ob=(word*)R[10];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 217:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-      R[9]=R[5];
-      R[5]=R[4];R[4]=R[6];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 218:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],2);
-      R[8]=R[5];
-      R[3]=R[6];R[5]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 219:
-    if(acc==3){
-      R[6]=G(R[2],2);
-      R[4]=G(R[1],2);
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 220:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[10];fp[6]=R[9];fp[5]=R[4];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[11]=(word)fp;fp+=8;
-      R[4]=R[3];R[3]=R[11];
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 221:
-    if(acc==3){
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[3];fp[3]=R[7];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 222:
-    if(acc==5){
-      if(R[4]==F(0)){
-        ob=(word*)R[3];R[3]=R[6];acc=1;
-      }else{
-        R[8]=G(R[1],2);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[7];fp[4]=R[3];fp[3]=R[5];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-        R[5]=128*0+258;
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 223:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[9]=G(R[1],2);
-      R[10]=R[4];
-      R[4]=R[5];R[5]=R[9];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 224:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-      R[5]=128*2+258;
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 225:
-    if(acc==2){
-      if(R[4]==F(0)){
-        R[5]=G(R[2],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],2);
-        R[8]=R[5];R[4]=R[3];
-        R[3]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[5]=G(R[2],3);
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],4);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],4);fp[5]=R[8];fp[4]=R[7];fp[3]=R[3];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-        R[10]=G(R[2],5);
-        R[8]=R[5];
-        R[4]=R[6];R[5]=R[10];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 226:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[9]=G(R[1],2);
-        R[5]=128*0+258;
-        R[11]=R[4];R[4]=R[9];
-        ob=(word*)R[11];acc=3;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],2);
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 227:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[10];fp[6]=R[9];fp[5]=R[4];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[11]=(word)fp;fp+=8;
-      R[12]=128*510+258;
-      R[8]=R[5];R[4]=R[3];
-      R[3]=R[11];R[5]=R[12];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 228:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      R[11]=G(R[1],7);
-      *fp=make_header(10,TCLOS);fp[1]=G(R[2],3);fp[9]=R[4];fp[8]=R[11];fp[7]=R[10];fp[6]=R[3];fp[5]=R[9];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=10;
-      R[4]=R[7];
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 229:
-    if(acc==3){
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[3];fp[2]=R[7];R[3]=(word)fp;fp+=4;
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 230:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[4];R[10]=(word)fp;fp+=7;
-      R[11]=128*14+258;
-      R[8]=R[5];R[4]=R[3];
-      R[3]=R[10];R[5]=R[11];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 231:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[4];R[11]=(word)fp;fp+=8;
-      R[4]=R[3];R[3]=R[11];
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 232:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[10];fp[7]=R[9];fp[6]=R[3];fp[5]=R[4];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=9;
-      R[4]=128*0+258;
-      R[13]=G(R[1],2);
-      R[8]=R[5];R[5]=R[13];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 233:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      R[11]=G(R[1],8);
-      *fp=make_header(10,TCLOS);fp[1]=G(R[2],3);fp[9]=R[3];fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=10;
-      R[7]=R[4];R[4]=R[6];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 234:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[11]=(word)fp;fp+=8;
-      R[5]=G(R[1],2);
-      R[13]=G(R[1],9);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],4);fp[2]=R[13];R[6]=(word)fp;fp+=3;
-      R[9]=R[4];
-      R[4]=R[3];R[3]=R[11];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 235:
-    if(acc==3){
-      R[6]=G(R[2],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-      R[8]=G(R[1],2);
-      R[5]=R[4];R[4]=R[8];
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 236:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-      R[5]=F(0);
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 237:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],4);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[5];fp[2]=R[4];R[6]=(word)fp;fp+=4;
-      if(R[3]==IFALSE){
-        R[7]=G(R[2],2);
-        R[4]=G(R[1],2);
-        R[5]=128*0+258;
-        R[3]=R[6];
-        ob=(word*)R[7];acc=3;
-      }else{
-        R[3]=128*508+258;
-        ob=(word*)R[6];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 238:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[8]=128*508+258;
-      R[9]=R[4];R[5]=R[3];
-      R[3]=R[7];R[4]=R[8];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 239:
-    if(acc==1){
-      if(immediatep(R[3])){R[4]=IFALSE;}else{hval h=V(R[3]);R[4]=rawp(h)?F(payl_len(h)):IFALSE;}      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[9];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-      R[11]=G(R[1],2);
-      R[8]=R[5];
-      R[5]=R[4];R[4]=R[11];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 240:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[4];R[10]=(word)fp;fp+=7;
-      R[4]=R[3];R[3]=R[10];
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 241:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[10];fp[7]=R[9];fp[6]=R[3];fp[5]=R[4];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=9;
-      R[4]=R[7];
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 242:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[11]=(word)fp;fp+=8;
-      R[5]=G(R[1],2);
-      R[6]=G(R[2],4);
-      R[9]=R[4];
-      R[4]=R[3];R[3]=R[11];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 243:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=8;
-      R[11]=G(R[1],2);
-      R[7]=R[4];R[4]=R[11];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 244:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[10]=G(R[1],2);
-      R[5]=G(R[2],4);
-      R[8]=R[4];R[4]=R[10];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 245:
-    if(acc==1){
-      R[4]=G(R[1],5);
-      R[5]=G(R[1],6);
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],2);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],2);
-      R[10]=R[4];
-      R[11]=R[6];R[6]=R[3];
-      R[4]=R[7];R[5]=R[8];
-      R[7]=R[9];R[3]=R[11];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 246:
-    if(acc==5){
-      R[8]=G(R[1],2);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[1],3);fp[6]=R[7];fp[5]=R[3];fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=7;
-      R[4]=R[5];
-      ob=(word*)R[8];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 247:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=6;
-      R[10]=G(R[1],2);
-      R[6]=F(0);
-      R[12]=R[4];R[5]=R[3];
-      R[3]=R[9];R[4]=R[10];
-      ob=(word*)R[12];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 248:
-    if(acc==3){
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],2);
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],4);
-      R[10]=G(R[1],5);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[10];fp[7]=R[9];fp[6]=R[3];fp[5]=R[8];fp[4]=R[4];fp[3]=R[5];fp[2]=R[7];R[3]=(word)fp;fp+=9;
-      R[4]=R[5];
-      ob=(word*)R[6];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 249:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=9;
-      R[12]=G(R[1],2);
-      R[7]=R[4];R[4]=R[12];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 250:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      if(R[4]==F(0)){
-        R[5]=G(R[2],2);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],6);
-        R[8]=G(R[1],7);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[3];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-        R[4]=G(R[1],5);
-        R[11]=128*18+258;
-        R[8]=R[5];R[5]=R[11];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[5]=G(R[1],2);
-        if(R[5]==IFALSE){
-          R[6]=G(R[2],4);
-          R[7]=G(R[1],5);
-          R[8]=G(R[1],6);
-          R[9]=G(R[1],7);
-          *fp=make_header(6,TCLOS);fp[1]=G(R[2],5);fp[5]=R[9];fp[4]=R[8];fp[3]=R[7];fp[2]=R[3];R[3]=(word)fp;fp+=6;
-          R[4]=G(R[1],4);
-          R[5]=G(R[2],6);
-          ob=(word*)R[6];acc=3;
-        }else{
-          R[6]=G(R[2],4);
-          R[7]=G(R[1],5);
-          R[8]=G(R[1],6);
-          R[9]=G(R[1],7);
-          *fp=make_header(6,TCLOS);fp[1]=G(R[2],7);fp[5]=R[9];fp[4]=R[8];fp[3]=R[7];fp[2]=R[3];R[3]=(word)fp;fp+=6;
-          R[4]=G(R[1],4);
-          R[5]=G(R[2],6);
-          ob=(word*)R[6];acc=3;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 251:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],5);
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],2);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[9]=128*1+258;
-      R[10]=R[4];
-      R[11]=R[6];R[6]=R[3];
-      R[4]=R[7];R[5]=R[8];
-      R[7]=R[9];R[3]=R[11];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 252:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],5);
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],2);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[9]=128*2+258;
-      R[10]=R[4];
-      R[11]=R[6];R[6]=R[3];
-      R[4]=R[7];R[5]=R[8];
-      R[7]=R[9];R[3]=R[11];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 253:
-    if(acc==2){
-      if(R[4]==F(0)){
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],5);
-        *fp=make_header(3,TPROC);fp[1]=G(R[2],2);fp[2]=R[6];R[7]=(word)fp;fp+=3;
-        R[8]=G(R[1],3);
-        R[6]=G(R[1],2);
-        R[10]=128*1+258;
-        R[11]=R[5];
-        R[4]=R[3];R[3]=R[7];
-        R[5]=R[8];R[7]=R[10];
-        ob=(word*)R[11];acc=5;
-      }else{
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],5);
-        *fp=make_header(3,TPROC);fp[1]=G(R[2],3);fp[2]=R[6];R[7]=(word)fp;fp+=3;
-        R[8]=G(R[1],3);
-        R[6]=G(R[1],2);
-        R[10]=F(0);
-        R[11]=R[5];
-        R[4]=R[3];R[3]=R[7];
-        R[5]=R[8];R[7]=R[10];
-        ob=(word*)R[11];acc=5;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 254:
-    if(acc==5){
-      if(R[5]==INULL){
-        R[8]=G(R[1],2);
-        *fp=make_header(3,TPROC);fp[1]=G(R[1],3);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-        R[5]=R[6];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[8]=G(R[1],4);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[1],5);fp[6]=R[3];fp[5]=R[5];fp[4]=R[7];fp[3]=R[4];fp[2]=R[6];R[3]=(word)fp;fp+=7;
-        R[4]=R[5];
-        ob=(word*)R[8];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 255:
-    if(acc==2){
-      if(R[3]==IFALSE){
-        R[5]=G(R[2],2);
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],4);
-        R[4]=G(R[1],5);
-        R[10]=G(R[1],6);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[10];fp[5]=R[4];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=7;
-        ob=(word*)R[5];acc=2;
-      }else{
-        R[5]=G(R[2],4);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],6);
-        *fp=make_header(8,TCLOS);fp[1]=G(R[2],5);fp[7]=R[9];fp[6]=R[8];fp[5]=R[4];fp[4]=R[3];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=8;
-        R[4]=G(R[1],2);
-        R[12]=128*0+258;
-        R[8]=R[5];R[5]=R[12];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 256:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      R[8]=G(R[1],7);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],2);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=6;
-      R[10]=G(R[1],2);
-      R[5]=R[6];
-      R[6]=R[3];R[7]=R[4];
-      R[3]=R[9];R[4]=R[10];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 257:
-    if(acc==3){
-      if(R[4]==F(0)){
-        R[6]=G(R[2],2);
-        R[7]=G(R[1],5);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[7];fp[2]=R[5];R[8]=(word)fp;fp+=4;
-        R[5]=G(R[1],2);
-        R[4]=R[3];R[3]=R[8];
-        ob=(word*)R[6];acc=3;
-      }else{
-        R[6]=G(R[2],4);
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],4);
-        R[9]=G(R[1],5);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],5);fp[6]=R[9];fp[5]=R[3];fp[4]=R[8];fp[3]=R[7];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-        R[5]=128*0+258;
-        ob=(word*)R[6];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 258:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],6);
-      *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[7]=(word)fp;fp+=5;
-      R[8]=G(R[1],4);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[11]=R[4];
-      R[3]=R[7];R[4]=R[8];
-      ob=(word*)R[11];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 259:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[3];fp[3]=R[4];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-      R[9]=R[5];R[5]=R[6];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 260:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-      R[8]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[10]=R[4];R[4]=R[8];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 261:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[6]=128*1+258;
-      R[8]=R[4];
-      R[9]=R[5];R[5]=R[3];
-      R[4]=R[6];R[3]=R[9];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 262:
-    if(acc==3){
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],3);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[4]=G(R[1],2);
-      ob=(word*)R[6];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 263:
-    if(acc==5){
-      if(R[4]==INULL){
-        if(R[6]==F(0)){
-          R[8]=IFALSE;
-          R[4]=INULL;
-          R[7]=R[3];R[3]=R[8];
-          ob=(word*)R[7];acc=2;
-        }else{
-          R[4]=INULL;
-          R[7]=R[3];R[3]=R[5];
-          ob=(word*)R[7];acc=2;
-        }
-      }else{
-        R[8]=G(R[1],2);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[1],3);fp[6]=R[7];fp[5]=R[3];fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=7;
-        ob=(word*)R[8];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 264:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],4);
-        if(R[4]==F(0)){
-          R[5]=G(R[1],5);
-          R[3]=IFALSE;
-          R[4]=G(R[1],2);
-          ob=(word*)R[5];acc=2;
-        }else{
-          R[5]=G(R[1],5);
-          R[3]=G(R[1],3);
-          R[4]=G(R[1],2);
-          ob=(word*)R[5];acc=2;
-        }
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-        R[10]=G(R[1],2);
-        R[7]=R[4];R[4]=R[10];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 265:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[10]=G(R[1],2);
-      R[5]=128*18+258;
-      R[8]=R[4];R[4]=R[10];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 266:
-    if(acc==2){
-      R[5]=128*94+258;
-      R[6]=prim_less(R[4],R[5]);
-      if(R[6]==IFALSE){
-        R[7]=128*112+258;
-        R[8]=prim_less(R[7],R[4]);
-        if(R[8]==IFALSE){
-          R[9]=G(R[1],2);
-          ob=(word*)R[9];acc=3;
-        }else{
-          R[9]=IFALSE;
-          ob=(word*)R[3];R[3]=R[9];acc=1;
-        }
-      }else{
-        R[7]=IFALSE;
-        ob=(word*)R[3];R[3]=R[7];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 267:
-    if(acc==4){
-      if(immediatep(R[4])){R[7]=IFALSE;}else{hval h=V(R[4]);R[7]=rawp(h)?F(payl_len(h)):IFALSE;}      if(R[7]==F(0)){
-        ob=(word*)R[3];R[3]=R[4];acc=1;
-      }else{
-        *fp=make_header(5,TCLOS);fp[1]=G(R[1],4);fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[8]=(word)fp;fp+=5;
-        R[9]=G(R[1],2);
-        *fp=make_header(4,TPROC);fp[1]=G(R[1],3);fp[3]=R[8];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-        R[5]=128*0+258;
-        R[4]=R[7];
-        ob=(word*)R[9];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 268:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],4);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[6];fp[6]=R[3];fp[5]=R[5];fp[4]=R[9];fp[3]=R[4];fp[2]=R[8];R[3]=(word)fp;fp+=8;
-      R[11]=G(R[1],2);
-      R[5]=R[4];R[4]=R[11];
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 269:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],2);
-      if(R[4]==R[5]){
-        if(R[4]==F(0)){
-          R[6]=G(R[1],4);
-          R[7]=G(R[1],6);
-          *fp=make_header(3,TCLOS);fp[1]=G(R[2],2);fp[2]=R[7];R[8]=(word)fp;fp+=3;
-          R[5]=G(R[1],5);
-          R[4]=R[3];R[3]=R[8];
-          ob=(word*)R[6];acc=3;
-        }else{
-          R[6]=128*0+258;
-          {hval r=immval(R[4])-immval(R[6]);R[8]=F(r>>FBITS&1);R[7]=F(r);}
-          R[9]=G(R[1],4);
-          R[10]=G(R[1],6);
-          R[11]=G(R[1],7);
-          *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[11];fp[3]=R[10];fp[2]=R[7];R[12]=(word)fp;fp+=5;
-          R[5]=G(R[1],5);
-          R[4]=R[3];R[3]=R[12];
-          ob=(word*)R[9];acc=3;
-        }
-      }else{
-        if(R[4]==F(0)){
-          R[6]=G(R[2],4);
-          R[7]=G(R[1],6);
-          *fp=make_header(3,TCLOS);fp[1]=G(R[2],5);fp[2]=R[7];R[8]=(word)fp;fp+=3;
-          R[5]=G(R[1],5);
-          R[4]=R[3];R[3]=R[8];
-          ob=(word*)R[6];acc=3;
-        }else{
-          R[6]=128*0+258;
-          {hval r=immval(R[4])-immval(R[6]);R[8]=F(r>>FBITS&1);R[7]=F(r);}
-          R[9]=G(R[2],4);
-          R[10]=G(R[1],6);
-          R[11]=G(R[1],7);
-          *fp=make_header(5,TPROC);fp[1]=G(R[2],6);fp[4]=R[11];fp[3]=R[10];fp[2]=R[7];R[12]=(word)fp;fp+=5;
-          R[5]=G(R[1],5);
-          R[4]=R[3];R[3]=R[12];
-          ob=(word*)R[9];acc=3;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 270:
-    if(acc==4){
-      R[7]=128*14+258;
-      if(R[5]==R[7]){
-        R[8]=IFALSE;
-        ob=(word*)R[3];R[3]=R[8];acc=1;
-      }else{
-        if(R[4]==INULL){
-          R[8]=IFALSE;
-          ob=(word*)R[3];R[3]=R[8];acc=1;
-        }else{
-          R[8]=G(R[1],2);
-          *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[6];fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-          ob=(word*)R[8];acc=2;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 271:
-    if(acc==1){
-      if(R[3]==F(0)){
-        R[4]=G(R[1],4);
-        R[3]=ITRUE;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 272:
-    if(acc==1){
-      R[4]=128*254+258;
-      R[5]=R[4]&R[3];
-      if(R[5]==F(0)){
-        R[6]=G(R[2],2);
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],4);
-        R[9]=G(R[1],5);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[9];fp[3]=R[8];fp[2]=R[7];R[3]=(word)fp;fp+=5;
-        R[4]=G(R[1],2);
-        ob=(word*)R[6];acc=2;
-      }else{
-        R[6]=G(R[1],4);
-        R[3]=ITRUE;
-        ob=(word*)R[6];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 273:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      *fp=make_header(3,TPROC);fp[1]=G(R[1],3);fp[2]=R[3];R[6]=(word)fp;fp+=3;
-      R[7]=G(R[1],4);
-      R[8]=R[5];
-      R[3]=R[6];R[5]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 274:
-    if(acc==2){
-      if(R[4]==IFALSE){
-        R[5]=G(R[1],2);
-        R[4]=128*1+258;
-        ob=(word*)R[5];acc=2;
-      }else{
-        R[5]=G(R[1],2);
-        R[4]=128*0+258;
-        ob=(word*)R[5];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 275:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      *fp=make_header(3,TPROC);fp[1]=G(R[1],3);fp[2]=R[3];R[6]=(word)fp;fp+=3;
-      R[7]=IFALSE;
-      R[8]=R[5];
-      R[3]=R[6];R[5]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 276:
-    if(acc==2){
-      R[5]=128*0+258;
-      R[6]=R[3]&R[5];
-      if(R[6]==F(0)){
-        R[7]=G(R[1],2);
-        R[3]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[7]=G(R[1],2);
-        R[8]=128*1+258;
-        R[3]=R[4];R[4]=R[8];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 277:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      R[9]=G(R[1],3);
-      R[10]=G(R[1],4);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[3];fp[7]=R[6];fp[6]=R[5];fp[5]=R[10];fp[4]=R[4];fp[3]=R[9];fp[2]=R[8];R[3]=(word)fp;fp+=9;
-      R[4]=R[5];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 278:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      R[8]=G(R[1],7);
-      R[9]=G(R[1],8);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[10]=(word)fp;fp+=7;
-      R[11]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[9]=R[4];R[6]=R[3];
-      R[3]=R[10];R[4]=R[11];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 279:
-    if(acc==3){
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],2);
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],4);
-      R[10]=G(R[1],5);
-      R[11]=G(R[1],6);
-      *fp=make_header(10,TCLOS);fp[1]=G(R[2],3);fp[9]=R[11];fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[3];fp[4]=R[7];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=10;
-      R[4]=R[5];
-      ob=(word*)R[6];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 280:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],6);
-        R[5]=G(R[1],8);
-        R[6]=G(R[1],7);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],9);
-        *fp=make_header(6,TPROC);fp[1]=G(R[2],2);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[10]=G(R[1],5);
-        R[5]=G(R[1],3);
-        R[6]=R[4];R[4]=R[10];
-        ob=(word*)R[6];acc=4;
-      }else{
-        R[4]=G(R[2],3);
-        R[5]=G(R[1],5);
-        R[6]=G(R[1],6);
-        R[7]=G(R[1],7);
-        R[8]=G(R[1],8);
-        R[9]=G(R[1],9);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],4);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-        R[11]=G(R[1],4);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],2);
-        R[9]=R[4];R[4]=R[11];
-        ob=(word*)R[9];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 281:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      R[9]=G(R[1],3);
-      R[10]=G(R[1],4);
-      R[11]=G(R[1],5);
-      R[12]=G(R[1],6);
-      *fp=make_header(10,TCLOS);fp[1]=G(R[2],3);fp[9]=R[12];fp[8]=R[3];fp[7]=R[11];fp[6]=R[6];fp[5]=R[10];fp[4]=R[9];fp[3]=R[8];fp[2]=R[4];R[3]=(word)fp;fp+=10;
-      R[4]=R[5];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 282:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],6);
-      R[7]=G(R[1],7);
-      R[8]=G(R[1],8);
-      R[9]=G(R[1],9);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],2);fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=8;
-      R[11]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[6]=R[4];R[4]=R[11];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 283:
-    if(acc==1){
-      R[4]=G(R[1],5);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],2);
-      R[8]=128*0+258;
-      R[10]=R[4];R[4]=R[6];
-      R[6]=R[3];R[3]=R[5];
-      R[5]=R[7];R[7]=R[8];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 284:
-    if(acc==1){
-      R[4]=G(R[1],5);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],2);
-      R[8]=128*1+258;
-      R[10]=R[4];
-      R[4]=R[5];R[5]=R[6];
-      R[6]=R[7];R[7]=R[8];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 285:
-    if(acc==2){
-      if(R[4]==INULL){
-        R[5]=IFALSE;
-        ob=(word*)R[3];R[3]=R[5];acc=1;
-      }else{
-        R[5]=G(R[1],2);
-        *fp=make_header(3,TPROC);fp[1]=G(R[1],3);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-        ob=(word*)R[5];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 286:
-    if(acc==1){
-      if(R[3]==INULL){
-        R[4]=G(R[1],2);
-        R[3]=IFALSE;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[1],2);
-        R[3]=ITRUE;
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 287:
-    if(acc==5){
-      R[8]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[6];fp[4]=R[7];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      ob=(word*)R[8];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 288:
-    if(acc==3){
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],2);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=6;
-      R[5]=G(R[1],2);
-      R[11]=R[4];R[4]=R[3];
-      R[6]=R[8];R[3]=R[9];
-      ob=(word*)R[11];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 289:
-    if(acc==3){
-      R[6]=G(R[1],5);
-      if(R[5]==R[6]){
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],3);
-        R[5]=R[4];
-        R[4]=R[3];R[3]=R[8];
-        ob=(word*)R[7];acc=5;
-      }else{
-        R[7]=G(R[1],3);
-        R[6]=G(R[1],2);
-        ob=(word*)R[7];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 290:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],3);fp[2]=R[3];R[6]=(word)fp;fp+=3;
-      R[7]=128*10+258;
-      R[8]=R[5];
-      R[3]=R[6];R[5]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 291:
-    if(acc==2){
-      if(R[4]==F(0)){
-        R[5]=G(R[1],2);
-        R[6]=G(R[2],2);
-        R[7]=G(R[2],3);
-        R[8]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[5]=128*0+258;
-        if(R[4]==R[5]){
-          R[6]=G(R[1],2);
-          R[4]=G(R[2],4);
-          R[5]=G(R[2],5);
-          ob=(word*)R[6];acc=3;
-        }else{
-          R[6]=128*2+258;
-          if(R[4]==R[6]){
-            R[7]=G(R[1],2);
-            R[4]=G(R[2],6);
-            R[5]=G(R[2],7);
-            ob=(word*)R[7];acc=3;
-          }else{
-            R[7]=128*4+258;
-            if(R[4]==R[7]){
-              R[8]=G(R[1],2);
-              R[4]=G(R[2],8);
-              R[5]=G(R[2],9);
-              ob=(word*)R[8];acc=3;
-            }else{
-              R[8]=G(R[1],2);
-              R[4]=G(R[2],10);
-              R[5]=G(R[2],11);
-              ob=(word*)R[8];acc=3;
-            }
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 292:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[4];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[9]=(word)fp;fp+=6;
-      R[8]=R[5];R[5]=R[4];
-      R[4]=R[3];R[3]=R[9];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 293:
-    if(acc==2){
-      R[5]=G(R[1],3);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],3);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[7]=G(R[1],2);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],2);fp[3]=R[7];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-      R[9]=R[5];
-      R[5]=R[4];R[4]=R[9];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 294:
-    if(acc==4){
-      if(R[5]==F(0)){
-        ob=(word*)R[3];R[3]=R[4];acc=1;
-      }else{
-        R[7]=G(R[2],4);
-        R[8]=G(R[1],2);
-        *fp=make_header(4,2);fp[1]=R[7];fp[2]=R[8];fp[3]=R[4];R[9]=(word)fp;fp+=4;
-        R[10]=G(R[2],2);
-        *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[6];fp[3]=R[3];fp[2]=R[9];R[3]=(word)fp;fp+=5;
-        R[12]=128*0+258;
-        R[4]=R[5];R[5]=R[12];
-        ob=(word*)R[10];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 295:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[5];fp[4]=R[6];fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-      R[4]=R[6];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 296:
-    if(acc==3){
-      R[6]=prim_less(R[5],R[4]);
-      ob=(word*)R[3];R[3]=R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 297:
-    if(acc==1){
-      if(R[3]==INULL){
-        R[4]=G(R[1],3);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],4);
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[8]=(word)fp;fp+=5;
-        R[9]=G(R[1],2);
-        R[10]=R[4];R[5]=R[3];
-        R[3]=R[8];R[4]=R[9];
-        ob=(word*)R[10];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 298:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[4];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[3];R[3]=(word)fp;fp+=7;
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 299:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[10]=(word)fp;fp+=7;
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],4);fp[2]=R[9];R[11]=(word)fp;fp+=3;
-      R[8]=R[4];R[5]=R[3];
-      R[3]=R[10];R[4]=R[11];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 300:
-    if(acc==1){
-      if(R[3]==INULL){
-        R[4]=G(R[1],3);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],4);
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=6;
-        R[10]=G(R[1],2);
-        R[8]=R[4];R[5]=R[3];
-        R[3]=R[9];R[4]=R[10];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 301:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[4];fp[5]=R[9];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[10]=(word)fp;fp+=7;
-      R[4]=R[3];R[3]=R[10];
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 302:
-    if(acc==2){
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],2);fp[6]=R[8];fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[6]=(word)fp;fp+=7;
-      R[3]=G(R[1],2);
-      R[5]=R[7];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 303:
-    if(acc==4){
-      if(R[4]==F(0)){
-        R[7]=G(R[2],2);
-        R[8]=G(R[1],3);
-        R[9]=G(R[1],4);
-        *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[3];fp[3]=R[9];fp[2]=R[8];R[3]=(word)fp;fp+=5;
-        R[4]=G(R[1],2);
-        R[12]=G(R[1],5);
-        *fp=make_header(4,TPROC);fp[1]=G(R[2],4);fp[3]=R[12];fp[2]=R[5];R[5]=(word)fp;fp+=4;
-        ob=(word*)R[7];acc=3;
-      }else{
-        R[7]=G(R[2],5);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],6);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],6);fp[6]=R[9];fp[5]=R[5];fp[4]=R[6];fp[3]=R[3];fp[2]=R[8];R[3]=(word)fp;fp+=7;
-        R[5]=128*0+258;
-        ob=(word*)R[7];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 304:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=5;
-      R[8]=G(R[1],2);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],4);fp[3]=R[10];fp[2]=R[9];R[5]=(word)fp;fp+=4;
-      R[9]=R[4];R[4]=R[8];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 305:
-    if(acc==5){
-      if(R[6]==INULL){
-        R[7]=R[3];
-        R[3]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[8]=G(R[1],2);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[5]=IFALSE;
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 306:
-    if(acc==2){
-      R[5]=128*0+258;
-      R[6]=R[3]&R[5];
-      if(R[6]==F(0)){
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],2);
-        R[3]=R[4];R[4]=R[8];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[7]=G(R[2],2);
-        R[8]=G(R[1],3);
-        R[9]=G(R[1],4);
-        R[10]=G(R[1],5);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[10];fp[4]=R[9];fp[3]=R[4];fp[2]=R[8];R[3]=(word)fp;fp+=6;
-        R[4]=R[8];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 307:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[6]=128*2+258;
-      R[9]=R[6];
-      R[6]=R[5];R[5]=R[9];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 308:
-    if(acc==2){
-      R[5]=128*0+258;
-      R[6]=R[3]&R[5];
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      R[9]=G(R[1],3);
-      R[10]=G(R[1],4);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[10];fp[4]=R[9];fp[3]=R[4];fp[2]=R[8];R[3]=(word)fp;fp+=6;
-      R[4]=F(0);
-      R[5]=R[6];
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 309:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],4);fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[8]=(word)fp;fp+=6;
-      if(R[3]==IFALSE){
-        R[9]=G(R[2],2);
-        R[5]=G(R[2],3);
-        R[3]=R[8];
-        ob=(word*)R[9];acc=3;
-      }else{
-        ob=(word*)R[8];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 310:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],4);
-        *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[9]=G(R[1],2);
-        R[5]=128*0+258;
-        R[11]=R[4];R[4]=R[9];
-        ob=(word*)R[11];acc=3;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],5);
-        *fp=make_header(3,TCLOS);fp[1]=G(R[2],5);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-        R[7]=G(R[1],3);
-        R[5]=G(R[1],2);
-        R[9]=R[4];
-        R[3]=R[6];R[4]=R[7];
-        ob=(word*)R[9];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 311:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-      R[8]=128*2+258;
-      R[9]=R[5];R[5]=R[8];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 312:
-    if(acc==1){
-      if(R[3]==INULL){
-        R[4]=G(R[1],5);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],3);
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[8]=(word)fp;fp+=5;
-        R[9]=G(R[1],2);
-        R[10]=R[4];R[5]=R[3];
-        R[3]=R[8];R[4]=R[9];
-        ob=(word*)R[10];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 313:
-    if(acc==2){
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],4);fp[2]=R[4];R[5]=(word)fp;fp+=3;
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[8];fp[3]=R[3];fp[2]=R[7];R[3]=(word)fp;fp+=5;
-      R[4]=G(R[1],2);
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 314:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      if(R[4]==R[5]){
-        R[6]=G(R[2],2);
-        *fp=make_header(4,2);fp[1]=R[6];fp[2]=R[4];fp[3]=R[4];R[7]=(word)fp;fp+=4;
-        ob=(word*)R[3];R[3]=R[7];acc=1;
-      }else{
-        ob=(word*)R[3];R[3]=R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 315:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[8]=(word)fp;fp+=6;
-      if(R[3]==INULL){
-        R[9]=G(R[2],2);
-        R[4]=R[5];R[3]=R[8];
-        ob=(word*)R[9];acc=2;
-      }else{
-        ob=(word*)R[8];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 316:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[4];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[9]=(word)fp;fp+=6;
-      R[10]=R[5];
-      R[6]=R[4];R[4]=R[3];
-      R[5]=R[7];R[3]=R[9];
-      ob=(word*)R[10];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 317:
-    if(acc==2){
-      R[5]=G(R[1],5);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],4);fp[3]=R[5];fp[2]=R[4];R[6]=(word)fp;fp+=4;
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],4);
-      *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[9];fp[3]=R[3];fp[2]=R[8];R[3]=(word)fp;fp+=5;
-      R[4]=G(R[1],2);
-      R[5]=R[6];
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 318:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[4];fp[3]=R[6];fp[2]=R[3];R[3]=(word)fp;fp+=6;
-      R[9]=G(R[1],2);
-      R[10]=R[5];
-      R[5]=R[4];R[4]=R[9];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 319:
-    if(acc==1){
-      {word*ob=(word*)R[3];hval hdr;assert(allocp(R[3]),R[3],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[4]=ob[1];R[5]=ob[2];}
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[9];fp[4]=R[8];fp[3]=R[7];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-      R[4]=G(R[1],2);
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 320:
-    if(acc==2){
-      R[5]=G(R[1],5);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],9);fp[3]=R[5];fp[2]=R[3];R[6]=(word)fp;fp+=4;
-      R[7]=G(R[1],2);
-      if(R[7]==F(0)){
-        R[8]=G(R[2],3);
-        R[9]=G(R[1],4);
-        *fp=make_header(4,2);fp[1]=R[8];fp[2]=R[9];fp[3]=R[4];R[10]=(word)fp;fp+=4;
-        R[11]=G(R[2],2);
-        R[12]=G(R[1],3);
-        *fp=make_header(4,2);fp[1]=R[11];fp[2]=R[10];fp[3]=R[12];R[3]=(word)fp;fp+=4;
-        ob=(word*)R[6];acc=1;
-      }else{
-        R[8]=128*0+258;
-        if(R[7]==R[8]){
-          R[9]=G(R[2],4);
-          R[10]=G(R[1],4);
-          *fp=make_header(4,2);fp[1]=R[9];fp[2]=R[10];fp[3]=R[4];R[11]=(word)fp;fp+=4;
-          R[12]=G(R[2],2);
-          R[13]=G(R[1],3);
-          *fp=make_header(4,2);fp[1]=R[12];fp[2]=R[11];fp[3]=R[13];R[3]=(word)fp;fp+=4;
-          ob=(word*)R[6];acc=1;
-        }else{
-          R[9]=128*2+258;
-          if(R[7]==R[9]){
-            R[10]=G(R[2],5);
-            R[11]=G(R[1],4);
-            *fp=make_header(5,TCLOS);fp[1]=G(R[2],6);fp[4]=R[6];fp[3]=R[11];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-            R[4]=G(R[1],3);
-            R[5]=INULL;
-            ob=(word*)R[10];acc=3;
-          }else{
-            R[10]=G(R[2],7);
-            R[4]=G(R[2],8);
-            R[3]=R[6];R[5]=R[7];
-            ob=(word*)R[10];acc=3;
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 321:
-    if(acc==3){
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],2);
-      *fp=make_header(5,TPROC);fp[1]=G(R[1],3);fp[4]=R[6];fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-      R[4]=R[5];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 322:
-    if(acc==5){
-      if(R[6]==INULL){
-        R[7]=R[3];
-        R[3]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[8]=G(R[1],2);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[7];fp[4]=R[3];fp[3]=R[5];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-        R[5]=128*4+258;
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 323:
-    if(acc==2){
-      if(R[4]==F(0)){
-        R[5]=G(R[2],2);
-        R[6]=G(R[1],3);
-        R[4]=G(R[1],2);
-        R[8]=G(R[1],4);
-        R[9]=G(R[1],5);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[4];fp[3]=R[6];fp[2]=R[3];R[3]=(word)fp;fp+=7;
-        ob=(word*)R[5];acc=2;
-      }else{
-        R[5]=G(R[2],4);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(6,TPROC);fp[1]=G(R[2],5);fp[5]=R[8];fp[4]=R[7];fp[3]=R[3];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-        R[4]=G(R[1],2);
-        ob=(word*)R[5];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 324:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],2);
-        R[8]=G(R[1],6);
-        R[9]=G(R[1],7);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-        R[7]=R[4];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],6);
-        R[10]=G(R[1],7);
-        *fp=make_header(8,TCLOS);fp[1]=G(R[2],5);fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=8;
-        R[7]=R[4];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 325:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      R[8]=G(R[1],7);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],2);fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[9]=(word)fp;fp+=7;
-      R[4]=G(R[1],2);
-      R[7]=R[3];R[3]=R[9];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 326:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[9];fp[6]=R[8];fp[5]=R[3];fp[4]=R[7];fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=8;
-      R[4]=G(R[1],2);
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 327:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[7]=INULL;
-      R[10]=R[5];R[5]=R[7];
-      R[7]=R[4];R[4]=R[6];
-      R[6]=R[3];R[3]=R[10];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 328:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[3];fp[4]=R[5];fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-      R[4]=R[6];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 329:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],4);fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[9]=(word)fp;fp+=7;
-      if(R[3]==IFALSE){
-        R[10]=G(R[2],2);
-        *fp=make_header(3,TCLOS);fp[1]=G(R[2],3);fp[2]=R[9];R[3]=(word)fp;fp+=3;
-        ob=(word*)R[10];acc=2;
-      }else{
-        ob=(word*)R[9];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 330:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],6);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[9]=G(R[1],3);
-        R[5]=G(R[1],2);
-        R[11]=R[4];R[4]=R[9];
-        ob=(word*)R[11];acc=3;
-      }else{
-        R[4]=G(R[1],6);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],4);
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 331:
-    if(acc==2){
-      {word*ob=(word*)R[4];hval hdr;assert(allocp(R[4]),R[4],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[5]=ob[1];R[6]=ob[2];}
-      {word*ob=(word*)R[6];hval hdr;assert(allocp(R[6]),R[6],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[7]=ob[1];R[8]=ob[2];}
-      R[9]=G(R[2],2);
-      R[10]=G(R[1],3);
-      R[11]=G(R[1],4);
-      *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[11];fp[3]=R[3];fp[2]=R[10];R[3]=(word)fp;fp+=5;
-      R[4]=G(R[1],2);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],4);fp[3]=R[5];fp[2]=R[7];R[5]=(word)fp;fp+=4;
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 332:
-    if(acc==2){
-      R[5]=G(R[1],3);
-      if(R[4]==R[5]){
-        R[6]=G(R[1],2);
-        ob=(word*)R[3];R[3]=R[6];acc=1;
-      }else{
-        R[6]=G(R[1],2);
-        if(R[4]==R[6]){
-          ob=(word*)R[3];R[3]=R[5];acc=1;
-        }else{
-          ob=(word*)R[3];R[3]=R[4];acc=1;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 333:
-    if(acc==3){
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],4);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[7]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[6];fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 334:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],2);fp[4]=R[5];fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-      ob=(word*)R[6];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 335:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      if(R[4]==R[3]){
-        R[5]=G(R[2],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-        R[9]=128*0+258;
-        R[10]=R[5];R[5]=R[9];
-        ob=(word*)R[10];acc=3;
-      }else{
-        R[5]=G(R[1],3);
-        ob=(word*)R[5];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 336:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      if(R[3]==R[4]){
-        R[5]=G(R[1],2);
-        {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=5,ob,IFALSE);
-R[6]=ob[1];R[7]=ob[2];R[8]=ob[3];R[9]=ob[4];}
-        R[10]=G(R[2],3);
-        R[11]=G(R[1],3);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],4);fp[4]=R[11];fp[3]=R[7];fp[2]=R[8];R[3]=(word)fp;fp+=5;
-        R[13]=G(R[1],4);
-        *fp=make_header(3,TPROC);fp[1]=G(R[2],5);fp[2]=R[13];R[4]=(word)fp;fp+=3;
-        R[5]=R[9];
-        ob=(word*)R[10];acc=3;
-      }else{
-        R[5]=G(R[1],3);
-        R[3]=G(R[1],2);
-        ob=(word*)R[5];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 337:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],4);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],2);
-        R[3]=R[5];
-        R[5]=R[4];R[4]=R[6];
-        ob=(word*)R[5];acc=3;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        *fp=make_header(3,TPROC);fp[1]=G(R[2],3);fp[2]=R[6];R[7]=(word)fp;fp+=3;
-        R[8]=G(R[1],2);
-        R[9]=R[4];R[3]=R[5];
-        R[4]=R[7];R[5]=R[8];
-        ob=(word*)R[9];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 338:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],3);fp[2]=R[3];R[6]=(word)fp;fp+=3;
-      R[7]=128*0+258;
-      R[8]=R[5];
-      R[3]=R[6];R[5]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 339:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[5];fp[2]=R[3];R[6]=(word)fp;fp+=4;
-      R[5]=G(R[2],4);
-      R[8]=R[4];
-      R[4]=R[3];R[3]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 340:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        R[8]=G(R[2],4);
-        R[9]=R[4];
-        R[4]=R[5];R[5]=R[8];
-        ob=(word*)R[9];acc=3;
-      }else{
-        R[4]=G(R[1],3);
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 341:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],2);
-        R[7]=G(R[2],3);
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[4]=G(R[1],3);
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 342:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],4);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[7]=G(R[2],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[6];fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 343:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],2);fp[5]=R[6];fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-      R[4]=R[5];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 344:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[7]=(word)fp;fp+=5;
-      if(R[3]==IFALSE){
-        R[3]=G(R[1],2);
-        ob=(word*)R[7];acc=1;
-      }else{
-        R[8]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[3]=R[7];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 345:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      if(R[3]==R[4]){
-        R[5]=G(R[1],2);
-        {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=4,ob,IFALSE);
-R[6]=ob[1];R[7]=ob[2];R[8]=ob[3];}
-        R[6]=G(R[1],5);
-        R[10]=G(R[1],4);
-        *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[6];fp[3]=R[10];fp[2]=R[8];R[3]=(word)fp;fp+=5;
-        R[4]=G(R[1],3);
-        R[5]=R[7];
-        ob=(word*)R[6];acc=4;
-      }else{
-        R[5]=G(R[2],4);
-        if(R[3]==R[5]){
-          R[6]=G(R[1],2);
-          {word*ob=(word*)R[6];hval hdr;assert(allocp(R[6]),R[6],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=5,ob,IFALSE);
-R[7]=ob[1];R[8]=ob[2];R[9]=ob[3];R[10]=ob[4];}
-          R[11]=G(R[2],5);
-          R[3]=G(R[1],4);
-          R[13]=G(R[1],5);
-          *fp=make_header(3,TPROC);fp[1]=G(R[2],6);fp[2]=R[13];R[4]=(word)fp;fp+=3;
-          R[5]=G(R[1],3);
-          R[6]=R[10];
-          ob=(word*)R[11];acc=4;
-        }else{
-          R[6]=G(R[1],4);
-          R[3]=G(R[1],3);
-          ob=(word*)R[6];acc=1;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 346:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],4);
-        R[5]=G(R[1],3);
-        R[6]=INULL;
-        R[7]=G(R[1],2);
-        R[9]=R[6];
-        R[6]=R[4];R[3]=R[5];
-        R[5]=R[7];R[4]=R[9];
-        ob=(word*)R[6];acc=4;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        *fp=make_header(3,TPROC);fp[1]=G(R[2],3);fp[2]=R[6];R[7]=(word)fp;fp+=3;
-        R[8]=INULL;
-        R[6]=G(R[1],2);
-        R[10]=R[4];R[3]=R[5];
-        R[4]=R[7];R[5]=R[8];
-        ob=(word*)R[10];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 347:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[6];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 348:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],4);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[8]=R[4];R[4]=R[7];
-        ob=(word*)R[8];acc=2;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],5);
-        *fp=make_header(3,TPROC);fp[1]=G(R[2],5);fp[2]=R[6];R[7]=(word)fp;fp+=3;
-        R[8]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[10]=R[4];R[3]=R[5];
-        R[4]=R[7];R[5]=R[8];
-        ob=(word*)R[10];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 349:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],5);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        R[8]=G(R[2],4);
-        R[5]=INULL;
-        R[10]=R[4];R[4]=R[8];
-        ob=(word*)R[10];acc=3;
-      }else{
-        R[4]=G(R[2],5);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],6);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[5]=128*0+258;
-        R[8]=R[4];R[4]=R[7];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 350:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      if(R[3]==R[4]){
-        R[5]=G(R[1],4);
-        {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[6]=ob[1];R[7]=ob[2];}
-        R[8]=G(R[2],3);
-        R[3]=G(R[1],5);
-        R[5]=G(R[1],2);
-        R[4]=R[7];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[5]=G(R[2],4);
-        if(R[3]==R[5]){
-          R[6]=G(R[1],4);
-          {word*ob=(word*)R[6];hval hdr;assert(allocp(R[6]),R[6],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=5,ob,IFALSE);
-R[7]=ob[1];R[8]=ob[2];R[9]=ob[3];R[10]=ob[4];}
-          R[11]=G(R[2],5);
-          R[12]=G(R[1],3);
-          R[13]=G(R[1],5);
-          *fp=make_header(7,TCLOS);fp[1]=G(R[2],6);fp[6]=R[13];fp[5]=R[8];fp[4]=R[9];fp[3]=R[12];fp[2]=R[10];R[3]=(word)fp;fp+=7;
-          R[5]=G(R[1],2);
-          R[4]=R[8];
-          ob=(word*)R[11];acc=3;
-        }else{
-          R[6]=G(R[2],7);
-          if(R[3]==R[6]){
-            R[7]=G(R[1],4);
-            {word*ob=(word*)R[7];hval hdr;assert(allocp(R[7]),R[7],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=4,ob,IFALSE);
-R[8]=ob[1];R[9]=ob[2];R[10]=ob[3];}
-            R[11]=G(R[2],8);
-            R[3]=G(R[1],5);
-            R[6]=G(R[1],2);
-            R[4]=R[9];R[5]=R[10];
-            ob=(word*)R[11];acc=4;
-          }else{
-            R[7]=G(R[2],9);
-            if(R[3]==R[7]){
-              R[8]=G(R[1],4);
-              {word*ob=(word*)R[8];hval hdr;assert(allocp(R[8]),R[8],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=4,ob,IFALSE);
-R[9]=ob[1];R[10]=ob[2];R[11]=ob[3];}
-              R[12]=G(R[2],10);
-              R[3]=G(R[1],5);
-              R[6]=G(R[1],2);
-              R[4]=R[10];R[5]=R[11];
-              ob=(word*)R[12];acc=4;
-            }else{
-              R[8]=G(R[2],11);
-              if(R[3]==R[8]){
-                R[9]=G(R[1],4);
-                {word*ob=(word*)R[9];hval hdr;assert(allocp(R[9]),R[9],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[10]=ob[1];R[11]=ob[2];}
-                R[12]=G(R[2],5);
-                R[3]=G(R[1],5);
-                R[5]=G(R[1],2);
-                R[4]=R[11];
-                ob=(word*)R[12];acc=3;
-              }else{
-                R[9]=G(R[2],12);
-                if(R[3]==R[9]){
-                  R[10]=G(R[1],4);
-                  {word*ob=(word*)R[10];hval hdr;assert(allocp(R[10]),R[10],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=4,ob,IFALSE);
-R[11]=ob[1];R[12]=ob[2];R[13]=ob[3];}
-                  R[6]=G(R[1],3);
-                  R[15]=G(R[1],5);
-                  *fp=make_header(5,TPROC);fp[1]=G(R[2],13);fp[4]=R[6];fp[3]=R[15];fp[2]=R[12];R[3]=(word)fp;fp+=5;
-                  R[5]=G(R[1],2);
-                  R[4]=R[13];
-                  ob=(word*)R[6];acc=4;
-                }else{
-                  R[10]=G(R[2],14);
-                  R[11]=G(R[1],4);
-                  R[12]=G(R[1],5);
-                  *fp=make_header(4,TCLOS);fp[1]=G(R[2],15);fp[3]=R[12];fp[2]=R[11];R[3]=(word)fp;fp+=4;
-                  R[4]=G(R[2],16);
-                  R[5]=INULL;
-                  ob=(word*)R[10];acc=3;
-                }
-              }
-            }
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 351:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-      R[4]=128*122+258;
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 352:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[8]=(word)fp;fp+=5;
-      R[9]=128*92+258;
-      R[10]=R[4];R[5]=R[3];
-      R[3]=R[8];R[4]=R[9];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 353:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[8]=(word)fp;fp+=5;
-      R[9]=128*62+258;
-      R[10]=R[4];R[5]=R[3];
-      R[3]=R[8];R[4]=R[9];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 354:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-      R[4]=128*122+258;
-      R[5]=R[6];
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 355:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=128*118+258;
-      R[8]=R[4];
-      R[9]=R[5];R[5]=R[3];
-      R[4]=R[6];R[3]=R[9];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 356:
-    if(acc==4){
-      if(R[4]==INULL){
-        ob=(word*)R[3];R[3]=R[5];acc=1;
-      }else{
-        R[7]=G(R[1],2);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[3];fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 357:
-    if(acc==1){
-      {word*ob=(word*)R[3];hval hdr;assert(allocp(R[3]),R[3],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[4]=ob[1];R[5]=ob[2];}
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[4];fp[4]=R[5];fp[3]=R[8];fp[2]=R[7];R[3]=(word)fp;fp+=7;
-      R[4]=G(R[1],2);
-      ob=(word*)R[6];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 358:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],4);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],4);fp[3]=R[5];fp[2]=R[4];R[6]=(word)fp;fp+=4;
-      R[7]=G(R[1],2);
-      if(R[7]==IFALSE){
-        ob=(word*)R[6];acc=1;
-      }else{
-        R[8]=G(R[2],2);
-        *fp=make_header(3,TCLOS);fp[1]=G(R[2],3);fp[2]=R[6];R[9]=(word)fp;fp+=3;
-        R[5]=R[3];
-        R[4]=R[7];R[3]=R[9];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 359:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=128*62+258;
-      R[8]=R[4];
-      R[9]=R[5];R[5]=R[3];
-      R[4]=R[6];R[3]=R[9];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 360:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=128*120+258;
-      R[8]=R[4];
-      R[9]=R[5];R[5]=R[3];
-      R[4]=R[6];R[3]=R[9];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 361:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-      R[4]=R[6];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 362:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[3];fp[2]=R[6];R[3]=(word)fp;fp+=5;
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 363:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[7]=(word)fp;fp+=5;
-      R[8]=G(R[1],2);
-      R[9]=R[4];R[5]=R[3];
-      R[3]=R[7];R[4]=R[8];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 364:
-    if(acc==3){
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],2);
-      *fp=make_header(3,TPROC);fp[1]=G(R[1],3);fp[2]=R[6];R[8]=(word)fp;fp+=3;
-      R[6]=R[5];
-      R[5]=R[4];R[4]=R[8];
-      ob=(word*)R[7];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 365:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[6];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[9]=128*0+258;
-      R[4]=R[5];R[5]=R[9];
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 366:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      if(R[3]==R[4]){
-        R[5]=G(R[1],2);
-        {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[6]=ob[1];R[7]=ob[2];}
-        R[8]=G(R[1],4);
-        R[3]=G(R[1],3);
-        ob=(word*)R[8];acc=1;
-      }else{
-        R[5]=G(R[2],3);
-        if(R[3]==R[5]){
-          R[6]=G(R[1],2);
-          {word*ob=(word*)R[6];hval hdr;assert(allocp(R[6]),R[6],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=4,ob,IFALSE);
-R[7]=ob[1];R[8]=ob[2];R[9]=ob[3];}
-          R[10]=G(R[2],4);
-          R[3]=G(R[1],4);
-          R[4]=G(R[1],3);
-          R[7]=F(0);
-          R[5]=R[8];R[6]=R[9];
-          ob=(word*)R[10];acc=5;
-        }else{
-          R[6]=G(R[2],5);
-          if(R[3]==R[6]){
-            R[7]=G(R[1],2);
-            {word*ob=(word*)R[7];hval hdr;assert(allocp(R[7]),R[7],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[8]=ob[1];R[9]=ob[2];}
-            R[10]=G(R[2],4);
-            R[3]=G(R[1],4);
-            R[4]=G(R[1],3);
-            R[6]=INULL;
-            R[7]=128*2+258;
-            R[5]=R[9];
-            ob=(word*)R[10];acc=5;
-          }else{
-            R[7]=G(R[2],6);
-            if(R[3]==R[7]){
-              R[8]=G(R[1],2);
-              {word*ob=(word*)R[8];hval hdr;assert(allocp(R[8]),R[8],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=4,ob,IFALSE);
-R[9]=ob[1];R[10]=ob[2];R[11]=ob[3];}
-              R[12]=G(R[2],4);
-              R[3]=G(R[1],4);
-              R[4]=G(R[1],3);
-              R[7]=128*0+258;
-              R[5]=R[10];R[6]=R[11];
-              ob=(word*)R[12];acc=5;
-            }else{
-              R[8]=G(R[2],7);
-              if(R[3]==R[8]){
-                R[9]=G(R[1],2);
-                {word*ob=(word*)R[9];hval hdr;assert(allocp(R[9]),R[9],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=5,ob,IFALSE);
-R[10]=ob[1];R[11]=ob[2];R[12]=ob[3];R[13]=ob[4];}
-                R[14]=G(R[2],8);
-                R[15]=G(R[1],4);
-                *fp=make_header(5,TCLOS);fp[1]=G(R[2],9);fp[4]=R[15];fp[3]=R[11];fp[2]=R[12];R[3]=(word)fp;fp+=5;
-                R[17]=G(R[1],5);
-                *fp=make_header(3,TPROC);fp[1]=G(R[2],10);fp[2]=R[17];R[4]=(word)fp;fp+=3;
-                R[5]=G(R[1],3);
-                R[6]=R[13];
-                ob=(word*)R[14];acc=4;
-              }else{
-                R[9]=G(R[2],11);
-                R[3]=G(R[1],4);
-                R[4]=G(R[2],12);
-                R[5]=G(R[2],13);
-                R[6]=G(R[1],2);
-                ob=(word*)R[9];acc=4;
-              }
-            }
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 367:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],2);
-      R[8]=128*2+258;
-      R[10]=R[4];R[4]=R[3];
-      R[3]=R[5];R[5]=R[6];
-      R[6]=R[7];R[7]=R[8];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 368:
-    if(acc==5){
-      R[8]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[5];fp[2]=R[6];R[3]=(word)fp;fp+=5;
-      R[6]=R[7];
-      ob=(word*)R[8];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 369:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      if(R[4]==INULL){
-        R[5]=G(R[1],4);
-        ob=(word*)R[5];acc=1;
-      }else{
-        R[5]=G(R[2],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[4];R[8]=(word)fp;fp+=6;
-        R[9]=R[5];R[4]=R[3];
-        R[5]=R[6];R[3]=R[8];
-        ob=(word*)R[9];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 370:
-    if(acc==1){
-      {word*ob=(word*)R[3];hval hdr;assert(allocp(R[3]),R[3],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[4]=ob[1];R[5]=ob[2];}
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[9];fp[4]=R[8];fp[3]=R[7];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-      R[4]=G(R[2],4);
-      R[12]=G(R[1],2);
-      R[9]=R[6];R[6]=R[12];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 371:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],4);fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[7]=(word)fp;fp+=5;
-      if(R[3]==IFALSE){
-        R[8]=G(R[2],2);
-        R[4]=G(R[1],2);
-        R[3]=R[7];
-        ob=(word*)R[8];acc=2;
-      }else{
-        R[8]=G(R[2],2);
-        *fp=make_header(3,TCLOS);fp[1]=G(R[2],3);fp[2]=R[7];R[3]=(word)fp;fp+=3;
-        R[4]=G(R[1],2);
-        ob=(word*)R[8];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 372:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],3);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[5]=128*18+258;
-      R[8]=R[4];
-      R[4]=R[3];R[3]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 373:
-    if(acc==2){
-      if(R[4]==F(0)){
-        R[5]=G(R[1],2);
-        R[6]=128*94+258;
-        R[7]=INULL;
-        R[8]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[5]=G(R[1],3);
-        R[6]=INULL;
-        R[9]=R[6];
-        R[6]=R[5];R[5]=R[9];
-        ob=(word*)R[6];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 374:
-    if(acc==4){
-      if(R[4]==F(0)){
-        ob=(word*)R[3];R[3]=R[5];acc=1;
-      }else{
-        R[7]=G(R[1],2);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[5]=128*18+258;
-        ob=(word*)R[7];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 375:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[3];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-      R[10]=128*94+258;
-      R[8]=R[5];R[5]=R[10];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 376:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[3];fp[4]=R[4];fp[3]=R[5];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 377:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[9]=G(R[1],2);
-        R[5]=IFALSE;
-        R[11]=R[4];R[4]=R[9];
-        ob=(word*)R[11];acc=3;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],5);fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[9]=(word)fp;fp+=7;
-        R[7]=R[4];
-        R[4]=R[3];R[3]=R[9];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 378:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=prim_less(R[4],R[3]);
-      if(R[5]==IFALSE){
-        R[6]=G(R[1],6);
-        R[3]=G(R[1],5);
-        ob=(word*)R[6];acc=1;
-      }else{
-        R[6]=G(R[2],2);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],6);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[9];fp[4]=R[8];fp[3]=R[7];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-        R[4]=G(R[1],2);
-        ob=(word*)R[6];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 379:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[6]=INULL;
-      R[8]=R[5];R[5]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 380:
-    if(acc==4){
-      if(R[4]==INULL){
-        R[7]=G(R[1],2);
-        R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[7]=G(R[1],3);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[1],4);fp[5]=R[6];fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 381:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=7;
-      R[5]=128*0+258;
-      R[8]=R[4];
-      R[4]=R[3];R[3]=R[9];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 382:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      if(R[3]==R[4]){
-        R[5]=G(R[1],4);
-        {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[6]=ob[1];R[7]=ob[2];}
-        R[8]=G(R[2],3);
-        R[9]=G(R[1],3);
-        R[10]=G(R[1],5);
-        R[11]=G(R[1],6);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],4);fp[5]=R[11];fp[4]=R[10];fp[3]=R[5];fp[2]=R[9];R[3]=(word)fp;fp+=6;
-        R[4]=G(R[1],2);
-        ob=(word*)R[8];acc=2;
-      }else{
-        R[5]=G(R[2],5);
-        if(R[3]==R[5]){
-          R[6]=G(R[1],4);
-          {word*ob=(word*)R[6];hval hdr;assert(allocp(R[6]),R[6],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=4,ob,IFALSE);
-R[7]=ob[1];R[8]=ob[2];R[9]=ob[3];}
-          R[10]=G(R[2],3);
-          R[11]=G(R[1],3);
-          R[12]=G(R[1],5);
-          R[13]=G(R[1],6);
-          *fp=make_header(6,TCLOS);fp[1]=G(R[2],6);fp[5]=R[13];fp[4]=R[12];fp[3]=R[6];fp[2]=R[11];R[3]=(word)fp;fp+=6;
-          R[4]=G(R[1],2);
-          ob=(word*)R[10];acc=2;
-        }else{
-          R[6]=G(R[2],7);
-          if(R[3]==R[6]){
-            R[7]=G(R[1],4);
-            {word*ob=(word*)R[7];hval hdr;assert(allocp(R[7]),R[7],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[8]=ob[1];R[9]=ob[2];}
-            R[10]=G(R[2],8);
-            R[4]=G(R[1],3);
-            R[12]=G(R[1],2);
-            R[13]=G(R[1],5);
-            R[14]=G(R[1],6);
-            *fp=make_header(7,TCLOS);fp[1]=G(R[2],9);fp[6]=R[14];fp[5]=R[13];fp[4]=R[12];fp[3]=R[7];fp[2]=R[4];R[3]=(word)fp;fp+=7;
-            R[5]=R[9];
-            ob=(word*)R[10];acc=3;
-          }else{
-            R[7]=G(R[2],3);
-            R[8]=G(R[1],3);
-            R[9]=G(R[1],4);
-            R[10]=G(R[1],5);
-            R[11]=G(R[1],6);
-            *fp=make_header(6,TCLOS);fp[1]=G(R[2],10);fp[5]=R[11];fp[4]=R[10];fp[3]=R[9];fp[2]=R[8];R[3]=(word)fp;fp+=6;
-            R[4]=G(R[1],2);
-            ob=(word*)R[7];acc=2;
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 383:
-    if(acc==3){
-      if(R[3]==IFALSE){
-        R[6]=G(R[2],2);
-        R[7]=G(R[1],2);
-        R[8]=G(R[1],3);
-        R[9]=G(R[1],5);
-        R[10]=G(R[1],6);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[10];fp[4]=R[9];fp[3]=R[8];fp[2]=R[7];R[3]=(word)fp;fp+=6;
-        R[4]=G(R[1],4);
-        ob=(word*)R[6];acc=2;
-      }else{
-        {word*ob=(word*)R[3];hval hdr;assert(allocp(R[3]),R[3],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=4,ob,IFALSE);
-R[6]=ob[1];R[7]=ob[2];R[8]=ob[3];}
-        R[9]=G(R[2],2);
-        R[10]=G(R[1],5);
-        R[11]=G(R[1],6);
-        *fp=make_header(8,TCLOS);fp[1]=G(R[2],4);fp[7]=R[11];fp[6]=R[10];fp[5]=R[5];fp[4]=R[7];fp[3]=R[8];fp[2]=R[4];R[3]=(word)fp;fp+=8;
-        R[4]=G(R[1],4);
-        ob=(word*)R[9];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 384:
-    if(acc==1){
-      R[4]=G(R[2],4);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],2);
-      *fp=make_header(5,2);fp[1]=R[4];fp[2]=R[5];fp[3]=R[6];fp[4]=R[7];R[4]=(word)fp;fp+=5;
-      R[9]=G(R[2],2);
-      R[10]=G(R[1],6);
-      R[11]=G(R[1],7);
-      *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[11];fp[3]=R[10];fp[2]=R[3];R[3]=(word)fp;fp+=5;
-      R[5]=G(R[1],5);
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 385:
-    if(acc==4){
-      if(R[4]==INULL){
-        R[4]=IFALSE;
-        R[8]=R[3];
-        R[3]=R[4];R[5]=R[4];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[7]=G(R[2],2);
-        R[8]=G(R[1],2);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[6];fp[5]=R[3];fp[4]=R[5];fp[3]=R[8];fp[2]=R[4];R[3]=(word)fp;fp+=7;
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 386:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[9];fp[6]=R[8];fp[5]=R[3];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[10]=(word)fp;fp+=8;
-      R[5]=128*0+258;
-      R[8]=R[4];
-      R[4]=R[3];R[3]=R[10];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 387:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      if(R[3]==R[4]){
-        R[5]=G(R[2],3);
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],4);
-        R[4]=G(R[1],5);
-        R[10]=G(R[1],6);
-        R[11]=G(R[1],7);
-        *fp=make_header(8,TCLOS);fp[1]=G(R[2],4);fp[7]=R[11];fp[6]=R[10];fp[5]=R[4];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=8;
-        R[13]=128*2+258;
-        R[8]=R[5];R[5]=R[13];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[5]=G(R[2],5);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        R[9]=G(R[1],7);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],6);fp[5]=R[9];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-        R[4]=G(R[1],2);
-        ob=(word*)R[5];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 388:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      if(R[3]==R[4]){
-        R[5]=G(R[2],2);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=5;
-        R[4]=G(R[1],2);
-        ob=(word*)R[5];acc=2;
-      }else{
-        R[5]=G(R[2],2);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        R[9]=G(R[1],7);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],4);fp[5]=R[9];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-        R[4]=G(R[1],2);
-        ob=(word*)R[5];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 389:
-    if(acc==2){
-      if(R[4]==IFALSE){
-        ob=(word*)R[3];R[3]=R[4];acc=1;
-      }else{
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=INULL;
-        R[9]=R[5];
-        R[10]=R[6];R[6]=R[4];
-        R[5]=R[7];R[4]=R[10];
-        ob=(word*)R[9];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 390:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-      R[5]=128*0+258;
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 391:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      if(R[3]==R[4]){
-        R[5]=G(R[1],2);
-        {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[6]=ob[1];R[7]=ob[2];}
-        R[8]=G(R[1],3);
-        if(R[8]==INULL){
-          R[9]=G(R[2],3);
-          R[3]=G(R[1],4);
-          R[4]=R[5];R[5]=R[8];
-          ob=(word*)R[9];acc=3;
-        }else{
-          R[9]=G(R[2],4);
-          R[10]=G(R[1],4);
-          *fp=make_header(6,TCLOS);fp[1]=G(R[2],5);fp[5]=R[10];fp[4]=R[8];fp[3]=R[7];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-          R[4]=R[8];
-          ob=(word*)R[9];acc=2;
-        }
-      }else{
-        R[5]=G(R[2],3);
-        R[6]=G(R[1],4);
-        R[4]=G(R[1],2);
-        R[8]=G(R[1],3);
-        R[9]=R[5];
-        R[3]=R[6];R[5]=R[8];
-        ob=(word*)R[9];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 392:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[9]=(word)fp;fp+=7;
-      R[5]=128*0+258;
-      R[8]=R[4];
-      R[4]=R[3];R[3]=R[9];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 393:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      if(R[3]==R[4]){
-        R[5]=G(R[1],3);
-        {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[6]=ob[1];R[7]=ob[2];}
-        R[8]=G(R[2],3);
-        R[9]=G(R[1],5);
-        R[10]=G(R[1],6);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],4);fp[3]=R[10];fp[2]=R[9];R[3]=(word)fp;fp+=4;
-        R[4]=G(R[1],4);
-        R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[5]=G(R[2],5);
-        R[6]=G(R[1],6);
-        R[4]=G(R[1],2);
-        R[8]=G(R[1],5);
-        R[9]=R[5];
-        R[3]=R[6];R[5]=R[8];
-        ob=(word*)R[9];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 394:
-    if(acc==1){
-      R[4]=G(R[2],4);
-      *fp=make_header(3,2);fp[1]=R[4];fp[2]=R[3];R[5]=(word)fp;fp+=3;
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],3);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[7];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-      R[4]=G(R[1],2);
-      ob=(word*)R[6];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 395:
-    if(acc==4){
-      if(R[5]==INULL){
-        R[7]=R[3];
-        R[3]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[7]=G(R[1],2);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[3];fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-        R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 396:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],5);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],5);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[7]=R[4];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 397:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],5);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],2);fp[4]=R[6];fp[3]=R[4];fp[2]=R[5];R[7]=(word)fp;fp+=5;
-      R[8]=G(R[1],2);
-      R[5]=R[3];R[6]=R[4];
-      R[3]=R[7];R[4]=R[8];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 398:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[4];fp[3]=R[6];fp[2]=R[3];R[3]=(word)fp;fp+=6;
-      R[4]=G(R[1],2);
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 399:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        *fp=make_header(3,TCLOS);fp[1]=G(R[2],3);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-        R[7]=G(R[2],4);
-        R[5]=G(R[1],2);
-        R[9]=R[4];
-        R[3]=R[6];R[4]=R[7];
-        ob=(word*)R[9];acc=3;
-      }else{
-        R[4]=G(R[2],5);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],6);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[9]=128*0+258;
-        R[10]=R[4];
-        R[4]=R[5];R[5]=R[9];
-        ob=(word*)R[10];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 400:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      if(R[3]==R[4]){
-        R[5]=G(R[1],2);
-        {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[6]=ob[1];R[7]=ob[2];}
-        R[8]=G(R[1],4);
-        R[3]=G(R[1],3);
-        R[4]=R[5];
-        ob=(word*)R[8];acc=2;
-      }else{
-        R[5]=G(R[2],3);
-        if(R[3]==R[5]){
-          R[6]=G(R[1],2);
-          {word*ob=(word*)R[6];hval hdr;assert(allocp(R[6]),R[6],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=4,ob,IFALSE);
-R[7]=ob[1];R[8]=ob[2];R[9]=ob[3];}
-          R[10]=G(R[2],4);
-          R[11]=G(R[1],4);
-          *fp=make_header(4,TCLOS);fp[1]=G(R[2],5);fp[3]=R[11];fp[2]=R[9];R[3]=(word)fp;fp+=4;
-          R[4]=G(R[1],3);
-          R[5]=R[8];
-          ob=(word*)R[10];acc=3;
-        }else{
-          R[6]=G(R[2],6);
-          if(R[3]==R[6]){
-            R[7]=G(R[1],2);
-            {word*ob=(word*)R[7];hval hdr;assert(allocp(R[7]),R[7],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=4,ob,IFALSE);
-R[8]=ob[1];R[9]=ob[2];R[10]=ob[3];}
-            R[11]=G(R[2],4);
-            R[12]=G(R[1],4);
-            *fp=make_header(4,TCLOS);fp[1]=G(R[2],7);fp[3]=R[12];fp[2]=R[10];R[3]=(word)fp;fp+=4;
-            R[4]=G(R[1],3);
-            R[5]=R[9];
-            ob=(word*)R[11];acc=3;
-          }else{
-            R[7]=G(R[2],8);
-            if(R[3]==R[7]){
-              R[8]=G(R[1],2);
-              {word*ob=(word*)R[8];hval hdr;assert(allocp(R[8]),R[8],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[9]=ob[1];R[10]=ob[2];}
-              R[11]=G(R[2],4);
-              R[12]=G(R[1],4);
-              *fp=make_header(3,TCLOS);fp[1]=G(R[2],9);fp[2]=R[12];R[3]=(word)fp;fp+=3;
-              R[4]=G(R[1],3);
-              R[5]=R[10];
-              ob=(word*)R[11];acc=3;
-            }else{
-              R[8]=G(R[2],10);
-              R[9]=G(R[1],4);
-              *fp=make_header(3,TCLOS);fp[1]=G(R[2],11);fp[2]=R[9];R[3]=(word)fp;fp+=3;
-              R[4]=G(R[2],12);
-              R[5]=G(R[1],2);
-              ob=(word*)R[8];acc=3;
-            }
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 401:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      *fp=make_header(3,2);fp[1]=R[5];fp[2]=R[4];R[4]=(word)fp;fp+=3;
-      R[7]=G(R[1],2);
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 402:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[4];R[7]=(word)fp;fp+=4;
-      R[4]=G(R[2],4);
-      R[6]=G(R[1],2);
-      R[10]=R[5];
-      R[5]=R[3];R[3]=R[7];
-      ob=(word*)R[10];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 403:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      *fp=make_header(4,2);fp[1]=R[5];fp[2]=R[6];fp[3]=R[4];R[4]=(word)fp;fp+=4;
-      R[8]=G(R[1],3);
-      ob=(word*)R[8];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 404:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=128*252+258;
-      R[7]=R[4];
-      R[3]=R[5];R[4]=R[6];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 405:
-    if(acc==5){
-      if(R[6]==INULL){
-        R[7]=R[3];
-        R[3]=R[5];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[8]=G(R[1],2);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[1],3);fp[6]=R[3];fp[5]=R[7];fp[4]=R[4];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-        R[4]=R[6];
-        ob=(word*)R[8];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 406:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],2);fp[5]=R[7];fp[4]=R[6];fp[3]=R[4];fp[2]=R[5];R[8]=(word)fp;fp+=6;
-      R[9]=G(R[1],2);
-      R[10]=R[4];R[5]=R[3];
-      R[3]=R[8];R[4]=R[9];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 407:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[4];fp[4]=R[7];fp[3]=R[6];fp[2]=R[3];R[3]=(word)fp;fp+=7;
-      R[4]=G(R[1],2);
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 408:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],6);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],2);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[8]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[6]=R[3];R[3]=R[7];
-      R[7]=R[4];R[4]=R[8];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 409:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        R[8]=G(R[1],2);
-        R[9]=R[4];R[4]=R[8];
-        ob=(word*)R[9];acc=3;
-      }else{
-        R[4]=G(R[1],4);
-        R[5]=G(R[1],2);
-        R[7]=R[4];
-        R[4]=R[3];R[3]=R[5];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 410:
-    if(acc==3){
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],2);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 411:
-    if(acc==4){
-      if(R[5]==INULL){
-        R[7]=G(R[2],2);
-        R[5]=INULL;
-        R[6]=G(R[1],2);
-        ob=(word*)R[7];acc=4;
-      }else{
-        R[7]=G(R[2],3);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],4);fp[5]=R[3];fp[4]=R[4];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 412:
-    if(acc==4){
-      if(R[4]==IFALSE){
-        R[7]=IFALSE;
-        ob=(word*)R[3];R[3]=R[7];acc=1;
-      }else{
-        if(R[5]==INULL){
-          R[7]=G(R[1],2);
-          R[5]=INULL;
-          R[6]=IFALSE;
-          ob=(word*)R[7];acc=4;
-        }else{
-          R[7]=G(R[1],3);
-          *fp=make_header(6,TCLOS);fp[1]=G(R[1],4);fp[5]=R[6];fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-          R[4]=R[5];
-          ob=(word*)R[7];acc=2;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 413:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[8]=(word)fp;fp+=5;
-      R[9]=G(R[1],2);
-      R[6]=IFALSE;
-      R[11]=R[4];R[5]=R[3];
-      R[3]=R[8];R[4]=R[9];
-      ob=(word*)R[11];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 414:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=IFALSE;
-      R[11]=R[5];R[5]=R[4];
-      R[4]=R[6];R[6]=R[7];
-      R[7]=R[8];R[8]=R[9];
-      ob=(word*)R[11];acc=6;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 415:
-    if(acc==3){
-      if(R[4]==IFALSE){
-        ob=(word*)R[3];R[3]=R[5];acc=1;
-      }else{
-        R[6]=G(R[1],2);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-        R[8]=128*0+258;
-        R[4]=R[5];R[5]=R[8];
-        ob=(word*)R[6];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 416:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      if(R[3]==R[4]){
-        R[5]=G(R[1],3);
-        {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[6]=ob[1];R[7]=ob[2];}
-        R[8]=G(R[2],3);
-        R[9]=G(R[1],4);
-        *fp=make_header(3,TCLOS);fp[1]=G(R[2],4);fp[2]=R[9];R[3]=(word)fp;fp+=3;
-        R[4]=G(R[1],2);
-        R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[5]=G(R[1],2);
-        *fp=make_header(3,2);fp[1]=R[4];fp[2]=R[5];R[6]=(word)fp;fp+=3;
-        R[7]=G(R[2],3);
-        R[8]=G(R[1],4);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],5);fp[3]=R[8];fp[2]=R[6];R[3]=(word)fp;fp+=4;
-        R[4]=G(R[1],3);
-        R[5]=INULL;
-        ob=(word*)R[7];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 417:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      *fp=make_header(3,2);fp[1]=R[7];fp[2]=R[6];R[6]=(word)fp;fp+=3;
-      R[9]=G(R[1],2);
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 418:
-    if(acc==2){
-      R[5]=128*66+258;
-      if(R[4]==R[5]){
-        R[6]=IFALSE;
-        ob=(word*)R[3];R[3]=R[6];acc=1;
-      }else{
-        R[6]=128*118+258;
-        if(R[4]==R[6]){
-          R[7]=IFALSE;
-          ob=(word*)R[3];R[3]=R[7];acc=1;
-        }else{
-          R[7]=ITRUE;
-          ob=(word*)R[3];R[3]=R[7];acc=1;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 419:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[6];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[4]=128*118+258;
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 420:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      R[9]=G(R[1],3);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[4]=128*122+258;
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 421:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      *fp=make_header(3,2);fp[1]=R[7];fp[2]=R[8];R[6]=(word)fp;fp+=3;
-      R[10]=G(R[1],3);
-      ob=(word*)R[10];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 422:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      R[9]=G(R[1],3);
-      R[10]=G(R[1],4);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=8;
-      R[4]=G(R[2],4);
-      R[5]=G(R[2],5);
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 423:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[4]=128*122+258;
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 424:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[6];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[4]=128*122+258;
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 425:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      *fp=make_header(5,TPROC);fp[1]=G(R[2],2);fp[4]=R[9];fp[3]=R[8];fp[2]=R[7];R[10]=(word)fp;fp+=5;
-      R[9]=R[3];
-      R[3]=R[4];R[4]=R[5];
-      R[5]=R[6];R[6]=R[10];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 426:
-    if(acc==4){
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],2);
-      *fp=make_header(4,2);fp[1]=R[6];fp[2]=R[7];fp[3]=R[8];R[6]=(word)fp;fp+=4;
-      R[10]=G(R[1],4);
-      ob=(word*)R[10];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 427:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      R[9]=G(R[1],3);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[4]=IFALSE;
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 428:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[6];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[4]=128*120+258;
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 429:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      R[8]=G(R[1],3);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[3];fp[4]=R[4];fp[3]=R[5];fp[2]=R[7];R[9]=(word)fp;fp+=7;
-      if(R[6]==IFALSE){
-        R[3]=R[6];
-        ob=(word*)R[9];acc=1;
-      }else{
-        R[10]=G(R[2],2);
-        R[4]=R[6];R[3]=R[9];
-        ob=(word*)R[10];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 430:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[6];fp[5]=R[8];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],4);fp[2]=R[8];R[4]=(word)fp;fp+=3;
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 431:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[4]=128*182+258;
-      R[5]=R[6];
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 432:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      R[9]=G(R[1],3);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[9];fp[6]=R[6];fp[5]=R[8];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=8;
-      R[4]=R[8];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 433:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],4);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[3];fp[4]=R[4];fp[3]=R[5];fp[2]=R[8];R[3]=(word)fp;fp+=7;
-      R[4]=G(R[1],2);
-      R[5]=INULL;
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 434:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[4];R[6]=(word)fp;fp+=4;
-      R[7]=128*190+258;
-      R[8]=R[5];
-      R[3]=R[6];R[5]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 435:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        R[8]=128*126+258;
-        R[9]=R[4];
-        R[4]=R[5];R[5]=R[8];
-        ob=(word*)R[9];acc=3;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],2);
-        R[7]=128*244+258;
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 436:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        R[8]=128*92+258;
-        R[9]=R[4];
-        R[4]=R[5];R[5]=R[8];
-        ob=(word*)R[9];acc=3;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],2);
-        R[7]=128*180+258;
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 437:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],3);
-        R[3]=IFALSE;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],2);
-        R[7]=128*114+258;
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 438:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],3);
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[4]=G(R[2],3);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],4);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 439:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[3];fp[4]=R[6];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[4]=R[6];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 440:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[7]=(word)fp;fp+=5;
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],2);
-      R[10]=R[4];
-      R[11]=R[7];R[7]=R[3];
-      R[6]=R[5];R[4]=R[8];
-      R[5]=R[9];R[3]=R[11];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 441:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[4];fp[3]=R[7];fp[2]=R[6];R[9]=(word)fp;fp+=6;
-      R[8]=R[5];R[5]=R[4];
-      R[4]=R[3];R[3]=R[9];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 442:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[4];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[9]=(word)fp;fp+=6;
-      R[10]=G(R[1],2);
-      R[8]=R[5];R[4]=R[3];
-      R[3]=R[9];R[5]=R[10];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 443:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[3];fp[2]=R[6];R[3]=(word)fp;fp+=5;
-      R[9]=G(R[1],2);
-      R[10]=G(R[1],5);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],4);fp[2]=R[10];R[6]=(word)fp;fp+=3;
-      R[10]=R[5];
-      R[5]=R[4];R[4]=R[9];
-      ob=(word*)R[10];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 444:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[8]=R[5];
-      R[5]=R[4];R[4]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 445:
-    if(acc==6){
-      R[9]=G(R[1],2);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[1],3);fp[7]=R[8];fp[6]=R[3];fp[5]=R[6];fp[4]=R[7];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=8;
-      R[4]=R[5];
-      ob=(word*)R[9];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 446:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[11]=(word)fp;fp+=8;
-      R[5]=128*18+258;
-      R[8]=R[4];
-      R[4]=R[3];R[3]=R[11];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 447:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],6);
-        R[8]=G(R[1],5);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[10]=G(R[1],2);
-        R[5]=128*38+258;
-        R[8]=R[4];R[4]=R[10];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        R[9]=G(R[1],7);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],4);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-        R[11]=G(R[1],2);
-        R[8]=R[4];
-        R[5]=R[6];R[4]=R[11];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 448:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[10];fp[7]=R[9];fp[6]=R[3];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=9;
-      R[4]=R[6];
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 449:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=9;
-      R[5]=G(R[1],2);
-      R[8]=R[4];R[4]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 450:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=9;
-      R[12]=G(R[1],2);
-      R[7]=R[4];R[4]=R[12];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 451:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[4];fp[3]=R[3];fp[2]=R[6];R[3]=(word)fp;fp+=8;
-      R[11]=128*18+258;
-      R[8]=R[5];R[5]=R[11];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 452:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],6);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],5);
-        R[7]=R[4];
-        R[3]=R[5];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],6);
-        R[8]=G(R[1],7);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[10]=G(R[1],3);
-        R[5]=G(R[1],2);
-        R[8]=R[4];R[4]=R[10];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 453:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[9];fp[6]=R[4];fp[5]=R[8];fp[4]=R[3];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=8;
-      R[8]=R[5];
-      R[5]=R[4];R[4]=R[9];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 454:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[11]=128*0+258;
-      R[5]=G(R[1],2);
-      R[8]=R[4];R[4]=R[11];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 455:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[8]=G(R[1],2);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],4);fp[3]=R[10];fp[2]=R[9];R[6]=(word)fp;fp+=4;
-      R[9]=R[4];R[5]=R[3];
-      R[3]=R[7];R[4]=R[8];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 456:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[3];fp[2]=R[4];R[6]=(word)fp;fp+=4;
-      R[4]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[9]=R[5];
-      R[3]=R[6];R[5]=R[8];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 457:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[8]=(word)fp;fp+=6;
-      R[5]=128*4+258;
-      R[10]=R[4];
-      R[4]=R[3];R[3]=R[8];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 458:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[5]=128*4+258;
-        R[8]=R[4];R[4]=R[6];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[4]=G(R[1],5);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],4);
-        R[7]=R[4];
-        R[3]=R[5];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 459:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[8]=(word)fp;fp+=5;
-      R[9]=G(R[1],2);
-      R[5]=128*2+258;
-      R[11]=R[4];R[6]=R[3];
-      R[3]=R[8];R[4]=R[9];
-      ob=(word*)R[11];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 460:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[4];R[9]=(word)fp;fp+=6;
-      R[10]=128*18+258;
-      R[8]=R[5];R[4]=R[3];
-      R[3]=R[9];R[5]=R[10];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 461:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[3];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-      R[10]=G(R[1],2);
-      R[8]=R[5];
-      R[5]=R[4];R[4]=R[10];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 462:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=6;
-      R[10]=128*2+258;
-      R[8]=R[4];R[5]=R[3];
-      R[3]=R[9];R[4]=R[10];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 463:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[3];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[8]=R[4];R[4]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 464:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=7;
-      R[8]=R[4];R[4]=R[3];
-      R[5]=R[6];R[3]=R[9];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 465:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-      R[4]=G(R[1],3);
-      R[10]=G(R[1],2);
-      R[11]=R[5];R[5]=R[10];
-      ob=(word*)R[11];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 466:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[8]=(word)fp;fp+=6;
-      R[5]=128*2+258;
-      R[10]=R[4];
-      R[4]=R[3];R[3]=R[8];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 467:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[9]=G(R[1],2);
-        R[5]=128*0+258;
-        R[11]=R[4];R[4]=R[9];
-        ob=(word*)R[11];acc=3;
-      }else{
-        R[4]=G(R[1],5);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=R[4];
-        R[3]=R[5];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 468:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[4];R[8]=(word)fp;fp+=5;
-      R[9]=128*18+258;
-      R[10]=R[5];R[4]=R[3];
-      R[3]=R[8];R[5]=R[9];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 469:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[3];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-      R[10]=128*2+258;
-      R[8]=R[5];R[5]=R[10];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 470:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[8]=G(R[1],3);
-      R[5]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],4);fp[2]=R[3];R[6]=(word)fp;fp+=3;
-      R[11]=R[4];
-      R[3]=R[7];R[4]=R[8];
-      ob=(word*)R[11];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 471:
-    if(acc==2){
-      if(R[4]==INULL){
-        ob=(word*)R[3];R[3]=R[4];acc=1;
-      }else{
-        R[5]=G(R[2],2);
-        R[6]=G(R[1],2);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[3];fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-        ob=(word*)R[5];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 472:
-    if(acc==5){
-      if(R[5]==F(0)){
-        ob=(word*)R[3];R[3]=R[6];acc=1;
-      }else{
-        R[8]=G(R[1],2);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[7];fp[4]=R[3];fp[3]=R[4];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-        R[10]=128*0+258;
-        R[4]=R[5];R[5]=R[10];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 473:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=6;
-      R[9]=G(R[1],2);
-      R[10]=R[4];
-      R[4]=R[5];R[5]=R[9];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 474:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[3];R[7]=(word)fp;fp+=4;
-      R[8]=G(R[1],2);
-      R[6]=G(R[2],4);
-      R[10]=R[5];R[5]=R[4];
-      R[3]=R[7];R[4]=R[8];
-      ob=(word*)R[10];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 475:
-    if(acc==2){
-      if(R[4]==INULL){
-        ob=(word*)R[3];R[3]=R[4];acc=1;
-      }else{
-        R[5]=G(R[1],2);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-        ob=(word*)R[5];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 476:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[8]=(word)fp;fp+=6;
-      R[5]=F(0);
-      R[10]=R[4];
-      R[4]=R[3];R[3]=R[8];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 477:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[9]=G(R[1],2);
-        R[10]=R[4];R[4]=R[9];
-        ob=(word*)R[10];acc=3;
-      }else{
-        R[4]=G(R[1],5);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],4);
-        R[7]=R[4];
-        R[3]=R[5];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 478:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[4];fp[2]=R[3];R[3]=(word)fp;fp+=6;
-      R[9]=G(R[1],2);
-      R[10]=R[5];
-      R[5]=R[4];R[4]=R[9];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 479:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],4);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[6];fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-      R[4]=G(R[1],3);
-      R[9]=G(R[1],2);
-      R[10]=R[5];R[5]=R[9];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 480:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[3];R[3]=(word)fp;fp+=5;
-      R[9]=G(R[1],2);
-      R[10]=R[5];R[5]=R[9];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 481:
-    if(acc==3){
-      if(R[5]==INULL){
-        R[7]=R[3];
-        R[3]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[6]=G(R[1],2);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-        R[4]=R[5];
-        ob=(word*)R[6];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 482:
-    if(acc==5){
-      if(R[5]==F(0)){
-        ob=(word*)R[6];acc=2;
-      }else{
-        R[8]=128*0+258;
-        {hval r=immval(R[5])-immval(R[8]);R[10]=F(r>>FBITS&1);R[9]=F(r);}
-        R[11]=G(R[1],2);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[1],3);fp[6]=R[3];fp[5]=R[7];fp[4]=R[9];fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=7;
-        ob=(word*)R[11];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 483:
-    if(acc==5){
-      R[8]=G(R[2],2);
-      R[9]=G(R[1],3);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[3];fp[5]=R[5];fp[4]=R[6];fp[3]=R[7];fp[2]=R[9];R[3]=(word)fp;fp+=7;
-      R[5]=G(R[1],2);
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 484:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      *fp=make_header(7,TPROC);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[3];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=7;
-      R[11]=G(R[1],2);
-      R[8]=R[5];
-      R[5]=R[4];R[4]=R[11];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 485:
-    if(acc==1){
-      R[4]=G(R[1],6);
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[10]=R[3];R[3]=R[4];
-      R[4]=R[5];R[5]=R[6];
-      R[6]=R[7];R[7]=R[8];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 486:
-    if(acc==5){
-      R[8]=G(R[1],2);
-      R[9]=128*0+258;
-      R[12]=R[9];R[13]=R[5];
-      R[5]=R[4];R[9]=R[8];
-      R[8]=R[12];R[4]=R[13];
-      ob=(word*)R[9];acc=7;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 487:
-    if(acc==7){
-      R[10]=G(R[1],2);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[1],3);fp[7]=R[9];fp[6]=R[3];fp[5]=R[8];fp[4]=R[5];fp[3]=R[6];fp[2]=R[7];R[3]=(word)fp;fp+=8;
-      R[5]=G(R[1],4);
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 488:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[11]=(word)fp;fp+=9;
-      if(R[4]==IFALSE){
-        R[12]=G(R[2],2);
-        R[5]=128*2+258;
-        R[4]=R[8];R[3]=R[11];
-        ob=(word*)R[12];acc=3;
-      }else{
-        R[3]=R[4];
-        ob=(word*)R[11];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 489:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],4);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],2);
-        *fp=make_header(4,2);fp[1]=R[4];fp[2]=R[5];fp[3]=R[6];R[4]=(word)fp;fp+=4;
-        R[8]=G(R[2],2);
-        R[9]=G(R[1],5);
-        R[10]=G(R[1],7);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[10];fp[2]=R[9];R[3]=(word)fp;fp+=4;
-        R[5]=INULL;
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[4]=G(R[1],3);
-        R[5]=G(R[1],6);
-        R[6]=G(R[1],7);
-        R[7]=G(R[1],8);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],4);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[9]=G(R[1],4);
-        R[5]=G(R[1],5);
-        R[6]=G(R[1],2);
-        R[12]=R[4];R[4]=R[9];
-        ob=(word*)R[12];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 490:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],4);
-      *fp=make_header(8,TPROC);fp[1]=G(R[2],3);fp[7]=R[9];fp[6]=R[8];fp[5]=R[4];fp[4]=R[5];fp[3]=R[3];fp[2]=R[6];R[3]=(word)fp;fp+=8;
-      R[4]=G(R[1],2);
-      R[5]=128*0+258;
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 491:
-    if(acc==6){
-      R[9]=G(R[1],2);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[1],3);fp[6]=R[8];fp[5]=R[3];fp[4]=R[4];fp[3]=R[5];fp[2]=R[6];R[3]=(word)fp;fp+=7;
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[4]=R[7];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 492:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[9]=G(R[1],6);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],3);fp[2]=R[9];R[10]=(word)fp;fp+=3;
-      R[11]=R[4];R[12]=R[5];
-      R[5]=R[7];R[7]=R[3];
-      R[4]=R[6];R[6]=R[8];
-      R[8]=R[10];R[3]=R[12];
-      ob=(word*)R[11];acc=6;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 493:
-    if(acc==5){
-      R[8]=G(R[2],2);
-      R[9]=G(R[1],2);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[3];fp[5]=R[4];fp[4]=R[6];fp[3]=R[7];fp[2]=R[9];R[3]=(word)fp;fp+=7;
-      R[11]=G(R[2],4);
-      R[4]=R[5];R[5]=R[11];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 494:
-    if(acc==2){
-      if(R[4]==IFALSE){
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],3);
-        *fp=make_header(4,2);fp[1]=R[3];fp[2]=R[5];fp[3]=R[6];R[4]=(word)fp;fp+=4;
-        R[8]=G(R[2],2);
-        R[9]=G(R[1],5);
-        R[10]=G(R[1],6);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[10];fp[2]=R[9];R[3]=(word)fp;fp+=4;
-        R[5]=INULL;
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],6);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],4);
-        R[9]=G(R[1],3);
-        R[4]=R[3];R[3]=R[6];
-        R[6]=R[8];R[8]=R[5];
-        R[5]=R[7];R[7]=R[9];
-        ob=(word*)R[8];acc=6;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 495:
-    if(acc==5){
-      R[8]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[3];fp[4]=R[4];fp[3]=R[5];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[4]=R[7];
-      ob=(word*)R[8];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 496:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[9]=G(R[2],3);
-      R[11]=R[4];R[12]=R[5];
-      R[5]=R[7];R[7]=R[3];
-      R[4]=R[6];R[6]=R[8];
-      R[8]=R[9];R[3]=R[12];
-      ob=(word*)R[11];acc=6;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 497:
-    if(acc==5){
-      *fp=make_header(4,2);fp[1]=R[5];fp[2]=R[6];fp[3]=R[7];R[8]=(word)fp;fp+=4;
-      R[9]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-      R[5]=INULL;
-      R[4]=R[8];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 498:
-    if(acc==6){
-      R[9]=G(R[1],2);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[1],3);fp[6]=R[8];fp[5]=R[6];fp[4]=R[7];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[5]=128*46+258;
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 499:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=8;
-      R[4]=G(R[1],2);
-      R[12]=IFALSE;
-      R[8]=R[5];R[5]=R[12];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 500:
-    if(acc==2){
-      if(R[3]==IFALSE){
-        R[5]=G(R[1],7);
-        R[6]=G(R[1],4);
-        R[7]=INULL;
-        R[8]=G(R[1],3);
-        R[9]=G(R[1],6);
-        R[10]=G(R[1],5);
-        R[11]=R[5];R[3]=R[6];
-        R[4]=R[7];R[5]=R[8];
-        R[6]=R[9];R[7]=R[10];
-        ob=(word*)R[11];acc=5;
-      }else{
-        R[5]=G(R[1],5);
-        R[6]=G(R[1],6);
-        R[7]=G(R[1],7);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],2);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[8]=(word)fp;fp+=5;
-        R[9]=G(R[1],4);
-        R[10]=G(R[1],3);
-        R[7]=G(R[1],2);
-        R[5]=R[3];R[6]=R[4];
-        R[3]=R[9];R[4]=R[10];
-        ob=(word*)R[8];acc=6;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 501:
-    if(acc==6){
-      R[9]=G(R[2],2);
-      R[10]=G(R[1],2);
-      R[11]=G(R[1],3);
-      R[12]=G(R[1],4);
-      *fp=make_header(11,TCLOS);fp[1]=G(R[2],3);fp[10]=R[8];fp[9]=R[3];fp[8]=R[4];fp[7]=R[5];fp[6]=R[7];fp[5]=R[12];fp[4]=R[11];fp[3]=R[10];fp[2]=R[6];R[3]=(word)fp;fp+=11;
-      R[4]=R[6];
-      ob=(word*)R[9];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 502:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],7);
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],6);
-        R[8]=G(R[1],10);
-        R[9]=G(R[1],3);
-        R[10]=G(R[1],4);
-        R[11]=G(R[1],9);
-        R[12]=G(R[1],5);
-        *fp=make_header(10,TCLOS);fp[1]=G(R[2],3);fp[9]=R[12];fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=10;
-        R[14]=G(R[1],8);
-        R[8]=R[4];
-        R[5]=R[7];R[4]=R[14];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[4]=G(R[1],2);
-        R[5]=G(R[1],6);
-        R[6]=G(R[1],7);
-        R[7]=G(R[1],8);
-        R[8]=G(R[1],9);
-        R[9]=G(R[1],10);
-        *fp=make_header(7,TPROC);fp[1]=G(R[2],4);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 503:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      R[11]=G(R[1],7);
-      R[12]=G(R[1],8);
-      R[13]=G(R[1],9);
-      *fp=make_header(11,TCLOS);fp[1]=G(R[2],3);fp[10]=R[13];fp[9]=R[12];fp[8]=R[11];fp[7]=R[3];fp[6]=R[10];fp[5]=R[9];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=11;
-      R[15]=F(0);
-      R[8]=R[5];R[5]=R[15];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 504:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      R[11]=G(R[1],9);
-      R[12]=G(R[1],10);
-      *fp=make_header(11,TCLOS);fp[1]=G(R[2],3);fp[10]=R[12];fp[9]=R[11];fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[13]=(word)fp;fp+=11;
-      if(R[3]==IFALSE){
-        R[14]=G(R[2],2);
-        R[4]=R[5];R[3]=R[13];
-        ob=(word*)R[14];acc=2;
-      }else{
-        ob=(word*)R[13];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 505:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      R[11]=G(R[1],9);
-      R[12]=G(R[1],10);
-      *fp=make_header(11,TCLOS);fp[1]=G(R[2],5);fp[10]=R[12];fp[9]=R[11];fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[13]=(word)fp;fp+=11;
-      if(R[3]==IFALSE){
-        R[3]=IFALSE;
-        ob=(word*)R[13];acc=1;
-      }else{
-        R[14]=G(R[2],2);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[13];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-        R[5]=G(R[2],4);
-        R[4]=R[8];
-        ob=(word*)R[14];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 506:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],3);
-        if(R[4]==INULL){
-          R[5]=G(R[2],2);
-          R[6]=G(R[1],9);
-          R[4]=G(R[1],2);
-          R[8]=INULL;
-          R[9]=R[5];
-          R[3]=R[6];R[5]=R[8];
-          ob=(word*)R[9];acc=3;
-        }else{
-          R[5]=G(R[2],2);
-          R[6]=G(R[1],9);
-          R[7]=G(R[1],2);
-          R[8]=G(R[1],4);
-          R[9]=G(R[1],7);
-          R[10]=G(R[1],5);
-          *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[10];fp[4]=R[9];fp[3]=R[8];fp[2]=R[4];R[11]=(word)fp;fp+=6;
-          R[8]=R[5];R[3]=R[6];
-          R[4]=R[7];R[5]=R[11];
-          ob=(word*)R[8];acc=3;
-        }
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],6);
-        R[6]=G(R[1],7);
-        R[7]=G(R[1],8);
-        R[8]=G(R[1],9);
-        R[9]=G(R[1],10);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],4);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-        R[11]=G(R[1],2);
-        R[5]=G(R[1],3);
-        R[8]=R[4];R[4]=R[11];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 507:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],6);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],2);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[8]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[10]=R[4];R[5]=R[3];
-      R[3]=R[7];R[4]=R[8];
-      ob=(word*)R[10];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 508:
-    if(acc==4){
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[10]=R[7];
-      R[11]=R[5];R[7]=R[6];
-      R[6]=R[3];R[5]=R[4];
-      R[3]=R[8];R[4]=R[11];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 509:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[3];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[7]=R[4];R[4]=R[5];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 510:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[10]=G(R[1],2);
-      R[7]=R[4];R[4]=R[10];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 511:
-    if(acc==5){
-      if(R[5]==F(0)){
-        R[8]=G(R[1],2);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[6];R[3]=(word)fp;fp+=4;
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[8]=128*0+258;
-        {hval r=immval(R[5])-immval(R[8]);R[10]=F(r>>FBITS&1);R[9]=F(r);}
-        R[11]=G(R[1],2);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[1],4);fp[6]=R[7];fp[5]=R[3];fp[4]=R[4];fp[3]=R[9];fp[2]=R[6];R[3]=(word)fp;fp+=7;
-        ob=(word*)R[11];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 512:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[10]=(word)fp;fp+=7;
-      R[6]=IFALSE;
-      R[9]=R[4];R[5]=R[3];
-      R[4]=R[8];R[3]=R[10];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 513:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-      R[5]=128*0+258;
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 514:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[4];R[8]=(word)fp;fp+=5;
-      R[9]=G(R[1],2);
-      R[10]=R[5];R[4]=R[3];
-      R[3]=R[8];R[5]=R[9];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 515:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-      R[9]=G(R[1],2);
-      R[10]=R[5];
-      R[4]=R[6];R[5]=R[9];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 516:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      R[8]=G(R[1],7);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=6;
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[12]=R[4];
-      R[4]=R[3];R[3]=R[9];
-      ob=(word*)R[12];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 517:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],3);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[7]=G(R[2],4);
-      R[8]=G(R[1],2);
-      R[9]=R[4];
-      R[5]=R[3];R[3]=R[6];
-      R[4]=R[7];R[6]=R[8];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 518:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-      R[8]=128*510+258;
-      R[9]=R[5];R[5]=R[8];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 519:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      R[11]=G(R[1],8);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[12]=(word)fp;fp+=9;
-      R[5]=INULL;
-      R[8]=R[4];
-      R[4]=R[3];R[3]=R[12];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 520:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],3);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[5]=128*6+258;
-      R[8]=R[4];
-      R[4]=R[3];R[3]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 521:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      R[11]=G(R[1],9);
-      *fp=make_header(10,TCLOS);fp[1]=G(R[2],3);fp[9]=R[11];fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=10;
-      R[13]=G(R[1],2);
-      R[7]=R[4];R[4]=R[13];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 522:
-    if(acc==4){
-      if(R[5]==INULL){
-        R[7]=R[3];
-        R[3]=R[4];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }else{
-        if(R[6]==INULL){
-          R[7]=R[3];
-          R[3]=R[4];R[4]=R[5];
-          ob=(word*)R[7];acc=2;
-        }else{
-          R[7]=G(R[1],2);
-          *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-          ob=(word*)R[7];acc=4;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 523:
-    if(acc==3){
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],3);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[7];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-      R[9]=G(R[1],2);
-      R[10]=R[6];R[6]=R[5];
-      R[5]=R[4];R[4]=R[9];
-      ob=(word*)R[10];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 524:
-    if(acc==3){
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[7];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 525:
-    if(acc==1){
-      R[4]=G(R[2],3);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[7]=G(R[2],2);
-      R[10]=R[6];
-      R[11]=R[5];R[5]=R[3];
-      R[6]=R[7];R[7]=R[4];
-      R[4]=R[10];R[3]=R[11];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 526:
-    if(acc==5){
-      R[8]=G(R[1],2);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[1],3);fp[6]=R[7];fp[5]=R[3];fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=7;
-      R[5]=F(0);
-      R[4]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 527:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[10]=G(R[1],2);
-        R[5]=128*14+258;
-        R[8]=R[4];R[4]=R[10];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],5);
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],3);
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 528:
-    if(acc==2){
-      if(R[4]==F(0)){
-        R[5]=G(R[2],2);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],2);
-        R[8]=R[5];R[4]=R[3];
-        R[3]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[5]=G(R[2],3);
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],4);
-        R[9]=G(R[1],5);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],4);fp[6]=R[9];fp[5]=R[8];fp[4]=R[3];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=7;
-        R[4]=G(R[2],5);
-        R[12]=INULL;
-        R[9]=R[5];R[5]=R[12];
-        ob=(word*)R[9];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 529:
-    if(acc==1){
-      if(R[3]==INULL){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],5);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],2);
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[4]=G(R[2],3);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],4);fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[9]=(word)fp;fp+=7;
-        R[7]=R[4];
-        R[4]=R[3];R[3]=R[9];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 530:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[3];fp[4]=R[4];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[4]=R[5];R[5]=R[6];
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 531:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[9]=G(R[1],2);
-        R[7]=R[4];R[4]=R[9];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],5);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],2);
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 532:
-    if(acc==3){
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[6];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[4]=R[5];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 533:
-    if(acc==6){
-      if(R[5]==INULL){
-        R[8]=R[3];R[3]=R[4];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[9]=G(R[1],2);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[1],3);fp[6]=R[8];fp[5]=R[3];fp[4]=R[6];fp[3]=R[5];fp[2]=R[7];R[3]=(word)fp;fp+=7;
-        R[5]=IFALSE;
-        ob=(word*)R[9];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 534:
-    if(acc==2){
-      R[5]=128*0+258;
-      R[6]=R[3]&R[5];
-      if(R[5]==R[6]){
-        R[7]=G(R[2],2);
-        R[8]=G(R[1],4);
-        R[9]=G(R[1],3);
-        R[10]=G(R[1],2);
-        R[11]=G(R[1],5);
-        R[12]=G(R[1],6);
-        *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[12];fp[6]=R[11];fp[5]=R[4];fp[4]=R[10];fp[3]=R[9];fp[2]=R[8];R[3]=(word)fp;fp+=8;
-        R[4]=R[9];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[7]=G(R[2],2);
-        R[8]=G(R[1],2);
-        R[9]=G(R[1],3);
-        R[10]=G(R[1],4);
-        R[11]=G(R[1],5);
-        R[12]=G(R[1],6);
-        *fp=make_header(8,TCLOS);fp[1]=G(R[2],4);fp[7]=R[12];fp[6]=R[11];fp[5]=R[4];fp[4]=R[10];fp[3]=R[9];fp[2]=R[8];R[3]=(word)fp;fp+=8;
-        R[4]=R[9];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 535:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      R[8]=G(R[1],7);
-      *fp=make_header(7,TPROC);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[10]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[8]=R[4];R[4]=R[10];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 536:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[10]=INULL;
-      R[8]=R[4];
-      R[4]=R[5];R[5]=R[10];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 537:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(7,TPROC);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=7;
-      R[10]=G(R[1],2);
-      R[5]=INULL;
-      R[8]=R[4];R[4]=R[10];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 538:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],3);fp[2]=R[3];R[6]=(word)fp;fp+=3;
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[9]=R[4];
-      R[3]=R[5];R[4]=R[6];
-      R[5]=R[7];R[6]=R[8];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 539:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[3];fp[3]=R[4];fp[2]=R[6];R[3]=(word)fp;fp+=5;
-      R[4]=G(R[1],2);
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 540:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],4);
-        R[3]=G(R[1],3);
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-        R[8]=G(R[1],2);
-        R[9]=R[4];R[5]=R[3];
-        R[3]=R[7];R[4]=R[8];
-        ob=(word*)R[9];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 541:
-    if(acc==2){
-      {word*ob=(word*)R[4];hval hdr;assert(allocp(R[4]),R[4],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[5]=ob[1];R[6]=ob[2];}
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[8];fp[2]=R[6];R[9]=(word)fp;fp+=4;
-      R[4]=R[3];R[3]=R[9];
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 542:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[4];R[7]=(word)fp;fp+=4;
-      R[8]=G(R[1],2);
-      R[9]=R[5];R[4]=R[3];
-      R[3]=R[7];R[5]=R[8];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 543:
-    if(acc==3){
-      if(R[5]==INULL){
-        ob=(word*)R[3];R[3]=R[4];acc=1;
-      }else{
-        R[6]=G(R[1],2);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[4]=R[5];
-        ob=(word*)R[6];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 544:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=6;
-      R[6]=INULL;
-      R[11]=R[4];R[5]=R[3];
-      R[4]=R[7];R[3]=R[9];
-      ob=(word*)R[11];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 545:
-    if(acc==3){
-      if(R[4]==INULL){
-        R[6]=INULL;
-        ob=(word*)R[3];R[3]=R[6];acc=1;
-      }else{
-        R[6]=G(R[1],2);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        ob=(word*)R[6];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 546:
-    if(acc==5){
-      if(R[4]==R[5]){
-        ob=(word*)R[3];R[3]=R[6];acc=1;
-      }else{
-        R[8]=G(R[1],2);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[1],3);fp[6]=R[3];fp[5]=R[7];fp[4]=R[5];fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=7;
-        ob=(word*)R[8];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 547:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-      R[5]=128*22+258;
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 548:
-    if(acc==2){
-      if(R[4]==F(0)){
-        R[5]=G(R[2],2);
-        R[6]=G(R[1],3);
-        *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-        R[4]=G(R[1],2);
-        R[9]=128*0+258;
-        R[10]=R[5];R[5]=R[9];
-        ob=(word*)R[10];acc=3;
-      }else{
-        R[5]=128*0+258;
-        if(R[4]==R[5]){
-          R[6]=G(R[2],4);
-          R[7]=G(R[1],3);
-          *fp=make_header(4,TPROC);fp[1]=G(R[2],5);fp[3]=R[7];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-          R[4]=G(R[1],2);
-          ob=(word*)R[6];acc=3;
-        }else{
-          R[6]=128*2+258;
-          if(R[4]==R[6]){
-            R[7]=G(R[1],3);
-            R[4]=F(0);
-            ob=(word*)R[7];acc=2;
-          }else{
-            R[7]=128*4+258;
-            if(R[4]==R[7]){
-              R[8]=G(R[1],3);
-              R[4]=R[5];
-              ob=(word*)R[8];acc=2;
-            }else{
-              R[8]=128*6+258;
-              if(R[4]==R[8]){
-                R[9]=G(R[2],6);
-                R[10]=G(R[1],3);
-                R[5]=G(R[2],7);
-                R[4]=R[3];R[3]=R[10];
-                ob=(word*)R[9];acc=3;
-              }else{
-                R[9]=128*8+258;
-                if(R[4]==R[9]){
-                  R[10]=G(R[2],6);
-                  R[11]=G(R[1],3);
-                  R[5]=G(R[2],7);
-                  R[4]=R[3];R[3]=R[11];
-                  ob=(word*)R[10];acc=3;
-                }else{
-                  R[10]=128*10+258;
-                  if(R[4]==R[10]){
-                    R[11]=G(R[2],6);
-                    R[12]=G(R[1],3);
-                    R[5]=G(R[2],7);
-                    R[4]=R[3];R[3]=R[12];
-                    ob=(word*)R[11];acc=3;
-                  }else{
-                    R[11]=128*12+258;
-                    if(R[4]==R[11]){
-                      R[12]=G(R[2],6);
-                      R[13]=G(R[1],2);
-                      R[14]=G(R[1],3);
-                      *fp=make_header(4,TCLOS);fp[1]=G(R[2],8);fp[3]=R[14];fp[2]=R[13];R[15]=(word)fp;fp+=4;
-                      R[5]=G(R[2],7);
-                      R[4]=R[3];R[3]=R[15];
-                      ob=(word*)R[12];acc=3;
-                    }else{
-                      R[12]=128*14+258;
-                      if(R[4]==R[12]){
-                        R[13]=G(R[2],6);
-                        R[14]=G(R[1],2);
-                        R[15]=G(R[1],3);
-                        *fp=make_header(4,TCLOS);fp[1]=G(R[2],9);fp[3]=R[15];fp[2]=R[14];R[16]=(word)fp;fp+=4;
-                        R[5]=G(R[2],7);
-                        R[4]=R[3];R[3]=R[16];
-                        ob=(word*)R[13];acc=3;
-                      }else{
-                        R[13]=128*16+258;
-                        if(R[4]==R[13]){
-                          R[14]=G(R[2],10);
-                          R[4]=G(R[1],2);
-                          R[16]=G(R[1],3);
-                          *fp=make_header(5,TCLOS);fp[1]=G(R[2],11);fp[4]=R[16];fp[3]=R[4];fp[2]=R[3];R[3]=(word)fp;fp+=5;
-                          R[5]=R[6];
-                          ob=(word*)R[14];acc=3;
-                        }else{
-                          R[14]=G(R[2],12);
-                          R[15]=G(R[1],2);
-                          R[16]=G(R[1],3);
-                          *fp=make_header(4,TCLOS);fp[1]=G(R[2],13);fp[3]=R[16];fp[2]=R[15];R[17]=(word)fp;fp+=4;
-                          R[6]=128*256+258;
-                          R[4]=R[3];R[3]=R[17];
-                          ob=(word*)R[14];acc=4;
-                        }
-                      }
-                    }
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 549:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[7];fp[2]=R[6];R[8]=(word)fp;fp+=4;
-      R[9]=R[5];R[5]=R[4];
-      R[4]=R[3];R[3]=R[8];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 550:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[4];R[8]=(word)fp;fp+=5;
-      R[9]=128*4+258;
-      R[10]=R[5];R[4]=R[3];
-      R[3]=R[8];R[5]=R[9];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 551:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],4);fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[8]=(word)fp;fp+=6;
-      if(R[4]==F(0)){
-        R[3]=G(R[2],2);
-        ob=(word*)R[8];acc=1;
-      }else{
-        R[3]=G(R[2],3);
-        ob=(word*)R[8];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 552:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],5);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],2);fp[3]=R[5];fp[2]=R[4];R[6]=(word)fp;fp+=4;
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[9]=R[3];R[3]=R[6];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 553:
-    if(acc==3){
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],4);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[7]=G(R[1],2);
-      *fp=make_header(5,TPROC);fp[1]=G(R[1],3);fp[4]=R[6];fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 554:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[3];fp[5]=R[8];fp[4]=R[6];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[5]=G(R[2],4);
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 555:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],6);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[10]=G(R[2],4);
-        R[8]=R[4];
-        R[4]=R[5];R[5]=R[10];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[4]=G(R[2],5);
-        R[5]=G(R[1],5);
-        R[6]=G(R[1],6);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],6);fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        R[8]=G(R[1],2);
-        R[9]=R[4];R[4]=R[8];
-        ob=(word*)R[9];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 556:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[3];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 557:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[9]=(word)fp;fp+=7;
-      R[8]=R[4];R[5]=R[3];
-      R[4]=R[6];R[3]=R[9];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 558:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[10]=G(R[1],2);
-        R[7]=R[4];R[4]=R[10];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],5);
-        R[6]=G(R[1],2);
-        R[7]=R[4];
-        R[3]=R[5];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 559:
-    if(acc==4){
-      if(R[5]==F(0)){
-        R[7]=IFALSE;
-        ob=(word*)R[3];R[3]=R[7];acc=1;
-      }else{
-        if(R[4]==INULL){
-          R[7]=ITRUE;
-          ob=(word*)R[3];R[3]=R[7];acc=1;
-        }else{
-          R[7]=G(R[1],2);
-          *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-          ob=(word*)R[7];acc=2;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 560:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],2);
-        R[8]=128*0+258;
-        R[9]=R[4];
-        R[3]=R[5];R[4]=R[6];
-        R[5]=R[7];R[6]=R[8];
-        ob=(word*)R[9];acc=4;
-      }else{
-        R[4]=G(R[2],3);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],4);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[8]=(word)fp;fp+=5;
-        R[5]=128*0+258;
-        R[10]=R[4];
-        R[4]=R[3];R[3]=R[8];
-        ob=(word*)R[10];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 561:
-    R[5]=G(R[4],0);
-    ob=(word*)R[3];R[3]=R[5];acc=1;
-     break;
-   case 562:
-    if(acc==2){
-      assert(pairp(R[4]),R[4],105);R[5]=G(R[4],1);
-      ob=(word*)R[3];R[3]=R[5];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 563:
-    R[5]=G(R[4],0);
-    ob=(word*)R[3];R[3]=R[5];acc=1;
-     break;
-   case 564:
-    if(acc==3){
-      R[6]=prim_ref(R[4],R[5]);
-      ob=(word*)R[3];R[3]=R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 565:
-    if(acc==3){
-      R[6]=R[4]^(FMAX<<IPOS&R[5]);
-      ob=(word*)R[3];R[3]=R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 566:
-    if(acc==3){
-      R[6]=BOOL(R[4]==R[5]);
-      ob=(word*)R[3];R[3]=R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 567:
-    if(acc==3){
-      R[6]=prim_lraw(R[4],R[5]);      ob=(word*)R[3];R[3]=R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 568:
-    if(acc==3){
-      R[6]=cons(R[4],R[5]);
-      ob=(word*)R[3];R[3]=R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 569:
-    if(acc==2){
-      assert(pairp(R[4]),R[4],169);R[5]=G(R[4],2);
-      ob=(word*)R[3];R[3]=R[5];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 570:
-    if(acc==2){
-      assert(pairp(R[4]),R[4],105);R[5]=G(R[4],1);
-      ob=(word*)R[3];R[3]=R[5];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 571:
-    if(acc==3){
-      R[6]=R[4]^(FMAX<<IPOS&R[5]);
-      ob=(word*)R[3];R[3]=R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 572:
-    if(acc==5){
-      R[8]=G(R[2],2);
-      R[9]=G(R[1],2);
-      R[10]=G(R[1],3);
-      R[11]=G(R[1],4);
-      R[12]=G(R[1],5);
-      *fp=make_header(11,TCLOS);fp[1]=G(R[2],3);fp[10]=R[12];fp[9]=R[11];fp[8]=R[10];fp[7]=R[7];fp[6]=R[6];fp[5]=R[5];fp[4]=R[4];fp[3]=R[3];fp[2]=R[9];R[3]=(word)fp;fp+=11;
-      ob=(word*)R[8];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 573:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],7);
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],6);
-        R[9]=G(R[1],5);
-        R[10]=G(R[1],4);
-        R[11]=G(R[1],8);
-        R[12]=G(R[1],9);
-        R[13]=G(R[1],10);
-        *fp=make_header(11,TCLOS);fp[1]=G(R[2],3);fp[10]=R[13];fp[9]=R[12];fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=11;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[1],4);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],6);
-        R[8]=G(R[1],7);
-        R[9]=G(R[1],8);
-        R[10]=G(R[1],9);
-        R[11]=G(R[1],10);
-        *fp=make_header(8,TCLOS);fp[1]=G(R[2],4);fp[7]=R[11];fp[6]=R[10];fp[5]=R[9];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[12]=(word)fp;fp+=8;
-        R[13]=IFALSE;
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[12];R[5]=R[13];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 574:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],10);
-        R[7]=G(R[1],9);
-        R[8]=G(R[1],8);
-        R[9]=G(R[1],3);
-        R[10]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        R[6]=R[8];R[7]=R[9];
-        ob=(word*)R[10];acc=5;
-      }else{
-        R[4]=G(R[1],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],6);
-        R[8]=G(R[1],7);
-        R[9]=G(R[1],8);
-        R[10]=G(R[1],9);
-        R[11]=G(R[1],10);
-        *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[11];fp[6]=R[10];fp[5]=R[9];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[12]=(word)fp;fp+=8;
-        R[13]=IFALSE;
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[12];R[5]=R[13];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 575:
-    if(acc==5){
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],2);fp[5]=R[5];fp[4]=R[6];fp[3]=R[7];fp[2]=R[4];R[8]=(word)fp;fp+=6;
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[4];fp[4]=R[5];fp[3]=R[6];fp[2]=R[7];R[5]=(word)fp;fp+=6;
-      R[10]=R[4];R[4]=R[8];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 576:
-    if(acc==5){
-      R[8]=G(R[2],2);
-      R[9]=G(R[1],2);
-      R[10]=G(R[1],3);
-      R[11]=G(R[1],4);
-      R[12]=G(R[1],5);
-      *fp=make_header(11,TCLOS);fp[1]=G(R[2],3);fp[10]=R[3];fp[9]=R[12];fp[8]=R[11];fp[7]=R[10];fp[6]=R[5];fp[5]=R[6];fp[4]=R[7];fp[3]=R[4];fp[2]=R[9];R[3]=(word)fp;fp+=11;
-      R[4]=R[10];
-      ob=(word*)R[8];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 577:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],10);
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],4);
-        R[9]=G(R[1],5);
-        R[10]=G(R[1],6);
-        R[11]=G(R[1],7);
-        R[12]=G(R[1],8);
-        R[13]=G(R[1],9);
-        *fp=make_header(11,TCLOS);fp[1]=G(R[2],3);fp[10]=R[13];fp[9]=R[12];fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=11;
-        R[8]=R[4];R[4]=R[7];
-        ob=(word*)R[8];acc=2;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],7);
-        R[6]=G(R[1],8);
-        R[7]=G(R[1],9);
-        R[8]=G(R[1],10);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],5);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[10]=G(R[1],2);
-        R[7]=R[4];R[4]=R[10];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 578:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],5);
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],6);
-        R[9]=G(R[1],7);
-        R[10]=G(R[1],4);
-        R[11]=G(R[1],8);
-        R[12]=G(R[1],9);
-        R[13]=G(R[1],10);
-        *fp=make_header(11,TCLOS);fp[1]=G(R[2],3);fp[10]=R[13];fp[9]=R[12];fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=11;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[1],4);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],6);
-        R[8]=G(R[1],7);
-        R[9]=G(R[1],8);
-        R[10]=G(R[1],9);
-        R[11]=G(R[1],10);
-        *fp=make_header(8,TCLOS);fp[1]=G(R[2],4);fp[7]=R[11];fp[6]=R[10];fp[5]=R[9];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[12]=(word)fp;fp+=8;
-        R[13]=IFALSE;
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[12];R[5]=R[13];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 579:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],10);
-        R[8]=G(R[1],9);
-        R[9]=G(R[1],8);
-        R[10]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        R[6]=R[8];R[7]=R[9];
-        ob=(word*)R[10];acc=5;
-      }else{
-        R[4]=G(R[1],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],6);
-        R[8]=G(R[1],7);
-        R[9]=G(R[1],8);
-        R[10]=G(R[1],9);
-        R[11]=G(R[1],10);
-        *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[11];fp[6]=R[10];fp[5]=R[9];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[12]=(word)fp;fp+=8;
-        R[13]=IFALSE;
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[12];R[5]=R[13];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 580:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],2);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[8]=(word)fp;fp+=5;
-      R[9]=G(R[1],2);
-      R[5]=R[3];R[6]=R[4];
-      R[3]=R[8];R[4]=R[9];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 581:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[10];fp[7]=R[3];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=9;
-      R[12]=G(R[1],2);
-      R[7]=R[4];R[4]=R[12];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 582:
-    if(acc==5){
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],2);fp[4]=R[5];fp[3]=R[6];fp[2]=R[7];R[8]=(word)fp;fp+=5;
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[5];fp[3]=R[6];fp[2]=R[7];R[5]=(word)fp;fp+=5;
-      R[10]=R[4];R[4]=R[8];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 583:
-    if(acc==2){
-      if(R[4]==IFALSE){
-        R[5]=IFALSE;
-        ob=(word*)R[3];R[3]=R[5];acc=1;
-      }else{
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[8]=R[4];
-        R[4]=R[5];R[5]=R[6];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 584:
-    if(acc==5){
-      R[8]=IFALSE;
-      ob=(word*)R[3];R[3]=R[8];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 585:
-    if(acc==5){
-      R[8]=ITRUE;
-      ob=(word*)R[3];R[3]=R[8];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 586:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=6;
-      R[9]=G(R[1],2);
-      R[5]=G(R[2],4);
-      R[11]=R[4];R[4]=R[9];
-      ob=(word*)R[11];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 587:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=IFALSE;
-      R[9]=R[5];
-      R[10]=R[6];R[6]=R[4];
-      R[5]=R[7];R[4]=R[10];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 588:
-    if(acc==5){
-      if(R[4]==IFALSE){
-        if(R[7]==IFALSE){
-          R[8]=G(R[1],3);
-          R[4]=G(R[1],2);
-          ob=(word*)R[8];acc=4;
-        }else{
-          R[8]=G(R[1],3);
-          R[9]=G(R[1],4);
-          *fp=make_header(6,TPROC);fp[1]=G(R[2],2);fp[5]=R[9];fp[4]=R[3];fp[3]=R[8];fp[2]=R[7];R[3]=(word)fp;fp+=6;
-          R[4]=G(R[1],2);
-          ob=(word*)R[8];acc=4;
-        }
-      }else{
-        if(R[7]==IFALSE){
-          R[8]=G(R[1],4);
-          R[9]=G(R[1],3);
-          *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[9];fp[4]=R[3];fp[3]=R[5];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-          R[5]=G(R[1],2);
-          R[6]=R[4];
-          R[7]=R[8];R[4]=R[9];
-          ob=(word*)R[7];acc=5;
-        }else{
-          R[8]=G(R[1],4);
-          R[9]=G(R[1],3);
-          *fp=make_header(8,TCLOS);fp[1]=G(R[2],4);fp[7]=R[8];fp[6]=R[3];fp[5]=R[9];fp[4]=R[7];fp[3]=R[5];fp[2]=R[6];R[3]=(word)fp;fp+=8;
-          R[5]=G(R[1],2);
-          R[6]=R[4];
-          R[7]=R[8];R[4]=R[9];
-          ob=(word*)R[7];acc=5;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 589:
-    if(acc==5){
-      if(R[6]==IFALSE){
-        ob=(word*)R[3];R[3]=R[5];acc=1;
-      }else{
-        *fp=make_header(5,TCLOS);fp[1]=G(R[1],2);fp[4]=R[7];fp[3]=R[4];fp[2]=R[5];R[4]=(word)fp;fp+=5;
-        R[5]=R[4];
-        ob=(word*)R[6];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 590:
-    if(acc==5){
-      if(R[4]==IFALSE){
-        if(R[7]==IFALSE){
-          R[8]=G(R[1],3);
-          R[4]=G(R[1],2);
-          ob=(word*)R[8];acc=4;
-        }else{
-          R[8]=G(R[1],4);
-          R[4]=G(R[1],3);
-          *fp=make_header(6,TPROC);fp[1]=G(R[2],2);fp[5]=R[4];fp[4]=R[3];fp[3]=R[5];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-          R[5]=G(R[1],2);
-          R[6]=R[7];R[7]=R[8];
-          ob=(word*)R[7];acc=5;
-        }
-      }else{
-        if(R[7]==IFALSE){
-          R[8]=G(R[1],3);
-          R[9]=G(R[1],4);
-          *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[9];fp[4]=R[3];fp[3]=R[8];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-          R[4]=G(R[1],2);
-          ob=(word*)R[8];acc=4;
-        }else{
-          R[8]=G(R[1],4);
-          R[9]=G(R[1],3);
-          *fp=make_header(8,TCLOS);fp[1]=G(R[2],4);fp[7]=R[8];fp[6]=R[3];fp[5]=R[9];fp[4]=R[4];fp[3]=R[5];fp[2]=R[6];R[3]=(word)fp;fp+=8;
-          R[5]=G(R[1],2);
-          R[6]=R[7];
-          R[7]=R[8];R[4]=R[9];
-          ob=(word*)R[7];acc=5;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 591:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],3);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-      ob=(word*)R[7];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 592:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      R[7]=IFALSE;
-      R[10]=R[7];
-      R[7]=R[6];R[6]=R[10];
-      ob=(word*)R[7];acc=5;
-    }else{
-      if(acc==4){
-        R[7]=G(R[1],2);
-        ob=(word*)R[7];acc=5;
-      }else{
-        error(61,ob,F(acc));
-      }
-    }
-     break;
-   case 593:
-    if(acc==5){
-      if(R[4]==IFALSE){
-        ob=(word*)R[3];R[3]=R[6];acc=1;
-      }else{
-        *fp=make_header(5,TPROC);fp[1]=G(R[1],2);fp[4]=R[7];fp[3]=R[5];fp[2]=R[6];R[8]=(word)fp;fp+=5;
-        *fp=make_header(5,TPROC);fp[1]=G(R[1],3);fp[4]=R[7];fp[3]=R[5];fp[2]=R[6];R[5]=(word)fp;fp+=5;
-        R[10]=R[4];R[4]=R[8];
-        ob=(word*)R[10];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 594:
-    if(acc==5){
-      R[8]=G(R[1],3);
-      if(R[8]==R[5]){
-        ob=(word*)R[3];R[3]=R[6];acc=1;
-      }else{
-        R[9]=prim_less(R[8],R[5]);
-        if(R[9]==IFALSE){
-          R[10]=G(R[1],4);
-          R[6]=G(R[1],2);
-          R[4]=R[7];
-          R[5]=R[8];R[7]=R[10];
-          ob=(word*)R[7];acc=5;
-        }else{
-          R[7]=G(R[1],4);
-          R[6]=G(R[1],2);
-          R[5]=R[8];
-          ob=(word*)R[7];acc=5;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 595:
-    if(acc==5){
-      if(R[4]==IFALSE){
-        R[8]=G(R[1],2);
-        R[4]=IFALSE;
-        R[7]=R[4];
-        ob=(word*)R[8];acc=5;
-      }else{
-        *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[5];fp[3]=R[6];fp[2]=R[7];R[8]=(word)fp;fp+=5;
-        *fp=make_header(5,TCLOS);fp[1]=G(R[1],4);fp[4]=R[5];fp[3]=R[6];fp[2]=R[7];R[5]=(word)fp;fp+=5;
-        R[10]=R[4];R[4]=R[8];
-        ob=(word*)R[10];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 596:
-    if(acc==5){
-      R[8]=G(R[1],4);
-      R[9]=prim_less(R[8],R[5]);
-      if(R[9]==IFALSE){
-        if(R[8]==R[5]){
-          R[10]=G(R[2],2);
-          R[6]=G(R[1],3);
-          R[5]=R[8];
-          ob=(word*)R[10];acc=5;
-        }else{
-          R[10]=G(R[1],2);
-          *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[3];fp[4]=R[4];fp[3]=R[5];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-          R[6]=G(R[1],3);
-          R[4]=R[7];
-          R[5]=R[8];R[7]=R[10];
-          ob=(word*)R[7];acc=5;
-        }
-      }else{
-        R[10]=G(R[1],2);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],4);fp[5]=R[3];fp[4]=R[5];fp[3]=R[6];fp[2]=R[7];R[3]=(word)fp;fp+=6;
-        R[6]=G(R[1],3);
-        R[5]=R[8];R[7]=R[10];
-        ob=(word*)R[7];acc=5;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 597:
-    if(acc==5){
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],2);fp[5]=R[4];fp[4]=R[5];fp[3]=R[6];fp[2]=R[7];R[8]=(word)fp;fp+=6;
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[4];fp[4]=R[5];fp[3]=R[6];fp[2]=R[7];R[5]=(word)fp;fp+=6;
-      R[4]=R[8];
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 598:
-    if(acc==5){
-      R[8]=G(R[1],2);
-      R[9]=G(R[1],3);
-      R[10]=G(R[1],4);
-      R[11]=G(R[2],2);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[3];fp[7]=R[5];fp[6]=R[6];fp[5]=R[7];fp[4]=R[8];fp[3]=R[9];fp[2]=R[10];R[3]=(word)fp;fp+=9;
-      R[13]=G(R[1],7);
-      R[5]=G(R[1],6);
-      R[6]=G(R[1],5);
-      R[7]=R[4];R[4]=R[13];
-      ob=(word*)R[11];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 599:
-    if(acc==5){
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],3);
-      R[10]=G(R[1],2);
-      R[11]=G(R[2],2);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[3];fp[7]=R[9];fp[6]=R[10];fp[5]=R[4];fp[4]=R[5];fp[3]=R[6];fp[2]=R[7];R[3]=(word)fp;fp+=9;
-      R[4]=G(R[1],7);
-      R[5]=G(R[1],6);
-      R[6]=G(R[1],5);
-      R[7]=R[8];
-      ob=(word*)R[11];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 600:
-    if(acc==5){
-      R[8]=G(R[2],2);
-      R[4]=G(R[1],5);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],2);
-      ob=(word*)R[8];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 601:
-    if(acc==5){
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],3);
-      R[10]=G(R[1],2);
-      R[11]=G(R[2],2);
-      R[12]=G(R[1],5);
-      R[13]=G(R[1],6);
-      R[14]=G(R[1],7);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[3];fp[7]=R[5];fp[6]=R[6];fp[5]=R[7];fp[4]=R[14];fp[3]=R[13];fp[2]=R[12];R[3]=(word)fp;fp+=9;
-      R[7]=R[4];R[4]=R[8];
-      R[5]=R[9];R[6]=R[10];
-      ob=(word*)R[11];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 602:
-    if(acc==5){
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],3);
-      R[10]=G(R[1],2);
-      R[11]=G(R[2],2);
-      R[12]=G(R[1],5);
-      R[13]=G(R[1],6);
-      R[14]=G(R[1],7);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[3];fp[7]=R[8];fp[6]=R[9];fp[5]=R[10];fp[4]=R[14];fp[3]=R[13];fp[2]=R[12];R[3]=(word)fp;fp+=9;
-      ob=(word*)R[11];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 603:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],6);
-      R[6]=G(R[1],7);
-      R[7]=G(R[1],8);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[8]=(word)fp;fp+=6;
-      R[9]=G(R[1],5);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],2);
-      R[13]=R[4];
-      R[3]=R[8];R[4]=R[9];
-      ob=(word*)R[13];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 604:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[8]=R[4];R[4]=R[5];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 605:
-    if(acc==3){
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],2);
-      R[10]=R[4];
-      R[4]=R[6];R[5]=R[7];
-      R[6]=R[8];R[7]=R[9];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 606:
-    if(acc==3){
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[9]=IFALSE;
-      R[10]=R[4];
-      R[4]=R[6];R[5]=R[7];
-      R[6]=R[8];R[7]=R[9];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 607:
-    if(acc==3){
-      R[6]=IFALSE;
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],2);
-      R[10]=R[4];
-      R[4]=R[6];R[5]=R[7];
-      R[6]=R[8];R[7]=R[9];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 608:
-    if(acc==3){
-      R[6]=IFALSE;
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[10]=R[4];
-      R[4]=R[6];R[5]=R[7];
-      R[7]=R[6];R[6]=R[8];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 609:
-    if(acc==5){
-      if(R[4]==IFALSE){
-        if(R[7]==IFALSE){
-          *fp=make_header(4,TPROC);fp[1]=G(R[1],2);fp[3]=R[5];fp[2]=R[6];R[8]=(word)fp;fp+=4;
-          ob=(word*)R[3];R[3]=R[8];acc=1;
-        }else{
-          *fp=make_header(5,TPROC);fp[1]=G(R[1],3);fp[4]=R[5];fp[3]=R[6];fp[2]=R[7];R[8]=(word)fp;fp+=5;
-          ob=(word*)R[3];R[3]=R[8];acc=1;
-        }
-      }else{
-        if(R[7]==IFALSE){
-          *fp=make_header(5,TPROC);fp[1]=G(R[1],4);fp[4]=R[4];fp[3]=R[5];fp[2]=R[6];R[8]=(word)fp;fp+=5;
-          ob=(word*)R[3];R[3]=R[8];acc=1;
-        }else{
-          *fp=make_header(6,TPROC);fp[1]=G(R[1],5);fp[5]=R[4];fp[4]=R[5];fp[3]=R[6];fp[2]=R[7];R[8]=(word)fp;fp+=6;
-          ob=(word*)R[3];R[3]=R[8];acc=1;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 610:
-    if(acc==3){
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],2);
-      R[10]=R[5];
-      R[4]=R[6];R[5]=R[7];
-      R[6]=R[8];R[7]=R[9];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 611:
-    if(acc==3){
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[9]=IFALSE;
-      R[10]=R[5];
-      R[4]=R[6];R[5]=R[7];
-      R[6]=R[8];R[7]=R[9];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 612:
-    if(acc==3){
-      R[6]=IFALSE;
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],2);
-      R[10]=R[5];
-      R[4]=R[6];R[5]=R[7];
-      R[6]=R[8];R[7]=R[9];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 613:
-    if(acc==3){
-      R[6]=IFALSE;
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[10]=R[5];
-      R[4]=R[6];R[5]=R[7];
-      R[7]=R[6];R[6]=R[8];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 614:
-    if(acc==4){
-      assert(pairp(R[4]),R[4],105);R[7]=G(R[4],1);
-      if(R[7]==R[5]){
-        R[8]=G(R[4],2);
-        ob=(word*)R[3];R[3]=R[8];acc=1;
-      }else{
-        R[8]=G(R[4],1);
-        {word ob=R[8];if(allocp(ob))ob=V(ob);R[9]=F((hval)ob>>TPOS&63);}
-        if(R[9]==F(0)){
-          R[10]=G(R[4],1);
-          R[4]=G(R[4],2);
-          *fp=make_header(4,TPROC);fp[1]=G(R[1],2);fp[3]=R[3];fp[2]=R[10];R[3]=(word)fp;fp+=4;
-          ob=(word*)R[6];acc=4;
-        }else{
-          R[4]=G(R[4],2);
-          ob=(word*)R[6];acc=4;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 615:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=7;
-      R[7]=R[4];
-      R[4]=R[3];R[3]=R[9];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 616:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[6]=128*46+258;
-      R[7]=IFALSE;
-      R[9]=R[5];R[5]=R[4];
-      R[4]=R[6];R[6]=R[7];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 617:
-    if(acc==6){
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],3);fp[2]=R[8];R[9]=(word)fp;fp+=3;
-      *fp=make_header(4,TCLOS);fp[1]=G(R[1],2);fp[3]=R[4];fp[2]=R[5];R[4]=(word)fp;fp+=4;
-      R[5]=R[9];
-      ob=(word*)R[5];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 618:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],2);fp[4]=R[5];fp[3]=R[3];fp[2]=R[6];R[3]=(word)fp;fp+=5;
-      ob=(word*)R[4];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 619:
-    if(acc==3){
-      if(R[3]==IFALSE){
-        R[6]=G(R[1],2);
-        if(R[6]==IFALSE){
-          R[7]=G(R[1],3);
-          R[3]=IFALSE;
-          ob=(word*)R[7];acc=1;
-        }else{
-          R[5]=G(R[1],4);
-          R[3]=G(R[1],3);
-          *fp=make_header(3,TPROC);fp[1]=G(R[2],2);fp[2]=R[6];R[4]=(word)fp;fp+=3;
-          ob=(word*)R[5];acc=3;
-        }
-      }else{
-        R[6]=G(R[2],3);
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],4);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],4);fp[5]=R[3];fp[4]=R[8];fp[3]=R[7];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        ob=(word*)R[6];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 620:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],3);
-        R[3]=G(R[1],2);
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[1],4);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],5);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],2);fp[3]=R[6];fp[2]=R[3];R[7]=(word)fp;fp+=4;
-        R[3]=R[5];
-        R[5]=R[4];R[4]=R[7];
-        ob=(word*)R[5];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 621:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[7]=G(R[2],3);
-      R[9]=R[4];R[4]=R[5];
-      R[5]=R[6];R[6]=R[7];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 622:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=F(0);
-      R[6]=INULL;
-      R[8]=R[4];
-      R[4]=R[5];R[5]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 623:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=INULL;
-      R[6]=G(R[1],2);
-      R[7]=G(R[2],2);
-      R[9]=R[4];R[4]=R[5];
-      R[5]=R[6];R[6]=R[7];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 624:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],3);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[7]=128*92+258;
-      R[8]=R[4];R[5]=R[3];
-      R[3]=R[6];R[4]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 625:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=128*250+258;
-      R[7]=R[4];
-      R[3]=R[5];R[4]=R[6];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 626:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      R[11]=G(R[1],8);
-      R[12]=G(R[1],9);
-      R[13]=G(R[1],10);
-      R[14]=G(R[1],11);
-      *fp=make_header(12,TCLOS);fp[1]=G(R[2],3);fp[11]=R[14];fp[10]=R[13];fp[9]=R[12];fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[15]=(word)fp;fp+=12;
-      R[7]=R[4];
-      R[4]=R[3];R[3]=R[15];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 627:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      R[11]=G(R[1],8);
-      R[12]=G(R[1],9);
-      *fp=make_header(10,TCLOS);fp[1]=G(R[2],3);fp[9]=R[12];fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[13]=(word)fp;fp+=10;
-      R[7]=R[4];
-      R[4]=R[3];R[3]=R[13];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 628:
-    if(acc==3){
-      {word ob=R[5];if(allocp(ob))ob=V(ob);R[6]=F((hval)ob>>TPOS&63);}
-      R[7]=128*82+258;
-      R[8]=BOOL(R[6]==R[7]);
-      if(R[8]==IFALSE){
-        R[9]=128*62+258;
-        R[10]=BOOL(R[6]==R[9]);
-        if(R[10]==IFALSE){
-          R[11]=128*80+258;
-          R[12]=BOOL(R[6]==R[11]);
-          if(R[12]==IFALSE){
-            if(R[5]==F(0)){
-              R[13]=IFALSE;
-              R[7]=R[3];
-              R[3]=R[4];R[4]=R[13];
-              ob=(word*)R[7];acc=2;
-            }else{
-              R[13]=ITRUE;
-              R[7]=R[3];
-              R[3]=R[4];R[4]=R[13];
-              ob=(word*)R[7];acc=2;
-            }
-          }else{
-            R[13]=IFALSE;
-            R[7]=R[3];
-            R[3]=R[4];R[4]=R[13];
-            ob=(word*)R[7];acc=2;
-          }
-        }else{
-          R[11]=IFALSE;
-          R[7]=R[3];
-          R[3]=R[4];R[4]=R[11];
-          ob=(word*)R[7];acc=2;
-        }
-      }else{
-        {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[9]=ob[1];R[10]=ob[2];}
-        R[11]=128*0+258;
-        if(R[9]==R[11]){
-          R[12]=G(R[1],2);
-          *fp=make_header(3,TPROC);fp[1]=G(R[1],3);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-          R[5]=R[10];
-          ob=(word*)R[12];acc=3;
-        }else{
-          R[12]=G(R[1],2);
-          *fp=make_header(4,TCLOS);fp[1]=G(R[1],4);fp[3]=R[3];fp[2]=R[9];R[3]=(word)fp;fp+=4;
-          R[5]=R[10];
-          ob=(word*)R[12];acc=3;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 629:
-    if(acc==2){
-      R[5]=F(0);
-      R[4]=BOOL(R[4]==R[5]);
-      R[7]=G(R[1],2);
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 630:
-    if(acc==3){
-      if(R[5]==INULL){
-        R[7]=R[3];
-        R[3]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[6]=G(R[1],2);
-        R[7]=INULL;
-        R[9]=R[6];R[6]=R[7];
-        ob=(word*)R[9];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 631:
-    if(acc==5){
-      if(R[5]==INULL){
-        R[7]=R[3];
-        R[3]=R[4];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[8]=G(R[1],2);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[7];fp[3]=R[3];fp[2]=R[6];R[3]=(word)fp;fp+=5;
-        R[10]=G(R[1],4);
-        R[6]=INULL;
-        R[7]=R[5];
-        R[5]=R[4];R[4]=R[10];
-        ob=(word*)R[8];acc=5;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 632:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[3];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-      R[10]=G(R[2],4);
-      R[8]=R[5];
-      R[5]=R[4];R[4]=R[10];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 633:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],2);
-      R[8]=G(R[1],5);
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],3);fp[2]=R[8];R[9]=(word)fp;fp+=3;
-      R[10]=R[4];
-      R[11]=R[5];R[5]=R[3];
-      R[4]=R[6];R[6]=R[7];
-      R[7]=R[9];R[3]=R[11];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 634:
-    if(acc==6){
-      if(R[5]==INULL){
-        R[7]=R[3];
-        R[3]=R[4];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[9]=G(R[1],2);
-        *fp=make_header(8,TCLOS);fp[1]=G(R[1],3);fp[7]=R[7];fp[6]=R[3];fp[5]=R[8];fp[4]=R[4];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=8;
-        R[4]=R[5];
-        ob=(word*)R[9];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 635:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[11]=(word)fp;fp+=8;
-      R[5]=G(R[2],4);
-      R[8]=R[4];
-      R[4]=R[3];R[3]=R[11];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 636:
-    if(acc==2){
-      assert(pairp(R[3]),R[3],169);R[5]=G(R[3],2);
-      if(R[5]==INULL){
-        R[6]=G(R[2],2);
-        R[7]=G(R[1],2);
-        R[8]=G(R[1],6);
-        R[9]=G(R[1],3);
-        R[10]=G(R[1],5);
-        R[11]=G(R[1],4);
-        *fp=make_header(8,TPROC);fp[1]=G(R[2],3);fp[7]=R[11];fp[6]=R[10];fp[5]=R[9];fp[4]=R[4];fp[3]=R[8];fp[2]=R[7];R[12]=(word)fp;fp+=8;
-        R[4]=R[3];R[3]=R[12];
-        ob=(word*)R[6];acc=2;
-      }else{
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],4);fp[4]=R[8];fp[3]=R[7];fp[2]=R[3];R[9]=(word)fp;fp+=5;
-        R[10]=G(R[1],3);
-        R[11]=G(R[1],2);
-        R[5]=R[4];R[7]=R[8];
-        R[8]=R[6];R[3]=R[9];
-        R[4]=R[10];R[6]=R[11];
-        ob=(word*)R[8];acc=6;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 637:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-      R[4]=G(R[2],4);
-      R[10]=G(R[1],2);
-      R[11]=R[5];R[5]=R[10];
-      ob=(word*)R[11];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 638:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=cons(R[3],R[4]);
-      R[6]=G(R[1],7);
-      R[7]=G(R[1],6);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],4);
-      R[10]=G(R[1],3);
-      R[4]=R[8];R[8]=R[6];
-      R[6]=R[5];R[3]=R[7];
-      R[5]=R[9];R[7]=R[10];
-      ob=(word*)R[8];acc=6;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 639:
-    if(acc==3){
-      assert(pairp(R[4]),R[4],105);R[6]=G(R[4],1);
-      assert(pairp(R[5]),R[5],105);R[7]=G(R[5],1);
-      R[8]=prim_less(R[6],R[7]);
-      ob=(word*)R[3];R[3]=R[8];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 640:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(5,TPROC);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[5];fp[2]=R[6];R[3]=(word)fp;fp+=5;
-      R[5]=F(0);
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 641:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[6]=cons(R[3],R[5]);
-      R[7]=G(R[1],3);
-      R[8]=cons(R[6],R[7]);
-      R[9]=G(R[1],4);
-      R[3]=R[4];R[4]=R[8];
-      ob=(word*)R[9];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 642:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[3];fp[4]=R[5];fp[3]=R[4];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-      R[4]=R[5];R[5]=R[6];
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 643:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],2);
-        R[5]=INULL;
-        R[6]=cons(R[4],R[5]);
-        R[7]=G(R[1],4);
-        R[5]=cons(R[7],R[6]);
-        R[9]=G(R[2],2);
-        R[3]=G(R[1],5);
-        R[4]=G(R[2],3);
-        ob=(word*)R[9];acc=3;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],5);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[9]=G(R[1],2);
-        R[10]=R[4];
-        R[5]=R[6];R[4]=R[9];
-        ob=(word*)R[10];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 644:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-      R[8]=F(0);
-      R[4]=R[5];R[5]=R[8];
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 645:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        *fp=make_header(3,TCLOS);fp[1]=G(R[2],3);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-        R[7]=G(R[1],3);
-        R[5]=G(R[1],2);
-        R[9]=R[4];
-        R[3]=R[6];R[4]=R[7];
-        ob=(word*)R[9];acc=3;
-      }else{
-        R[4]=G(R[1],4);
-        R[3]=F(0);
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 646:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],3);fp[2]=R[6];R[7]=(word)fp;fp+=3;
-      R[8]=R[5];R[5]=R[4];
-      R[4]=R[3];R[3]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 647:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      R[8]=F(0);
-      R[9]=G(R[1],3);
-      R[11]=R[7];
-      R[7]=R[8];R[8]=R[9];
-      ob=(word*)R[11];acc=6;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 648:
-    if(acc==7){
-      if(R[5]==INULL){
-        R[10]=G(R[1],2);
-        *fp=make_header(4,TPROC);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-        R[4]=R[8];
-        ob=(word*)R[10];acc=2;
-      }else{
-        R[10]=G(R[1],4);
-        *fp=make_header(9,TCLOS);fp[1]=G(R[1],5);fp[8]=R[3];fp[7]=R[4];fp[6]=R[5];fp[5]=R[6];fp[4]=R[8];fp[3]=R[9];fp[2]=R[7];R[3]=(word)fp;fp+=9;
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[10];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 649:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],6);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],7);
-        R[10]=G(R[1],8);
-        R[11]=G(R[1],3);
-        *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=9;
-        R[7]=R[4];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],6);
-        R[8]=G(R[1],7);
-        R[9]=G(R[1],8);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],5);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-        R[5]=128*0+258;
-        R[8]=R[4];R[4]=R[6];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 650:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],6);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],2);
-      R[11]=R[4];R[12]=R[5];
-      R[5]=R[7];R[7]=R[3];
-      R[4]=R[6];R[6]=R[8];
-      R[8]=R[9];R[3]=R[12];
-      ob=(word*)R[11];acc=6;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 651:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],3);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        R[9]=G(R[1],7);
-        R[10]=G(R[1],8);
-        *fp=make_header(8,TPROC);fp[1]=G(R[2],2);fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=8;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[1],3);
-        assert(pairp(R[4]),R[4],169);R[5]=G(R[4],2);
-        R[6]=G(R[2],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],6);
-        R[10]=G(R[1],7);
-        R[11]=G(R[1],8);
-        *fp=make_header(9,TCLOS);fp[1]=G(R[2],4);fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[5];fp[4]=R[8];fp[3]=R[7];fp[2]=R[4];R[3]=(word)fp;fp+=9;
-        R[4]=G(R[1],2);
-        R[5]=128*0+258;
-        ob=(word*)R[6];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 652:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      assert(pairp(R[4]),R[4],105);R[5]=G(R[4],1);
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      R[11]=G(R[1],8);
-      *fp=make_header(8,TPROC);fp[1]=G(R[2],3);fp[7]=R[11];fp[6]=R[10];fp[5]=R[9];fp[4]=R[8];fp[3]=R[7];fp[2]=R[3];R[3]=(word)fp;fp+=8;
-      R[13]=G(R[1],3);
-      R[4]=R[5];R[5]=R[13];
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 653:
-    if(acc==7){
-      if(R[5]==INULL){
-        R[10]=G(R[1],2);
-        *fp=make_header(4,TPROC);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-        R[4]=R[8];
-        ob=(word*)R[10];acc=2;
-      }else{
-        R[10]=G(R[1],4);
-        *fp=make_header(9,TCLOS);fp[1]=G(R[1],5);fp[8]=R[9];fp[7]=R[3];fp[6]=R[6];fp[5]=R[7];fp[4]=R[5];fp[3]=R[8];fp[2]=R[4];R[3]=(word)fp;fp+=9;
-        R[4]=R[5];
-        ob=(word*)R[10];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 654:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],4);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],6);
-        R[8]=G(R[1],2);
-        R[9]=G(R[1],7);
-        R[10]=G(R[1],8);
-        *fp=make_header(8,TPROC);fp[1]=G(R[2],2);fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=8;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[2],3);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        R[9]=G(R[1],7);
-        R[10]=G(R[1],8);
-        *fp=make_header(8,TCLOS);fp[1]=G(R[2],4);fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=8;
-        R[12]=G(R[1],2);
-        R[8]=R[4];
-        R[5]=R[7];R[4]=R[12];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 655:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      R[11]=G(R[1],7);
-      *fp=make_header(10,TCLOS);fp[1]=G(R[2],3);fp[9]=R[11];fp[8]=R[10];fp[7]=R[3];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=10;
-      R[8]=R[5];R[5]=R[9];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 656:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],6);
-      R[7]=G(R[1],7);
-      R[8]=G(R[1],8);
-      R[9]=G(R[1],9);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[10]=(word)fp;fp+=8;
-      if(R[3]==IFALSE){
-        R[3]=G(R[1],3);
-        ob=(word*)R[10];acc=1;
-      }else{
-        assert(pairp(R[4]),R[4],105);R[6]=G(R[4],1);
-        R[12]=G(R[2],2);
-        R[4]=G(R[1],3);
-        R[5]=G(R[1],2);
-        R[3]=R[10];
-        ob=(word*)R[12];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 657:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      assert(pairp(R[4]),R[4],169);R[5]=G(R[4],2);
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      *fp=make_header(8,TPROC);fp[1]=G(R[2],3);fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[5];fp[3]=R[7];fp[2]=R[3];R[3]=(word)fp;fp+=8;
-      R[4]=G(R[1],3);
-      R[5]=128*0+258;
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 658:
-    if(acc==1){
-      R[4]=G(R[1],7);
-      R[5]=G(R[1],6);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],2);
-      R[12]=R[6];
-      R[13]=R[5];R[5]=R[3];
-      R[6]=R[7];R[7]=R[8];
-      R[8]=R[9];R[9]=R[4];
-      R[4]=R[12];R[3]=R[13];
-      ob=(word*)R[9];acc=7;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 659:
-    if(acc==3){
-      if(R[5]==F(0)){
-        R[6]=F(0);
-        R[7]=R[3];
-        R[3]=R[4];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[6]=G(R[1],2);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-        R[8]=128*0+258;
-        R[4]=R[5];R[5]=R[8];
-        ob=(word*)R[6];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 660:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[5];fp[2]=R[3];R[6]=(word)fp;fp+=4;
-      R[7]=G(R[1],2);
-      R[8]=R[4];R[5]=R[3];
-      R[3]=R[6];R[4]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 661:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-      R[8]=G(R[1],2);
-      R[9]=R[5];R[5]=R[8];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 662:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-      R[4]=R[5];
-      ob=(word*)R[6];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 663:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[7]=R[4];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],5);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[7]=R[4];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 664:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[3];fp[2]=R[6];R[3]=(word)fp;fp+=5;
-      R[9]=128*0+258;
-      R[10]=R[5];R[5]=R[9];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 665:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=prim_ref(R[4],R[3]);
-      R[6]=G(R[1],4);
-      R[3]=G(R[1],3);
-      R[4]=R[5];
-      ob=(word*)R[6];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 666:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[2],3);
-        R[7]=G(R[1],3);
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],5);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[7]=R[4];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 667:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-      R[8]=G(R[1],2);
-      R[9]=R[5];
-      R[5]=R[4];R[4]=R[8];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 668:
-    if(acc==3){
-      if(R[5]==F(0)){
-        R[6]=F(0);
-        R[7]=R[3];
-        R[3]=R[4];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }else{
-        {word ob=R[5];if(allocp(ob))ob=V(ob);R[6]=F((hval)ob>>TPOS&63);}
-        R[7]=F(0);
-        R[8]=BOOL(R[6]==R[7]);
-        if(R[8]==IFALSE){
-          R[9]=128*78+258;
-          R[10]=BOOL(R[6]==R[9]);
-          if(R[10]==IFALSE){
-            R[11]=G(R[1],2);
-            R[4]=G(R[1],3);
-            ob=(word*)R[11];acc=3;
-          }else{
-            R[11]=G(R[1],4);
-            ob=(word*)R[11];acc=3;
-          }
-        }else{
-          R[9]=G(R[1],5);
-          ob=(word*)R[9];acc=3;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 669:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      R[7]=INULL;
-      R[8]=IFALSE;
-      R[11]=R[7];R[7]=R[8];
-      R[8]=R[6];R[6]=R[11];
-      ob=(word*)R[8];acc=6;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 670:
-    if(acc==6){
-      {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[9]=ob[1];R[10]=ob[2];}
-      if(R[10]==INULL){
-        if(R[7]==IFALSE){
-          R[11]=G(R[1],2);
-          *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[6];R[3]=(word)fp;fp+=4;
-          R[5]=R[9];
-          ob=(word*)R[11];acc=3;
-        }else{
-          R[11]=G(R[1],4);
-          *fp=make_header(4,TCLOS);fp[1]=G(R[1],5);fp[3]=R[3];fp[2]=R[6];R[3]=(word)fp;fp+=4;
-          R[5]=R[9];
-          ob=(word*)R[11];acc=3;
-        }
-      }else{
-        R[11]=G(R[1],6);
-        *fp=make_header(7,TPROC);fp[1]=G(R[1],7);fp[6]=R[8];fp[5]=R[3];fp[4]=R[10];fp[3]=R[9];fp[2]=R[6];R[3]=(word)fp;fp+=7;
-        R[5]=IFALSE;
-        ob=(word*)R[11];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 671:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[6]=cons(R[3],R[5]);
-      R[7]=G(R[1],3);
-      R[8]=prim_less(R[3],R[7]);
-      R[9]=G(R[1],6);
-      R[3]=G(R[1],5);
-      R[5]=G(R[1],4);
-      R[7]=R[8];R[8]=R[9];
-      ob=(word*)R[8];acc=6;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 672:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[4]=cons(R[4],R[5]);
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],3);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[8];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 673:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      if(R[5]==R[6]){
-        R[7]=G(R[1],3);
-        *fp=make_header(3,TPROC);fp[1]=G(R[1],4);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-        R[5]=R[4];
-        ob=(word*)R[7];acc=3;
-      }else{
-        R[7]=G(R[1],5);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[1],6);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-        R[9]=128*0+258;
-        R[4]=R[5];R[5]=R[9];
-        ob=(word*)R[7];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 674:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[7]=R[4];
-      R[4]=R[3];R[3]=R[7];
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 675:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-      R[5]=R[4];
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 676:
-    if(acc==2){
-      R[5]=G(R[2],4);
-      if(R[3]==R[5]){
-        R[6]=G(R[1],3);
-        R[7]=F(0);
-        R[3]=R[4];R[4]=R[7];
-        ob=(word*)R[6];acc=2;
-      }else{
-        R[6]=G(R[2],2);
-        R[7]=G(R[1],3);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[4];fp[2]=R[5];R[8]=(word)fp;fp+=5;
-        R[4]=G(R[1],2);
-        R[5]=R[3];R[3]=R[8];
-        ob=(word*)R[6];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 677:
-    if(acc==2){
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[4]=R[3];R[3]=R[6];
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 678:
-    if(acc==1){
-      R[4]=128*2+258;
-      R[5]=prim_ref(R[3],R[4]);
-      R[6]=128*0+258;
-      R[7]=prim_ref(R[5],R[6]);
-      R[8]=G(R[1],3);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],2);fp[3]=R[8];fp[2]=R[3];R[9]=(word)fp;fp+=4;
-      R[3]=cons(R[7],R[9]);
-      R[11]=G(R[1],2);
-      ob=(word*)R[11];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 679:
-    if(acc==2){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[5]=F((hval)ob>>TPOS&63);}
-      if(R[5]==F(0)){
-        R[6]=G(R[1],2);
-        *fp=make_header(3,TCLOS);fp[1]=G(R[1],3);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-        R[5]=128*0+258;
-        ob=(word*)R[6];acc=3;
-      }else{
-        {word ob=R[4];if(allocp(ob))ob=V(ob);R[6]=F((hval)ob>>TPOS&63);}
-        R[7]=128*78+258;
-        if(R[6]==R[7]){
-          R[8]=G(R[1],4);
-          *fp=make_header(4,TPROC);fp[1]=G(R[1],5);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-          R[10]=G(R[1],6);
-          R[6]=INULL;
-          R[5]=R[4];R[4]=R[10];
-          ob=(word*)R[8];acc=4;
-        }else{
-          {word*ob=(word*)R[4];hval hdr;assert(allocp(R[4]),R[4],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=4,ob,IFALSE);
-R[8]=ob[1];R[9]=ob[2];R[10]=ob[3];}
-          R[11]=G(R[1],7);
-          *fp=make_header(6,TCLOS);fp[1]=G(R[1],8);fp[5]=R[3];fp[4]=R[9];fp[3]=R[8];fp[2]=R[10];R[3]=(word)fp;fp+=6;
-          R[4]=R[9];R[5]=R[10];
-          ob=(word*)R[11];acc=3;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 680:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],3);
-        if(R[4]==IFALSE){
-          R[5]=G(R[2],2);
-          R[6]=G(R[1],2);
-          R[7]=G(R[1],5);
-          *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=4;
-          R[4]=G(R[2],4);
-          R[10]=G(R[1],4);
-          R[6]=INULL;
-          R[12]=R[5];R[5]=R[10];
-          ob=(word*)R[12];acc=4;
-        }else{
-          R[5]=G(R[2],2);
-          R[6]=G(R[1],2);
-          R[7]=G(R[1],5);
-          *fp=make_header(4,TCLOS);fp[1]=G(R[2],5);fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=4;
-          R[4]=G(R[2],4);
-          R[10]=G(R[1],4);
-          R[6]=INULL;
-          R[12]=R[5];R[5]=R[10];
-          ob=(word*)R[12];acc=4;
-        }
-      }else{
-        R[4]=G(R[1],4);
-        R[5]=G(R[1],5);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],7);fp[3]=R[5];fp[2]=R[4];R[6]=(word)fp;fp+=4;
-        R[7]=G(R[1],3);
-        if(R[7]==IFALSE){
-          R[3]=G(R[2],6);
-          ob=(word*)R[6];acc=1;
-        }else{
-          R[3]=G(R[2],4);
-          ob=(word*)R[6];acc=1;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 681:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      *fp=make_header(3,40);fp[1]=R[3];fp[2]=R[4];R[5]=(word)fp;fp+=3;
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],3);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[7];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-      R[4]=G(R[2],4);
-      R[10]=INULL;
-      R[11]=R[6];R[6]=R[10];
-      ob=(word*)R[11];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 682:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[5];fp[2]=R[3];R[6]=(word)fp;fp+=4;
-      R[7]=G(R[2],4);
-      R[5]=G(R[1],2);
-      R[9]=INULL;
-      R[10]=R[4];R[3]=R[6];
-      R[4]=R[7];R[6]=R[9];
-      ob=(word*)R[10];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 683:
-    if(acc==1){
-      R[4]=IFALSE;
-      R[5]=G(R[1],2);
-      *fp=make_header(4,2);fp[1]=R[4];fp[2]=R[5];fp[3]=R[3];R[3]=(word)fp;fp+=4;
-      R[7]=G(R[1],3);
-      ob=(word*)R[7];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 684:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[5];fp[2]=R[3];R[6]=(word)fp;fp+=4;
-      R[7]=G(R[2],4);
-      R[8]=INULL;
-      R[9]=R[4];
-      R[5]=R[3];R[3]=R[6];
-      R[4]=R[7];R[6]=R[8];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 685:
-    if(acc==1){
-      R[4]=ITRUE;
-      R[5]=G(R[1],2);
-      *fp=make_header(4,2);fp[1]=R[4];fp[2]=R[3];fp[3]=R[5];R[3]=(word)fp;fp+=4;
-      R[7]=G(R[1],3);
-      ob=(word*)R[7];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 686:
-    if(acc==5){
-      if(R[5]==INULL){
-        ob=(word*)R[3];R[3]=R[6];acc=1;
-      }else{
-        R[8]=128*0+258;
-        R[9]=prim_ref(R[5],R[8]);
-        R[10]=G(R[1],2);
-        {uint64_t p=(uint64_t)immval(R[9])*immval(R[10]);R[11]=F(p);R[12]=F(p>>FBITS);}
-        {hval r=immval(R[11])+immval(R[4]);R[14]=F(r>>FBITS);R[13]=F(r);}
-        R[15]=128*2+258;
-        R[5]=prim_ref(R[5],R[15]);
-        *fp=make_header(3,40);fp[1]=R[13];fp[2]=R[6];R[6]=(word)fp;fp+=3;
-        R[4]=R[12];
-        ob=(word*)R[7];acc=5;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 687:
-    if(acc==3){
-      if(R[4]==INULL){
-        R[6]=F(0);
-        ob=(word*)R[3];R[3]=R[6];acc=1;
-      }else{
-        {word*ob=(word*)R[4];hval hdr;assert(allocp(R[4]),R[4],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[6]=ob[1];R[7]=ob[2];}
-        if(R[6]==F(0)){
-          R[4]=R[7];
-          ob=(word*)R[5];acc=3;
-        }else{
-          if(R[7]==INULL){
-            ob=(word*)R[3];R[3]=R[6];acc=1;
-          }else{
-            R[8]=INULL;
-            *fp=make_header(3,40);fp[1]=R[6];fp[2]=R[8];R[5]=(word)fp;fp+=3;
-            R[10]=G(R[1],2);
-            R[4]=R[7];
-            ob=(word*)R[10];acc=3;
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 688:
-    if(acc==4){
-      if(R[4]==INULL){
-        ob=(word*)R[3];R[3]=R[5];acc=1;
-      }else{
-        {word*ob=(word*)R[4];hval hdr;assert(allocp(R[4]),R[4],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[7]=ob[1];R[8]=ob[2];}
-        *fp=make_header(3,40);fp[1]=R[7];fp[2]=R[5];R[5]=(word)fp;fp+=3;
-        R[4]=R[8];
-        ob=(word*)R[6];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 689:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[5]=INULL;
-      R[9]=R[4];
-      R[4]=R[3];R[3]=R[7];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 690:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],3);
-        R[3]=G(R[1],2);
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[1],3);
-        R[3]=IFALSE;
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 691:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-      R[4]=G(R[1],2);
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 692:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],6);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],2);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[8]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[10]=R[7];
-      R[7]=R[4];R[4]=R[3];
-      R[5]=R[8];R[3]=R[10];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 693:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[8]=R[4];R[4]=R[3];
-      R[3]=R[5];R[5]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 694:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[7]=R[4];R[4]=R[5];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 695:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[9]=128*0+258;
-      R[10]=R[4];
-      R[4]=R[5];R[5]=R[9];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 696:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[9];fp[6]=R[3];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=8;
-      R[11]=G(R[1],2);
-      R[7]=R[4];R[4]=R[11];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 697:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[11]=(word)fp;fp+=9;
-      R[7]=R[4];
-      R[4]=R[3];R[3]=R[11];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 698:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[6];fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-      R[4]=G(R[1],2);
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 699:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=6;
-      R[5]=G(R[1],2);
-      R[8]=R[4];
-      R[4]=R[3];R[3]=R[9];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 700:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[9]=G(R[1],2);
-      R[7]=R[4];R[4]=R[9];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 701:
-    if(acc==1){
-      R[4]=G(R[1],7);
-      R[5]=G(R[1],6);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],2);
-      R[12]=R[5];R[5]=R[7];
-      R[7]=R[9];R[9]=R[4];
-      R[4]=R[6];R[6]=R[8];
-      R[8]=R[3];R[3]=R[12];
-      ob=(word*)R[9];acc=7;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 702:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[9]=(word)fp;fp+=7;
-      R[7]=R[4];
-      R[4]=R[3];R[3]=R[9];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 703:
-    if(acc==2){
-      R[5]=G(R[1],3);
-      if(R[4]==R[5]){
-        R[6]=G(R[1],2);
-        ob=(word*)R[3];R[3]=R[6];acc=1;
-      }else{
-        ob=(word*)R[3];R[3]=R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 704:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],6);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],2);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[8]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[5]=R[3];R[3]=R[7];
-      R[7]=R[4];R[4]=R[8];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 705:
-    if(acc==1){
-      R[4]=G(R[1],5);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      *fp=make_header(5,TPROC);fp[1]=G(R[2],2);fp[4]=R[4];fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=5;
-      R[8]=G(R[1],2);
-      R[5]=R[3];R[6]=R[4];
-      R[3]=R[7];R[4]=R[8];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 706:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[7]=R[4];R[4]=R[5];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 707:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      R[11]=G(R[1],8);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[12]=(word)fp;fp+=9;
-      R[7]=R[4];
-      R[4]=R[3];R[3]=R[12];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 708:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-      R[8]=G(R[2],4);
-      R[9]=R[5];
-      R[5]=R[4];R[4]=R[8];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 709:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=6;
-      R[9]=G(R[1],2);
-      R[7]=R[4];R[4]=R[9];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 710:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],2);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=6;
-      R[7]=R[4];
-      R[4]=R[3];R[3]=R[9];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 711:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[8]=G(R[2],4);
-      R[9]=R[4];R[5]=R[3];
-      R[3]=R[7];R[4]=R[8];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 712:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[11]=(word)fp;fp+=8;
-      R[5]=G(R[1],2);
-      R[8]=R[4];
-      R[4]=R[3];R[3]=R[11];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 713:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      *fp=make_header(5,2);fp[1]=R[4];fp[2]=R[5];fp[3]=R[6];fp[4]=R[3];R[3]=(word)fp;fp+=5;
-      R[8]=G(R[1],4);
-      ob=(word*)R[8];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 714:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      *fp=make_header(3,2);fp[1]=R[4];fp[2]=R[3];R[3]=(word)fp;fp+=3;
-      R[6]=G(R[1],2);
-      ob=(word*)R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 715:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=IFALSE;
-      R[7]=R[4];R[4]=R[5];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 716:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[8]=R[4];
-      R[4]=R[3];R[3]=R[7];
-      ob=(word*)R[8];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 717:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],2);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[8]=(word)fp;fp+=5;
-      R[5]=G(R[1],2);
-      R[6]=R[4];
-      R[4]=R[3];R[3]=R[8];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 718:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],2);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[5]=G(R[1],2);
-      R[6]=R[4];
-      R[4]=R[3];R[3]=R[7];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 719:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-      ob=(word*)R[6];acc=2;
-    }else{
-      if(acc==2){
-        R[5]=G(R[1],2);
-        *fp=make_header(3,TCLOS);fp[1]=G(R[1],4);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-        ob=(word*)R[5];acc=2;
-      }else{
-        error(61,ob,F(acc));
-      }
-    }
-     break;
-   case 720:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=128*18+258;
-      R[8]=R[4];R[4]=R[3];
-      R[3]=R[5];R[5]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 721:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[7]=IFALSE;
-      R[11]=R[4];R[4]=R[3];
-      R[3]=R[5];R[5]=R[6];
-      R[6]=R[7];R[8]=R[7];
-      ob=(word*)R[11];acc=6;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 722:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[11]=(word)fp;fp+=8;
-      R[7]=R[4];
-      R[4]=R[3];R[3]=R[11];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 723:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[6];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[4]=128*92+258;
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 724:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      R[9]=G(R[1],3);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[9];fp[6]=R[8];fp[5]=R[6];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=8;
-      R[4]=R[9];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 725:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      R[9]=G(R[1],3);
-      R[10]=G(R[1],4);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[6];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=9;
-      R[4]=F(0);
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 726:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],8);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      R[11]=G(R[1],7);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[12]=(word)fp;fp+=9;
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],4);fp[2]=R[8];R[13]=(word)fp;fp+=3;
-      R[8]=R[4];R[5]=R[3];
-      R[3]=R[12];R[4]=R[13];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 727:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[6];fp[5]=R[8];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[4]=128*90+258;
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 728:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      R[9]=G(R[1],3);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[9];fp[6]=R[3];fp[5]=R[4];fp[4]=R[5];fp[3]=R[8];fp[2]=R[6];R[3]=(word)fp;fp+=8;
-      R[4]=R[6];R[5]=R[8];
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 729:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=8;
-      R[11]=G(R[1],2);
-      R[7]=R[4];R[4]=R[11];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 730:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],4);
-      R[10]=G(R[1],5);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[6];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=9;
-      R[4]=G(R[1],2);
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 731:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[9];fp[6]=R[3];fp[5]=R[4];fp[4]=R[5];fp[3]=R[8];fp[2]=R[6];R[3]=(word)fp;fp+=8;
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],2);
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 732:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],5);fp[5]=R[7];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[8]=(word)fp;fp+=6;
-      R[9]=128*84+258;
-      if(R[6]==R[9]){
-        R[3]=G(R[2],2);
-        ob=(word*)R[8];acc=1;
-      }else{
-        R[10]=G(R[2],3);
-        R[4]=G(R[2],4);
-        R[5]=F(0);
-        R[3]=R[8];
-        ob=(word*)R[10];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 733:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[4];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-      R[4]=128*0+258;
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 734:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],3);fp[2]=R[6];R[7]=(word)fp;fp+=3;
-      R[8]=R[4];
-      R[9]=R[5];R[5]=R[3];
-      R[4]=R[7];R[3]=R[9];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 735:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[6];fp[5]=R[8];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[4]=128*200+258;
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 736:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      R[9]=G(R[1],3);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[4]=R[8];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 737:
-    if(acc==4){
-      R[7]=G(R[1],3);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[8]=(word)fp;fp+=6;
-      R[9]=G(R[1],2);
-      R[10]=128*84+258;
-      if(R[9]==R[10]){
-        R[3]=R[6];
-        ob=(word*)R[8];acc=1;
-      }else{
-        R[11]=G(R[2],2);
-        R[4]=F(0);
-        R[5]=R[6];R[3]=R[8];
-        ob=(word*)R[11];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 738:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[6];fp[5]=R[8];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[4]=R[8];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 739:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],3);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[5]=G(R[1],2);
-      R[4]=R[6];
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 740:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[4]=G(R[2],4);
-      R[5]=G(R[2],5);
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 741:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],3);fp[2]=R[5];R[7]=(word)fp;fp+=3;
-      R[5]=F(0);
-      R[9]=R[6];
-      R[6]=R[4];R[4]=R[7];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 742:
-    if(acc==3){
-      R[6]=G(R[2],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-      R[5]=G(R[1],2);
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 743:
-    if(acc==1){
-      R[4]=128*112+258;
-      R[5]=G(R[1],2);
-      R[6]=prim_less(R[4],R[5]);
-      R[7]=G(R[1],3);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],2);fp[3]=R[7];fp[2]=R[3];R[8]=(word)fp;fp+=4;
-      if(R[6]==IFALSE){
-        R[3]=R[5];
-        ob=(word*)R[8];acc=1;
-      }else{
-        R[9]=128*12+258;
-        {hval r=immval(R[5])-immval(R[9]);R[11]=F(r>>FBITS&1);R[10]=F(r);}
-        R[3]=R[10];
-        ob=(word*)R[8];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 744:
-    if(acc==1){
-      R[4]=128*28+258;
-      R[5]=R[3]&R[4];
-      R[6]=G(R[2],2);
-      R[3]=G(R[1],3);
-      R[4]=G(R[1],2);
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 745:
-    if(acc==2){
-      R[5]=128*30+258;
-      if(R[4]==R[5]){
-        R[6]=G(R[1],2);
-        ob=(word*)R[3];R[3]=R[6];acc=1;
-      }else{
-        *fp=make_header(3,TPROC);fp[1]=G(R[1],3);fp[2]=R[4];R[6]=(word)fp;fp+=3;
-        ob=(word*)R[3];R[3]=R[6];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 746:
-    if(acc==2){
-      R[5]=128*94+258;
-      R[6]=R[4]^(FMAX<<IPOS&R[5]);
-      R[7]=G(R[1],2);
-      R[8]=prim_less(R[6],R[7]);
-      ob=(word*)R[3];R[3]=R[8];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 747:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[6]=prim_ref(R[5],R[4]);
-      R[7]=128*6+258;
-      R[8]=R[6]&R[7];
-      R[9]=F(0);
-      R[10]=prim_less(R[9],R[8]);
-      ob=(word*)R[3];R[3]=R[10];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 748:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],3);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[7]=G(R[2],4);
-      R[8]=R[4];R[5]=R[3];
-      R[3]=R[6];R[4]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 749:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[11]=(word)fp;fp+=8;
-      R[12]=G(R[2],4);
-      R[8]=R[4];R[5]=R[3];
-      R[3]=R[11];R[4]=R[12];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 750:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],2);fp[5]=R[10];fp[4]=R[9];fp[3]=R[8];fp[2]=R[7];R[11]=(word)fp;fp+=6;
-      R[9]=R[3];
-      R[3]=R[4];R[4]=R[5];
-      R[5]=R[6];R[6]=R[11];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 751:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],2);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=6;
-      R[7]=R[4];
-      R[4]=R[3];R[3]=R[9];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 752:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[6];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[4]=R[6];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 753:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=6;
-      R[10]=G(R[2],4);
-      R[8]=R[4];R[5]=R[3];
-      R[3]=R[9];R[4]=R[10];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 754:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[6];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[4]=G(R[2],4);
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 755:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],2);fp[4]=R[9];fp[3]=R[8];fp[2]=R[7];R[10]=(word)fp;fp+=5;
-      R[9]=R[3];
-      R[3]=R[4];R[4]=R[5];
-      R[5]=R[6];R[6]=R[10];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 756:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],3);fp[2]=R[8];R[6]=(word)fp;fp+=3;
-      ob=(word*)R[7];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 757:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[8];fp[2]=R[6];R[6]=(word)fp;fp+=4;
-      ob=(word*)R[7];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 758:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[6];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[4]=G(R[1],4);
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 759:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],2);fp[3]=R[8];fp[2]=R[7];R[9]=(word)fp;fp+=4;
-      R[10]=R[3];
-      R[3]=R[4];R[4]=R[5];
-      R[5]=R[6];R[6]=R[9];
-      ob=(word*)R[10];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 760:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[6];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[4]=128*182+258;
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 761:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],5);
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],2);fp[2]=R[7];R[8]=(word)fp;fp+=3;
-      R[9]=R[3];
-      R[3]=R[4];R[4]=R[5];
-      R[5]=R[6];R[6]=R[8];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 762:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      ob=(word*)R[7];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 763:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],3);fp[2]=R[8];R[6]=(word)fp;fp+=3;
-      ob=(word*)R[7];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 764:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      R[6]=G(R[2],2);
-      ob=(word*)R[7];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 765:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[3];fp[2]=R[6];R[3]=(word)fp;fp+=4;
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 766:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],2);
-        if(R[4]==INULL){
-          R[5]=G(R[1],3);
-          R[3]=R[4];
-          ob=(word*)R[5];acc=1;
-        }else{
-          R[5]=G(R[2],2);
-          R[6]=G(R[1],3);
-          *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-          ob=(word*)R[5];acc=2;
-        }
-      }else{
-        R[4]=G(R[1],3);
-        R[3]=G(R[1],2);
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 767:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        R[8]=R[4];R[4]=R[5];
-        ob=(word*)R[8];acc=2;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],2);
-        R[7]=R[4];
-        R[3]=R[5];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 768:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[2],3);
-        R[7]=G(R[1],2);
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],2);
-        R[7]=R[4];
-        R[3]=R[5];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 769:
-    if(acc==4){
-      if(R[5]==INULL){
-        R[7]=G(R[1],2);
-        ob=(word*)R[7];acc=3;
-      }else{
-        R[7]=G(R[1],3);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[1],4);fp[5]=R[6];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 770:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        *fp=make_header(5,TPROC);fp[1]=G(R[2],2);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[2],3);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(6,TPROC);fp[1]=G(R[2],4);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[8]=R[4];R[4]=R[6];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 771:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],2);
-        assert(pairp(R[4]),R[4],169);R[5]=G(R[4],2);
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],4);
-        R[4]=G(R[1],3);
-        R[3]=R[7];
-        ob=(word*)R[6];acc=4;
-      }else{
-        R[4]=G(R[1],4);
-        R[3]=ITRUE;
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 772:
-    if(acc==3){
-      R[6]=INULL;
-      R[7]=G(R[1],2);
-      R[8]=G(R[1],3);
-      R[10]=R[4];
-      R[4]=R[5];R[5]=R[6];
-      R[6]=R[7];R[7]=R[8];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 773:
-    if(acc==4){
-      R[7]=ITRUE;
-      ob=(word*)R[3];R[3]=R[7];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 774:
-    if(acc==5){
-      R[8]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],2);fp[4]=R[7];fp[3]=R[8];fp[2]=R[6];R[7]=(word)fp;fp+=5;
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 775:
-    if(acc==5){
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],4);
-      *fp=make_header(7,TPROC);fp[1]=G(R[2],2);fp[6]=R[9];fp[5]=R[3];fp[4]=R[4];fp[3]=R[5];fp[2]=R[6];R[3]=(word)fp;fp+=7;
-      R[6]=G(R[1],2);
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],3);fp[2]=R[7];R[7]=(word)fp;fp+=3;
-      ob=(word*)R[8];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 776:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],6);
-        R[5]=G(R[1],5);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],2);
-        R[9]=R[4];
-        R[3]=R[5];R[4]=R[6];
-        R[5]=R[7];R[6]=R[8];
-        ob=(word*)R[9];acc=4;
-      }else{
-        R[4]=G(R[1],5);
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 777:
-    if(acc==5){
-      R[8]=G(R[1],2);
-      R[9]=G(R[1],3);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],2);fp[3]=R[9];fp[2]=R[7];R[7]=(word)fp;fp+=4;
-      ob=(word*)R[8];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 778:
-    if(acc==4){
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[10]=R[7];R[7]=R[8];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 779:
-    if(acc==5){
-      if(R[4]==INULL){
-        R[8]=IFALSE;
-        ob=(word*)R[3];R[3]=R[8];acc=1;
-      }else{
-        R[8]=G(R[2],2);
-        R[9]=G(R[1],2);
-        R[10]=G(R[1],3);
-        *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[7];fp[7]=R[3];fp[6]=R[6];fp[5]=R[5];fp[4]=R[4];fp[3]=R[10];fp[2]=R[9];R[3]=(word)fp;fp+=9;
-        ob=(word*)R[8];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 780:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],8);
-        R[7]=G(R[1],6);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],7);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],2);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-        R[11]=G(R[1],3);
-        R[5]=R[4];R[4]=R[11];
-        ob=(word*)R[5];acc=3;
-      }else{
-        R[4]=G(R[1],4);
-        assert(pairp(R[4]),R[4],105);R[5]=G(R[4],1);
-        R[6]=G(R[2],3);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        R[9]=G(R[1],7);
-        R[10]=G(R[1],8);
-        *fp=make_header(7,TPROC);fp[1]=G(R[2],4);fp[6]=R[10];fp[5]=R[9];fp[4]=R[8];fp[3]=R[7];fp[2]=R[4];R[3]=(word)fp;fp+=7;
-        R[4]=G(R[1],3);
-        R[13]=IFALSE;
-        R[9]=R[6];R[6]=R[13];
-        ob=(word*)R[9];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 781:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(7,TPROC);fp[1]=G(R[2],2);fp[6]=R[3];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      ob=(word*)R[4];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 782:
-    if(acc==1){
-      R[4]=G(R[1],6);
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[10]=R[4];R[4]=R[3];
-      R[3]=R[5];R[5]=R[6];
-      R[6]=R[7];R[7]=R[8];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 783:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],5);
-        R[3]=IFALSE;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[1],2);
-        assert(pairp(R[4]),R[4],169);R[5]=G(R[4],2);
-        R[6]=G(R[4],1);
-        R[7]=G(R[1],3);
-        R[8]=cons(R[6],R[7]);
-        R[9]=G(R[1],6);
-        R[3]=G(R[1],5);
-        R[6]=G(R[1],4);
-        R[4]=R[5];R[5]=R[8];
-        ob=(word*)R[9];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 784:
-    if(acc==6){
-      if(R[4]==INULL){
-        R[9]=IFALSE;
-        ob=(word*)R[3];R[3]=R[9];acc=1;
-      }else{
-        R[9]=G(R[2],2);
-        R[10]=G(R[1],2);
-        *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[7];fp[7]=R[3];fp[6]=R[6];fp[5]=R[10];fp[4]=R[5];fp[3]=R[4];fp[2]=R[8];R[3]=(word)fp;fp+=9;
-        ob=(word*)R[9];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 785:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],3);
-        R[5]=G(R[1],8);
-        R[6]=G(R[1],6);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],7);
-        R[9]=G(R[1],2);
-        *fp=make_header(7,TPROC);fp[1]=G(R[2],2);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[1],3);
-        assert(pairp(R[4]),R[4],105);R[5]=G(R[4],1);
-        R[6]=G(R[1],5);
-        if(R[5]==R[6]){
-          R[7]=G(R[4],2);
-          R[8]=G(R[1],4);
-          R[5]=cons(R[6],R[8]);
-          R[10]=G(R[1],8);
-          R[3]=G(R[1],7);
-          R[6]=G(R[1],6);
-          R[4]=R[7];
-          ob=(word*)R[10];acc=4;
-        }else{
-          R[7]=G(R[1],7);
-          R[3]=IFALSE;
-          ob=(word*)R[7];acc=1;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 786:
-    if(acc==6){
-      if(R[4]==INULL){
-        ob=(word*)R[7];acc=4;
-      }else{
-        R[9]=G(R[1],2);
-        *fp=make_header(8,TCLOS);fp[1]=G(R[1],3);fp[7]=R[8];fp[6]=R[3];fp[5]=R[5];fp[4]=R[6];fp[3]=R[7];fp[2]=R[4];R[3]=(word)fp;fp+=8;
-        ob=(word*)R[9];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 787:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        R[9]=G(R[1],7);
-        *fp=make_header(7,TPROC);fp[1]=G(R[2],2);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[1],6);
-        R[3]=IFALSE;
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 788:
-    if(acc==4){
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],2);fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[7]=(word)fp;fp+=5;
-      ob=(word*)R[3];R[3]=R[7];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 789:
-    if(acc==4){
-      R[8]=R[3];R[3]=R[4];
-      R[4]=R[5];R[5]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 790:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[8];R[6]=(word)fp;fp+=4;
-      ob=(word*)R[7];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 791:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      R[9]=G(R[1],3);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[9];fp[3]=R[8];fp[2]=R[6];R[6]=(word)fp;fp+=5;
-      ob=(word*)R[7];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 792:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],5);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],2);fp[2]=R[7];R[8]=(word)fp;fp+=3;
-      R[9]=R[3];
-      R[3]=R[4];R[4]=R[5];
-      R[5]=R[6];R[6]=R[8];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 793:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],3);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[4]=G(R[1],2);
-      R[5]=R[6];
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 794:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],3);fp[2]=R[6];R[6]=(word)fp;fp+=3;
-      ob=(word*)R[7];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 795:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-      ob=(word*)R[6];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 796:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],2);fp[3]=R[6];fp[2]=R[7];R[6]=(word)fp;fp+=4;
-      ob=(word*)R[7];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 797:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],3);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[6];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[4]=G(R[1],2);
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 798:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],2);fp[3]=R[8];fp[2]=R[7];R[9]=(word)fp;fp+=4;
-      R[10]=R[3];
-      R[3]=R[4];R[4]=R[5];
-      R[5]=R[6];R[6]=R[9];
-      ob=(word*)R[10];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 799:
-    if(acc==4){
-      R[7]=G(R[1],4);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[7];R[8]=(word)fp;fp+=4;
-      R[4]=cons(R[8],R[4]);
-      R[10]=G(R[1],2);
-      R[11]=G(R[1],3);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],2);fp[6]=R[6];fp[5]=R[8];fp[4]=R[11];fp[3]=R[10];fp[2]=R[7];R[6]=(word)fp;fp+=7;
-      ob=(word*)R[10];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 800:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      R[8]=cons(R[6],R[7]);
-      R[6]=G(R[1],4);
-      R[10]=G(R[1],5);
-      R[11]=G(R[1],6);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],2);fp[6]=R[3];fp[5]=R[5];fp[4]=R[11];fp[3]=R[4];fp[2]=R[10];R[3]=(word)fp;fp+=7;
-      R[4]=G(R[1],3);
-      R[5]=R[8];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 801:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[3];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[9]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[11]=R[4];R[4]=R[9];
-      ob=(word*)R[11];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 802:
-    if(acc==4){
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],2);fp[4]=R[5];fp[3]=R[6];fp[2]=R[4];R[7]=(word)fp;fp+=5;
-      ob=(word*)R[3];R[3]=R[7];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 803:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],3);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[4]=G(R[1],2);
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 804:
-    if(acc==1){
-      R[4]=G(R[1],5);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],2);
-      R[9]=R[4];
-      R[4]=R[6];R[6]=R[3];
-      R[3]=R[5];R[5]=R[7];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 805:
-    if(acc==1){
-      R[4]=G(R[1],5);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],2);
-      R[9]=R[3];
-      R[3]=R[4];R[4]=R[5];
-      R[5]=R[6];R[6]=R[7];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 806:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      R[6]=cons(R[7],R[6]);
-      R[9]=G(R[1],3);
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 807:
-    if(acc==4){
-      R[7]=G(R[1],3);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],2);fp[3]=R[7];fp[2]=R[6];R[8]=(word)fp;fp+=4;
-      R[4]=cons(R[8],R[4]);
-      R[10]=G(R[1],2);
-      ob=(word*)R[10];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 808:
-    if(acc==4){
-      R[7]=G(R[1],3);
-      R[6]=G(R[1],2);
-      ob=(word*)R[7];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 809:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      R[9]=R[6];R[6]=R[7];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 810:
-    if(acc==4){
-      if(R[5]==INULL){
-        R[7]=G(R[2],2);
-        R[6]=G(R[2],3);
-        ob=(word*)R[7];acc=4;
-      }else{
-        R[7]=G(R[2],4);
-        R[8]=G(R[1],2);
-        R[9]=G(R[1],3);
-        *fp=make_header(8,TCLOS);fp[1]=G(R[2],5);fp[7]=R[6];fp[6]=R[3];fp[5]=R[9];fp[4]=R[5];fp[3]=R[4];fp[2]=R[8];R[3]=(word)fp;fp+=8;
-        R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 811:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],7);
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],6);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],2);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[10]=G(R[1],5);
-        R[5]=R[4];R[4]=R[10];
-        ob=(word*)R[5];acc=3;
-      }else{
-        R[4]=G(R[1],4);
-        assert(pairp(R[4]),R[4],105);R[5]=G(R[4],1);
-        R[6]=G(R[1],5);
-        if(R[5]==R[6]){
-          R[7]=G(R[1],3);
-          R[8]=cons(R[6],R[7]);
-          R[5]=G(R[4],2);
-          R[10]=G(R[1],7);
-          R[3]=G(R[1],6);
-          R[4]=R[8];
-          ob=(word*)R[10];acc=4;
-        }else{
-          R[7]=G(R[2],3);
-          R[3]=G(R[1],6);
-          R[9]=G(R[1],3);
-          R[6]=G(R[2],4);
-          R[5]=R[4];R[4]=R[9];
-          ob=(word*)R[7];acc=4;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 812:
-    if(acc==4){
-      if(R[5]==INULL){
-        R[7]=G(R[2],2);
-        R[6]=G(R[2],3);
-        ob=(word*)R[7];acc=4;
-      }else{
-        R[7]=G(R[2],4);
-        R[8]=G(R[1],2);
-        R[9]=G(R[1],3);
-        *fp=make_header(8,TCLOS);fp[1]=G(R[2],5);fp[7]=R[6];fp[6]=R[3];fp[5]=R[4];fp[4]=R[5];fp[3]=R[9];fp[2]=R[8];R[3]=(word)fp;fp+=8;
-        R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 813:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],7);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],2);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[10]=G(R[1],3);
-        R[5]=R[4];R[4]=R[10];
-        ob=(word*)R[5];acc=3;
-      }else{
-        R[4]=G(R[1],4);
-        {word*ob=(word*)R[4];hval hdr;assert(allocp(R[4]),R[4],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[5]=ob[1];R[6]=ob[2];}
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],6);
-        R[10]=G(R[1],7);
-        *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[10];fp[6]=R[9];fp[5]=R[6];fp[4]=R[5];fp[3]=R[8];fp[2]=R[4];R[3]=(word)fp;fp+=8;
-        R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 814:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],6);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],2);
-        R[8]=G(R[2],3);
-        R[9]=R[4];
-        R[3]=R[5];R[4]=R[6];
-        R[5]=R[7];R[6]=R[8];
-        ob=(word*)R[9];acc=4;
-      }else{
-        R[4]=G(R[1],4);
-        R[5]=G(R[1],3);
-        R[6]=cons(R[4],R[5]);
-        R[7]=G(R[1],7);
-        R[3]=G(R[1],6);
-        R[5]=G(R[1],5);
-        R[10]=R[6];
-        R[6]=R[4];R[4]=R[10];
-        ob=(word*)R[7];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 815:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],2);fp[5]=R[3];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      ob=(word*)R[4];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 816:
-    if(acc==5){
-      if(R[5]==INULL){
-        R[8]=G(R[1],2);
-        R[6]=G(R[1],3);
-        ob=(word*)R[8];acc=4;
-      }else{
-        R[8]=G(R[1],4);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[1],5);fp[6]=R[6];fp[5]=R[3];fp[4]=R[5];fp[3]=R[4];fp[2]=R[7];R[3]=(word)fp;fp+=7;
-        R[4]=R[5];
-        ob=(word*)R[8];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 817:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],4);
-        R[5]=G(R[1],6);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],2);
-        *fp=make_header(6,TPROC);fp[1]=G(R[2],2);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[1],4);
-        assert(pairp(R[4]),R[4],105);R[5]=G(R[4],1);
-        R[6]=G(R[1],3);
-        R[7]=cons(R[5],R[6]);
-        R[5]=G(R[4],2);
-        R[6]=G(R[4],1);
-        R[10]=G(R[1],6);
-        R[3]=G(R[1],5);
-        R[4]=R[7];
-        ob=(word*)R[10];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 818:
-    if(acc==5){
-      if(R[4]==INULL){
-        R[8]=IFALSE;
-        R[9]=R[3];R[4]=R[5];
-        R[5]=R[6];R[3]=R[8];
-        ob=(word*)R[9];acc=3;
-      }else{
-        assert(pairp(R[4]),R[4],105);R[8]=G(R[4],1);
-        {word ob=R[8];if(allocp(ob))ob=V(ob);R[9]=F((hval)ob>>TPOS&63);}
-        if(R[9]==F(0)){
-          R[4]=G(R[4],2);
-          R[5]=cons(R[8],R[5]);
-          ob=(word*)R[7];acc=5;
-        }else{
-          R[4]=G(R[4],2);
-          ob=(word*)R[8];acc=4;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 819:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],3);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[5]=G(R[2],4);
-      R[8]=R[4];
-      R[4]=R[3];R[3]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 820:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[6]=INULL;
-      R[9]=R[6];
-      R[6]=R[5];R[5]=R[9];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 821:
-    if(acc==4){
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],2);fp[4]=R[6];fp[3]=R[4];fp[2]=R[5];R[7]=(word)fp;fp+=5;
-      ob=(word*)R[3];R[3]=R[7];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 822:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[4];R[7]=(word)fp;fp+=4;
-      R[4]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=R[6];R[6]=R[5];
-      R[3]=R[7];R[5]=R[9];
-      ob=(word*)R[10];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 823:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=F(0);
-      R[7]=INULL;
-      R[8]=G(R[2],3);
-      R[10]=R[4];R[4]=R[3];
-      R[3]=R[5];R[5]=R[6];
-      R[6]=R[7];R[7]=R[8];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 824:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=F(0);
-      R[7]=INULL;
-      R[8]=G(R[1],2);
-      R[10]=R[4];R[4]=R[3];
-      R[3]=R[5];R[5]=R[6];
-      R[6]=R[7];R[7]=R[8];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 825:
-    if(acc==6){
-      R[9]=G(R[1],2);
-      if(R[5]==R[9]){
-        R[10]=G(R[1],3);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[1],4);fp[5]=R[3];fp[4]=R[8];fp[3]=R[4];fp[2]=R[7];R[3]=(word)fp;fp+=6;
-        R[4]=R[6];
-        ob=(word*)R[10];acc=2;
-      }else{
-        if(R[4]==INULL){
-          R[10]=G(R[1],3);
-          *fp=make_header(4,TCLOS);fp[1]=G(R[1],5);fp[3]=R[3];fp[2]=R[7];R[3]=(word)fp;fp+=4;
-          R[4]=R[6];
-          ob=(word*)R[10];acc=2;
-        }else{
-          R[10]=128*0+258;
-          {hval r=immval(R[5])+immval(R[10]);R[12]=F(r>>FBITS);R[11]=F(r);}
-          assert(pairp(R[4]),R[4],169);R[13]=G(R[4],2);
-          R[14]=G(R[4],1);
-          R[6]=cons(R[14],R[6]);
-          R[5]=R[11];R[4]=R[13];
-          ob=(word*)R[8];acc=6;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 826:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=6;
-      R[8]=R[4];
-      R[4]=R[3];R[3]=R[9];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 827:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],5);
-        R[3]=IFALSE;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[1],4);
-        R[5]=G(R[1],5);
-        R[6]=G(R[1],3);
-        R[7]=F(0);
-        R[8]=INULL;
-        R[9]=G(R[1],2);
-        R[11]=R[6];
-        R[6]=R[8];R[8]=R[4];
-        R[3]=R[5];R[5]=R[7];
-        R[7]=R[9];R[4]=R[11];
-        ob=(word*)R[8];acc=6;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 828:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],3);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[7]=G(R[1],2);
-      R[8]=R[4];R[5]=R[3];
-      R[3]=R[6];R[4]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 829:
-    if(acc==4){
-      if(immediatep(R[4])){R[7]=IFALSE;}else{hval h=V(R[4]);R[7]=rawp(h)?F(payl_len(h)):IFALSE;}      if(R[7]==F(0)){
-        R[8]=ITRUE;
-        ob=(word*)R[3];R[3]=R[8];acc=1;
-      }else{
-        *fp=make_header(6,TCLOS);fp[1]=G(R[1],2);fp[5]=R[6];fp[4]=R[5];fp[3]=R[7];fp[2]=R[4];R[4]=(word)fp;fp+=6;
-        ob=(word*)R[4];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 830:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[9];fp[6]=R[3];fp[5]=R[8];fp[4]=R[4];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=8;
-      R[9]=R[5];R[5]=R[6];
-      R[6]=R[7];R[4]=R[8];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 831:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      if(R[3]==R[4]){
-        R[5]=G(R[1],6);
-        R[3]=ITRUE;
-        ob=(word*)R[5];acc=1;
-      }else{
-        if(R[3]==F(0)){
-          R[5]=G(R[2],5);
-          R[6]=G(R[1],5);
-          *fp=make_header(3,2);fp[1]=R[5];fp[2]=R[6];R[5]=(word)fp;fp+=3;
-          R[8]=G(R[2],2);
-          R[9]=G(R[1],6);
-          R[10]=G(R[1],4);
-          *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[10];fp[2]=R[9];R[3]=(word)fp;fp+=4;
-          R[4]=G(R[2],4);
-          ob=(word*)R[8];acc=3;
-        }else{
-          if(R[3]==IFALSE){
-            R[5]=G(R[1],6);
-            R[3]=IFALSE;
-            ob=(word*)R[5];acc=1;
-          }else{
-            R[5]=G(R[2],6);
-            R[6]=G(R[1],5);
-            R[7]=G(R[1],6);
-            R[8]=G(R[1],7);
-            *fp=make_header(5,TPROC);fp[1]=G(R[2],7);fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[9]=(word)fp;fp+=5;
-            R[4]=G(R[1],2);
-            R[8]=R[5];
-            R[5]=R[3];R[3]=R[9];
-            ob=(word*)R[8];acc=3;
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 832:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],5);fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[8]=(word)fp;fp+=6;
-      if(R[3]==IFALSE){
-        R[3]=IFALSE;
-        ob=(word*)R[8];acc=1;
-      }else{
-        R[9]=G(R[2],4);
-        *fp=make_header(3,2);fp[1]=R[9];fp[2]=R[6];R[5]=(word)fp;fp+=3;
-        R[11]=G(R[2],2);
-        R[4]=G(R[2],3);
-        R[3]=R[8];
-        ob=(word*)R[11];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 833:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[9]=R[4];
-      R[3]=R[5];R[4]=R[6];
-      R[5]=R[7];R[6]=R[8];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 834:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[10];fp[6]=R[9];fp[5]=R[3];fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=8;
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 835:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=6;
-      R[5]=G(R[1],2);
-      R[8]=R[4];
-      R[4]=R[3];R[3]=R[9];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 836:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=6;
-      R[10]=G(R[1],2);
-      R[8]=R[4];R[5]=R[3];
-      R[3]=R[9];R[4]=R[10];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 837:
-    if(acc==4){
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],2);fp[2]=R[4];R[7]=(word)fp;fp+=3;
-      R[8]=F(0);
-      R[4]=R[6];R[6]=R[8];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 838:
-    if(acc==5){
-      R[8]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],2);fp[5]=R[7];fp[4]=R[6];fp[3]=R[8];fp[2]=R[5];R[9]=(word)fp;fp+=6;
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[8];fp[3]=R[5];fp[2]=R[6];R[10]=(word)fp;fp+=6;
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],4);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[12]=R[4];
-      R[4]=R[9];R[5]=R[10];
-      ob=(word*)R[12];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 839:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      if(R[6]==F(0)){
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(5,TPROC);fp[1]=G(R[2],2);fp[4]=R[8];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[10]=G(R[1],3);
-        R[5]=R[4];R[4]=R[10];
-        ob=(word*)R[7];acc=3;
-      }else{
-        {hval r=immval(R[6])+immval(R[6]);R[8]=F(r>>FBITS);R[7]=F(r);}
-        R[9]=G(R[2],3);
-        R[10]=G(R[1],5);
-        *fp=make_header(6,TPROC);fp[1]=G(R[2],4);fp[5]=R[10];fp[4]=R[3];fp[3]=R[5];fp[2]=R[7];R[3]=(word)fp;fp+=6;
-        R[12]=G(R[1],4);
-        R[5]=G(R[1],3);
-        R[6]=R[4];R[4]=R[12];
-        ob=(word*)R[9];acc=5;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 840:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[7]=128*0+258;
-      R[10]=R[6];
-      R[11]=R[5];R[5]=R[3];
-      R[6]=R[7];R[7]=R[4];
-      R[4]=R[10];R[3]=R[11];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 841:
-    if(acc==3){
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[3];fp[3]=R[5];fp[2]=R[7];R[3]=(word)fp;fp+=6;
-      R[10]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[12]=R[6];
-      R[6]=R[4];R[4]=R[10];
-      ob=(word*)R[12];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 842:
-    if(acc==6){
-      R[9]=128*0+258;
-      if(R[7]==R[9]){
-        R[8]=R[4];
-        R[4]=R[5];R[5]=R[6];
-        ob=(word*)R[8];acc=3;
-      }else{
-        {hval x=immval(R[7]);uint n=immval(R[9]);R[10]=F(x>>n);R[11]=F(x<<(FBITS-n));}
-        assert(pairp(R[6]),R[6],105);R[12]=G(R[6],1);
-        *fp=make_header(7,TPROC);fp[1]=G(R[1],2);fp[6]=R[8];fp[5]=R[3];fp[4]=R[4];fp[3]=R[10];fp[2]=R[6];R[3]=(word)fp;fp+=7;
-        R[7]=R[10];R[6]=R[12];
-        ob=(word*)R[8];acc=6;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 843:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      assert(pairp(R[4]),R[4],169);R[5]=G(R[4],2);
-      R[6]=G(R[1],6);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],3);
-      R[4]=R[8];R[8]=R[6];
-      R[6]=R[5];R[5]=R[3];
-      R[3]=R[7];R[7]=R[9];
-      ob=(word*)R[8];acc=6;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 844:
-    if(acc==6){
-      R[9]=G(R[1],2);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],2);fp[6]=R[8];fp[5]=R[5];fp[4]=R[6];fp[3]=R[7];fp[2]=R[9];R[10]=(word)fp;fp+=7;
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[9];fp[2]=R[6];R[5]=(word)fp;fp+=6;
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],4);fp[2]=R[4];R[6]=(word)fp;fp+=3;
-      R[9]=R[4];R[4]=R[10];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 845:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      {hval r=immval(R[6])+immval(R[6]);R[8]=F(r>>FBITS);R[7]=F(r);}
-      R[9]=G(R[1],4);
-      {hval r=immval(R[9])-immval(R[6]);R[11]=F(r>>FBITS&1);R[10]=F(r);}
-      if(R[11]==F(0)){
-        R[8]=G(R[1],5);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],2);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-        R[4]=R[5];R[5]=R[6];
-        R[6]=R[7];R[7]=R[10];
-        ob=(word*)R[8];acc=6;
-      }else{
-        R[12]=G(R[2],3);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],4);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        R[7]=G(R[1],3);
-        R[5]=R[9];
-        ob=(word*)R[12];acc=5;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 846:
-    if(acc==3){
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],5);
-      {hval r=immval(R[6])-immval(R[7]);R[9]=F(r>>FBITS&1);R[8]=F(r);}
-      if(R[9]==F(0)){
-        R[10]=G(R[1],6);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],2);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-        R[6]=G(R[1],4);
-        R[4]=R[5];R[5]=R[7];
-        R[7]=R[8];R[8]=R[10];
-        ob=(word*)R[8];acc=6;
-      }else{
-        R[10]=G(R[2],3);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],4);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        R[12]=G(R[1],2);
-        R[5]=R[6];
-        R[6]=R[7];R[7]=R[12];
-        ob=(word*)R[10];acc=5;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 847:
-    if(acc==6){
-      R[9]=128*0+258;
-      if(R[6]==R[9]){
-        ob=(word*)R[3];R[3]=R[7];acc=1;
-      }else{
-        {hval x=immval(R[6]);uint n=immval(R[9]);R[10]=F(x>>n);R[11]=F(x<<(FBITS-n));}
-        R[12]=R[5]&R[10];
-        if(R[12]==F(0)){
-          assert(pairp(R[4]),R[4],105);R[13]=G(R[4],1);
-          *fp=make_header(4,TPROC);fp[1]=G(R[1],2);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-          R[6]=R[10];R[4]=R[13];
-          ob=(word*)R[8];acc=6;
-        }else{
-          assert(pairp(R[4]),R[4],105);R[13]=G(R[4],1);
-          R[4]=G(R[4],2);
-          *fp=make_header(4,TPROC);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[13];R[3]=(word)fp;fp+=4;
-          R[6]=R[10];
-          ob=(word*)R[8];acc=6;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 848:
-    if(acc==4){
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],2);fp[2]=R[6];R[7]=(word)fp;fp+=3;
-      R[8]=F(0);
-      R[9]=128*0+258;
-      R[11]=R[8];
-      R[8]=R[7];R[7]=R[5];
-      R[6]=R[9];R[5]=R[11];
-      ob=(word*)R[8];acc=6;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 849:
-    if(acc==4){
-      R[7]=IFALSE;
-      *fp=make_header(4,TCLOS);fp[1]=G(R[1],2);fp[3]=R[4];fp[2]=R[6];R[8]=(word)fp;fp+=4;
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],3);fp[2]=R[4];R[6]=(word)fp;fp+=3;
-      R[10]=R[5];
-      R[4]=R[7];R[5]=R[8];
-      ob=(word*)R[10];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 850:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[2],3);
-      R[8]=R[4];
-      R[4]=R[5];R[5]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 851:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],2);fp[4]=R[7];fp[3]=R[4];fp[2]=R[6];R[8]=(word)fp;fp+=5;
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[4];fp[2]=R[5];R[9]=(word)fp;fp+=5;
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],4);fp[3]=R[7];fp[2]=R[4];R[6]=(word)fp;fp+=4;
-      R[11]=R[5];
-      R[4]=R[8];R[5]=R[9];
-      ob=(word*)R[11];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 852:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[3];fp[2]=R[5];R[6]=(word)fp;fp+=4;
-      R[7]=G(R[1],2);
-      R[5]=G(R[2],4);
-      R[9]=R[4];
-      R[3]=R[6];R[4]=R[7];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 853:
-    if(acc==3){
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],4);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[3];fp[2]=R[7];R[3]=(word)fp;fp+=4;
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],2);
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 854:
-    if(acc==3){
-      R[6]=IFALSE;
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[9]=G(R[1],4);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],2);fp[6]=R[9];fp[5]=R[8];fp[4]=R[5];fp[3]=R[7];fp[2]=R[4];R[10]=(word)fp;fp+=7;
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[9];fp[3]=R[7];fp[2]=R[4];R[11]=(word)fp;fp+=5;
-      R[9]=R[5];R[4]=R[6];
-      R[5]=R[10];R[6]=R[11];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 855:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[6]=cons(R[4],R[5]);
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],4);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[3];fp[2]=R[8];R[3]=(word)fp;fp+=4;
-      R[5]=G(R[2],4);
-      R[4]=R[6];
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 856:
-    if(acc==3){
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],2);
-      R[4]=cons(R[6],R[7]);
-      R[6]=G(R[1],5);
-      R[10]=G(R[1],6);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],2);fp[3]=R[3];fp[2]=R[10];R[3]=(word)fp;fp+=4;
-      R[5]=G(R[1],4);
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 857:
-    if(acc==4){
-      ob=(word*)R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 858:
-    if(acc==4){
-      R[4]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[9]=R[5];R[5]=R[8];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 859:
-    if(acc==4){
-      R[7]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[9]=R[4];R[4]=R[7];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 860:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[6]=F(0);
-      R[8]=R[5];
-      R[5]=R[4];R[4]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 861:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],3);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-      ob=(word*)R[4];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 862:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[2],3);
-      R[8]=R[4];R[4]=R[3];
-      R[3]=R[5];R[5]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 863:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-      R[8]=R[4];R[4]=R[5];
-      ob=(word*)R[8];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 864:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[8]=G(R[2],4);
-      R[9]=R[4];R[5]=R[3];
-      R[3]=R[7];R[4]=R[8];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 865:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[10]=(word)fp;fp+=8;
-      R[7]=R[4];
-      R[4]=R[3];R[3]=R[10];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 866:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],3);fp[2]=R[3];R[8]=(word)fp;fp+=3;
-      R[9]=128*82+258;
-      R[10]=R[7];R[7]=R[6];
-      R[6]=R[5];R[5]=R[4];
-      R[3]=R[8];R[4]=R[9];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 867:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=BOOL(R[3]==R[4]);
-      R[6]=G(R[1],3);
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],4);fp[2]=R[6];R[7]=(word)fp;fp+=3;
-      if(R[5]==IFALSE){
-        R[8]=G(R[2],2);
-        *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[7];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-        ob=(word*)R[8];acc=1;
-      }else{
-        R[3]=R[5];
-        ob=(word*)R[7];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 868:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],2);
-        R[3]=IFALSE;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[1],2);
-        R[3]=F(0);
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 869:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        *fp=make_header(3,TCLOS);fp[1]=G(R[2],3);fp[2]=R[5];R[3]=(word)fp;fp+=3;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[1],2);
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 870:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-      ob=(word*)R[4];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 871:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[3]=BOOL(R[3]==R[4]);
-      R[6]=G(R[1],3);
-      ob=(word*)R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 872:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[5];fp[2]=R[3];R[6]=(word)fp;fp+=4;
-      R[7]=R[4];
-      R[4]=R[3];R[3]=R[6];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 873:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=5;
-      R[8]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[10]=R[4];R[4]=R[8];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 874:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=128*16+258;
-      R[6]=F(0);
-      R[8]=R[4];
-      R[4]=R[5];R[5]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 875:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[6]=128*80+258;
-      R[7]=128*0+258;
-      R[9]=R[5];R[5]=R[4];
-      R[4]=R[6];R[6]=R[7];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 876:
-    if(acc==2){
-      R[5]=IFALSE;
-      R[6]=prim_sys(R[4],R[5],R[5],R[5]);
-      ob=(word*)R[3];R[3]=R[6];acc=1;
-    }else{
-      if(acc==3){
-        R[6]=G(R[1],2);
-        *fp=make_header(4,TPROC);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-        R[4]=R[5];
-        ob=(word*)R[6];acc=2;
-      }else{
-        if(acc==4){
-          R[7]=G(R[1],2);
-          *fp=make_header(5,TCLOS);fp[1]=G(R[1],4);fp[4]=R[3];fp[3]=R[4];fp[2]=R[6];R[3]=(word)fp;fp+=5;
-          R[4]=R[5];
-          ob=(word*)R[7];acc=2;
-        }else{
-          if(acc==5){
-            R[8]=G(R[1],2);
-            *fp=make_header(6,TCLOS);fp[1]=G(R[1],5);fp[5]=R[3];fp[4]=R[4];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-            R[4]=R[5];
-            ob=(word*)R[8];acc=2;
-          }else{
-            error(61,ob,F(acc));
-          }
-        }
-      }
-    }
-     break;
-   case 877:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=6;
-      R[9]=G(R[1],2);
-      R[7]=R[4];R[4]=R[9];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 878:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[3]=prim_sys(R[4],R[5],R[6],R[3]);
-      R[8]=G(R[1],5);
-      ob=(word*)R[8];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 879:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[6]=IFALSE;
-      R[3]=prim_sys(R[4],R[5],R[3],R[6]);
-      R[8]=G(R[1],4);
-      ob=(word*)R[8];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 880:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=IFALSE;
-      R[3]=prim_sys(R[4],R[3],R[5],R[5]);
-      R[7]=G(R[1],3);
-      ob=(word*)R[7];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 881:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],3);
-        R[3]=G(R[1],2);
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],2);
-        R[7]=R[4];
-        R[3]=R[5];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 882:
-    if(acc==1){
-      R[4]=128*14+258;
-      R[5]=G(R[1],2);
-      R[6]=IFALSE;
-      R[7]=prim_sys(R[4],R[5],R[6],R[6]);
-      ob=(word*)R[3];R[3]=R[7];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 883:
-    if(acc==4){
-      if(R[4]==R[5]){
-        R[7]=ITRUE;
-        ob=(word*)R[3];R[3]=R[7];acc=1;
-      }else{
-        R[7]=G(R[1],2);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[3];fp[4]=R[4];fp[3]=R[5];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 884:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],2);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],5);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 885:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],4);
-        R[3]=IFALSE;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],2);
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 886:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],5);
-        *fp=make_header(3,TPROC);fp[1]=G(R[2],3);fp[2]=R[6];R[7]=(word)fp;fp+=3;
-        R[8]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[10]=R[4];R[3]=R[5];
-        R[4]=R[7];R[5]=R[8];
-        ob=(word*)R[10];acc=4;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],5);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[7]=R[4];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 887:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],4);
-        R[3]=IFALSE;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[1],2);
-        assert(pairp(R[4]),R[4],105);R[5]=G(R[4],1);
-        R[6]=G(R[1],3);
-        assert(pairp(R[6]),R[6],105);R[7]=G(R[6],1);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],4);
-        *fp=make_header(6,TPROC);fp[1]=G(R[2],2);fp[5]=R[8];fp[4]=R[9];fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-        R[4]=R[5];
-        R[5]=R[7];R[6]=R[8];
-        ob=(word*)R[6];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 888:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      ob=(word*)R[3];R[3]=R[5];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 889:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[8]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[10]=R[4];R[6]=R[3];
-      R[3]=R[7];R[4]=R[8];
-      ob=(word*)R[10];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 890:
-    if(acc==4){
-      if(R[4]==INULL){
-        R[7]=128*80+258;
-        R[8]=cons(R[7],R[5]);
-        R[9]=128*78+258;
-        R[10]=cons(R[9],R[8]);
-        ob=(word*)R[3];R[3]=R[10];acc=1;
-      }else{
-        R[7]=G(R[1],2);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[6];fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 891:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[7]=R[4];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],2);
-        R[8]=128*18+258;
-        R[9]=R[4];
-        R[3]=R[5];R[4]=R[6];
-        R[5]=R[7];R[6]=R[8];
-        ob=(word*)R[9];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 892:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[7]=R[4];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],2);
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 893:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],5);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],2);
-        R[8]=G(R[1],4);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[7]=R[4];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[1],5);
-        *fp=make_header(3,TCLOS);fp[1]=G(R[2],5);fp[2]=R[4];R[5]=(word)fp;fp+=3;
-        R[6]=128*80+258;
-        R[7]=G(R[1],2);
-        R[8]=cons(R[6],R[7]);
-        R[9]=G(R[1],4);
-        *fp=make_header(3,TPROC);fp[1]=G(R[2],4);fp[2]=R[9];R[3]=(word)fp;fp+=3;
-        R[4]=G(R[1],3);
-        R[6]=R[5];R[5]=R[8];
-        ob=(word*)R[6];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 894:
-    if(acc==4){
-      if(R[4]==INULL){
-        ob=(word*)R[3];R[3]=R[5];acc=1;
-      }else{
-        R[7]=G(R[2],2);
-        R[8]=G(R[1],2);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[3];fp[5]=R[8];fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=7;
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 895:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],5);
-        R[5]=G(R[1],6);
-        *fp=make_header(3,TPROC);fp[1]=G(R[2],2);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-        R[7]=G(R[1],2);
-        R[5]=G(R[1],3);
-        R[3]=R[6];
-        R[6]=R[4];R[4]=R[7];
-        ob=(word*)R[6];acc=4;
-      }else{
-        R[4]=G(R[1],2);
-        assert(pairp(R[4]),R[4],105);R[5]=G(R[4],1);
-        R[6]=G(R[4],2);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],6);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[9];fp[3]=R[8];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[5]=G(R[1],3);
-        R[4]=R[6];R[6]=R[7];
-        ob=(word*)R[6];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 896:
-    if(acc==1){
-      R[4]=128*62+258;
-      R[5]=cons(R[4],R[3]);
-      R[6]=128*90+258;
-      R[7]=cons(R[6],R[5]);
-      R[3]=cons(R[4],R[7]);
-      R[9]=G(R[1],2);
-      ob=(word*)R[9];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 897:
-    if(acc==1){
-      assert(pairp(R[3]),R[3],169);R[4]=G(R[3],2);
-      R[5]=128*78+258;
-      R[3]=cons(R[5],R[4]);
-      R[7]=G(R[1],2);
-      ob=(word*)R[7];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 898:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],2);
-        R[8]=G(R[1],5);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[1],4);
-        R[5]=G(R[1],5);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],6);fp[3]=R[5];fp[2]=R[4];R[6]=(word)fp;fp+=4;
-        R[7]=G(R[1],3);
-        if(R[7]==IFALSE){
-          R[3]=G(R[2],4);
-          ob=(word*)R[6];acc=1;
-        }else{
-          R[3]=G(R[2],5);
-          ob=(word*)R[6];acc=1;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 899:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],5);
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],3);
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 900:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],2);
-        R[8]=G(R[1],4);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[8]=R[4];R[4]=R[7];
-        ob=(word*)R[8];acc=2;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],5);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 901:
-    if(acc==1){
-      R[4]=G(R[1],5);
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],6);fp[2]=R[4];R[5]=(word)fp;fp+=3;
-      if(R[3]==IFALSE){
-        R[6]=G(R[2],2);
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],4);
-        *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[8];fp[3]=R[5];fp[2]=R[7];R[3]=(word)fp;fp+=5;
-        R[4]=G(R[1],2);
-        ob=(word*)R[6];acc=2;
-      }else{
-        R[6]=G(R[2],4);
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],4);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],5);fp[4]=R[5];fp[3]=R[8];fp[2]=R[7];R[3]=(word)fp;fp+=5;
-        R[4]=G(R[1],2);
-        ob=(word*)R[6];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 902:
-    if(acc==1){
-      R[4]=128*68+258;
-      R[3]=cons(R[4],R[3]);
-      R[6]=G(R[1],2);
-      ob=(word*)R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 903:
-    if(acc==1){
-      R[4]=128*110+258;
-      R[5]=cons(R[4],R[3]);
-      R[6]=128*232+258;
-      R[3]=cons(R[6],R[5]);
-      R[8]=G(R[1],2);
-      ob=(word*)R[8];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 904:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[8]=R[4];R[4]=R[7];
-        ob=(word*)R[8];acc=2;
-      }else{
-        R[4]=G(R[1],5);
-        R[5]=G(R[1],3);
-        R[6]=G(R[2],4);
-        R[7]=G(R[1],2);
-        R[9]=R[6];
-        R[6]=R[4];R[3]=R[5];
-        R[5]=R[7];R[4]=R[9];
-        ob=(word*)R[6];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 905:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[8]=R[4];R[4]=R[7];
-        ob=(word*)R[8];acc=2;
-      }else{
-        R[4]=G(R[1],4);
-        R[5]=128*0+258;
-        R[6]=prim_ref(R[4],R[5]);
-        R[7]=128*184+258;
-        R[8]=G(R[1],2);
-        R[9]=cons(R[7],R[8]);
-        R[10]=G(R[2],4);
-        R[11]=G(R[1],3);
-        R[12]=G(R[1],5);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],5);fp[6]=R[12];fp[5]=R[4];fp[4]=R[11];fp[3]=R[6];fp[2]=R[9];R[3]=(word)fp;fp+=7;
-        ob=(word*)R[10];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 906:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],3);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[1],4);
-        R[5]=128*0+258;
-        R[6]=prim_ref(R[4],R[5]);
-        R[7]=128*248+258;
-        R[8]=G(R[1],2);
-        R[9]=cons(R[7],R[8]);
-        R[10]=G(R[2],4);
-        R[11]=G(R[1],3);
-        R[12]=G(R[1],5);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],5);fp[6]=R[12];fp[5]=R[4];fp[4]=R[11];fp[3]=R[6];fp[2]=R[9];R[3]=(word)fp;fp+=7;
-        ob=(word*)R[10];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 907:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[10]=(word)fp;fp+=7;
-      R[5]=128*1+258;
-      R[6]=128*0+258;
-      R[9]=R[4];
-      R[4]=R[3];R[3]=R[10];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 908:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],6);
-      R[7]=G(R[1],4);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[8]=(word)fp;fp+=5;
-      R[9]=G(R[1],5);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],4);fp[3]=R[6];fp[2]=R[9];R[10]=(word)fp;fp+=4;
-      R[5]=G(R[1],2);
-      R[9]=R[4];R[6]=R[3];
-      R[3]=R[8];R[4]=R[10];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 909:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      R[7]=prim_ref(R[6],R[5]);
-      R[6]=G(R[1],3);
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],2);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-      R[5]=R[4];R[4]=R[7];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 910:
-    if(acc==1){
-      R[4]=128*62+258;
-      R[3]=cons(R[4],R[3]);
-      R[6]=G(R[1],2);
-      ob=(word*)R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 911:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],4);
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],2);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[7]=G(R[1],2);
-      R[5]=R[3];R[3]=R[6];
-      R[6]=R[4];R[4]=R[7];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 912:
-    if(acc==1){
-      R[4]=128*244+258;
-      R[5]=cons(R[4],R[3]);
-      R[6]=128*68+258;
-      R[3]=cons(R[6],R[5]);
-      R[8]=G(R[1],2);
-      ob=(word*)R[8];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 913:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],4);
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],2);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[7]=G(R[1],2);
-      R[9]=R[6];
-      R[6]=R[4];R[4]=R[3];
-      R[5]=R[7];R[3]=R[9];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 914:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[7]=R[4];R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],5);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[9]=G(R[1],2);
-        R[7]=R[4];R[4]=R[9];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 915:
-    if(acc==1){
-      R[4]=128*180+258;
-      R[5]=cons(R[4],R[3]);
-      R[6]=128*68+258;
-      R[3]=cons(R[6],R[5]);
-      R[8]=G(R[1],2);
-      ob=(word*)R[8];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 916:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],5);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        R[8]=G(R[1],2);
-        R[9]=R[4];R[4]=R[8];
-        ob=(word*)R[9];acc=2;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],5);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[9]=G(R[1],2);
-        R[7]=R[4];R[4]=R[9];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 917:
-    if(acc==1){
-      R[4]=128*184+258;
-      R[5]=G(R[1],2);
-      R[6]=cons(R[4],R[5]);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],2);fp[2]=R[8];R[9]=(word)fp;fp+=3;
-      R[4]=R[3];R[5]=R[6];
-      R[6]=R[7];R[3]=R[9];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 918:
-    if(acc==1){
-      R[4]=128*62+258;
-      R[5]=cons(R[4],R[3]);
-      R[6]=128*198+258;
-      R[7]=cons(R[6],R[5]);
-      R[8]=128*202+258;
-      R[9]=cons(R[8],R[7]);
-      R[10]=128*180+258;
-      R[11]=cons(R[10],R[9]);
-      R[12]=128*68+258;
-      R[3]=cons(R[12],R[11]);
-      R[14]=G(R[1],2);
-      ob=(word*)R[14];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 919:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        R[8]=G(R[2],4);
-        R[9]=R[4];R[4]=R[8];
-        ob=(word*)R[9];acc=2;
-      }else{
-        R[4]=128*80+258;
-        R[5]=G(R[1],2);
-        R[6]=cons(R[4],R[5]);
-        R[7]=128*230+258;
-        R[8]=cons(R[7],R[6]);
-        R[9]=128*196+258;
-        R[10]=cons(R[9],R[8]);
-        R[11]=128*200+258;
-        R[12]=cons(R[11],R[10]);
-        R[13]=128*210+258;
-        R[14]=cons(R[13],R[12]);
-        R[15]=128*194+258;
-        R[16]=cons(R[15],R[14]);
-        R[17]=128*220+258;
-        R[18]=cons(R[17],R[16]);
-        R[19]=128*88+258;
-        R[20]=cons(R[19],R[18]);
-        R[21]=128*202+258;
-        R[22]=cons(R[21],R[20]);
-        R[23]=cons(R[17],R[22]);
-        R[24]=cons(R[11],R[23]);
-        R[25]=128*78+258;
-        R[3]=cons(R[25],R[24]);
-        R[27]=G(R[1],3);
-        ob=(word*)R[27];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 920:
-    if(acc==2){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[5]=F((hval)ob>>TPOS&63);}
-      R[6]=128*36+258;
-      if(R[5]==R[6]){
-        R[7]=G(R[1],2);
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],4);
-        R[5]=INULL;
-        R[6]=R[4];R[4]=R[8];
-        ob=(word*)R[7];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 921:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[7]=(word)fp;fp+=5;
-      R[5]=G(R[2],4);
-      R[9]=R[4];
-      R[4]=R[3];R[3]=R[7];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 922:
-    if(acc==1){
-      if(R[3]==F(0)){
-        R[4]=G(R[1],2);
-        if(R[4]==F(0)){
-          R[5]=G(R[1],4);
-          R[3]=INULL;
-          ob=(word*)R[5];acc=1;
-        }else{
-          R[5]=G(R[2],2);
-          R[6]=G(R[1],3);
-          R[7]=G(R[1],4);
-          *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=4;
-          R[9]=128*0+258;
-          R[10]=R[5];R[5]=R[9];
-          ob=(word*)R[10];acc=3;
-        }
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],4);fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        R[8]=G(R[1],2);
-        R[5]=128*0+258;
-        R[10]=R[4];R[4]=R[8];
-        ob=(word*)R[10];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 923:
-    if(acc==4){
-      {word ob=R[5];if(allocp(ob))ob=V(ob);R[7]=F((hval)ob>>TPOS&63);}
-      R[8]=128*62+258;
-      if(R[8]==R[7]){
-        R[9]=INULL;
-        ob=(word*)R[3];R[3]=R[9];acc=1;
-      }else{
-        R[9]=G(R[1],2);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[6];fp[4]=R[4];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=6;
-        ob=(word*)R[9];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 924:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-      R[8]=G(R[1],2);
-      R[5]=G(R[2],4);
-      R[10]=R[4];R[4]=R[8];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 925:
-    if(acc==4){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[7]=F((hval)ob>>TPOS&63);}
-      R[8]=128*28+258;
-      R[9]=BOOL(R[7]==R[8]);
-      if(R[9]==IFALSE){
-        R[10]=128*36+258;
-        R[11]=BOOL(R[7]==R[10]);
-        if(R[11]==IFALSE){
-          R[12]=128*20+258;
-          R[13]=BOOL(R[7]==R[12]);
-          if(R[13]==IFALSE){
-            ob=(word*)R[3];R[3]=R[5];acc=1;
-          }else{
-            R[14]=G(R[1],2);
-            *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-            ob=(word*)R[14];acc=2;
-          }
-        }else{
-          if(immediatep(R[4])){R[12]=IFALSE;}else{hval h=V(R[4]);R[12]=rawp(h)?F(payl_len(h)):IFALSE;}          R[13]=G(R[1],4);
-          R[6]=R[5];R[5]=R[12];
-          ob=(word*)R[13];acc=4;
-        }
-      }else{
-        R[10]=128*0+258;
-        R[4]=prim_ref(R[4],R[10]);
-        ob=(word*)R[6];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 926:
-    if(acc==5){
-      R[8]=128*0+258;
-      if(R[5]==R[8]){
-        R[9]=prim_ref(R[4],R[5]);
-        R[10]=cons(R[9],R[6]);
-        ob=(word*)R[3];R[3]=R[10];acc=1;
-      }else{
-        R[9]=prim_ref(R[4],R[5]);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[1],2);fp[5]=R[7];fp[4]=R[4];fp[3]=R[6];fp[2]=R[5];R[10]=(word)fp;fp+=6;
-        R[11]=cons(R[9],R[10]);
-        ob=(word*)R[3];R[3]=R[11];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 927:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[9]=G(R[1],2);
-      R[5]=128*0+258;
-      R[11]=R[4];R[4]=R[9];
-      ob=(word*)R[11];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 928:
-    if(acc==5){
-      if(R[5]==F(0)){
-        ob=(word*)R[3];R[3]=R[6];acc=1;
-      }else{
-        R[8]=G(R[1],2);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[7];fp[4]=R[4];fp[3]=R[6];fp[2]=R[3];R[3]=(word)fp;fp+=6;
-        R[10]=128*0+258;
-        R[4]=R[5];R[5]=R[10];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 929:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=prim_ref(R[4],R[3]);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],5);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],2);fp[5]=R[7];fp[4]=R[4];fp[3]=R[3];fp[2]=R[6];R[8]=(word)fp;fp+=6;
-      R[3]=cons(R[5],R[8]);
-      R[10]=G(R[1],2);
-      ob=(word*)R[10];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 930:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[3];fp[4]=R[4];fp[3]=R[5];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 931:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[9]=G(R[1],2);
-      R[5]=G(R[2],4);
-      R[11]=R[4];R[4]=R[9];
-      ob=(word*)R[11];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 932:
-    if(acc==2){
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],4);fp[2]=R[4];R[5]=(word)fp;fp+=3;
-      R[6]=G(R[1],2);
-      *fp=make_header(4,TPROC);fp[1]=G(R[1],3);fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-      ob=(word*)R[6];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 933:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[6];fp[4]=R[4];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=6;
-      R[4]=G(R[1],2);
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 934:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[8];fp[3]=R[7];fp[2]=R[6];R[9]=(word)fp;fp+=5;
-      R[8]=R[4];R[4]=R[3];
-      R[3]=R[5];R[5]=R[9];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 935:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-      R[8]=G(R[1],2);
-      R[5]=G(R[2],4);
-      R[10]=R[4];R[4]=R[8];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 936:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[8]=(word)fp;fp+=6;
-      R[9]=R[4];
-      R[4]=R[3];R[3]=R[8];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 937:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],5);
-        R[3]=INULL;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[1],4);
-        R[5]=G(R[1],5);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],2);
-        R[9]=R[6];
-        R[6]=R[4];R[3]=R[5];
-        R[5]=R[7];R[4]=R[9];
-        ob=(word*)R[6];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 938:
-    if(acc==4){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[7]=F((hval)ob>>TPOS&63);}
-      R[8]=128*28+258;
-      R[9]=BOOL(R[7]==R[8]);
-      if(R[9]==IFALSE){
-        R[10]=128*36+258;
-        R[11]=BOOL(R[7]==R[10]);
-        if(R[11]==IFALSE){
-          ob=(word*)R[3];R[3]=R[5];acc=1;
-        }else{
-          if(immediatep(R[4])){R[12]=IFALSE;}else{hval h=V(R[4]);R[12]=rawp(h)?F(payl_len(h)):IFALSE;}          if(R[12]==F(0)){
-            ob=(word*)R[3];R[3]=R[5];acc=1;
-          }else{
-            R[13]=G(R[1],2);
-            *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-            R[5]=128*0+258;
-            R[4]=R[12];
-            ob=(word*)R[13];acc=3;
-          }
-        }
-      }else{
-        R[10]=128*0+258;
-        R[4]=prim_ref(R[4],R[10]);
-        ob=(word*)R[6];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 939:
-    if(acc==5){
-      if(R[5]==F(0)){
-        R[8]=prim_ref(R[4],R[5]);
-        R[9]=cons(R[8],R[6]);
-        ob=(word*)R[3];R[3]=R[9];acc=1;
-      }else{
-        R[8]=128*0+258;
-        {hval r=immval(R[5])-immval(R[8]);R[10]=F(r>>FBITS&1);R[9]=F(r);}
-        R[11]=prim_ref(R[4],R[5]);
-        R[6]=cons(R[11],R[6]);
-        R[5]=R[9];
-        ob=(word*)R[7];acc=5;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 940:
-    if(acc==2){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[5]=F((hval)ob>>TPOS&63);}
-      R[6]=128*36+258;
-      R[7]=BOOL(R[5]==R[6]);
-      if(R[7]==IFALSE){
-        R[8]=128*20+258;
-        R[9]=BOOL(R[5]==R[8]);
-        if(R[9]==IFALSE){
-          R[10]=128*28+258;
-          R[11]=BOOL(R[5]==R[10]);
-          if(R[11]==IFALSE){
-            R[12]=IFALSE;
-            ob=(word*)R[3];R[3]=R[12];acc=1;
-          }else{
-            R[12]=ITRUE;
-            ob=(word*)R[3];R[3]=R[12];acc=1;
-          }
-        }else{
-          R[10]=ITRUE;
-          ob=(word*)R[3];R[3]=R[10];acc=1;
-        }
-      }else{
-        R[8]=ITRUE;
-        ob=(word*)R[3];R[3]=R[8];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 941:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],3);fp[2]=R[3];R[6]=(word)fp;fp+=3;
-      R[7]=G(R[1],4);
-      R[8]=R[5];
-      R[3]=R[6];R[5]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 942:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],2);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[8]=G(R[1],2);
-      R[5]=R[3];R[6]=R[4];
-      R[3]=R[7];R[4]=R[8];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 943:
-    if(acc==2){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[5]=F((hval)ob>>TPOS&63);}
-      R[6]=128*36+258;
-      R[7]=BOOL(R[5]==R[6]);
-      if(R[7]==IFALSE){
-        R[8]=128*28+258;
-        R[9]=BOOL(R[5]==R[8]);
-        if(R[9]==IFALSE){
-          R[10]=128*20+258;
-          R[11]=BOOL(R[5]==R[10]);
-          if(R[11]==IFALSE){
-            {word ob=R[4];if(allocp(ob))ob=V(ob);R[12]=F((hval)ob>>TPOS&63);}
-            R[13]=INULL;
-            R[14]=cons(R[12],R[13]);
-            R[15]=G(R[1],5);
-            R[16]=cons(R[15],R[14]);
-            R[17]=G(R[1],4);
-            R[18]=cons(R[17],R[16]);
-            R[5]=cons(R[4],R[18]);
-            R[20]=G(R[1],2);
-            R[4]=G(R[1],3);
-            ob=(word*)R[20];acc=3;
-          }else{
-            R[12]=G(R[1],6);
-            ob=(word*)R[12];acc=2;
-          }
-        }else{
-          R[10]=128*2+258;
-          R[11]=prim_ref(R[4],R[10]);
-          ob=(word*)R[3];R[3]=R[11];acc=1;
-        }
-      }else{
-        if(immediatep(R[4])){R[8]=IFALSE;}else{hval h=V(R[4]);R[8]=rawp(h)?F(payl_len(h)):IFALSE;}        ob=(word*)R[3];R[3]=R[8];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 944:
-    if(acc==3){
-      {word ob=R[5];if(allocp(ob))ob=V(ob);R[6]=F((hval)ob>>TPOS&63);}
-      R[7]=F(0);
-      R[8]=BOOL(R[6]==R[7]);
-      if(R[8]==IFALSE){
-        R[9]=128*78+258;
-        R[10]=BOOL(R[6]==R[9]);
-        if(R[10]==IFALSE){
-          R[11]=G(R[1],2);
-          R[4]=G(R[1],3);
-          ob=(word*)R[11];acc=3;
-        }else{
-          R[11]=G(R[1],4);
-          ob=(word*)R[11];acc=3;
-        }
-      }else{
-        {word ob=R[4];if(allocp(ob))ob=V(ob);R[9]=F((hval)ob>>TPOS&63);}
-        R[10]=128*36+258;
-        if(R[9]==R[10]){
-          ob=(word*)R[3];R[3]=R[4];acc=1;
-        }else{
-          R[11]=G(R[1],6);
-          R[12]=prim_less(R[5],R[11]);
-          if(R[12]==IFALSE){
-            R[13]=G(R[1],5);
-            ob=(word*)R[13];acc=3;
-          }else{
-            ob=(word*)R[3];R[3]=R[4];acc=1;
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 945:
-    if(acc==3){
-      {word ob=R[5];if(allocp(ob))ob=V(ob);R[6]=F((hval)ob>>TPOS&63);}
-      R[7]=F(0);
-      R[8]=BOOL(R[6]==R[7]);
-      if(R[8]==IFALSE){
-        R[9]=128*78+258;
-        R[10]=BOOL(R[6]==R[9]);
-        if(R[10]==IFALSE){
-          R[11]=G(R[1],2);
-          R[4]=G(R[1],3);
-          ob=(word*)R[11];acc=3;
-        }else{
-          R[11]=G(R[1],4);
-          ob=(word*)R[11];acc=3;
-        }
-      }else{
-        {word ob=R[4];if(allocp(ob))ob=V(ob);R[9]=F((hval)ob>>TPOS&63);}
-        R[10]=128*36+258;
-        if(R[9]==R[10]){
-          R[11]=prim_ref(R[4],R[5]);
-          ob=(word*)R[3];R[3]=R[11];acc=1;
-        }else{
-          R[11]=G(R[1],8);
-          R[12]=prim_less(R[5],R[11]);
-          if(R[12]==IFALSE){
-            R[13]=G(R[1],5);
-            *fp=make_header(4,TCLOS);fp[1]=G(R[1],6);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-            ob=(word*)R[13];acc=3;
-          }else{
-            R[13]=G(R[1],7);
-            ob=(word*)R[13];acc=3;
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 946:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=G(R[2],3);
-      R[6]=R[4]&R[5];
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],3);
-      R[4]=R[3];
-      R[5]=R[6];R[3]=R[8];
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 947:
-    if(acc==3){
-      R[6]=128*2+258;
-      R[7]=prim_ref(R[5],R[6]);
-      R[8]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-      R[5]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 948:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=128*0+258;
-      R[6]=prim_ref(R[4],R[5]);
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],3);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[8];fp[2]=R[4];R[9]=(word)fp;fp+=4;
-      R[4]=R[3];
-      R[5]=R[6];R[3]=R[9];
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 949:
-    if(acc==4){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[7]=F((hval)ob>>TPOS&63);}
-      R[8]=128*36+258;
-      R[9]=BOOL(R[7]==R[8]);
-      if(R[9]==IFALSE){
-        R[10]=128*28+258;
-        R[11]=BOOL(R[7]==R[10]);
-        if(R[11]==IFALSE){
-          R[12]=128*20+258;
-          R[13]=BOOL(R[7]==R[12]);
-          if(R[13]==IFALSE){
-            {word ob=R[4];if(allocp(ob))ob=V(ob);R[5]=F((hval)ob>>TPOS&63);}
-            R[15]=G(R[1],2);
-            R[4]=G(R[1],3);
-            ob=(word*)R[15];acc=3;
-          }else{
-            R[14]=G(R[1],4);
-            if(R[5]==R[14]){
-              R[15]=G(R[1],5);
-              R[16]=prim_ref(R[4],R[15]);
-              ob=(word*)R[3];R[3]=R[16];acc=1;
-            }else{
-              R[15]=R[5]&R[14];
-              R[16]=128*0+258;
-              {hval r=immval(R[15])+immval(R[16]);R[18]=F(r>>FBITS);R[17]=F(r);}
-              R[19]=prim_ref(R[4],R[17]);
-              ob=(word*)R[3];R[3]=R[19];acc=1;
-            }
-          }
-        }else{
-          R[12]=128*0+258;
-          R[4]=prim_ref(R[4],R[12]);
-          ob=(word*)R[6];acc=4;
-        }
-      }else{
-        R[10]=G(R[1],4);
-        R[11]=R[5]&R[10];
-        R[12]=prim_ref(R[4],R[11]);
-        ob=(word*)R[3];R[3]=R[12];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 950:
-    if(acc==4){
-      {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[7]=ob[1];R[8]=ob[2];}
-      if(R[8]==INULL){
-        R[9]=G(R[1],5);
-        R[10]=prim_less(R[7],R[9]);
-        if(R[10]==IFALSE){
-          R[11]=G(R[1],2);
-          *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[7];R[3]=(word)fp;fp+=4;
-          R[5]=R[7];
-          ob=(word*)R[11];acc=3;
-        }else{
-          R[11]=G(R[1],4);
-          R[5]=R[7];
-          ob=(word*)R[11];acc=3;
-        }
-      }else{
-        *fp=make_header(4,TCLOS);fp[1]=G(R[1],6);fp[3]=R[3];fp[2]=R[7];R[3]=(word)fp;fp+=4;
-        R[5]=R[8];
-        ob=(word*)R[6];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 951:
-    if(acc==3){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[6]=F((hval)ob>>TPOS&63);}
-      R[7]=128*28+258;
-      R[8]=BOOL(R[6]==R[7]);
-      if(R[8]==IFALSE){
-        R[9]=128*20+258;
-        R[10]=BOOL(R[6]==R[9]);
-        if(R[10]==IFALSE){
-          {word ob=R[4];if(allocp(ob))ob=V(ob);R[5]=F((hval)ob>>TPOS&63);}
-          R[12]=G(R[1],2);
-          R[4]=G(R[1],3);
-          ob=(word*)R[12];acc=3;
-        }else{
-          R[11]=G(R[1],2);
-          R[12]=G(R[1],4);
-          R[5]=R[4];R[4]=R[12];
-          ob=(word*)R[11];acc=3;
-        }
-      }else{
-        R[9]=128*22+258;
-        {hval x=immval(R[5]);uint n=immval(R[9]);R[10]=F(x>>n);R[11]=F(x<<(FBITS-n));}
-        R[12]=128*2+258;
-        {hval r=immval(R[10])+immval(R[12]);R[14]=F(r>>FBITS);R[13]=F(r);}
-        R[15]=prim_ref(R[4],R[13]);
-        ob=(word*)R[3];R[3]=R[15];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 952:
-    if(acc==3){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[6]=F((hval)ob>>TPOS&63);}
-      R[7]=128*28+258;
-      R[8]=BOOL(R[6]==R[7]);
-      if(R[8]==IFALSE){
-        {word ob=R[4];if(allocp(ob))ob=V(ob);R[5]=F((hval)ob>>TPOS&63);}
-        R[10]=G(R[1],2);
-        R[4]=G(R[1],3);
-        ob=(word*)R[10];acc=3;
-      }else{
-        R[9]=G(R[1],4);
-        R[10]=R[5]&R[9];
-        R[11]=128*2+258;
-        {hval r=immval(R[10])+immval(R[11]);R[13]=F(r>>FBITS);R[12]=F(r);}
-        R[14]=prim_ref(R[4],R[12]);
-        ob=(word*)R[3];R[3]=R[14];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 953:
-    if(acc==2){
-      ob=(word*)R[3];R[3]=R[4];acc=1;
-    }else{
-      if(acc==3){
-        if(immediatep(R[4])){R[6]=IFALSE;}else{hval h=V(R[4]);R[6]=rawp(h)?F(payl_len(h)):IFALSE;}        R[7]=G(R[1],2);
-        *fp=make_header(3,TCLOS);fp[1]=G(R[1],3);fp[2]=R[3];R[8]=(word)fp;fp+=3;
-        R[9]=INULL;
-        R[10]=R[7];
-        R[3]=R[8];R[7]=R[9];
-        ob=(word*)R[10];acc=5;
-      }else{
-        if(acc==4){
-          R[7]=G(R[1],2);
-          *fp=make_header(3,TCLOS);fp[1]=G(R[1],4);fp[2]=R[3];R[8]=(word)fp;fp+=3;
-          R[9]=INULL;
-          R[10]=R[7];
-          R[3]=R[8];R[7]=R[9];
-          ob=(word*)R[10];acc=5;
-        }else{
-          error(61,ob,F(acc));
-        }
-      }
-    }
-     break;
-   case 954:
-    if(acc==3){
-      if(R[4]==INULL){
-        ob=(word*)R[3];R[3]=R[4];acc=1;
-      }else{
-        {word*ob=(word*)R[4];hval hdr;assert(allocp(R[4]),R[4],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[6]=ob[1];R[7]=ob[2];}
-        if(immediatep(R[6])){R[8]=IFALSE;}else{hval h=V(R[6]);R[8]=rawp(h)?F(payl_len(h)):IFALSE;}        *fp=make_header(5,TCLOS);fp[1]=G(R[1],2);fp[4]=R[3];fp[3]=R[6];fp[2]=R[8];R[3]=(word)fp;fp+=5;
-        R[4]=R[7];
-        ob=(word*)R[5];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 955:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],3);
-      R[7]=F(0);
-      R[8]=G(R[1],2);
-      R[10]=R[4];
-      R[11]=R[5];R[5]=R[7];
-      R[7]=R[3];R[4]=R[6];
-      R[6]=R[8];R[3]=R[11];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 956:
-    if(acc==6){
-      R[9]=prim_less(R[5],R[6]);
-      if(R[9]==IFALSE){
-        ob=(word*)R[3];R[3]=R[7];acc=1;
-      }else{
-        R[10]=128*0+258;
-        {hval r=immval(R[6])-immval(R[10]);R[12]=F(r>>FBITS&1);R[11]=F(r);}
-        R[13]=prim_ref(R[4],R[11]);
-        R[7]=cons(R[13],R[7]);
-        R[6]=R[11];
-        ob=(word*)R[8];acc=6;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 957:
-    if(acc==2){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[5]=F((hval)ob>>TPOS&63);}
-      R[6]=128*36+258;
-      R[7]=BOOL(R[5]==R[6]);
-      ob=(word*)R[3];R[3]=R[7];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 958:
-    if(acc==2){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[5]=F((hval)ob>>TPOS&63);}
-      R[6]=128*22+258;
-      R[7]=BOOL(R[5]==R[6]);
-      ob=(word*)R[3];R[3]=R[7];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 959:
-    if(acc==2){
-      R[5]=ITRUE;
-      R[6]=BOOL(R[4]==R[5]);
-      if(R[6]==IFALSE){
-        R[7]=IFALSE;
-        R[8]=BOOL(R[4]==R[7]);
-        ob=(word*)R[3];R[3]=R[8];acc=1;
-      }else{
-        ob=(word*)R[3];R[3]=R[6];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 960:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[3]=R[5];
-      ob=(word*)R[4];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 961:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=7;
-      R[10]=G(R[1],2);
-      R[7]=R[4];R[4]=R[10];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 962:
-    if(acc==3){
-      R[6]=128*0+258;
-      R[4]=prim_ref(R[4],R[6]);
-      R[8]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-      R[5]=G(R[1],4);
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 963:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[7]=R[4];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=128*246+258;
-        R[5]=G(R[1],2);
-        R[6]=cons(R[4],R[5]);
-        R[3]=cons(R[4],R[6]);
-        R[8]=G(R[1],4);
-        ob=(word*)R[8];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 964:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],2);
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[4]=128*246+258;
-        R[5]=G(R[1],2);
-        R[6]=cons(R[4],R[5]);
-        R[7]=G(R[2],2);
-        R[8]=G(R[1],4);
-        *fp=make_header(3,TPROC);fp[1]=G(R[2],3);fp[2]=R[8];R[3]=(word)fp;fp+=3;
-        R[4]=G(R[1],3);
-        R[5]=R[6];
-        ob=(word*)R[7];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 965:
-    if(acc==1){
-      R[4]=128*246+258;
-      R[3]=cons(R[4],R[3]);
-      R[6]=G(R[1],2);
-      ob=(word*)R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 966:
-    if(acc==2){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[5]=F((hval)ob>>TPOS&63);}
-      R[6]=128*6+258;
-      R[7]=BOOL(R[5]==R[6]);
-      ob=(word*)R[3];R[3]=R[7];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 967:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],2);
-        R[7]=R[4];
-        R[3]=R[5];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[1],3);
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 968:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      *fp=make_header(4,TPROC);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 969:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],2);
-        {word ob=R[4];if(allocp(ob))ob=V(ob);R[5]=F((hval)ob>>TPOS&63);}
-        R[6]=128*32+258;
-        R[7]=BOOL(R[5]==R[6]);
-        if(R[7]==IFALSE){
-          {word ob=R[4];if(allocp(ob))ob=V(ob);R[8]=F((hval)ob>>TPOS&63);}
-          R[9]=128*34+258;
-          R[3]=BOOL(R[8]==R[9]);
-          R[11]=G(R[1],3);
-          ob=(word*)R[11];acc=1;
-        }else{
-          R[8]=G(R[1],3);
-          R[3]=R[7];
-          ob=(word*)R[8];acc=1;
-        }
-      }else{
-        R[4]=G(R[1],3);
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 970:
-    if(acc==2){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[5]=F((hval)ob>>TPOS&63);}
-      R[6]=128*30+258;
-      R[7]=BOOL(R[6]==R[5]);
-      ob=(word*)R[3];R[3]=R[7];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 971:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],3);fp[2]=R[3];R[7]=(word)fp;fp+=3;
-      R[8]=G(R[1],4);
-      R[9]=R[6];
-      R[6]=R[5];R[5]=R[4];
-      R[3]=R[7];R[4]=R[8];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 972:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-      ob=(word*)R[6];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 973:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-      R[4]=R[5];
-      ob=(word*)R[6];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 974:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-      R[5]=IFALSE;
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 975:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-      R[4]=R[5];
-      ob=(word*)R[6];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 976:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-      R[8]=G(R[1],2);
-      R[9]=R[4];R[4]=R[8];
-      ob=(word*)R[9];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 977:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=5;
-      R[8]=G(R[1],2);
-      R[9]=R[4];R[4]=R[8];
-      ob=(word*)R[9];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 978:
-    if(acc==2){
-      *fp=make_header(4,TCLOS);fp[1]=G(R[1],4);fp[3]=R[3];fp[2]=R[4];R[5]=(word)fp;fp+=4;
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[6]=F((hval)ob>>TPOS&63);}
-      R[7]=128*4+258;
-      if(R[6]==R[7]){
-        R[3]=G(R[1],2);
-        ob=(word*)R[5];acc=1;
-      }else{
-        R[3]=G(R[1],3);
-        ob=(word*)R[5];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 979:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],3);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[7]=G(R[2],4);
-      R[8]=G(R[1],2);
-      R[9]=R[4];
-      R[4]=R[3];R[3]=R[6];
-      R[5]=R[7];R[6]=R[8];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 980:
-    if(acc==1){
-      R[4]=128*4+258;
-      R[3]=prim_lraw(R[3],R[4]);      R[6]=G(R[1],2);
-      ob=(word*)R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 981:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=6;
-      R[7]=R[4];R[4]=R[6];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 982:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],4);
-        R[3]=IFALSE;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        R[8]=G(R[1],2);
-        R[9]=R[4];R[4]=R[8];
-        ob=(word*)R[9];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 983:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[6];fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 984:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],2);
-        if(R[4]==INULL){
-          R[5]=G(R[2],2);
-          R[6]=G(R[1],3);
-          R[7]=G(R[1],4);
-          R[8]=G(R[1],5);
-          *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[4];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-          R[4]=R[6];
-          ob=(word*)R[5];acc=2;
-        }else{
-          R[5]=G(R[1],3);
-          R[6]=G(R[1],4);
-          R[7]=G(R[1],5);
-          *fp=make_header(5,TPROC);fp[1]=G(R[2],4);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-          ob=(word*)R[4];acc=1;
-        }
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],5);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[7]=R[4];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 985:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],3);
-        if(R[4]==INULL){
-          R[5]=G(R[1],4);
-          R[3]=IFALSE;
-          ob=(word*)R[5];acc=1;
-        }else{
-          R[5]=G(R[1],2);
-          R[6]=G(R[1],4);
-          R[7]=G(R[1],5);
-          *fp=make_header(5,TCLOS);fp[1]=G(R[2],2);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-          ob=(word*)R[4];acc=1;
-        }
-      }else{
-        R[4]=G(R[1],2);
-        assert(pairp(R[4]),R[4],105);R[5]=G(R[4],1);
-        R[6]=G(R[1],3);
-        assert(pairp(R[6]),R[6],105);R[7]=G(R[6],1);
-        R[8]=G(R[2],3);
-        R[9]=G(R[1],4);
-        R[10]=G(R[1],5);
-        *fp=make_header(6,TPROC);fp[1]=G(R[2],4);fp[5]=R[10];fp[4]=R[9];fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-        R[4]=R[5];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 986:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[8]=(word)fp;fp+=6;
-      R[7]=R[4];
-      R[4]=R[3];R[3]=R[8];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 987:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[8]=(word)fp;fp+=6;
-      if(R[3]==IFALSE){
-        R[3]=IFALSE;
-        ob=(word*)R[8];acc=1;
-      }else{
-        assert(pairp(R[5]),R[5],105);R[9]=G(R[5],1);
-        assert(pairp(R[4]),R[4],105);R[5]=G(R[4],1);
-        R[11]=G(R[2],2);
-        R[3]=R[8];R[4]=R[9];
-        ob=(word*)R[11];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 988:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],4);
-        R[3]=IFALSE;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[1],2);
-        assert(pairp(R[4]),R[4],169);R[5]=G(R[4],2);
-        R[6]=G(R[1],3);
-        assert(pairp(R[6]),R[6],169);R[7]=G(R[6],2);
-        R[6]=G(R[1],5);
-        R[3]=G(R[1],4);
-        R[4]=R[5];R[5]=R[7];
-        ob=(word*)R[6];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 989:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],2);
-        if(R[4]==INULL){
-          R[5]=G(R[1],4);
-          R[3]=ITRUE;
-          ob=(word*)R[5];acc=1;
-        }else{
-          R[5]=G(R[1],3);
-          R[6]=G(R[1],4);
-          R[7]=G(R[1],5);
-          *fp=make_header(5,TPROC);fp[1]=G(R[2],2);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-          ob=(word*)R[4];acc=1;
-        }
-      }else{
-        R[4]=G(R[1],4);
-        R[3]=IFALSE;
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 990:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],3);fp[2]=R[3];R[6]=(word)fp;fp+=3;
-      R[7]=G(R[1],4);
-      R[8]=INULL;
-      R[9]=R[5];
-      R[3]=R[6];R[6]=R[4];
-      R[4]=R[7];R[5]=R[8];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 991:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[6]=INULL;
-      R[7]=F(0);
-      R[8]=ITRUE;
-      R[11]=R[5];R[12]=R[6];
-      R[6]=R[7];R[7]=R[8];
-      R[5]=R[12];R[8]=R[12];
-      ob=(word*)R[11];acc=6;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 992:
-    if(acc==7){
-      if(R[4]==INULL){
-        R[10]=G(R[1],2);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[8];R[3]=(word)fp;fp+=4;
-        R[4]=R[5];
-        R[5]=R[6];R[6]=R[7];
-        ob=(word*)R[10];acc=4;
-      }else{
-        R[10]=G(R[1],4);
-        if(R[6]==R[10]){
-          R[11]=G(R[1],2);
-          *fp=make_header(6,TPROC);fp[1]=G(R[1],5);fp[5]=R[9];fp[4]=R[3];fp[3]=R[4];fp[2]=R[8];R[3]=(word)fp;fp+=6;
-          R[4]=R[5];
-          R[5]=R[6];R[6]=R[7];
-          ob=(word*)R[11];acc=4;
-        }else{
-          R[11]=G(R[1],6);
-          *fp=make_header(9,TCLOS);fp[1]=G(R[1],7);fp[8]=R[9];fp[7]=R[3];fp[6]=R[4];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=9;
-          ob=(word*)R[11];acc=2;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 993:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],6);
-        R[5]=G(R[1],5);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],2);
-        R[9]=G(R[1],7);
-        R[10]=G(R[1],8);
-        *fp=make_header(8,TPROC);fp[1]=G(R[2],2);fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=8;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[1],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        R[9]=G(R[1],7);
-        R[10]=G(R[1],8);
-        *fp=make_header(9,TCLOS);fp[1]=G(R[2],5);fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[11]=(word)fp;fp+=9;
-        if(R[6]==IFALSE){
-          R[3]=IFALSE;
-          ob=(word*)R[11];acc=1;
-        }else{
-          assert(pairp(R[8]),R[8],105);R[12]=G(R[8],1);
-          R[13]=G(R[2],3);
-          *fp=make_header(4,TCLOS);fp[1]=G(R[2],4);fp[3]=R[11];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-          R[4]=128*254+258;
-          R[5]=R[12];
-          ob=(word*)R[13];acc=3;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 994:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],6);
-        assert(pairp(R[4]),R[4],105);R[5]=G(R[4],1);
-        R[6]=G(R[2],2);
-        R[7]=G(R[1],2);
-        R[8]=G(R[1],3);
-        R[9]=G(R[1],4);
-        R[10]=G(R[1],5);
-        R[11]=G(R[1],7);
-        R[12]=G(R[1],8);
-        *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[12];fp[7]=R[11];fp[6]=R[10];fp[5]=R[9];fp[4]=R[8];fp[3]=R[7];fp[2]=R[4];R[3]=(word)fp;fp+=9;
-        R[4]=R[5];
-        ob=(word*)R[6];acc=2;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],5);
-        R[6]=G(R[1],6);
-        R[7]=G(R[1],7);
-        R[8]=G(R[1],8);
-        *fp=make_header(6,TPROC);fp[1]=G(R[2],5);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[10]=G(R[1],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[13]=R[4];R[4]=R[10];
-        ob=(word*)R[13];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 995:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],7);
-        R[3]=IFALSE;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[1],2);
-        assert(pairp(R[4]),R[4],105);R[5]=G(R[4],1);
-        R[6]=G(R[4],2);
-        R[7]=G(R[1],3);
-        R[8]=cons(R[5],R[7]);
-        R[9]=G(R[2],2);
-        R[10]=G(R[1],5);
-        R[11]=G(R[1],6);
-        R[12]=G(R[1],7);
-        R[13]=G(R[1],8);
-        *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[13];fp[7]=R[12];fp[6]=R[6];fp[5]=R[8];fp[4]=R[11];fp[3]=R[10];fp[2]=R[5];R[3]=(word)fp;fp+=9;
-        R[4]=G(R[1],4);
-        R[5]=128*0+258;
-        ob=(word*)R[9];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 996:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],6);
-      R[7]=G(R[1],7);
-      R[8]=G(R[1],8);
-      *fp=make_header(8,TPROC);fp[1]=G(R[2],3);fp[7]=R[8];fp[6]=R[7];fp[5]=R[6];fp[4]=R[5];fp[3]=R[3];fp[2]=R[4];R[9]=(word)fp;fp+=8;
-      R[10]=G(R[1],3);
-      if(R[10]==IFALSE){
-        R[3]=IFALSE;
-        ob=(word*)R[9];acc=1;
-      }else{
-        R[11]=G(R[2],2);
-        R[4]=G(R[1],2);
-        R[5]=128*254+258;
-        R[3]=R[9];
-        ob=(word*)R[11];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 997:
-    if(acc==1){
-      R[4]=G(R[1],7);
-      R[5]=G(R[1],6);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],2);
-      R[12]=R[6];
-      R[13]=R[5];R[5]=R[7];
-      R[7]=R[3];R[6]=R[8];
-      R[8]=R[9];R[9]=R[4];
-      R[4]=R[12];R[3]=R[13];
-      ob=(word*)R[9];acc=7;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 998:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],3);
-        R[3]=IFALSE;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],2);
-        R[7]=128*510+258;
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 999:
-    if(acc==1){
-      R[4]=G(R[1],7);
-      R[5]=G(R[1],6);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],2);
-      R[12]=R[5];R[5]=R[6];
-      R[6]=R[7];R[7]=R[8];
-      R[8]=R[9];R[9]=R[4];
-      R[4]=R[3];R[3]=R[12];
-      ob=(word*)R[9];acc=7;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1000:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=cons(R[3],R[4]);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],3);
-      R[9]=INULL;
-      R[10]=F(0);
-      R[11]=ITRUE;
-      R[4]=R[8];
-      R[8]=R[5];R[5]=R[9];
-      R[9]=R[6];R[3]=R[7];
-      R[6]=R[10];R[7]=R[11];
-      ob=(word*)R[9];acc=7;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1001:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=cons(R[3],R[4]);
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],3);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],3);fp[2]=R[7];R[3]=(word)fp;fp+=3;
-      R[4]=R[5];
-      ob=(word*)R[6];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1002:
-    if(acc==4){
-      if(R[6]==IFALSE){
-        R[7]=G(R[1],2);
-        *fp=make_header(4,TPROC);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[7]=G(R[1],2);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[1],4);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1003:
-    if(acc==1){
-      R[4]=128*4+258;
-      R[5]=prim_lraw(R[3],R[4]);      if(R[5]==IFALSE){
-        R[6]=G(R[2],2);
-        R[3]=G(R[1],3);
-        R[4]=G(R[2],3);
-        R[5]=G(R[1],2);
-        ob=(word*)R[6];acc=3;
-      }else{
-        R[6]=G(R[1],3);
-        R[3]=R[5];
-        ob=(word*)R[6];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1004:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[5];fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-      ob=(word*)R[6];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1005:
-    if(acc==1){
-      R[4]=128*0+258;
-      if(R[3]==R[4]){
-        R[5]=G(R[1],2);
-        assert(pairp(R[5]),R[5],105);R[3]=G(R[5],1);
-        R[7]=G(R[1],3);
-        ob=(word*)R[7];acc=1;
-      }else{
-        R[5]=G(R[2],2);
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],4);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[3];R[9]=(word)fp;fp+=6;
-        R[10]=128*6+258;
-        R[8]=R[5];R[4]=R[3];
-        R[3]=R[9];R[5]=R[10];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1006:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        R[8]=G(R[1],2);
-        R[5]=128*0+258;
-        R[10]=R[4];R[4]=R[8];
-        ob=(word*)R[10];acc=3;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],5);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[9]=G(R[1],2);
-        R[5]=128*2+258;
-        R[11]=R[4];R[4]=R[9];
-        ob=(word*)R[11];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1007:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[7]=(word)fp;fp+=5;
-      R[8]=G(R[1],2);
-      R[9]=R[4];R[5]=R[3];
-      R[3]=R[7];R[4]=R[8];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1008:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[3];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-      R[8]=R[5];R[5]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1009:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[3];R[3]=(word)fp;fp+=6;
-      R[10]=G(R[1],2);
-      R[8]=R[5];R[5]=R[10];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1010:
-    if(acc==2){
-      R[5]=INULL;
-      R[6]=cons(R[4],R[5]);
-      R[7]=cons(R[3],R[6]);
-      R[8]=G(R[1],2);
-      R[9]=cons(R[8],R[7]);
-      R[10]=G(R[1],3);
-      R[5]=cons(R[10],R[9]);
-      R[12]=G(R[2],2);
-      R[13]=G(R[1],4);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],3);fp[2]=R[13];R[3]=(word)fp;fp+=3;
-      R[15]=G(R[1],5);
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],4);fp[2]=R[15];R[4]=(word)fp;fp+=3;
-      ob=(word*)R[12];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1011:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[5];fp[2]=R[3];R[6]=(word)fp;fp+=4;
-      R[7]=G(R[2],4);
-      R[8]=R[4];R[5]=R[3];
-      R[3]=R[6];R[4]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1012:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[8]=G(R[2],4);
-      R[5]=F(0);
-      R[10]=R[4];R[6]=R[3];
-      R[3]=R[7];R[4]=R[8];
-      ob=(word*)R[10];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1013:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-      R[8]=G(R[2],4);
-      R[9]=R[4];R[4]=R[8];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1014:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[8]=(word)fp;fp+=5;
-      R[9]=G(R[2],4);
-      R[5]=F(0);
-      R[11]=R[4];R[6]=R[3];
-      R[3]=R[8];R[4]=R[9];
-      ob=(word*)R[11];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1015:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-      R[4]=R[6];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1016:
-    if(acc==4){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[7]=F((hval)ob>>TPOS&63);}
-      R[8]=128*4+258;
-      R[9]=BOOL(R[7]==R[8]);
-      if(R[9]==IFALSE){
-        R[10]=128*42+258;
-        R[11]=BOOL(R[7]==R[10]);
-        if(R[11]==IFALSE){
-          R[12]=128*40+258;
-          R[13]=BOOL(R[7]==R[12]);
-          if(R[13]==IFALSE){
-            R[14]=G(R[1],2);
-            R[15]=G(R[1],3);
-            R[5]=R[4];R[4]=R[15];
-            ob=(word*)R[14];acc=3;
-          }else{
-            *fp=make_header(5,TCLOS);fp[1]=G(R[1],6);fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[14]=(word)fp;fp+=5;
-            R[15]=G(R[1],4);
-            *fp=make_header(4,TPROC);fp[1]=G(R[1],5);fp[3]=R[14];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-            ob=(word*)R[15];acc=2;
-          }
-        }else{
-          R[12]=G(R[1],4);
-          *fp=make_header(5,TCLOS);fp[1]=G(R[1],7);fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-          ob=(word*)R[12];acc=2;
-        }
-      }else{
-        R[10]=G(R[1],8);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[1],9);fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        ob=(word*)R[10];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1017:
-    if(acc==1){
-      if(R[3]==F(0)){
-        R[4]=G(R[1],4);
-        R[3]=G(R[1],2);
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[8]=(word)fp;fp+=5;
-        R[5]=128*0+258;
-        R[10]=R[4];
-        R[4]=R[3];R[3]=R[8];
-        ob=(word*)R[10];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1018:
-    if(acc==3){
-      R[6]=128*2+258;
-      if(R[4]==R[6]){
-        R[7]=G(R[1],2);
-        R[4]=prim_ref(R[7],R[6]);
-        R[6]=G(R[1],4);
-        R[5]=G(R[1],3);
-        ob=(word*)R[6];acc=4;
-      }else{
-        R[7]=G(R[1],2);
-        R[8]=prim_ref(R[7],R[4]);
-        R[6]=G(R[1],4);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],2);fp[3]=R[5];fp[2]=R[4];R[5]=(word)fp;fp+=4;
-        R[4]=R[8];
-        ob=(word*)R[6];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1019:
-    if(acc==5){
-      R[8]=128*0+258;
-      if(R[6]==R[8]){
-        R[9]=prim_ref(R[4],R[6]);
-        R[10]=cons(R[9],R[5]);
-        ob=(word*)R[3];R[3]=R[10];acc=1;
-      }else{
-        R[9]=prim_ref(R[4],R[6]);
-        *fp=make_header(6,TPROC);fp[1]=G(R[1],2);fp[5]=R[7];fp[4]=R[4];fp[3]=R[5];fp[2]=R[6];R[10]=(word)fp;fp+=6;
-        R[11]=cons(R[9],R[10]);
-        ob=(word*)R[3];R[3]=R[11];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1020:
-    if(acc==5){
-      if(R[6]==F(0)){
-        R[8]=prim_ref(R[4],R[6]);
-        R[9]=cons(R[8],R[5]);
-        ob=(word*)R[3];R[3]=R[9];acc=1;
-      }else{
-        R[8]=prim_ref(R[4],R[6]);
-        *fp=make_header(6,TPROC);fp[1]=G(R[1],2);fp[5]=R[7];fp[4]=R[4];fp[3]=R[5];fp[2]=R[6];R[9]=(word)fp;fp+=6;
-        R[10]=cons(R[8],R[9]);
-        ob=(word*)R[3];R[3]=R[10];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1021:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=128*0+258;
-      {hval r=immval(R[4])-immval(R[5]);R[7]=F(r>>FBITS&1);R[6]=F(r);}
-      R[8]=G(R[1],5);
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],3);
-      R[7]=R[8];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1022:
-    if(acc==4){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[7]=F((hval)ob>>TPOS&63);}
-      R[8]=128*4+258;
-      R[9]=BOOL(R[7]==R[8]);
-      if(R[9]==IFALSE){
-        R[10]=128*42+258;
-        R[11]=BOOL(R[7]==R[10]);
-        if(R[11]==IFALSE){
-          R[12]=128*40+258;
-          R[13]=BOOL(R[7]==R[12]);
-          if(R[13]==IFALSE){
-            R[14]=G(R[1],2);
-            R[15]=G(R[1],3);
-            R[5]=R[4];R[4]=R[15];
-            ob=(word*)R[14];acc=3;
-          }else{
-            *fp=make_header(5,TCLOS);fp[1]=G(R[1],4);fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[5]=(word)fp;fp+=5;
-            R[4]=128*2+258;
-            ob=(word*)R[5];acc=3;
-          }
-        }else{
-          R[12]=G(R[1],5);
-          R[6]=128*0+258;
-          ob=(word*)R[12];acc=4;
-        }
-      }else{
-        R[10]=G(R[1],6);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[1],7);fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-        ob=(word*)R[10];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1023:
-    if(acc==1){
-      if(R[3]==F(0)){
-        R[4]=G(R[1],4);
-        R[3]=G(R[1],3);
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],3);
-        R[8]=F(0);
-        R[10]=R[4];
-        R[11]=R[5];R[5]=R[7];
-        R[7]=R[3];R[4]=R[6];
-        R[6]=R[8];R[3]=R[11];
-        ob=(word*)R[10];acc=5;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1024:
-    if(acc==3){
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],2);
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],4);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[5];fp[6]=R[4];fp[5]=R[9];fp[4]=R[3];fp[3]=R[8];fp[2]=R[7];R[3]=(word)fp;fp+=8;
-      R[4]=R[7];
-      ob=(word*)R[6];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1025:
-    if(acc==1){
-      R[4]=G(R[1],6);
-      if(R[4]==R[3]){
-        R[5]=G(R[1],2);
-        R[6]=prim_ref(R[5],R[4]);
-        R[7]=G(R[1],5);
-        R[3]=G(R[1],4);
-        R[5]=G(R[1],3);
-        R[4]=R[6];R[6]=R[7];
-        ob=(word*)R[6];acc=4;
-      }else{
-        R[5]=G(R[1],2);
-        R[6]=prim_ref(R[5],R[4]);
-        R[7]=G(R[1],5);
-        R[3]=G(R[1],4);
-        R[9]=G(R[1],7);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[2],2);fp[3]=R[9];fp[2]=R[4];R[5]=(word)fp;fp+=4;
-        R[4]=R[6];R[6]=R[7];
-        ob=(word*)R[6];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1026:
-    if(acc==5){
-      R[8]=G(R[1],2);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[1],3);fp[6]=R[7];fp[5]=R[4];fp[4]=R[5];fp[3]=R[6];fp[2]=R[3];R[3]=(word)fp;fp+=7;
-      ob=(word*)R[8];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1027:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      if(R[4]==R[3]){
-        R[5]=G(R[1],5);
-        R[6]=prim_ref(R[5],R[4]);
-        R[7]=G(R[1],4);
-        R[3]=cons(R[6],R[7]);
-        R[9]=G(R[1],2);
-        ob=(word*)R[9];acc=1;
-      }else{
-        R[5]=G(R[1],5);
-        R[6]=prim_ref(R[5],R[4]);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],6);
-        *fp=make_header(6,TPROC);fp[1]=G(R[2],2);fp[5]=R[8];fp[4]=R[5];fp[3]=R[7];fp[2]=R[4];R[9]=(word)fp;fp+=6;
-        R[3]=cons(R[6],R[9]);
-        R[11]=G(R[1],2);
-        ob=(word*)R[11];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1028:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=128*0+258;
-      {hval r=immval(R[4])+immval(R[5]);R[7]=F(r>>FBITS);R[6]=F(r);}
-      R[8]=G(R[1],5);
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],3);
-      R[7]=R[8];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1029:
-    if(acc==6){
-      if(R[6]==R[7]){
-        ob=(word*)R[3];R[3]=R[5];acc=1;
-      }else{
-        R[9]=prim_ref(R[4],R[6]);
-        *fp=make_header(7,TPROC);fp[1]=G(R[1],2);fp[6]=R[8];fp[5]=R[4];fp[4]=R[5];fp[3]=R[7];fp[2]=R[6];R[10]=(word)fp;fp+=7;
-        R[11]=cons(R[9],R[10]);
-        ob=(word*)R[3];R[3]=R[11];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1030:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=128*0+258;
-      {hval r=immval(R[4])+immval(R[5]);R[7]=F(r>>FBITS);R[6]=F(r);}
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],5);
-      R[5]=G(R[1],4);
-      R[7]=G(R[1],3);
-      R[4]=R[9];
-      ob=(word*)R[8];acc=6;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1031:
-    if(acc==2){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[5]=F((hval)ob>>TPOS&63);}
-      R[6]=128*4+258;
-      R[7]=BOOL(R[5]==R[6]);
-      if(R[7]==IFALSE){
-        R[8]=128*42+258;
-        R[9]=BOOL(R[5]==R[8]);
-        if(R[9]==IFALSE){
-          R[10]=128*40+258;
-          R[11]=BOOL(R[5]==R[10]);
-          if(R[11]==IFALSE){
-            R[12]=G(R[1],2);
-            R[13]=G(R[1],3);
-            R[5]=R[4];R[4]=R[13];
-            ob=(word*)R[12];acc=3;
-          }else{
-            R[12]=128*0+258;
-            R[13]=prim_ref(R[4],R[12]);
-            ob=(word*)R[3];R[3]=R[13];acc=1;
-          }
-        }else{
-          R[10]=G(R[1],4);
-          ob=(word*)R[10];acc=2;
-        }
-      }else{
-        if(immediatep(R[4])){R[8]=IFALSE;}else{hval h=V(R[4]);R[8]=rawp(h)?F(payl_len(h)):IFALSE;}        ob=(word*)R[3];R[3]=R[8];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1032:
-    if(acc==2){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[5]=F((hval)ob>>TPOS&63);}
-      R[6]=128*4+258;
-      R[7]=BOOL(R[5]==R[6]);
-      if(R[7]==IFALSE){
-        R[8]=128*42+258;
-        R[9]=BOOL(R[5]==R[8]);
-        if(R[9]==IFALSE){
-          R[10]=128*40+258;
-          R[11]=BOOL(R[5]==R[10]);
-          if(R[11]==IFALSE){
-            R[12]=IFALSE;
-            ob=(word*)R[3];R[3]=R[12];acc=1;
-          }else{
-            R[12]=ITRUE;
-            ob=(word*)R[3];R[3]=R[12];acc=1;
-          }
-        }else{
-          R[10]=ITRUE;
-          ob=(word*)R[3];R[3]=R[10];acc=1;
-        }
-      }else{
-        R[8]=ITRUE;
-        ob=(word*)R[3];R[3]=R[8];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1033:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[7]=INULL;
-      R[9]=R[4];R[10]=R[5];
-      R[5]=R[3];R[4]=R[6];
-      R[6]=R[7];R[3]=R[10];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1034:
-    if(acc==5){
-      if(R[5]==F(0)){
-        ob=(word*)R[3];R[3]=R[6];acc=1;
-      }else{
-        R[8]=128*0+258;
-        {hval r=immval(R[5])-immval(R[8]);R[10]=F(r>>FBITS&1);R[9]=F(r);}
-        R[11]=prim_ref(R[4],R[5]);
-        R[6]=cons(R[11],R[6]);
-        R[5]=R[9];
-        ob=(word*)R[7];acc=5;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1035:
-    if(acc==1){
-      R[4]=128*0+258;
-      {hval r=immval(R[3])-immval(R[4]);R[6]=F(r>>FBITS&1);R[5]=F(r);}
-      if(R[6]==F(0)){
-        R[7]=G(R[1],2);
-        R[3]=R[5];
-        ob=(word*)R[7];acc=1;
-      }else{
-        R[7]=G(R[1],2);
-        R[3]=IFALSE;
-        ob=(word*)R[7];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1036:
-    if(acc==2){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[5]=F((hval)ob>>TPOS&63);}
-      R[6]=128*2+258;
-      R[7]=BOOL(R[5]==R[6]);
-      ob=(word*)R[3];R[3]=R[7];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1037:
-    if(acc==1){
-      R[4]=G(R[1],6);
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[11]=R[5];
-      R[5]=R[6];R[6]=R[7];
-      R[7]=R[8];R[8]=R[4];
-      R[4]=R[3];R[3]=R[11];
-      ob=(word*)R[8];acc=6;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1038:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-      R[5]=128*254+258;
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1039:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[9]=G(R[2],4);
-        R[10]=R[4];
-        R[4]=R[5];R[5]=R[9];
-        ob=(word*)R[10];acc=3;
-      }else{
-        R[4]=G(R[1],2);
-        R[5]=G(R[1],3);
-        R[3]=cons(R[4],R[5]);
-        R[7]=G(R[1],4);
-        ob=(word*)R[7];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1040:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[9]=G(R[2],4);
-        R[10]=R[4];
-        R[4]=R[5];R[5]=R[9];
-        ob=(word*)R[10];acc=3;
-      }else{
-        R[4]=G(R[2],5);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],6);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[9]=128*10+258;
-        R[10]=R[4];
-        R[4]=R[5];R[5]=R[9];
-        ob=(word*)R[10];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1041:
-    if(acc==1){
-      R[4]=128*60+258;
-      R[5]=R[3]&R[4];
-      R[6]=128*382+258;
-      R[7]=R[5]|R[6];
-      R[8]=G(R[2],2);
-      R[9]=G(R[1],3);
-      R[10]=G(R[1],4);
-      *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[10];fp[3]=R[7];fp[2]=R[9];R[3]=(word)fp;fp+=5;
-      R[4]=G(R[1],2);
-      ob=(word*)R[8];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1042:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=cons(R[3],R[4]);
-      R[6]=G(R[1],3);
-      R[3]=cons(R[6],R[5]);
-      R[8]=G(R[1],4);
-      ob=(word*)R[8];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1043:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[9]=G(R[2],4);
-        R[10]=R[4];
-        R[4]=R[5];R[5]=R[9];
-        ob=(word*)R[10];acc=3;
-      }else{
-        R[4]=G(R[2],5);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],6);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[9]=128*22+258;
-        R[10]=R[4];
-        R[4]=R[5];R[5]=R[9];
-        ob=(word*)R[10];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1044:
-    if(acc==1){
-      R[4]=128*28+258;
-      R[5]=R[3]&R[4];
-      R[6]=128*446+258;
-      R[7]=R[5]|R[6];
-      R[8]=G(R[2],2);
-      R[4]=G(R[1],2);
-      R[10]=G(R[1],3);
-      R[11]=G(R[1],4);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[11];fp[4]=R[7];fp[3]=R[10];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-      R[5]=128*10+258;
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1045:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[9]=G(R[1],2);
-      R[7]=R[4];R[4]=R[9];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1046:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=cons(R[3],R[4]);
-      R[6]=G(R[1],3);
-      R[7]=cons(R[6],R[5]);
-      R[8]=G(R[1],4);
-      R[3]=cons(R[8],R[7]);
-      R[10]=G(R[1],5);
-      ob=(word*)R[10];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1047:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[2],3);
-        R[7]=G(R[1],2);
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],5);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[9]=128*34+258;
-        R[10]=R[4];
-        R[4]=R[5];R[5]=R[9];
-        ob=(word*)R[10];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1048:
-    if(acc==1){
-      R[4]=128*12+258;
-      R[5]=R[3]&R[4];
-      R[6]=128*478+258;
-      R[7]=R[5]|R[6];
-      R[8]=G(R[2],2);
-      R[4]=G(R[1],2);
-      R[10]=G(R[1],3);
-      R[11]=G(R[1],4);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[11];fp[4]=R[7];fp[3]=R[10];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-      R[5]=128*22+258;
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1049:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[10]=128*10+258;
-      R[8]=R[4];
-      R[4]=R[5];R[5]=R[10];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1050:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[10]=(word)fp;fp+=7;
-      R[7]=R[4];
-      R[4]=R[3];R[3]=R[10];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1051:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=cons(R[3],R[4]);
-      R[6]=G(R[1],3);
-      R[7]=cons(R[6],R[5]);
-      R[8]=G(R[1],4);
-      R[9]=cons(R[8],R[7]);
-      R[10]=G(R[1],5);
-      R[3]=cons(R[10],R[9]);
-      R[12]=G(R[1],6);
-      ob=(word*)R[12];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1052:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      *fp=make_header(3,TPROC);fp[1]=G(R[1],3);fp[2]=R[3];R[6]=(word)fp;fp+=3;
-      R[7]=128*124+258;
-      R[8]=R[5];
-      R[3]=R[6];R[5]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1053:
-    if(acc==1){
-      R[4]=128*254+258;
-      R[3]=R[4]|R[3];
-      R[6]=G(R[1],2);
-      ob=(word*)R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1054:
-    if(acc==2){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[5]=F((hval)ob>>TPOS&63);}
-      if(R[5]==F(0)){
-        R[6]=ITRUE;
-        ob=(word*)R[3];R[3]=R[6];acc=1;
-      }else{
-        {word ob=R[4];if(allocp(ob))ob=V(ob);R[6]=F((hval)ob>>TPOS&63);}
-        R[7]=128*78+258;
-        if(R[6]==R[7]){
-          R[8]=G(R[1],2);
-          R[5]=G(R[1],3);
-          ob=(word*)R[8];acc=3;
-        }else{
-          R[8]=IFALSE;
-          ob=(word*)R[3];R[3]=R[8];acc=1;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1055:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[8]=128*0+258;
-      R[9]=R[4];R[5]=R[3];
-      R[3]=R[7];R[4]=R[8];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1056:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],2);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[5]=R[4];
-      R[4]=R[3];R[3]=R[7];
-      ob=(word*)R[5];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1057:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[10]=(word)fp;fp+=7;
-      R[11]=G(R[2],4);
-      R[8]=R[4];R[5]=R[3];
-      R[3]=R[10];R[4]=R[11];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1058:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[5]=G(R[1],2);
-      R[9]=R[4];
-      R[4]=R[3];R[3]=R[7];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1059:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      *fp=make_header(7,TPROC);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[10]=(word)fp;fp+=7;
-      R[11]=G(R[1],2);
-      R[8]=R[4];R[5]=R[3];
-      R[3]=R[10];R[4]=R[11];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1060:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1061:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      R[11]=G(R[1],8);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[12]=(word)fp;fp+=9;
-      R[13]=128*0+258;
-      R[8]=R[4];R[5]=R[3];
-      R[3]=R[12];R[4]=R[13];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1062:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[10]=(word)fp;fp+=7;
-      R[5]=G(R[1],2);
-      R[8]=R[4];
-      R[4]=R[3];R[3]=R[10];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1063:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[6]=F(0);
-      R[9]=R[5];
-      R[5]=R[6];R[6]=R[4];
-      R[4]=R[3];R[3]=R[9];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1064:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[9]=G(R[1],2);
-      R[5]=128*0+258;
-      R[11]=R[4];R[4]=R[9];
-      ob=(word*)R[11];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1065:
-    if(acc==1){
-      R[4]=G(R[1],6);
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[11]=R[6];R[12]=R[5];
-      R[5]=R[3];R[6]=R[7];
-      R[7]=R[8];R[8]=R[4];
-      R[4]=R[11];R[3]=R[12];
-      ob=(word*)R[8];acc=6;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1066:
-    if(acc==4){
-      if(R[5]==F(0)){
-        R[7]=128*0+258;
-        ob=(word*)R[3];R[3]=R[7];acc=1;
-      }else{
-        R[7]=128*0+258;
-        if(R[5]==R[7]){
-          ob=(word*)R[3];R[3]=R[4];acc=1;
-        }else{
-          R[8]=128*2+258;
-          if(R[5]==R[8]){
-            R[9]=G(R[1],2);
-            R[5]=R[4];
-            ob=(word*)R[9];acc=3;
-          }else{
-            {word ob=R[5];if(allocp(ob))ob=V(ob);R[9]=F((hval)ob>>TPOS&63);}
-            if(R[9]==F(0)){
-              R[10]=G(R[1],3);
-              *fp=make_header(4,TCLOS);fp[1]=G(R[1],4);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-              R[4]=R[5];R[5]=R[7];
-              ob=(word*)R[10];acc=3;
-            }else{
-              {word ob=R[5];if(allocp(ob))ob=V(ob);R[10]=F((hval)ob>>TPOS&63);}
-              R[11]=128*78+258;
-              if(R[10]==R[11]){
-                R[12]=G(R[1],3);
-                *fp=make_header(4,TCLOS);fp[1]=G(R[1],5);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-                R[4]=R[5];R[5]=R[7];
-                ob=(word*)R[12];acc=3;
-              }else{
-                {word ob=R[5];if(allocp(ob))ob=V(ob);R[12]=F((hval)ob>>TPOS&63);}
-                R[13]=128*62+258;
-                if(R[12]==R[13]){
-                  R[14]=G(R[1],6);
-                  *fp=make_header(5,TCLOS);fp[1]=G(R[1],7);fp[4]=R[3];fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-                  R[4]=R[5];
-                  ob=(word*)R[14];acc=2;
-                }else{
-                  {word ob=R[5];if(allocp(ob))ob=V(ob);R[14]=F((hval)ob>>TPOS&63);}
-                  R[15]=128*80+258;
-                  if(R[14]==R[15]){
-                    R[16]=G(R[1],6);
-                    *fp=make_header(5,TCLOS);fp[1]=G(R[1],8);fp[4]=R[3];fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-                    R[4]=R[5];
-                    ob=(word*)R[16];acc=2;
-                  }else{
-                    R[16]=G(R[1],9);
-                    R[17]=G(R[1],10);
-                    R[6]=R[5];
-                    R[5]=R[4];R[4]=R[17];
-                    ob=(word*)R[16];acc=4;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1067:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=128*0+258;
-      R[8]=R[4];
-      R[9]=R[5];R[5]=R[3];
-      R[4]=R[6];R[3]=R[9];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1068:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[9]=R[4];
-      R[10]=R[5];R[5]=R[3];
-      R[4]=R[6];R[3]=R[10];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1069:
-    if(acc==5){
-      if(R[5]==F(0)){
-        ob=(word*)R[3];R[3]=R[6];acc=1;
-      }else{
-        R[8]=G(R[1],2);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[1],3);fp[6]=R[7];fp[5]=R[3];fp[4]=R[6];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-        R[10]=128*0+258;
-        R[4]=R[5];R[5]=R[10];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1070:
-    if(acc==1){
-      if(R[3]==F(0)){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[5]=G(R[1],3);
-        R[8]=R[4];R[4]=R[5];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],6);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],4);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-        R[8]=R[4];
-        R[4]=R[6];R[5]=R[6];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1071:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[10]=G(R[1],2);
-      R[5]=128*0+258;
-      R[8]=R[4];R[4]=R[10];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1072:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=6;
-      R[9]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[11]=R[4];R[4]=R[9];
-      ob=(word*)R[11];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1073:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[9]=G(R[1],2);
-      R[5]=128*0+258;
-      R[11]=R[4];R[4]=R[9];
-      ob=(word*)R[11];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1074:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],2);
-      R[9]=R[4];R[10]=R[5];
-      R[5]=R[3];R[4]=R[6];
-      R[6]=R[7];R[3]=R[10];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1075:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[8]=(word)fp;fp+=5;
-      R[5]=G(R[1],2);
-      R[10]=R[4];
-      R[4]=R[3];R[3]=R[8];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1076:
-    if(acc==2){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[5]=F((hval)ob>>TPOS&63);}
-      R[6]=F(0);
-      R[7]=BOOL(R[5]==R[6]);
-      if(R[7]==IFALSE){
-        R[8]=128*62+258;
-        R[9]=BOOL(R[5]==R[8]);
-        if(R[9]==IFALSE){
-          R[10]=128*78+258;
-          R[11]=BOOL(R[5]==R[10]);
-          if(R[11]==IFALSE){
-            R[12]=128*80+258;
-            R[13]=BOOL(R[5]==R[12]);
-            if(R[13]==IFALSE){
-              R[14]=128*82+258;
-              R[15]=BOOL(R[5]==R[14]);
-              if(R[15]==IFALSE){
-                R[16]=128*84+258;
-                R[17]=BOOL(R[5]==R[16]);
-                if(R[17]==IFALSE){
-                  R[18]=IFALSE;
-                  ob=(word*)R[3];R[3]=R[18];acc=1;
-                }else{
-                  R[18]=ITRUE;
-                  ob=(word*)R[3];R[3]=R[18];acc=1;
-                }
-              }else{
-                R[16]=ITRUE;
-                ob=(word*)R[3];R[3]=R[16];acc=1;
-              }
-            }else{
-              R[14]=ITRUE;
-              ob=(word*)R[3];R[3]=R[14];acc=1;
-            }
-          }else{
-            R[12]=ITRUE;
-            ob=(word*)R[3];R[3]=R[12];acc=1;
-          }
-        }else{
-          R[10]=ITRUE;
-          ob=(word*)R[3];R[3]=R[10];acc=1;
-        }
-      }else{
-        R[8]=ITRUE;
-        ob=(word*)R[3];R[3]=R[8];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1077:
-    if(acc==3){
-      *fp=make_header(4,TCLOS);fp[1]=G(R[1],2);fp[3]=R[5];fp[2]=R[4];R[6]=(word)fp;fp+=4;
-      ob=(word*)R[3];R[3]=R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1078:
-    if(acc==5){
-      if(R[6]==INULL){
-        R[8]=ITRUE;
-        ob=(word*)R[3];R[3]=R[8];acc=1;
-      }else{
-        assert(pairp(R[6]),R[6],105);R[8]=G(R[6],1);
-        *fp=make_header(6,TPROC);fp[1]=G(R[1],2);fp[5]=R[7];fp[4]=R[3];fp[3]=R[4];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-        R[10]=R[4];
-        R[4]=R[5];R[5]=R[8];
-        ob=(word*)R[10];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1079:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],4);
-        R[3]=IFALSE;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[1],2);
-        assert(pairp(R[4]),R[4],105);R[5]=G(R[4],1);
-        R[6]=G(R[4],2);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],4);
-        R[4]=G(R[1],3);
-        R[3]=R[8];
-        ob=(word*)R[7];acc=5;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1080:
-    if(acc==5){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[8]=F((hval)ob>>TPOS&63);}
-      R[9]=128*82+258;
-      if(R[8]==R[9]){
-        R[10]=128*0+258;
-        R[11]=prim_ref(R[4],R[10]);
-        R[12]=128*2+258;
-        R[4]=prim_ref(R[4],R[12]);
-        *fp=make_header(6,TPROC);fp[1]=G(R[1],2);fp[5]=R[7];fp[4]=R[3];fp[3]=R[11];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-        ob=(word*)R[7];acc=5;
-      }else{
-        {word ob=R[4];if(allocp(ob))ob=V(ob);R[10]=F((hval)ob>>TPOS&63);}
-        R[11]=128*84+258;
-        if(R[10]==R[11]){
-          {word*ob=(word*)R[4];hval hdr;assert(allocp(R[4]),R[4],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[12]=ob[1];R[13]=ob[2];}
-          *fp=make_header(6,TPROC);fp[1]=G(R[1],5);fp[5]=R[7];fp[4]=R[3];fp[3]=R[12];fp[2]=R[6];R[14]=(word)fp;fp+=6;
-          R[15]=128*0+258;
-          if(R[13]==R[15]){
-            R[16]=128*208+258;
-            R[17]=cons(R[16],R[5]);
-            R[3]=cons(R[11],R[17]);
-            ob=(word*)R[14];acc=1;
-          }else{
-            R[16]=128*1+258;
-            if(R[13]==R[16]){
-              R[17]=128*208+258;
-              R[18]=cons(R[17],R[5]);
-              R[19]=128*88+258;
-              R[3]=cons(R[19],R[18]);
-              ob=(word*)R[14];acc=1;
-            }else{
-              R[17]=G(R[1],3);
-              *fp=make_header(7,TCLOS);fp[1]=G(R[1],4);fp[6]=R[7];fp[5]=R[14];fp[4]=R[13];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-              R[5]=F(0);
-              R[4]=R[13];
-              ob=(word*)R[17];acc=3;
-            }
-          }
-        }else{
-          R[12]=G(R[1],3);
-          *fp=make_header(7,TCLOS);fp[1]=G(R[1],6);fp[6]=R[3];fp[5]=R[7];fp[4]=R[5];fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=7;
-          R[5]=F(0);
-          ob=(word*)R[12];acc=3;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1081:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],6);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[8]=R[4];R[4]=R[6];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],5);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[10]=F(0);
-        R[5]=G(R[1],2);
-        R[8]=R[4];R[4]=R[10];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1082:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],5);
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],2);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[5]=R[7];
-      R[7]=R[4];R[4]=R[3];
-      R[3]=R[6];R[6]=R[8];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1083:
-    if(acc==1){
-      R[4]=128*88+258;
-      R[3]=cons(R[4],R[3]);
-      R[6]=G(R[1],2);
-      ob=(word*)R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1084:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],5);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],2);
-        R[9]=R[4];
-        R[3]=R[5];R[4]=R[6];
-        R[5]=R[7];R[6]=R[8];
-        ob=(word*)R[9];acc=4;
-      }else{
-        R[4]=G(R[2],3);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],5);
-        *fp=make_header(4,TPROC);fp[1]=G(R[2],4);fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        R[8]=G(R[1],3);
-        R[9]=R[4];R[4]=R[8];
-        ob=(word*)R[9];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1085:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=128*208+258;
-        R[5]=G(R[1],2);
-        R[6]=cons(R[4],R[5]);
-        R[7]=G(R[1],6);
-        R[8]=G(R[1],5);
-        *fp=make_header(3,TPROC);fp[1]=G(R[2],2);fp[2]=R[8];R[3]=(word)fp;fp+=3;
-        R[4]=G(R[1],4);
-        R[11]=G(R[1],3);
-        R[5]=R[6];R[6]=R[11];
-        ob=(word*)R[7];acc=5;
-      }else{
-        R[4]=128*208+258;
-        R[5]=G(R[1],2);
-        R[6]=cons(R[4],R[5]);
-        R[7]=G(R[1],6);
-        R[8]=G(R[1],5);
-        R[4]=G(R[1],4);
-        R[10]=G(R[1],3);
-        R[5]=R[6];
-        R[3]=R[8];R[6]=R[10];
-        ob=(word*)R[7];acc=5;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1086:
-    if(acc==1){
-      R[4]=128*84+258;
-      R[3]=cons(R[4],R[3]);
-      R[6]=G(R[1],2);
-      ob=(word*)R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1087:
-    if(acc==1){
-      R[4]=128*92+258;
-      R[5]=cons(R[4],R[3]);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],3);
-      R[9]=G(R[1],2);
-      R[3]=R[7];R[7]=R[6];
-      R[4]=R[8];R[6]=R[9];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1088:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],4);fp[2]=R[6];R[9]=(word)fp;fp+=3;
-      R[6]=G(R[1],5);
-      R[5]=R[4];R[4]=R[9];
-      ob=(word*)R[7];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1089:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],3);fp[2]=R[3];R[6]=(word)fp;fp+=3;
-      R[7]=G(R[1],2);
-      R[8]=R[5];
-      R[3]=R[6];R[5]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1090:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[2],3);
-      R[7]=G(R[1],2);
-      R[9]=R[4];
-      R[4]=R[6];R[6]=R[3];
-      R[3]=R[5];R[5]=R[7];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1091:
-    if(acc==3){
-      R[6]=cons(R[5],R[4]);
-      ob=(word*)R[3];R[3]=R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1092:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[4];R[6]=(word)fp;fp+=4;
-      R[7]=128*18+258;
-      R[8]=R[5];
-      R[3]=R[6];R[5]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1093:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=G(R[1],3);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],2);fp[3]=R[5];fp[2]=R[4];R[6]=(word)fp;fp+=4;
-      if(R[3]==IFALSE){
-        R[3]=128*172+258;
-        ob=(word*)R[6];acc=1;
-      }else{
-        R[3]=128*94+258;
-        ob=(word*)R[6];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1094:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[8]=(word)fp;fp+=5;
-      R[5]=G(R[1],2);
-      R[10]=R[4];
-      R[4]=R[3];R[3]=R[8];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1095:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=6;
-      R[9]=G(R[1],2);
-      R[5]=128*0+258;
-      R[11]=R[4];R[4]=R[9];
-      ob=(word*)R[11];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1096:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(7,TPROC);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=7;
-      R[10]=G(R[1],2);
-      R[5]=128*0+258;
-      R[8]=R[4];R[4]=R[10];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1097:
-    if(acc==1){
-      R[4]=G(R[1],6);
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[11]=R[6];R[12]=R[5];
-      R[5]=R[7];R[7]=R[3];
-      R[6]=R[8];R[8]=R[4];
-      R[4]=R[11];R[3]=R[12];
-      ob=(word*)R[8];acc=6;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1098:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(5,TPROC);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1099:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(5,TPROC);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1100:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],4);
-        R[3]=G(R[1],3);
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[1],4);
-        R[3]=G(R[1],2);
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1101:
-    if(acc==3){
-      if(R[5]==INULL){
-        ob=(word*)R[3];R[3]=R[5];acc=1;
-      }else{
-        assert(pairp(R[5]),R[5],169);R[6]=G(R[5],2);
-        if(R[6]==INULL){
-          ob=(word*)R[3];R[3]=R[5];acc=1;
-        }else{
-          R[7]=G(R[1],2);
-          ob=(word*)R[7];acc=3;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1102:
-    if(acc==3){
-      if(R[5]==INULL){
-        ob=(word*)R[3];R[3]=R[5];acc=1;
-      }else{
-        R[6]=G(R[1],2);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[4];R[7]=(word)fp;fp+=4;
-        R[8]=INULL;
-        R[9]=F(0);
-        R[10]=R[6];R[3]=R[7];
-        R[6]=R[8];R[7]=R[9];
-        ob=(word*)R[10];acc=5;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1103:
-    if(acc==1){
-      assert(pairp(R[3]),R[3],169);R[4]=G(R[3],2);
-      if(R[4]==INULL){
-        R[3]=G(R[3],1);
-        R[6]=G(R[1],3);
-        ob=(word*)R[6];acc=1;
-      }else{
-        R[5]=G(R[2],2);
-        R[6]=G(R[1],3);
-        R[4]=G(R[1],2);
-        R[8]=R[5];
-        R[5]=R[3];R[3]=R[6];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1104:
-    if(acc==4){
-      assert(pairp(R[5]),R[5],169);R[7]=G(R[5],2);
-      if(R[7]==INULL){
-        R[8]=G(R[5],1);
-        ob=(word*)R[3];R[3]=R[8];acc=1;
-      }else{
-        R[8]=G(R[1],2);
-        *fp=make_header(5,TPROC);fp[1]=G(R[1],3);fp[4]=R[6];fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1105:
-    if(acc==6){
-      if(R[5]==INULL){
-        if(R[6]==INULL){
-          ob=(word*)R[3];R[3]=R[6];acc=1;
-        }else{
-          R[9]=INULL;
-          R[10]=cons(R[6],R[9]);
-          ob=(word*)R[3];R[3]=R[10];acc=1;
-        }
-      }else{
-        R[9]=128*18+258;
-        if(R[7]==R[9]){
-          assert(pairp(R[5]),R[5],169);R[10]=G(R[5],2);
-          R[11]=G(R[5],1);
-          R[12]=INULL;
-          R[13]=cons(R[11],R[12]);
-          *fp=make_header(4,TPROC);fp[1]=G(R[1],2);fp[3]=R[3];fp[2]=R[6];R[3]=(word)fp;fp+=4;
-          R[7]=128*0+258;
-          R[5]=R[10];R[6]=R[13];
-          ob=(word*)R[8];acc=6;
-        }else{
-          R[10]=128*0+258;
-          {hval r=immval(R[7])+immval(R[10]);R[12]=F(r>>FBITS);R[11]=F(r);}
-          assert(pairp(R[5]),R[5],169);R[13]=G(R[5],2);
-          R[5]=G(R[5],1);
-          R[15]=G(R[1],3);
-          *fp=make_header(7,TPROC);fp[1]=G(R[1],4);fp[6]=R[8];fp[5]=R[3];fp[4]=R[4];fp[3]=R[13];fp[2]=R[11];R[3]=(word)fp;fp+=7;
-          R[9]=R[6];
-          R[6]=R[4];R[4]=R[9];
-          ob=(word*)R[15];acc=4;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1106:
-    if(acc==1){
-      R[4]=G(R[1],6);
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[11]=R[5];
-      R[5]=R[7];R[7]=R[8];
-      R[8]=R[4];R[4]=R[6];
-      R[6]=R[3];R[3]=R[11];
-      ob=(word*)R[8];acc=6;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1107:
-    if(acc==4){
-      if(R[5]==INULL){
-        ob=(word*)R[3];R[3]=R[5];acc=1;
-      }else{
-        assert(pairp(R[5]),R[5],105);R[7]=G(R[5],1);
-        R[8]=G(R[5],2);
-        if(R[8]==INULL){
-          R[9]=INULL;
-          R[10]=cons(R[7],R[9]);
-          ob=(word*)R[3];R[3]=R[10];acc=1;
-        }else{
-          assert(pairp(R[8]),R[8],105);R[9]=G(R[8],1);
-          R[10]=G(R[8],2);
-          R[11]=G(R[1],2);
-          *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[3];fp[4]=R[6];fp[3]=R[4];fp[2]=R[10];R[3]=(word)fp;fp+=6;
-          R[5]=R[7];R[6]=R[9];
-          ob=(word*)R[11];acc=4;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1108:
-    if(acc==5){
-      if(R[5]==INULL){
-        ob=(word*)R[3];R[3]=R[6];acc=1;
-      }else{
-        if(R[6]==INULL){
-          ob=(word*)R[3];R[3]=R[5];acc=1;
-        }else{
-          assert(pairp(R[6]),R[6],105);R[8]=G(R[6],1);
-          assert(pairp(R[5]),R[5],105);R[9]=G(R[5],1);
-          *fp=make_header(7,TCLOS);fp[1]=G(R[1],2);fp[6]=R[3];fp[5]=R[7];fp[4]=R[4];fp[3]=R[5];fp[2]=R[6];R[3]=(word)fp;fp+=7;
-          R[11]=R[4];
-          R[4]=R[8];R[5]=R[9];
-          ob=(word*)R[11];acc=3;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1109:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],3);
-        assert(pairp(R[4]),R[4],105);R[5]=G(R[4],1);
-        R[6]=G(R[4],2);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        *fp=make_header(4,TPROC);fp[1]=G(R[2],2);fp[3]=R[8];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        R[4]=G(R[1],4);
-        R[11]=G(R[1],2);
-        R[5]=R[6];R[6]=R[11];
-        ob=(word*)R[7];acc=5;
-      }else{
-        R[4]=G(R[1],2);
-        assert(pairp(R[4]),R[4],105);R[5]=G(R[4],1);
-        R[6]=G(R[4],2);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[8];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        R[4]=G(R[1],4);
-        R[5]=G(R[1],3);
-        ob=(word*)R[7];acc=5;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1110:
-    if(acc==5){
-      if(R[4]==INULL){
-        R[8]=INULL;
-        R[9]=cons(R[5],R[8]);
-        ob=(word*)R[3];R[3]=R[9];acc=1;
-      }else{
-        assert(pairp(R[4]),R[4],105);R[8]=G(R[4],1);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[1],2);fp[6]=R[3];fp[5]=R[7];fp[4]=R[5];fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=7;
-        R[4]=R[5];R[5]=R[8];
-        ob=(word*)R[6];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1111:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],2);
-        assert(pairp(R[4]),R[4],105);R[5]=G(R[4],1);
-        R[6]=G(R[4],2);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        *fp=make_header(4,TPROC);fp[1]=G(R[2],2);fp[3]=R[8];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        R[5]=G(R[1],4);
-        R[11]=G(R[1],3);
-        R[4]=R[6];R[6]=R[11];
-        ob=(word*)R[7];acc=5;
-      }else{
-        R[4]=G(R[1],4);
-        R[5]=G(R[1],2);
-        R[3]=cons(R[4],R[5]);
-        R[7]=G(R[1],6);
-        ob=(word*)R[7];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1112:
-    if(acc==3){
-      if(R[4]==INULL){
-        R[6]=IFALSE;
-        ob=(word*)R[3];R[3]=R[6];acc=1;
-      }else{
-        R[6]=G(R[1],2);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[5];fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-        ob=(word*)R[6];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1113:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        *fp=make_header(4,TPROC);fp[1]=G(R[2],2);fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[1],3);
-        R[3]=G(R[1],2);
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1114:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[6]=F(0);
-      R[7]=R[5];R[5]=R[6];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1115:
-    if(acc==3){
-      if(R[4]==INULL){
-        ob=(word*)R[3];R[3]=R[4];acc=1;
-      }else{
-        R[6]=G(R[1],2);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-        ob=(word*)R[6];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1116:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],3);
-        *fp=make_header(4,TPROC);fp[1]=G(R[2],2);fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[1],2);
-        assert(pairp(R[4]),R[4],105);R[5]=G(R[4],1);
-        R[6]=G(R[4],2);
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],4);
-        *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[8];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[5];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1117:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[5]=128*0+258;
-      R[9]=R[4];
-      R[4]=R[3];R[3]=R[7];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1118:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[5]=G(R[2],4);
-      R[9]=R[4];
-      R[4]=R[3];R[3]=R[7];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1119:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[8]=R[5];
-      R[5]=R[4];R[4]=R[8];
-      ob=(word*)R[5];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1120:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[5];fp[2]=R[3];R[6]=(word)fp;fp+=4;
-      R[7]=G(R[1],2);
-      R[5]=128*0+258;
-      R[9]=R[4];
-      R[3]=R[6];R[4]=R[7];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1121:
-    if(acc==1){
-      R[4]=G(R[1],5);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],2);
-      R[10]=R[5];
-      R[5]=R[6];R[6]=R[7];
-      R[7]=R[4];R[4]=R[10];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1122:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[3];fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1123:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],2);
-        if(R[4]==INULL){
-          R[5]=G(R[1],5);
-          R[3]=G(R[1],3);
-          ob=(word*)R[5];acc=1;
-        }else{
-          R[5]=G(R[1],5);
-          R[6]=G(R[1],3);
-          R[7]=G(R[1],4);
-          *fp=make_header(5,TCLOS);fp[1]=G(R[2],2);fp[4]=R[7];fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-          ob=(word*)R[5];acc=1;
-        }
-      }else{
-        R[4]=G(R[1],2);
-        assert(pairp(R[4]),R[4],105);R[5]=G(R[4],1);
-        R[6]=G(R[4],2);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[8];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        R[5]=G(R[1],3);
-        R[4]=R[6];R[6]=R[7];
-        ob=(word*)R[6];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1124:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      *fp=make_header(5,TPROC);fp[1]=G(R[2],2);fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-      ob=(word*)R[4];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1125:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],3);
-        if(R[4]==INULL){
-          R[5]=G(R[1],5);
-          R[3]=G(R[1],2);
-          ob=(word*)R[5];acc=1;
-        }else{
-          R[5]=G(R[1],2);
-          R[6]=G(R[1],4);
-          R[7]=G(R[1],5);
-          R[8]=G(R[1],6);
-          *fp=make_header(6,TPROC);fp[1]=G(R[2],2);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-          ob=(word*)R[4];acc=1;
-        }
-      }else{
-        R[4]=G(R[1],3);
-        assert(pairp(R[4]),R[4],105);R[5]=G(R[4],1);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-        R[10]=G(R[1],2);
-        R[4]=R[5];R[5]=R[10];
-        ob=(word*)R[6];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1126:
-    if(acc==5){
-      R[8]=G(R[1],2);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[1],3);fp[6]=R[7];fp[5]=R[3];fp[4]=R[4];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[4]=R[6];
-      ob=(word*)R[8];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1127:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[3];fp[4]=R[4];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1128:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],4);
-        if(R[4]==INULL){
-          R[5]=G(R[1],5);
-          R[3]=G(R[1],2);
-          ob=(word*)R[5];acc=2;
-        }else{
-          R[5]=G(R[1],2);
-          R[6]=G(R[1],5);
-          R[7]=G(R[1],3);
-          *fp=make_header(5,TPROC);fp[1]=G(R[2],2);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-          ob=(word*)R[4];acc=1;
-        }
-      }else{
-        R[4]=G(R[1],4);
-        assert(pairp(R[4]),R[4],105);R[5]=G(R[4],1);
-        R[4]=G(R[4],2);
-        R[7]=G(R[1],5);
-        R[3]=R[5];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1129:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-      ob=(word*)R[6];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1130:
-    if(acc==4){
-      if(R[5]==F(0)){
-        R[7]=INULL;
-        R[8]=cons(R[5],R[7]);
-        R[9]=cons(R[4],R[8]);
-        R[10]=G(R[1],4);
-        R[5]=cons(R[10],R[9]);
-        R[12]=G(R[1],2);
-        R[4]=G(R[1],3);
-        ob=(word*)R[12];acc=3;
-      }else{
-        {word ob=R[4];if(allocp(ob))ob=V(ob);R[7]=F((hval)ob>>TPOS&63);}
-        R[8]=128*84+258;
-        if(R[7]==R[8]){
-          {word ob=R[5];if(allocp(ob))ob=V(ob);R[9]=F((hval)ob>>TPOS&63);}
-          if(R[9]==R[8]){
-            {word*ob=(word*)R[4];hval hdr;assert(allocp(R[4]),R[4],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[10]=ob[1];R[11]=ob[2];}
-            {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[12]=ob[1];R[13]=ob[2];}
-            R[14]=G(R[1],5);
-            *fp=make_header(8,TCLOS);fp[1]=G(R[1],6);fp[7]=R[3];fp[6]=R[6];fp[5]=R[10];fp[4]=R[13];fp[3]=R[11];fp[2]=R[12];R[3]=(word)fp;fp+=8;
-            R[4]=R[12];R[5]=R[12];
-            ob=(word*)R[14];acc=3;
-          }else{
-            {word*ob=(word*)R[4];hval hdr;assert(allocp(R[4]),R[4],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[10]=ob[1];R[11]=ob[2];}
-            R[12]=G(R[1],5);
-            *fp=make_header(7,TCLOS);fp[1]=G(R[1],7);fp[6]=R[3];fp[5]=R[6];fp[4]=R[11];fp[3]=R[5];fp[2]=R[10];R[3]=(word)fp;fp+=7;
-            R[4]=R[5];
-            ob=(word*)R[12];acc=3;
-          }
-        }else{
-          {word ob=R[5];if(allocp(ob))ob=V(ob);R[9]=F((hval)ob>>TPOS&63);}
-          if(R[9]==R[8]){
-            {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[10]=ob[1];R[11]=ob[2];}
-            R[12]=G(R[1],5);
-            *fp=make_header(7,TCLOS);fp[1]=G(R[1],8);fp[6]=R[3];fp[5]=R[6];fp[4]=R[4];fp[3]=R[11];fp[2]=R[10];R[3]=(word)fp;fp+=7;
-            R[4]=R[10];R[5]=R[10];
-            ob=(word*)R[12];acc=3;
-          }else{
-            {word ob=R[4];if(allocp(ob))ob=V(ob);R[10]=F((hval)ob>>TPOS&63);}
-            R[11]=128*82+258;
-            if(R[10]==R[11]){
-              {word ob=R[5];if(allocp(ob))ob=V(ob);R[12]=F((hval)ob>>TPOS&63);}
-              if(R[12]==R[11]){
-                R[13]=128*0+258;
-                R[14]=prim_ref(R[4],R[13]);
-                R[15]=128*2+258;
-                R[16]=prim_ref(R[5],R[15]);
-                R[17]=G(R[1],5);
-                *fp=make_header(6,TCLOS);fp[1]=G(R[1],9);fp[5]=R[6];fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-                R[4]=R[14];R[5]=R[16];
-                ob=(word*)R[17];acc=3;
-              }else{
-                R[13]=128*0+258;
-                R[14]=prim_ref(R[4],R[13]);
-                R[15]=128*2+258;
-                R[4]=prim_ref(R[4],R[15]);
-                R[17]=G(R[1],5);
-                *fp=make_header(4,TCLOS);fp[1]=G(R[1],10);fp[3]=R[3];fp[2]=R[14];R[3]=(word)fp;fp+=4;
-                ob=(word*)R[17];acc=3;
-              }
-            }else{
-              {word ob=R[5];if(allocp(ob))ob=V(ob);R[12]=F((hval)ob>>TPOS&63);}
-              if(R[12]==R[11]){
-                R[13]=128*2+258;
-                R[14]=prim_ref(R[5],R[13]);
-                R[15]=G(R[1],5);
-                *fp=make_header(4,TCLOS);fp[1]=G(R[1],11);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-                R[5]=R[14];
-                ob=(word*)R[15];acc=3;
-              }else{
-                R[13]=G(R[1],12);
-                ob=(word*)R[13];acc=3;
-              }
-            }
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1131:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=128*2+258;
-      R[6]=prim_ref(R[4],R[5]);
-      R[7]=G(R[1],3);
-      R[8]=128*0+258;
-      R[5]=prim_ref(R[7],R[8]);
-      R[10]=G(R[2],2);
-      R[11]=G(R[1],4);
-      R[12]=G(R[1],5);
-      *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[12];fp[3]=R[11];fp[2]=R[3];R[3]=(word)fp;fp+=5;
-      R[4]=R[6];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1132:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=8;
-      R[8]=R[4];
-      R[4]=R[6];R[5]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1133:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[5]=G(R[1],2);
-      R[8]=R[4];R[4]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1134:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=6;
-      R[10]=F(0);
-      R[8]=R[4];R[5]=R[3];
-      R[3]=R[9];R[4]=R[10];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1135:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[10]=G(R[1],2);
-      R[8]=R[4];R[4]=R[10];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1136:
-    if(acc==1){
-      R[4]=G(R[1],5);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],6);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],2);fp[6]=R[8];fp[5]=R[4];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=7;
-      R[6]=R[4];R[4]=R[3];
-      R[5]=R[7];R[3]=R[9];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1137:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[9]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[11]=R[4];R[4]=R[9];
-      ob=(word*)R[11];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1138:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=9;
-      R[8]=R[4];
-      R[4]=R[7];R[5]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1139:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[10];fp[7]=R[9];fp[6]=R[3];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=9;
-      R[9]=R[4];R[4]=R[8];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1140:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],7);
-      R[11]=G(R[1],8);
-      *fp=make_header(10,TCLOS);fp[1]=G(R[2],3);fp[9]=R[11];fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=10;
-      R[8]=R[4];
-      R[4]=R[6];R[5]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1141:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      R[11]=G(R[1],9);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[12]=(word)fp;fp+=9;
-      R[13]=G(R[1],2);
-      R[8]=R[4];R[5]=R[3];
-      R[3]=R[12];R[4]=R[13];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1142:
-    if(acc==1){
-      R[4]=G(R[1],7);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      R[10]=G(R[1],8);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],2);fp[8]=R[10];fp[7]=R[4];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[11]=(word)fp;fp+=9;
-      R[6]=R[4];R[4]=R[3];
-      R[5]=R[9];R[3]=R[11];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1143:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      R[8]=G(R[1],7);
-      R[9]=G(R[1],8);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[9];fp[6]=R[3];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=8;
-      R[11]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[8]=R[4];R[4]=R[11];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1144:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      R[8]=G(R[1],7);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=7;
-      R[10]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[8]=R[4];R[4]=R[10];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1145:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],2);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[5]=G(R[1],2);
-      R[6]=R[4];
-      R[4]=R[3];R[3]=R[7];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1146:
-    if(acc==4){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[7]=F((hval)ob>>TPOS&63);}
-      R[8]=F(0);
-      R[9]=BOOL(R[7]==R[8]);
-      if(R[9]==IFALSE){
-        R[10]=128*62+258;
-        R[11]=BOOL(R[7]==R[10]);
-        if(R[11]==IFALSE){
-          R[12]=128*78+258;
-          R[13]=BOOL(R[7]==R[12]);
-          if(R[13]==IFALSE){
-            R[14]=128*80+258;
-            R[15]=BOOL(R[7]==R[14]);
-            if(R[15]==IFALSE){
-              R[16]=128*82+258;
-              R[17]=BOOL(R[7]==R[16]);
-              if(R[17]==IFALSE){
-                R[18]=128*84+258;
-                R[19]=BOOL(R[7]==R[18]);
-                if(R[19]==IFALSE){
-                  R[20]=G(R[1],2);
-                  ob=(word*)R[20];acc=3;
-                }else{
-                  {word ob=R[5];if(allocp(ob))ob=V(ob);R[20]=F((hval)ob>>TPOS&63);}
-                  if(R[20]==R[18]){
-                    {word*ob=(word*)R[4];hval hdr;assert(allocp(R[4]),R[4],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[21]=ob[1];R[22]=ob[2];}
-                    {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[23]=ob[1];R[24]=ob[2];}
-                    *fp=make_header(8,TCLOS);fp[1]=G(R[1],3);fp[7]=R[3];fp[6]=R[6];fp[5]=R[21];fp[4]=R[24];fp[3]=R[22];fp[2]=R[23];R[3]=(word)fp;fp+=8;
-                    R[4]=R[21];R[5]=R[23];
-                    ob=(word*)R[6];acc=4;
-                  }else{
-                    {word*ob=(word*)R[4];hval hdr;assert(allocp(R[4]),R[4],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[21]=ob[1];R[22]=ob[2];}
-                    *fp=make_header(6,TCLOS);fp[1]=G(R[1],4);fp[5]=R[3];fp[4]=R[6];fp[3]=R[22];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-                    R[4]=R[21];
-                    ob=(word*)R[6];acc=4;
-                  }
-                }
-              }else{
-                {word ob=R[5];if(allocp(ob))ob=V(ob);R[18]=F((hval)ob>>TPOS&63);}
-                R[19]=BOOL(R[18]==R[16]);
-                if(R[19]==IFALSE){
-                  R[20]=128*84+258;
-                  R[21]=BOOL(R[18]==R[20]);
-                  if(R[21]==IFALSE){
-                    R[22]=128*0+258;
-                    R[23]=prim_ref(R[4],R[22]);
-                    *fp=make_header(4,TCLOS);fp[1]=G(R[1],5);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-                    R[4]=R[23];
-                    ob=(word*)R[6];acc=4;
-                  }else{
-                    {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[22]=ob[1];R[23]=ob[2];}
-                    *fp=make_header(6,TCLOS);fp[1]=G(R[1],6);fp[5]=R[3];fp[4]=R[6];fp[3]=R[4];fp[2]=R[23];R[3]=(word)fp;fp+=6;
-                    R[5]=R[22];
-                    ob=(word*)R[6];acc=4;
-                  }
-                }else{
-                  R[20]=128*0+258;
-                  R[21]=prim_ref(R[4],R[20]);
-                  R[22]=prim_ref(R[5],R[20]);
-                  *fp=make_header(6,TCLOS);fp[1]=G(R[1],7);fp[5]=R[3];fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-                  R[4]=R[21];R[5]=R[22];
-                  ob=(word*)R[6];acc=4;
-                }
-              }
-            }else{
-              {word ob=R[5];if(allocp(ob))ob=V(ob);R[16]=F((hval)ob>>TPOS&63);}
-              R[17]=128*82+258;
-              R[18]=BOOL(R[16]==R[17]);
-              if(R[18]==IFALSE){
-                R[19]=128*84+258;
-                R[20]=BOOL(R[16]==R[19]);
-                if(R[20]==IFALSE){
-                  R[21]=G(R[1],2);
-                  ob=(word*)R[21];acc=3;
-                }else{
-                  {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[21]=ob[1];R[22]=ob[2];}
-                  *fp=make_header(6,TCLOS);fp[1]=G(R[1],8);fp[5]=R[3];fp[4]=R[6];fp[3]=R[4];fp[2]=R[22];R[3]=(word)fp;fp+=6;
-                  R[5]=R[21];
-                  ob=(word*)R[6];acc=4;
-                }
-              }else{
-                R[19]=128*0+258;
-                R[20]=prim_ref(R[5],R[19]);
-                *fp=make_header(4,TCLOS);fp[1]=G(R[1],9);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-                R[5]=R[20];
-                ob=(word*)R[6];acc=4;
-              }
-            }
-          }else{
-            {word ob=R[5];if(allocp(ob))ob=V(ob);R[14]=F((hval)ob>>TPOS&63);}
-            R[15]=128*82+258;
-            R[16]=BOOL(R[14]==R[15]);
-            if(R[16]==IFALSE){
-              R[17]=128*84+258;
-              R[18]=BOOL(R[14]==R[17]);
-              if(R[18]==IFALSE){
-                R[19]=G(R[1],2);
-                ob=(word*)R[19];acc=3;
-              }else{
-                {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[19]=ob[1];R[20]=ob[2];}
-                *fp=make_header(6,TCLOS);fp[1]=G(R[1],10);fp[5]=R[3];fp[4]=R[6];fp[3]=R[4];fp[2]=R[20];R[3]=(word)fp;fp+=6;
-                R[5]=R[19];
-                ob=(word*)R[6];acc=4;
-              }
-            }else{
-              R[17]=128*0+258;
-              R[18]=prim_ref(R[5],R[17]);
-              *fp=make_header(4,TCLOS);fp[1]=G(R[1],11);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-              R[5]=R[18];
-              ob=(word*)R[6];acc=4;
-            }
-          }
-        }else{
-          {word ob=R[5];if(allocp(ob))ob=V(ob);R[12]=F((hval)ob>>TPOS&63);}
-          R[13]=128*82+258;
-          R[14]=BOOL(R[12]==R[13]);
-          if(R[14]==IFALSE){
-            R[15]=128*84+258;
-            R[16]=BOOL(R[12]==R[15]);
-            if(R[16]==IFALSE){
-              R[17]=G(R[1],2);
-              ob=(word*)R[17];acc=3;
-            }else{
-              {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[17]=ob[1];R[18]=ob[2];}
-              *fp=make_header(6,TCLOS);fp[1]=G(R[1],12);fp[5]=R[3];fp[4]=R[6];fp[3]=R[4];fp[2]=R[18];R[3]=(word)fp;fp+=6;
-              R[5]=R[17];
-              ob=(word*)R[6];acc=4;
-            }
-          }else{
-            R[15]=128*0+258;
-            R[16]=prim_ref(R[5],R[15]);
-            *fp=make_header(4,TCLOS);fp[1]=G(R[1],13);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-            R[5]=R[16];
-            ob=(word*)R[6];acc=4;
-          }
-        }
-      }else{
-        {word ob=R[5];if(allocp(ob))ob=V(ob);R[10]=F((hval)ob>>TPOS&63);}
-        R[11]=128*82+258;
-        R[12]=BOOL(R[10]==R[11]);
-        if(R[12]==IFALSE){
-          R[13]=128*84+258;
-          R[14]=BOOL(R[10]==R[13]);
-          if(R[14]==IFALSE){
-            R[15]=G(R[1],2);
-            ob=(word*)R[15];acc=3;
-          }else{
-            {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[15]=ob[1];R[16]=ob[2];}
-            *fp=make_header(6,TCLOS);fp[1]=G(R[1],14);fp[5]=R[3];fp[4]=R[6];fp[3]=R[4];fp[2]=R[16];R[3]=(word)fp;fp+=6;
-            R[5]=R[15];
-            ob=(word*)R[6];acc=4;
-          }
-        }else{
-          R[13]=128*0+258;
-          R[14]=prim_ref(R[5],R[13]);
-          *fp=make_header(4,TCLOS);fp[1]=G(R[1],15);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-          R[5]=R[14];
-          ob=(word*)R[6];acc=4;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1147:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=128*2+258;
-      R[6]=prim_ref(R[4],R[5]);
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],3);
-      R[4]=R[3];
-      R[5]=R[6];R[3]=R[8];
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1148:
-    if(acc==1){
-      R[4]=G(R[1],6);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],7);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],2);fp[8]=R[9];fp[7]=R[4];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=9;
-      R[9]=R[6];R[6]=R[4];
-      R[5]=R[7];R[4]=R[9];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1149:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[11]=(word)fp;fp+=8;
-      R[12]=G(R[1],2);
-      R[8]=R[4];R[5]=R[3];
-      R[3]=R[11];R[4]=R[12];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1150:
-    if(acc==1){
-      R[4]=G(R[1],6);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],7);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],2);fp[6]=R[7];fp[5]=R[3];fp[4]=R[4];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[9]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[6]=R[4];R[4]=R[9];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1151:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],6);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],2);fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[7]=(word)fp;fp+=5;
-      R[8]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[6]=R[4];
-      R[3]=R[7];R[4]=R[8];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1152:
-    if(acc==3){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[6]=F((hval)ob>>TPOS&63);}
-      R[7]=128*84+258;
-      if(R[6]==R[7]){
-        {word ob=R[5];if(allocp(ob))ob=V(ob);R[8]=F((hval)ob>>TPOS&63);}
-        if(R[8]==R[7]){
-          {word*ob=(word*)R[4];hval hdr;assert(allocp(R[4]),R[4],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[9]=ob[1];R[10]=ob[2];}
-          {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[11]=ob[1];R[12]=ob[2];}
-          R[13]=G(R[1],2);
-          R[4]=R[9];R[5]=R[10];
-          R[6]=R[11];R[7]=R[12];
-          ob=(word*)R[13];acc=5;
-        }else{
-          {word*ob=(word*)R[4];hval hdr;assert(allocp(R[4]),R[4],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[9]=ob[1];R[10]=ob[2];}
-          R[11]=G(R[1],2);
-          R[7]=F(0);
-          R[6]=R[5];
-          R[4]=R[9];R[5]=R[10];
-          ob=(word*)R[11];acc=5;
-        }
-      }else{
-        {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[8]=ob[1];R[9]=ob[2];}
-        R[10]=G(R[1],2);
-        R[5]=F(0);
-        R[6]=R[8];R[7]=R[9];
-        ob=(word*)R[10];acc=5;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1153:
-    if(acc==5){
-      R[8]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[4];fp[2]=R[6];R[3]=(word)fp;fp+=5;
-      R[4]=R[5];R[5]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1154:
-    if(acc==1){
-      if(R[3]==F(0)){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],2);
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[5];fp[2]=R[3];R[6]=(word)fp;fp+=4;
-        R[7]=G(R[1],3);
-        R[5]=G(R[1],2);
-        R[9]=R[4];
-        R[3]=R[6];R[4]=R[7];
-        ob=(word*)R[9];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1155:
-    if(acc==3){
-      {word ob=R[5];if(allocp(ob))ob=V(ob);R[6]=F((hval)ob>>TPOS&63);}
-      R[7]=128*84+258;
-      if(R[6]==R[7]){
-        {word*ob=(word*)R[4];hval hdr;assert(allocp(R[4]),R[4],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[8]=ob[1];R[9]=ob[2];}
-        {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[10]=ob[1];R[11]=ob[2];}
-        R[12]=G(R[1],2);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[9];fp[2]=R[11];R[3]=(word)fp;fp+=5;
-        R[4]=R[8];R[5]=R[10];
-        ob=(word*)R[12];acc=3;
-      }else{
-        {word*ob=(word*)R[4];hval hdr;assert(allocp(R[4]),R[4],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[8]=ob[1];R[9]=ob[2];}
-        R[10]=G(R[1],2);
-        *fp=make_header(4,TPROC);fp[1]=G(R[1],4);fp[3]=R[3];fp[2]=R[9];R[3]=(word)fp;fp+=4;
-        R[4]=R[8];
-        ob=(word*)R[10];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1156:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      *fp=make_header(3,43);fp[1]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=3;
-      R[6]=G(R[1],3);
-      ob=(word*)R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1157:
-    if(acc==1){
-      if(R[3]==F(0)){
-        R[4]=G(R[1],3);
-        R[3]=G(R[1],2);
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[1],2);
-        *fp=make_header(3,43);fp[1]=R[4];fp[2]=R[3];R[3]=(word)fp;fp+=3;
-        R[6]=G(R[1],3);
-        ob=(word*)R[6];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1158:
-    if(acc==4){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[7]=F((hval)ob>>TPOS&63);}
-      R[8]=F(0);
-      R[9]=BOOL(R[7]==R[8]);
-      if(R[9]==IFALSE){
-        R[10]=128*62+258;
-        R[11]=BOOL(R[7]==R[10]);
-        if(R[11]==IFALSE){
-          R[12]=128*78+258;
-          R[13]=BOOL(R[7]==R[12]);
-          if(R[13]==IFALSE){
-            R[14]=128*80+258;
-            R[15]=BOOL(R[7]==R[14]);
-            if(R[15]==IFALSE){
-              R[16]=128*82+258;
-              R[17]=BOOL(R[7]==R[16]);
-              if(R[17]==IFALSE){
-                R[18]=128*84+258;
-                R[19]=BOOL(R[7]==R[18]);
-                if(R[19]==IFALSE){
-                  R[20]=G(R[1],2);
-                  R[21]=G(R[1],3);
-                  R[6]=R[5];
-                  R[5]=R[4];R[4]=R[21];
-                  ob=(word*)R[20];acc=4;
-                }else{
-                  {word ob=R[5];if(allocp(ob))ob=V(ob);R[20]=F((hval)ob>>TPOS&63);}
-                  if(R[20]==R[18]){
-                    R[21]=128*0+258;
-                    R[22]=prim_ref(R[4],R[21]);
-                    R[23]=prim_ref(R[5],R[21]);
-                    *fp=make_header(6,TPROC);fp[1]=G(R[1],4);fp[5]=R[6];fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-                    R[4]=R[22];R[5]=R[23];
-                    ob=(word*)R[6];acc=4;
-                  }else{
-                    R[21]=IFALSE;
-                    ob=(word*)R[3];R[3]=R[21];acc=1;
-                  }
-                }
-              }else{
-                {word ob=R[5];if(allocp(ob))ob=V(ob);R[18]=F((hval)ob>>TPOS&63);}
-                R[19]=BOOL(R[18]==R[16]);
-                if(R[19]==IFALSE){
-                  R[20]=IFALSE;
-                  ob=(word*)R[3];R[3]=R[20];acc=1;
-                }else{
-                  R[20]=128*0+258;
-                  R[21]=prim_ref(R[4],R[20]);
-                  R[22]=prim_ref(R[5],R[20]);
-                  *fp=make_header(6,TPROC);fp[1]=G(R[1],5);fp[5]=R[6];fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-                  R[4]=R[21];R[5]=R[22];
-                  ob=(word*)R[6];acc=4;
-                }
-              }
-            }else{
-              {word ob=R[5];if(allocp(ob))ob=V(ob);R[16]=F((hval)ob>>TPOS&63);}
-              R[17]=BOOL(R[16]==R[14]);
-              if(R[17]==IFALSE){
-                R[18]=IFALSE;
-                ob=(word*)R[3];R[3]=R[18];acc=1;
-              }else{
-                R[18]=G(R[1],6);
-                ob=(word*)R[18];acc=3;
-              }
-            }
-          }else{
-            {word ob=R[5];if(allocp(ob))ob=V(ob);R[14]=F((hval)ob>>TPOS&63);}
-            R[15]=BOOL(R[14]==R[12]);
-            if(R[15]==IFALSE){
-              R[16]=IFALSE;
-              ob=(word*)R[3];R[3]=R[16];acc=1;
-            }else{
-              R[16]=G(R[1],6);
-              ob=(word*)R[16];acc=3;
-            }
-          }
-        }else{
-          R[12]=BOOL(R[4]==R[5]);
-          ob=(word*)R[3];R[3]=R[12];acc=1;
-        }
-      }else{
-        R[10]=BOOL(R[4]==R[5]);
-        ob=(word*)R[3];R[3]=R[10];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1159:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],4);
-        R[3]=IFALSE;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[1],2);
-        R[5]=128*2+258;
-        R[6]=prim_ref(R[4],R[5]);
-        R[7]=G(R[1],3);
-        R[5]=prim_ref(R[7],R[5]);
-        R[9]=G(R[1],5);
-        R[3]=G(R[1],4);
-        R[4]=R[6];R[6]=R[9];
-        ob=(word*)R[6];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1160:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],3);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1161:
-    if(acc==4){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[7]=F((hval)ob>>TPOS&63);}
-      R[8]=128*82+258;
-      if(R[7]==R[8]){
-        {word ob=R[5];if(allocp(ob))ob=V(ob);R[9]=F((hval)ob>>TPOS&63);}
-        R[10]=BOOL(R[9]==R[8]);
-        if(R[10]==IFALSE){
-          R[11]=F(0);
-          R[12]=BOOL(R[9]==R[11]);
-          if(R[12]==IFALSE){
-            R[13]=128*62+258;
-            R[14]=BOOL(R[9]==R[13]);
-            if(R[14]==IFALSE){
-              R[15]=128*78+258;
-              R[16]=BOOL(R[9]==R[15]);
-              if(R[16]==IFALSE){
-                R[17]=128*80+258;
-                R[18]=BOOL(R[9]==R[17]);
-                if(R[18]==IFALSE){
-                  R[19]=G(R[1],2);
-                  ob=(word*)R[19];acc=3;
-                }else{
-                  R[19]=G(R[2],2);
-                  ob=(word*)R[19];acc=3;
-                }
-              }else{
-                R[17]=G(R[2],2);
-                ob=(word*)R[17];acc=3;
-              }
-            }else{
-              R[15]=G(R[2],2);
-              ob=(word*)R[15];acc=3;
-            }
-          }else{
-            R[13]=G(R[2],2);
-            ob=(word*)R[13];acc=3;
-          }
-        }else{
-          R[11]=128*2+258;
-          R[12]=prim_ref(R[4],R[11]);
-          R[13]=prim_ref(R[5],R[11]);
-          if(R[12]==R[13]){
-            R[14]=128*0+258;
-            R[4]=prim_ref(R[4],R[14]);
-            R[5]=prim_ref(R[5],R[14]);
-            R[17]=G(R[2],3);
-            *fp=make_header(4,TCLOS);fp[1]=G(R[2],4);fp[3]=R[3];fp[2]=R[12];R[3]=(word)fp;fp+=4;
-            ob=(word*)R[17];acc=3;
-          }else{
-            R[14]=128*0+258;
-            R[4]=prim_ref(R[4],R[14]);
-            R[16]=prim_ref(R[5],R[14]);
-            R[17]=G(R[2],5);
-            *fp=make_header(6,TCLOS);fp[1]=G(R[2],6);fp[5]=R[3];fp[4]=R[12];fp[3]=R[13];fp[2]=R[16];R[3]=(word)fp;fp+=6;
-            R[5]=R[13];
-            ob=(word*)R[17];acc=3;
-          }
-        }
-      }else{
-        {word ob=R[5];if(allocp(ob))ob=V(ob);R[9]=F((hval)ob>>TPOS&63);}
-        if(R[9]==R[8]){
-          {word ob=R[4];if(allocp(ob))ob=V(ob);R[10]=F((hval)ob>>TPOS&63);}
-          R[11]=F(0);
-          R[12]=BOOL(R[10]==R[11]);
-          if(R[12]==IFALSE){
-            R[13]=128*62+258;
-            R[14]=BOOL(R[10]==R[13]);
-            if(R[14]==IFALSE){
-              R[15]=128*78+258;
-              R[16]=BOOL(R[10]==R[15]);
-              if(R[16]==IFALSE){
-                R[17]=128*80+258;
-                R[18]=BOOL(R[10]==R[17]);
-                if(R[18]==IFALSE){
-                  R[19]=G(R[1],2);
-                  ob=(word*)R[19];acc=3;
-                }else{
-                  R[19]=G(R[2],7);
-                  ob=(word*)R[19];acc=3;
-                }
-              }else{
-                R[17]=G(R[2],7);
-                ob=(word*)R[17];acc=3;
-              }
-            }else{
-              R[15]=G(R[2],7);
-              ob=(word*)R[15];acc=3;
-            }
-          }else{
-            R[13]=G(R[2],7);
-            ob=(word*)R[13];acc=3;
-          }
-        }else{
-          R[10]=G(R[1],2);
-          ob=(word*)R[10];acc=3;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1162:
-    if(acc==3){
-      {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[6]=ob[1];R[7]=ob[2];}
-      R[8]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=5;
-      R[5]=R[4];R[4]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1163:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[5]=G(R[1],2);
-      R[9]=R[4];
-      R[4]=R[3];R[3]=R[7];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1164:
-    if(acc==3){
-      {word*ob=(word*)R[4];hval hdr;assert(allocp(R[4]),R[4],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[6]=ob[1];R[7]=ob[2];}
-      R[8]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=5;
-      R[4]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1165:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      *fp=make_header(3,42);fp[1]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=3;
-      R[6]=G(R[1],3);
-      ob=(word*)R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1166:
-    if(acc==3){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[6]=F((hval)ob>>TPOS&63);}
-      R[7]=128*82+258;
-      if(R[6]==R[7]){
-        {word ob=R[5];if(allocp(ob))ob=V(ob);R[8]=F((hval)ob>>TPOS&63);}
-        R[9]=BOOL(R[8]==R[7]);
-        if(R[9]==IFALSE){
-          R[10]=128*84+258;
-          R[11]=BOOL(R[8]==R[10]);
-          if(R[11]==IFALSE){
-            R[12]=128*0+258;
-            R[13]=prim_ref(R[4],R[12]);
-            R[14]=128*2+258;
-            R[15]=prim_ref(R[4],R[14]);
-            R[16]=G(R[2],2);
-            *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[3];fp[3]=R[4];fp[2]=R[13];R[3]=(word)fp;fp+=5;
-            R[4]=R[5];R[5]=R[15];
-            ob=(word*)R[16];acc=3;
-          }else{
-            R[12]=G(R[1],2);
-            R[8]=R[5];
-            R[5]=R[4];R[4]=R[8];
-            ob=(word*)R[12];acc=3;
-          }
-        }else{
-          R[10]=128*2+258;
-          R[11]=prim_ref(R[4],R[10]);
-          R[12]=prim_ref(R[5],R[10]);
-          if(R[11]==R[12]){
-            R[13]=128*0+258;
-            R[4]=prim_ref(R[4],R[13]);
-            R[5]=prim_ref(R[5],R[13]);
-            R[16]=G(R[2],4);
-            *fp=make_header(4,TCLOS);fp[1]=G(R[2],5);fp[3]=R[3];fp[2]=R[11];R[3]=(word)fp;fp+=4;
-            ob=(word*)R[16];acc=3;
-          }else{
-            R[13]=128*0+258;
-            R[4]=prim_ref(R[4],R[13]);
-            R[15]=prim_ref(R[5],R[13]);
-            R[16]=G(R[2],2);
-            *fp=make_header(6,TCLOS);fp[1]=G(R[2],6);fp[5]=R[3];fp[4]=R[11];fp[3]=R[12];fp[2]=R[15];R[3]=(word)fp;fp+=6;
-            R[5]=R[12];
-            ob=(word*)R[16];acc=3;
-          }
-        }
-      }else{
-        R[8]=G(R[1],2);
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1167:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=6;
-      R[9]=G(R[1],2);
-      R[10]=R[4];
-      R[5]=R[6];R[4]=R[9];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1168:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[8]=(word)fp;fp+=5;
-      R[9]=G(R[1],2);
-      R[10]=R[4];R[5]=R[3];
-      R[3]=R[8];R[4]=R[9];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1169:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[5];fp[2]=R[3];R[6]=(word)fp;fp+=4;
-      R[7]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[9]=R[4];
-      R[3]=R[6];R[4]=R[7];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1170:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=128*2+258;
-      R[6]=prim_ref(R[4],R[5]);
-      *fp=make_header(3,42);fp[1]=R[3];fp[2]=R[6];R[3]=(word)fp;fp+=3;
-      R[8]=G(R[1],3);
-      ob=(word*)R[8];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1171:
-    if(acc==4){
-      {word ob=R[5];if(allocp(ob))ob=V(ob);R[7]=F((hval)ob>>TPOS&63);}
-      R[8]=128*62+258;
-      if(R[7]==R[8]){
-        R[9]=G(R[1],2);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        ob=(word*)R[9];acc=2;
-      }else{
-        {word ob=R[5];if(allocp(ob))ob=V(ob);R[9]=F((hval)ob>>TPOS&63);}
-        R[10]=128*80+258;
-        if(R[9]==R[10]){
-          R[11]=G(R[1],2);
-          *fp=make_header(5,TCLOS);fp[1]=G(R[1],4);fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-          ob=(word*)R[11];acc=2;
-        }else{
-          R[11]=G(R[1],5);
-          *fp=make_header(5,TCLOS);fp[1]=G(R[1],6);fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-          ob=(word*)R[11];acc=3;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1172:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[9]=R[4];
-        R[4]=R[5];R[5]=R[6];
-        ob=(word*)R[9];acc=3;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],4);
-        R[7]=R[4];
-        R[4]=R[3];R[3]=R[5];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1173:
-    if(acc==1){
-      R[4]=128*0+258;
-      if(R[3]==R[4]){
-        R[5]=G(R[1],3);
-        if(R[5]==R[4]){
-          R[6]=G(R[1],4);
-          R[3]=G(R[1],2);
-          ob=(word*)R[6];acc=1;
-        }else{
-          R[6]=G(R[1],2);
-          *fp=make_header(3,42);fp[1]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=3;
-          R[8]=G(R[1],4);
-          ob=(word*)R[8];acc=1;
-        }
-      }else{
-        R[5]=G(R[2],2);
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],4);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[3];fp[2]=R[6];R[9]=(word)fp;fp+=6;
-        R[8]=R[5];R[4]=R[3];
-        R[5]=R[7];R[3]=R[9];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1174:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[9]=G(R[1],2);
-        R[10]=R[4];R[4]=R[9];
-        ob=(word*)R[10];acc=3;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],5);
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],3);
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1175:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[5];fp[2]=R[3];R[6]=(word)fp;fp+=4;
-      R[7]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[9]=R[4];
-      R[3]=R[6];R[4]=R[7];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1176:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=5;
-      R[8]=G(R[1],2);
-      R[9]=R[4];R[4]=R[8];
-      ob=(word*)R[9];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1177:
-    if(acc==3){
-      {word ob=R[5];if(allocp(ob))ob=V(ob);R[6]=F((hval)ob>>TPOS&63);}
-      if(R[6]==F(0)){
-        {word ob=R[4];if(allocp(ob))ob=V(ob);R[7]=F((hval)ob>>TPOS&63);}
-        if(R[7]==F(0)){
-          R[8]=F(0);
-          {uint64_t a=(uint64_t)immval(R[8])<<FBITS|immval(R[4]);hval b=immval(R[5]);uint64_t q=a/b;R[9]=F(q>>FBITS);R[10]=F(q);R[11]=F(a-q*b);}
-          if(R[11]==F(0)){
-            ob=(word*)R[3];R[3]=R[10];acc=1;
-          }else{
-            R[12]=IFALSE;
-            ob=(word*)R[3];R[3]=R[12];acc=1;
-          }
-        }else{
-          R[8]=IFALSE;
-          ob=(word*)R[3];R[3]=R[8];acc=1;
-        }
-      }else{
-        R[7]=IFALSE;
-        ob=(word*)R[3];R[3]=R[7];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1178:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=5;
-      R[8]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[10]=R[4];R[4]=R[8];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1179:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      *fp=make_header(3,42);fp[1]=R[4];fp[2]=R[3];R[3]=(word)fp;fp+=3;
-      R[6]=G(R[1],3);
-      ob=(word*)R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1180:
-    if(acc==2){
-      assert(pairp(R[4]),R[4],105);R[5]=G(R[4],1);
-      R[6]=G(R[4],2);
-      R[7]=G(R[1],2);
-      R[4]=G(R[1],3);
-      ob=(word*)R[7];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1181:
-    if(acc==4){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[7]=F((hval)ob>>TPOS&63);}
-      R[8]=128*62+258;
-      if(R[7]==R[8]){
-        R[9]=G(R[1],2);
-        *fp=make_header(5,TPROC);fp[1]=G(R[1],3);fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        ob=(word*)R[9];acc=2;
-      }else{
-        {word ob=R[4];if(allocp(ob))ob=V(ob);R[9]=F((hval)ob>>TPOS&63);}
-        R[10]=128*80+258;
-        if(R[9]==R[10]){
-          R[11]=G(R[1],2);
-          *fp=make_header(5,TPROC);fp[1]=G(R[1],4);fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-          ob=(word*)R[11];acc=2;
-        }else{
-          {word ob=R[5];if(allocp(ob))ob=V(ob);R[11]=F((hval)ob>>TPOS&63);}
-          if(R[11]==R[8]){
-            R[12]=G(R[1],2);
-            *fp=make_header(5,TPROC);fp[1]=G(R[1],5);fp[4]=R[6];fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-            R[4]=R[5];
-            ob=(word*)R[12];acc=2;
-          }else{
-            {word ob=R[5];if(allocp(ob))ob=V(ob);R[12]=F((hval)ob>>TPOS&63);}
-            if(R[12]==R[10]){
-              R[13]=G(R[1],2);
-              *fp=make_header(5,TPROC);fp[1]=G(R[1],6);fp[4]=R[6];fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-              R[4]=R[5];
-              ob=(word*)R[13];acc=2;
-            }else{
-              {word ob=R[4];if(allocp(ob))ob=V(ob);R[13]=F((hval)ob>>TPOS&63);}
-              if(R[13]==F(0)){
-                R[14]=G(R[1],7);
-                ob=(word*)R[14];acc=3;
-              }else{
-                {word ob=R[5];if(allocp(ob))ob=V(ob);R[14]=F((hval)ob>>TPOS&63);}
-                if(R[14]==F(0)){
-                  R[15]=G(R[1],7);
-                  ob=(word*)R[15];acc=3;
-                }else{
-                  if(R[4]==R[5]){
-                    ob=(word*)R[3];R[3]=R[4];acc=1;
-                  }else{
-                    R[15]=G(R[1],8);
-                    ob=(word*)R[15];acc=3;
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1182:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[9]=R[5];
-      R[5]=R[6];R[6]=R[4];
-      R[4]=R[3];R[3]=R[9];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1183:
-    if(acc==3){
-      R[6]=128*0+258;
-      R[7]=cons(R[6],R[4]);
-      R[5]=cons(R[6],R[5]);
-      R[9]=G(R[1],2);
-      R[6]=F(0);
-      R[4]=R[7];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1184:
-    if(acc==5){
-      assert(pairp(R[4]),R[4],169);R[8]=G(R[4],2);
-      assert(pairp(R[5]),R[5],169);R[9]=G(R[5],2);
-      if(R[8]==F(0)){
-        R[10]=G(R[1],2);
-        R[5]=R[6];R[4]=R[9];
-        ob=(word*)R[10];acc=3;
-      }else{
-        if(R[9]==F(0)){
-          R[10]=G(R[1],2);
-          R[5]=R[6];R[4]=R[8];
-          ob=(word*)R[10];acc=3;
-        }else{
-          R[10]=G(R[4],1);
-          R[11]=G(R[1],3);
-          *fp=make_header(9,TCLOS);fp[1]=G(R[1],4);fp[8]=R[7];fp[7]=R[3];fp[6]=R[6];fp[5]=R[9];fp[4]=R[5];fp[3]=R[8];fp[2]=R[4];R[3]=(word)fp;fp+=9;
-          R[4]=R[8];R[5]=R[10];
-          ob=(word*)R[11];acc=3;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1185:
-    if(acc==1){
-      if(R[3]==F(0)){
-        R[4]=G(R[1],4);
-        assert(pairp(R[4]),R[4],105);R[5]=G(R[4],1);
-        R[6]=G(R[2],2);
-        R[7]=G(R[1],2);
-        R[8]=G(R[1],6);
-        R[9]=G(R[1],7);
-        R[10]=G(R[1],8);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[10];fp[5]=R[9];fp[4]=R[4];fp[3]=R[8];fp[2]=R[7];R[3]=(word)fp;fp+=7;
-        R[4]=G(R[1],5);
-        ob=(word*)R[6];acc=3;
-      }else{
-        R[4]=G(R[1],4);
-        assert(pairp(R[4]),R[4],105);R[5]=G(R[4],1);
-        R[6]=G(R[2],2);
-        R[7]=G(R[1],2);
-        R[8]=G(R[1],3);
-        R[9]=G(R[1],5);
-        R[10]=G(R[1],6);
-        R[11]=G(R[1],7);
-        R[12]=G(R[1],8);
-        *fp=make_header(9,TCLOS);fp[1]=G(R[2],4);fp[8]=R[12];fp[7]=R[11];fp[6]=R[10];fp[5]=R[9];fp[4]=R[4];fp[3]=R[8];fp[2]=R[7];R[3]=(word)fp;fp+=9;
-        R[4]=R[9];
-        ob=(word*)R[6];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1186:
-    if(acc==1){
-      if(R[3]==F(0)){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],6);
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],7);
-        R[8]=G(R[1],8);
-        *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[10]=G(R[1],4);
-        R[7]=R[4];R[4]=R[10];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[1],2);
-        assert(pairp(R[4]),R[4],105);R[5]=G(R[4],1);
-        R[6]=G(R[2],4);
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],4);
-        R[9]=G(R[1],5);
-        R[10]=G(R[1],6);
-        R[11]=G(R[1],7);
-        R[12]=G(R[1],8);
-        *fp=make_header(8,TCLOS);fp[1]=G(R[2],5);fp[7]=R[12];fp[6]=R[11];fp[5]=R[10];fp[4]=R[9];fp[3]=R[8];fp[2]=R[7];R[3]=(word)fp;fp+=8;
-        R[4]=G(R[2],6);
-        R[15]=F(0);
-        R[9]=R[6];R[6]=R[15];
-        ob=(word*)R[9];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1187:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[10]=(word)fp;fp+=7;
-      R[11]=G(R[1],2);
-      R[8]=R[4];R[5]=R[3];
-      R[3]=R[10];R[4]=R[11];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1188:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      assert(pairp(R[4]),R[4],105);R[5]=G(R[4],1);
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],5);
-      R[10]=G(R[1],6);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[10];fp[5]=R[9];fp[4]=R[8];fp[3]=R[3];fp[2]=R[7];R[3]=(word)fp;fp+=7;
-      R[4]=G(R[2],4);
-      R[13]=F(0);
-      R[9]=R[6];R[6]=R[13];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1189:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[9]=(word)fp;fp+=7;
-      R[8]=R[4];R[4]=R[5];
-      R[5]=R[3];R[3]=R[9];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1190:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[10]=(word)fp;fp+=8;
-      R[7]=R[4];
-      R[4]=R[3];R[3]=R[10];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1191:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=128*2+258;
-        R[5]=G(R[1],2);
-        R[6]=cons(R[4],R[5]);
-        R[7]=128*0+258;
-        R[8]=G(R[1],3);
-        R[5]=cons(R[7],R[8]);
-        R[7]=G(R[1],7);
-        R[3]=G(R[1],6);
-        R[12]=G(R[1],5);
-        R[4]=R[6];R[6]=R[12];
-        ob=(word*)R[7];acc=5;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],6);
-        R[8]=G(R[1],7);
-        *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[10]=G(R[1],2);
-        R[7]=R[4];R[4]=R[10];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1192:
-    if(acc==1){
-      R[4]=128*2+258;
-      R[5]=cons(R[4],R[3]);
-      R[6]=128*0+258;
-      R[7]=G(R[1],2);
-      R[8]=cons(R[6],R[7]);
-      R[7]=G(R[1],5);
-      R[3]=G(R[1],4);
-      R[6]=G(R[1],3);
-      R[4]=R[5];R[5]=R[8];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1193:
-    if(acc==1){
-      if(R[3]==F(0)){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[10]=G(R[1],2);
-        R[7]=R[4];R[4]=R[10];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],6);
-        *fp=make_header(6,TPROC);fp[1]=G(R[2],4);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[10]=G(R[1],2);
-        R[7]=R[4];R[4]=R[10];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1194:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[9]=G(R[1],2);
-      R[7]=R[4];R[4]=R[9];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1195:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=6;
-      R[9]=G(R[1],2);
-      R[5]=128*0+258;
-      R[11]=R[4];R[4]=R[9];
-      ob=(word*)R[11];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1196:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[3]=cons(R[3],R[4]);
-      R[6]=G(R[1],3);
-      ob=(word*)R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1197:
-    if(acc==2){
-      assert(pairp(R[4]),R[4],105);R[5]=G(R[4],1);
-      R[6]=G(R[1],2);
-      if(R[5]==R[6]){
-        R[7]=G(R[4],2);
-        {word ob=R[7];if(allocp(ob))ob=V(ob);R[8]=F((hval)ob>>TPOS&63);}
-        if(R[8]==F(0)){
-          R[9]=128*0+258;
-          R[10]=F(0);
-          R[11]=cons(R[9],R[10]);
-          ob=(word*)R[3];R[3]=R[11];acc=1;
-        }else{
-          R[9]=128*2+258;
-          R[10]=prim_ref(R[7],R[9]);
-          R[11]=prim_ref(R[10],R[9]);
-          if(R[11]==INULL){
-            R[12]=128*0+258;
-            R[13]=prim_ref(R[10],R[12]);
-            R[14]=cons(R[12],R[13]);
-            ob=(word*)R[3];R[3]=R[14];acc=1;
-          }else{
-            R[12]=128*0+258;
-            R[13]=cons(R[12],R[10]);
-            ob=(word*)R[3];R[3]=R[13];acc=1;
-          }
-        }
-      }else{
-        {hval r=immval(R[5])+immval(R[5]);R[8]=F(r>>FBITS);R[7]=F(r);}
-        R[9]=G(R[4],2);
-        R[10]=cons(R[7],R[9]);
-        ob=(word*)R[3];R[3]=R[10];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1198:
-    if(acc==4){
-      if(R[5]==F(0)){
-        ob=(word*)R[3];R[3]=R[4];acc=1;
-      }else{
-        R[7]=G(R[1],2);
-        *fp=make_header(5,TPROC);fp[1]=G(R[1],3);fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        ob=(word*)R[7];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1199:
-    if(acc==3){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[6]=F((hval)ob>>TPOS&63);}
-      R[7]=128*82+258;
-      if(R[6]==R[7]){
-        {word ob=R[5];if(allocp(ob))ob=V(ob);R[8]=F((hval)ob>>TPOS&63);}
-        if(R[8]==R[7]){
-          R[9]=128*0+258;
-          R[10]=prim_ref(R[4],R[9]);
-          R[11]=128*2+258;
-          R[12]=prim_ref(R[5],R[11]);
-          R[13]=G(R[1],2);
-          *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-          R[4]=R[10];R[5]=R[12];
-          ob=(word*)R[13];acc=3;
-        }else{
-          R[9]=128*0+258;
-          R[10]=prim_ref(R[4],R[9]);
-          R[11]=128*2+258;
-          R[12]=prim_ref(R[4],R[11]);
-          R[13]=G(R[1],2);
-          *fp=make_header(4,TCLOS);fp[1]=G(R[1],4);fp[3]=R[3];fp[2]=R[10];R[3]=(word)fp;fp+=4;
-          R[4]=R[5];R[5]=R[12];
-          ob=(word*)R[13];acc=3;
-        }
-      }else{
-        {word ob=R[5];if(allocp(ob))ob=V(ob);R[8]=F((hval)ob>>TPOS&63);}
-        if(R[8]==R[7]){
-          R[9]=128*2+258;
-          R[10]=prim_ref(R[5],R[9]);
-          R[11]=G(R[1],2);
-          *fp=make_header(4,TCLOS);fp[1]=G(R[1],5);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-          R[5]=R[10];
-          ob=(word*)R[11];acc=3;
-        }else{
-          R[9]=G(R[1],6);
-          ob=(word*)R[9];acc=3;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1200:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=128*0+258;
-      R[6]=prim_ref(R[4],R[5]);
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],3);
-      R[4]=R[3];
-      R[5]=R[6];R[3]=R[8];
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1201:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=128*0+258;
-      R[6]=prim_ref(R[4],R[5]);
-      R[7]=G(R[1],3);
-      R[8]=128*2+258;
-      R[5]=prim_ref(R[7],R[8]);
-      R[10]=G(R[2],2);
-      R[11]=G(R[1],4);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[11];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-      R[4]=R[6];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1202:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      R[7]=INULL;
-      R[10]=R[7];R[7]=R[6];
-      R[6]=R[5];R[5]=R[10];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1203:
-    if(acc==5){
-      if(R[4]==INULL){
-        R[8]=G(R[1],2);
-        *fp=make_header(4,TPROC);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-        R[4]=R[5];
-        ob=(word*)R[8];acc=2;
-      }else{
-        if(R[6]==F(0)){
-          R[8]=G(R[1],2);
-          *fp=make_header(4,TPROC);fp[1]=G(R[1],4);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-          R[4]=R[5];
-          ob=(word*)R[8];acc=2;
-        }else{
-          assert(pairp(R[4]),R[4],169);R[8]=G(R[4],2);
-          R[9]=G(R[4],1);
-          R[10]=cons(R[9],R[5]);
-          R[11]=G(R[1],5);
-          *fp=make_header(6,TPROC);fp[1]=G(R[1],6);fp[5]=R[7];fp[4]=R[3];fp[3]=R[8];fp[2]=R[10];R[3]=(word)fp;fp+=6;
-          R[5]=128*0+258;
-          R[4]=R[6];
-          ob=(word*)R[11];acc=3;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1204:
-    if(acc==3){
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],2);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[7]=INULL;
-      R[5]=R[7];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1205:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[3];fp[4]=R[4];fp[3]=R[5];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-      R[9]=F(0);
-      R[4]=R[5];R[5]=R[9];
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1206:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[5]=F(0);
-        R[8]=R[4];R[4]=R[6];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],4);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[8]=R[4];
-        R[4]=R[5];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1207:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[8]=R[4];R[4]=R[7];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],5);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[8]=R[4];
-        R[4]=R[5];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1208:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],5);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],2);
-        R[9]=R[4];
-        R[3]=R[5];R[4]=R[6];
-        R[5]=R[7];R[6]=R[8];
-        ob=(word*)R[9];acc=4;
-      }else{
-        R[4]=G(R[1],5);
-        R[3]=INULL;
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1209:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],2);
-        R[5]=INULL;
-        R[6]=cons(R[4],R[5]);
-        R[7]=G(R[1],3);
-        R[8]=cons(R[7],R[6]);
-        R[9]=G(R[1],4);
-        R[10]=cons(R[9],R[8]);
-        R[11]=G(R[2],4);
-        R[5]=cons(R[11],R[10]);
-        R[13]=G(R[2],2);
-        R[3]=G(R[1],5);
-        R[4]=G(R[2],3);
-        ob=(word*)R[13];acc=3;
-      }else{
-        R[4]=G(R[1],5);
-        R[3]=INULL;
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1210:
-    if(acc==5){
-      R[8]=G(R[1],2);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[1],3);fp[6]=R[3];fp[5]=R[4];fp[4]=R[7];fp[3]=R[5];fp[2]=R[6];R[3]=(word)fp;fp+=7;
-      R[5]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1211:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],6);
-        R[3]=INULL;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],6);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-        R[9]=R[4];
-        R[5]=R[6];R[4]=R[8];
-        ob=(word*)R[9];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1212:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],6);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],2);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[8]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[10]=R[7];
-      R[7]=R[4];R[4]=R[3];
-      R[5]=R[8];R[3]=R[10];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1213:
-    if(acc==4){
-      if(R[5]==F(0)){
-        ob=(word*)R[3];R[3]=R[4];acc=1;
-      }else{
-        if(R[4]==INULL){
-          ob=(word*)R[3];R[3]=R[4];acc=1;
-        }else{
-          assert(pairp(R[4]),R[4],169);R[7]=G(R[4],2);
-          R[8]=G(R[1],2);
-          *fp=make_header(5,TPROC);fp[1]=G(R[1],3);fp[4]=R[6];fp[3]=R[3];fp[2]=R[7];R[3]=(word)fp;fp+=5;
-          R[10]=128*0+258;
-          R[4]=R[5];R[5]=R[10];
-          ob=(word*)R[8];acc=3;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1214:
-    if(acc==4){
-      if(R[5]==F(0)){
-        R[7]=INULL;
-        ob=(word*)R[3];R[3]=R[7];acc=1;
-      }else{
-        if(R[4]==INULL){
-          ob=(word*)R[3];R[3]=R[4];acc=1;
-        }else{
-          assert(pairp(R[4]),R[4],105);R[7]=G(R[4],1);
-          R[8]=G(R[4],2);
-          R[9]=G(R[1],2);
-          *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[3];fp[4]=R[7];fp[3]=R[6];fp[2]=R[8];R[3]=(word)fp;fp+=6;
-          R[11]=128*0+258;
-          R[4]=R[5];R[5]=R[11];
-          ob=(word*)R[9];acc=3;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1215:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=F(0);
-      R[9]=R[5];
-      R[10]=R[6];R[6]=R[4];
-      R[5]=R[7];R[4]=R[10];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1216:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      R[5]=128*0+258;
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1217:
-    if(acc==5){
-      if(R[5]==F(0)){
-        R[8]=cons(R[6],R[4]);
-        ob=(word*)R[3];R[3]=R[8];acc=1;
-      }else{
-        if(R[4]==INULL){
-          R[8]=G(R[1],2);
-          R[4]=G(R[1],3);
-          ob=(word*)R[8];acc=3;
-        }else{
-          {word*ob=(word*)R[4];hval hdr;assert(allocp(R[4]),R[4],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[8]=ob[1];R[9]=ob[2];}
-          R[10]=G(R[1],4);
-          *fp=make_header(7,TCLOS);fp[1]=G(R[1],5);fp[6]=R[3];fp[5]=R[8];fp[4]=R[7];fp[3]=R[9];fp[2]=R[6];R[3]=(word)fp;fp+=7;
-          R[12]=128*0+258;
-          R[4]=R[5];R[5]=R[12];
-          ob=(word*)R[10];acc=3;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1218:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      assert(pairp(R[4]),R[4],169);R[5]=G(R[4],2);
-      R[3]=cons(R[3],R[5]);
-      R[7]=G(R[1],3);
-      ob=(word*)R[7];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1219:
-    if(acc==5){
-      if(R[5]==F(0)){
-        ob=(word*)R[6];acc=2;
-      }else{
-        if(R[4]==INULL){
-          R[8]=G(R[1],2);
-          R[4]=G(R[1],3);
-          ob=(word*)R[8];acc=3;
-        }else{
-          {word*ob=(word*)R[4];hval hdr;assert(allocp(R[4]),R[4],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[8]=ob[1];R[9]=ob[2];}
-          R[10]=G(R[1],4);
-          *fp=make_header(7,TCLOS);fp[1]=G(R[1],5);fp[6]=R[3];fp[5]=R[8];fp[4]=R[7];fp[3]=R[9];fp[2]=R[6];R[3]=(word)fp;fp+=7;
-          R[12]=128*0+258;
-          R[4]=R[5];R[5]=R[12];
-          ob=(word*)R[10];acc=3;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1220:
-    if(acc==4){
-      if(R[4]==INULL){
-        R[7]=G(R[1],2);
-        R[4]=G(R[1],3);
-        ob=(word*)R[7];acc=3;
-      }else{
-        if(R[5]==F(0)){
-          assert(pairp(R[4]),R[4],169);R[7]=G(R[4],2);
-          ob=(word*)R[3];R[3]=R[7];acc=1;
-        }else{
-          assert(pairp(R[4]),R[4],105);R[7]=G(R[4],1);
-          R[8]=G(R[4],2);
-          R[9]=G(R[1],4);
-          *fp=make_header(6,TCLOS);fp[1]=G(R[1],5);fp[5]=R[3];fp[4]=R[7];fp[3]=R[6];fp[2]=R[8];R[3]=(word)fp;fp+=6;
-          R[11]=128*0+258;
-          R[4]=R[5];R[5]=R[11];
-          ob=(word*)R[9];acc=3;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1221:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],2);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[8]=G(R[1],2);
-      R[5]=R[3];R[6]=R[4];
-      R[3]=R[7];R[4]=R[8];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1222:
-    if(acc==5){
-      if(R[4]==INULL){
-        R[8]=G(R[1],2);
-        R[4]=G(R[1],3);
-        R[5]=R[6];
-        ob=(word*)R[8];acc=3;
-      }else{
-        if(R[5]==F(0)){
-          assert(pairp(R[4]),R[4],169);R[8]=G(R[4],2);
-          R[9]=cons(R[6],R[8]);
-          ob=(word*)R[3];R[3]=R[9];acc=1;
-        }else{
-          assert(pairp(R[4]),R[4],105);R[8]=G(R[4],1);
-          R[9]=G(R[4],2);
-          R[10]=G(R[1],4);
-          *fp=make_header(7,TCLOS);fp[1]=G(R[1],5);fp[6]=R[3];fp[5]=R[8];fp[4]=R[7];fp[3]=R[9];fp[2]=R[6];R[3]=(word)fp;fp+=7;
-          R[12]=128*0+258;
-          R[4]=R[5];R[5]=R[12];
-          ob=(word*)R[10];acc=3;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1223:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],6);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],2);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[8]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[5]=R[3];R[3]=R[7];
-      R[7]=R[4];R[4]=R[8];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1224:
-    if(acc==4){
-      if(R[4]==INULL){
-        R[7]=G(R[1],2);
-        R[4]=G(R[1],3);
-        ob=(word*)R[7];acc=3;
-      }else{
-        if(R[5]==F(0)){
-          assert(pairp(R[4]),R[4],105);R[7]=G(R[4],1);
-          ob=(word*)R[3];R[3]=R[7];acc=1;
-        }else{
-          assert(pairp(R[4]),R[4],169);R[7]=G(R[4],2);
-          R[8]=G(R[1],4);
-          *fp=make_header(5,TPROC);fp[1]=G(R[1],5);fp[4]=R[6];fp[3]=R[3];fp[2]=R[7];R[3]=(word)fp;fp+=5;
-          R[10]=128*0+258;
-          R[4]=R[5];R[5]=R[10];
-          ob=(word*)R[8];acc=3;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1225:
-    if(acc==1){
-      R[4]=G(R[1],5);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],2);
-      R[9]=R[4];R[10]=R[5];
-      R[5]=R[3];R[4]=R[6];
-      R[6]=R[7];R[3]=R[10];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1226:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],2);
-      R[9]=R[4];
-      R[4]=R[3];R[3]=R[5];
-      R[5]=R[6];R[6]=R[7];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1227:
-    if(acc==3){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[6]=F((hval)ob>>TPOS&63);}
-      R[7]=F(0);
-      R[8]=BOOL(R[6]==R[7]);
-      if(R[8]==IFALSE){
-        R[9]=128*62+258;
-        R[10]=BOOL(R[6]==R[9]);
-        if(R[10]==IFALSE){
-          R[11]=128*78+258;
-          R[12]=BOOL(R[6]==R[11]);
-          if(R[12]==IFALSE){
-            R[13]=128*80+258;
-            R[14]=BOOL(R[6]==R[13]);
-            if(R[14]==IFALSE){
-              R[15]=G(R[1],2);
-              R[16]=G(R[1],3);
-              R[6]=R[5];
-              R[5]=R[4];R[4]=R[16];
-              ob=(word*)R[15];acc=4;
-            }else{
-              {word ob=R[5];if(allocp(ob))ob=V(ob);R[15]=F((hval)ob>>TPOS&63);}
-              R[16]=BOOL(R[15]==R[7]);
-              if(R[16]==IFALSE){
-                R[17]=BOOL(R[15]==R[9]);
-                if(R[17]==IFALSE){
-                  R[18]=BOOL(R[15]==R[11]);
-                  if(R[18]==IFALSE){
-                    R[19]=BOOL(R[15]==R[13]);
-                    if(R[19]==IFALSE){
-                      R[20]=G(R[1],2);
-                      R[21]=G(R[1],3);
-                      R[6]=R[5];
-                      R[5]=R[4];R[4]=R[21];
-                      ob=(word*)R[20];acc=4;
-                    }else{
-                      R[20]=G(R[1],4);
-                      *fp=make_header(4,TCLOS);fp[1]=G(R[1],5);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-                      ob=(word*)R[20];acc=2;
-                    }
-                  }else{
-                    R[19]=G(R[1],4);
-                    *fp=make_header(4,TCLOS);fp[1]=G(R[1],6);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-                    ob=(word*)R[19];acc=2;
-                  }
-                }else{
-                  R[18]=G(R[1],7);
-                  *fp=make_header(3,TCLOS);fp[1]=G(R[1],8);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-                  ob=(word*)R[18];acc=3;
-                }
-              }else{
-                R[17]=G(R[1],7);
-                *fp=make_header(3,TCLOS);fp[1]=G(R[1],9);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-                ob=(word*)R[17];acc=3;
-              }
-            }
-          }else{
-            {word ob=R[5];if(allocp(ob))ob=V(ob);R[13]=F((hval)ob>>TPOS&63);}
-            R[14]=BOOL(R[13]==R[7]);
-            if(R[14]==IFALSE){
-              R[15]=BOOL(R[13]==R[9]);
-              if(R[15]==IFALSE){
-                R[16]=BOOL(R[13]==R[11]);
-                if(R[16]==IFALSE){
-                  R[17]=128*80+258;
-                  R[18]=BOOL(R[13]==R[17]);
-                  if(R[18]==IFALSE){
-                    R[19]=G(R[1],2);
-                    R[20]=G(R[1],3);
-                    R[6]=R[5];
-                    R[5]=R[4];R[4]=R[20];
-                    ob=(word*)R[19];acc=4;
-                  }else{
-                    R[19]=G(R[1],4);
-                    *fp=make_header(4,TCLOS);fp[1]=G(R[1],10);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-                    R[4]=R[5];
-                    ob=(word*)R[19];acc=2;
-                  }
-                }else{
-                  R[17]=G(R[1],11);
-                  ob=(word*)R[17];acc=3;
-                }
-              }else{
-                R[16]=G(R[1],7);
-                *fp=make_header(3,TPROC);fp[1]=G(R[1],12);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-                ob=(word*)R[16];acc=3;
-              }
-            }else{
-              R[15]=G(R[1],7);
-              *fp=make_header(3,TPROC);fp[1]=G(R[1],13);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-              ob=(word*)R[15];acc=3;
-            }
-          }
-        }else{
-          {word ob=R[5];if(allocp(ob))ob=V(ob);R[11]=F((hval)ob>>TPOS&63);}
-          R[12]=BOOL(R[11]==R[7]);
-          if(R[12]==IFALSE){
-            R[13]=BOOL(R[11]==R[9]);
-            if(R[13]==IFALSE){
-              R[14]=128*78+258;
-              R[15]=BOOL(R[11]==R[14]);
-              if(R[15]==IFALSE){
-                R[16]=128*80+258;
-                R[17]=BOOL(R[11]==R[16]);
-                if(R[17]==IFALSE){
-                  R[18]=G(R[1],2);
-                  R[19]=G(R[1],3);
-                  R[6]=R[5];
-                  R[5]=R[4];R[4]=R[19];
-                  ob=(word*)R[18];acc=4;
-                }else{
-                  ob=(word*)R[3];R[3]=R[4];acc=1;
-                }
-              }else{
-                ob=(word*)R[3];R[3]=R[4];acc=1;
-              }
-            }else{
-              {uint64_t a=(uint64_t)immval(R[7])<<FBITS|immval(R[4]);hval b=immval(R[5]);uint64_t q=a/b;R[14]=F(q>>FBITS);R[15]=F(q);R[16]=F(a-q*b);}
-              R[17]=G(R[1],4);
-              R[4]=R[16];
-              ob=(word*)R[17];acc=2;
-            }
-          }else{
-            {uint64_t a=(uint64_t)immval(R[7])<<FBITS|immval(R[4]);hval b=immval(R[5]);uint64_t q=a/b;R[13]=F(q>>FBITS);R[14]=F(q);R[15]=F(a-q*b);}
-            R[16]=G(R[1],4);
-            R[4]=R[15];
-            ob=(word*)R[16];acc=2;
-          }
-        }
-      }else{
-        {word ob=R[5];if(allocp(ob))ob=V(ob);R[9]=F((hval)ob>>TPOS&63);}
-        R[10]=BOOL(R[9]==R[7]);
-        if(R[10]==IFALSE){
-          R[11]=128*62+258;
-          R[12]=BOOL(R[9]==R[11]);
-          if(R[12]==IFALSE){
-            R[13]=128*78+258;
-            R[14]=BOOL(R[9]==R[13]);
-            if(R[14]==IFALSE){
-              R[15]=128*80+258;
-              R[16]=BOOL(R[9]==R[15]);
-              if(R[16]==IFALSE){
-                R[17]=G(R[1],2);
-                R[18]=G(R[1],3);
-                R[6]=R[5];
-                R[5]=R[4];R[4]=R[18];
-                ob=(word*)R[17];acc=4;
-              }else{
-                ob=(word*)R[3];R[3]=R[4];acc=1;
-              }
-            }else{
-              ob=(word*)R[3];R[3]=R[4];acc=1;
-            }
-          }else{
-            {uint64_t a=(uint64_t)immval(R[7])<<FBITS|immval(R[4]);hval b=immval(R[5]);uint64_t q=a/b;R[13]=F(q>>FBITS);R[14]=F(q);R[15]=F(a-q*b);}
-            ob=(word*)R[3];R[3]=R[15];acc=1;
-          }
-        }else{
-          {uint64_t a=(uint64_t)immval(R[7])<<FBITS|immval(R[4]);hval b=immval(R[5]);uint64_t q=a/b;R[11]=F(q>>FBITS);R[12]=F(q);R[13]=F(a-q*b);}
-          ob=(word*)R[3];R[3]=R[13];acc=1;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1228:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[3]=R[4];
-      ob=(word*)R[5];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1229:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[3]=G(R[1],2);
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1230:
-    if(acc==3){
-      if(R[5]==F(0)){
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],3);
-        R[9]=R[6];R[6]=R[5];
-        R[5]=R[4];R[4]=R[7];
-        ob=(word*)R[9];acc=4;
-      }else{
-        {word ob=R[4];if(allocp(ob))ob=V(ob);R[6]=F((hval)ob>>TPOS&63);}
-        R[7]=F(0);
-        R[8]=BOOL(R[6]==R[7]);
-        if(R[8]==IFALSE){
-          R[9]=128*62+258;
-          R[10]=BOOL(R[6]==R[9]);
-          if(R[10]==IFALSE){
-            R[11]=128*78+258;
-            R[12]=BOOL(R[6]==R[11]);
-            if(R[12]==IFALSE){
-              R[13]=128*80+258;
-              R[14]=BOOL(R[6]==R[13]);
-              if(R[14]==IFALSE){
-                R[15]=G(R[1],2);
-                R[16]=G(R[1],3);
-                R[6]=R[5];
-                R[5]=R[4];R[4]=R[16];
-                ob=(word*)R[15];acc=4;
-              }else{
-                {word ob=R[5];if(allocp(ob))ob=V(ob);R[15]=F((hval)ob>>TPOS&63);}
-                R[16]=BOOL(R[15]==R[7]);
-                if(R[16]==IFALSE){
-                  R[17]=BOOL(R[15]==R[9]);
-                  if(R[17]==IFALSE){
-                    R[18]=BOOL(R[15]==R[11]);
-                    if(R[18]==IFALSE){
-                      R[19]=BOOL(R[15]==R[13]);
-                      if(R[19]==IFALSE){
-                        R[20]=G(R[1],2);
-                        R[21]=G(R[1],3);
-                        R[6]=R[5];
-                        R[5]=R[4];R[4]=R[21];
-                        ob=(word*)R[20];acc=4;
-                      }else{
-                        R[20]=G(R[1],4);
-                        *fp=make_header(4,TCLOS);fp[1]=G(R[1],5);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-                        ob=(word*)R[20];acc=2;
-                      }
-                    }else{
-                      R[19]=G(R[1],4);
-                      *fp=make_header(4,TCLOS);fp[1]=G(R[1],6);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-                      ob=(word*)R[19];acc=2;
-                    }
-                  }else{
-                    R[18]=G(R[1],7);
-                    *fp=make_header(3,TPROC);fp[1]=G(R[1],8);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-                    ob=(word*)R[18];acc=3;
-                  }
-                }else{
-                  R[17]=G(R[1],9);
-                  ob=(word*)R[17];acc=3;
-                }
-              }
-            }else{
-              {word ob=R[5];if(allocp(ob))ob=V(ob);R[13]=F((hval)ob>>TPOS&63);}
-              R[14]=BOOL(R[13]==R[7]);
-              if(R[14]==IFALSE){
-                R[15]=BOOL(R[13]==R[9]);
-                if(R[15]==IFALSE){
-                  R[16]=BOOL(R[13]==R[11]);
-                  if(R[16]==IFALSE){
-                    R[17]=128*80+258;
-                    R[18]=BOOL(R[13]==R[17]);
-                    if(R[18]==IFALSE){
-                      R[19]=G(R[1],2);
-                      R[20]=G(R[1],3);
-                      R[6]=R[5];
-                      R[5]=R[4];R[4]=R[20];
-                      ob=(word*)R[19];acc=4;
-                    }else{
-                      R[19]=G(R[1],4);
-                      *fp=make_header(4,TCLOS);fp[1]=G(R[1],10);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-                      R[4]=R[5];
-                      ob=(word*)R[19];acc=2;
-                    }
-                  }else{
-                    R[17]=G(R[1],11);
-                    ob=(word*)R[17];acc=3;
-                  }
-                }else{
-                  R[16]=G(R[1],9);
-                  ob=(word*)R[16];acc=3;
-                }
-              }else{
-                R[15]=G(R[1],7);
-                *fp=make_header(3,TPROC);fp[1]=G(R[1],12);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-                ob=(word*)R[15];acc=3;
-              }
-            }
-          }else{
-            {word ob=R[5];if(allocp(ob))ob=V(ob);R[11]=F((hval)ob>>TPOS&63);}
-            R[12]=BOOL(R[11]==R[7]);
-            if(R[12]==IFALSE){
-              R[13]=BOOL(R[11]==R[9]);
-              if(R[13]==IFALSE){
-                R[14]=128*78+258;
-                R[15]=BOOL(R[11]==R[14]);
-                if(R[15]==IFALSE){
-                  R[16]=128*80+258;
-                  R[17]=BOOL(R[11]==R[16]);
-                  if(R[17]==IFALSE){
-                    R[18]=G(R[1],2);
-                    R[19]=G(R[1],3);
-                    R[6]=R[5];
-                    R[5]=R[4];R[4]=R[19];
-                    ob=(word*)R[18];acc=4;
-                  }else{
-                    ob=(word*)R[3];R[3]=R[7];acc=1;
-                  }
-                }else{
-                  ob=(word*)R[3];R[3]=R[7];acc=1;
-                }
-              }else{
-                {uint64_t a=(uint64_t)immval(R[7])<<FBITS|immval(R[4]);hval b=immval(R[5]);uint64_t q=a/b;R[14]=F(q>>FBITS);R[15]=F(q);R[16]=F(a-q*b);}
-                ob=(word*)R[3];R[3]=R[15];acc=1;
-              }
-            }else{
-              R[13]=G(R[1],13);
-              ob=(word*)R[13];acc=3;
-            }
-          }
-        }else{
-          {word ob=R[5];if(allocp(ob))ob=V(ob);R[9]=F((hval)ob>>TPOS&63);}
-          R[10]=BOOL(R[9]==R[7]);
-          if(R[10]==IFALSE){
-            R[11]=128*62+258;
-            R[12]=BOOL(R[9]==R[11]);
-            if(R[12]==IFALSE){
-              R[13]=128*78+258;
-              R[14]=BOOL(R[9]==R[13]);
-              if(R[14]==IFALSE){
-                R[15]=128*80+258;
-                R[16]=BOOL(R[9]==R[15]);
-                if(R[16]==IFALSE){
-                  R[17]=G(R[1],2);
-                  R[18]=G(R[1],3);
-                  R[6]=R[5];
-                  R[5]=R[4];R[4]=R[18];
-                  ob=(word*)R[17];acc=4;
-                }else{
-                  ob=(word*)R[3];R[3]=R[7];acc=1;
-                }
-              }else{
-                ob=(word*)R[3];R[3]=R[7];acc=1;
-              }
-            }else{
-              R[13]=G(R[1],13);
-              ob=(word*)R[13];acc=3;
-            }
-          }else{
-            {uint64_t a=(uint64_t)immval(R[7])<<FBITS|immval(R[4]);hval b=immval(R[5]);uint64_t q=a/b;R[11]=F(q>>FBITS);R[12]=F(q);R[13]=F(a-q*b);}
-            ob=(word*)R[3];R[3]=R[12];acc=1;
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1231:
-    if(acc==2){
-      {word ob=R[3];if(allocp(ob))ob=V(ob);R[5]=F((hval)ob>>TPOS&63);}
-      R[6]=F(0);
-      R[7]=BOOL(R[5]==R[6]);
-      if(R[7]==IFALSE){
-        R[8]=G(R[2],2);
-        R[9]=G(R[1],2);
-        R[4]=R[3];R[3]=R[9];
-        ob=(word*)R[8];acc=2;
-      }else{
-        R[8]=G(R[2],3);
-        R[9]=G(R[1],2);
-        R[4]=R[3];R[3]=R[9];
-        ob=(word*)R[8];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1232:
-    if(acc==3){
-      R[6]=F(0);
-      {uint64_t a=(uint64_t)immval(R[6])<<FBITS|immval(R[4]);hval b=immval(R[5]);uint64_t q=a/b;R[7]=F(q>>FBITS);R[8]=F(q);R[9]=F(a-q*b);}
-      if(R[8]==F(0)){
-        ob=(word*)R[3];R[3]=R[8];acc=1;
-      }else{
-        R[10]=G(R[1],2);
-        R[4]=R[8];
-        ob=(word*)R[10];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1233:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1234:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[8]=G(R[1],2);
-      R[9]=R[4];R[5]=R[3];
-      R[3]=R[7];R[4]=R[8];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1235:
-    if(acc==4){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[7]=F((hval)ob>>TPOS&63);}
-      R[8]=128*62+258;
-      R[9]=BOOL(R[7]==R[8]);
-      if(R[9]==IFALSE){
-        R[10]=128*80+258;
-        R[11]=BOOL(R[7]==R[10]);
-        if(R[11]==IFALSE){
-          R[12]=G(R[1],2);
-          ob=(word*)R[12];acc=3;
-        }else{
-          R[12]=G(R[1],3);
-          *fp=make_header(5,TCLOS);fp[1]=G(R[1],4);fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-          ob=(word*)R[12];acc=2;
-        }
-      }else{
-        R[10]=G(R[1],3);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[1],5);fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        ob=(word*)R[10];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1236:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],4);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],2);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[7]=G(R[1],2);
-      R[9]=R[6];
-      R[6]=R[4];R[4]=R[3];
-      R[5]=R[7];R[3]=R[9];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1237:
-    if(acc==2){
-      if(R[4]==IFALSE){
-        ob=(word*)R[3];R[3]=R[4];acc=1;
-      }else{
-        R[5]=G(R[1],2);
-        ob=(word*)R[5];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1238:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[6];fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-      R[9]=128*0+258;
-      R[4]=R[5];R[5]=R[9];
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1239:
-    if(acc==1){
-      if(R[3]==F(0)){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[10]=128*0+258;
-        R[8]=R[4];
-        R[4]=R[5];R[5]=R[10];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],4);
-        R[6]=128*0+258;
-        R[7]=F(0);
-        R[8]=G(R[1],2);
-        R[9]=G(R[1],3);
-        R[10]=G(R[2],5);
-        R[11]=R[4];
-        R[3]=R[5];R[4]=R[6];
-        R[5]=R[7];R[6]=R[8];
-        R[7]=R[9];R[8]=R[10];
-        ob=(word*)R[11];acc=6;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1240:
-    if(acc==1){
-      if(R[3]==F(0)){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        R[9]=G(R[1],2);
-        R[5]=128*0+258;
-        R[11]=R[4];R[4]=R[9];
-        ob=(word*)R[11];acc=3;
-      }else{
-        R[4]=G(R[1],4);
-        R[3]=IFALSE;
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1241:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=5;
-      R[8]=G(R[1],2);
-      R[5]=128*0+258;
-      R[10]=R[4];R[4]=R[8];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1242:
-    if(acc==7){
-      {word ob=R[6];if(allocp(ob))ob=V(ob);R[10]=F((hval)ob>>TPOS&63);}
-      R[11]=128*62+258;
-      if(R[10]==R[11]){
-        R[12]=IFALSE;
-        ob=(word*)R[3];R[3]=R[12];acc=1;
-      }else{
-        {word ob=R[6];if(allocp(ob))ob=V(ob);R[12]=F((hval)ob>>TPOS&63);}
-        R[13]=128*80+258;
-        if(R[12]==R[13]){
-          R[14]=IFALSE;
-          ob=(word*)R[3];R[3]=R[14];acc=1;
-        }else{
-          if(R[6]==F(0)){
-            R[14]=G(R[1],2);
-            R[4]=R[8];
-            ob=(word*)R[14];acc=2;
-          }else{
-            R[14]=G(R[1],3);
-            *fp=make_header(9,TCLOS);fp[1]=G(R[1],4);fp[8]=R[9];fp[7]=R[3];fp[6]=R[4];fp[5]=R[5];fp[4]=R[7];fp[3]=R[8];fp[2]=R[6];R[3]=(word)fp;fp+=9;
-            R[5]=R[4];R[4]=R[6];
-            ob=(word*)R[14];acc=3;
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1243:
-    if(acc==1){
-      if(R[3]==F(0)){
-        R[4]=G(R[1],5);
-        R[5]=128*44+258;
-        if(R[4]==R[5]){
-          R[6]=G(R[1],2);
-          R[7]=128*2+258;
-          R[8]=prim_ref(R[6],R[7]);
-          R[9]=G(R[1],3);
-          R[10]=G(R[1],4);
-          R[11]=G(R[1],7);
-          R[12]=G(R[1],8);
-          *fp=make_header(6,TPROC);fp[1]=G(R[2],2);fp[5]=R[12];fp[4]=R[11];fp[3]=R[10];fp[2]=R[9];R[13]=(word)fp;fp+=6;
-          R[14]=prim_ref(R[8],R[7]);
-          if(R[14]==INULL){
-            R[15]=128*0+258;
-            R[3]=prim_ref(R[8],R[15]);
-            ob=(word*)R[13];acc=1;
-          }else{
-            R[3]=R[8];
-            ob=(word*)R[13];acc=1;
-          }
-        }else{
-          R[6]=G(R[1],6);
-          {hval r=immval(R[6])+immval(R[6]);R[8]=F(r>>FBITS);R[7]=F(r);}
-          R[9]=128*0+258;
-          {hval r=immval(R[4])+immval(R[9]);R[11]=F(r>>FBITS);R[10]=F(r);}
-          R[9]=G(R[1],8);
-          R[3]=G(R[1],7);
-          R[6]=G(R[1],2);
-          R[15]=G(R[1],4);
-          R[8]=G(R[1],3);
-          R[4]=R[7];
-          R[5]=R[10];R[7]=R[15];
-          ob=(word*)R[9];acc=7;
-        }
-      }else{
-        R[4]=G(R[2],3);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],6);
-        R[10]=G(R[1],7);
-        R[11]=G(R[1],8);
-        *fp=make_header(9,TCLOS);fp[1]=G(R[2],4);fp[8]=R[11];fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=9;
-        R[9]=R[4];
-        R[4]=R[7];R[5]=R[8];
-        ob=(word*)R[9];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1244:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      *fp=make_header(8,TPROC);fp[1]=G(R[2],3);fp[7]=R[10];fp[6]=R[9];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[11]=(word)fp;fp+=8;
-      R[12]=G(R[1],2);
-      R[8]=R[4];R[5]=R[3];
-      R[3]=R[11];R[4]=R[12];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1245:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=128*0+258;
-      R[6]=prim_ref(R[4],R[5]);
-      R[7]=G(R[1],5);
-      R[8]=R[7]|R[6];
-      R[9]=128*2+258;
-      R[10]=prim_ref(R[4],R[9]);
-      *fp=make_header(3,40);fp[1]=R[8];fp[2]=R[10];R[8]=(word)fp;fp+=3;
-      R[9]=G(R[1],7);
-      R[13]=G(R[1],6);
-      R[5]=G(R[1],4);
-      R[15]=G(R[1],3);
-      R[6]=R[3];R[4]=R[7];
-      R[3]=R[13];R[7]=R[15];
-      ob=(word*)R[9];acc=7;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1246:
-    if(acc==1){
-      R[4]=F(0);
-      R[5]=G(R[1],2);
-      *fp=make_header(3,40);fp[1]=R[4];fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],4);
-      R[9]=128*0+258;
-      R[10]=G(R[1],3);
-      R[12]=R[8];R[8]=R[6];
-      R[6]=R[3];R[5]=R[4];
-      R[4]=R[9];R[9]=R[7];
-      R[7]=R[10];R[3]=R[12];
-      ob=(word*)R[9];acc=7;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1247:
-    if(acc==6){
-      R[9]=G(R[1],2);
-      ob=(word*)R[9];acc=7;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1248:
-    if(acc==3){
-      R[6]=128*2+258;
-      R[7]=prim_ref(R[4],R[6]);
-      if(R[7]==INULL){
-        R[8]=128*0+258;
-        R[9]=prim_ref(R[4],R[8]);
-        ob=(word*)R[3];R[3]=R[9];acc=1;
-      }else{
-        R[8]=128*0+258;
-        R[9]=prim_ref(R[4],R[8]);
-        if(R[9]==F(0)){
-          R[4]=prim_ref(R[4],R[6]);
-          ob=(word*)R[5];acc=3;
-        }else{
-          R[10]=G(R[1],2);
-          R[5]=INULL;
-          ob=(word*)R[10];acc=3;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1249:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],4);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],2);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[7]=G(R[1],2);
-      R[5]=R[3];R[3]=R[6];
-      R[6]=R[4];R[4]=R[7];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1250:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=128*2+258;
-      R[6]=prim_ref(R[4],R[5]);
-      R[7]=G(R[1],3);
-      R[5]=prim_ref(R[7],R[5]);
-      R[9]=G(R[1],4);
-      R[10]=G(R[1],5);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],2);fp[3]=R[10];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-      R[4]=R[6];R[6]=R[9];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1251:
-    if(acc==3){
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],2);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[5]=R[6];
-      ob=(word*)R[5];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1252:
-    if(acc==3){
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[5];fp[4]=R[3];fp[3]=R[4];fp[2]=R[7];R[3]=(word)fp;fp+=6;
-      R[9]=F(0);
-      R[10]=R[6];
-      R[5]=R[7];R[6]=R[9];
-      ob=(word*)R[10];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1253:
-    if(acc==1){
-      R[4]=128*2+258;
-      R[5]=prim_less(R[3],R[4]);
-      if(R[5]==IFALSE){
-        R[6]=G(R[2],2);
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],4);
-        R[9]=G(R[1],5);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[9];fp[3]=R[8];fp[2]=R[7];R[10]=(word)fp;fp+=5;
-        R[4]=G(R[1],2);
-        R[5]=R[3];R[3]=R[10];
-        ob=(word*)R[6];acc=3;
-      }else{
-        R[6]=G(R[2],4);
-        R[3]=G(R[1],4);
-        R[4]=G(R[1],3);
-        R[5]=G(R[1],2);
-        ob=(word*)R[6];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1254:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[8]=G(R[1],2);
-      R[9]=R[4];R[5]=R[3];
-      R[3]=R[7];R[4]=R[8];
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1255:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[1],3);fp[5]=R[6];fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-      ob=(word*)R[7];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1256:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(7,TPROC);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=7;
-      R[7]=R[4];
-      R[4]=R[3];R[3]=R[9];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1257:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],6);
-        R[5]=G(R[1],5);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],3);
-        R[9]=R[6];
-        R[6]=R[4];R[3]=R[5];
-        R[5]=R[7];R[4]=R[9];
-        ob=(word*)R[6];acc=4;
-      }else{
-        R[4]=G(R[1],5);
-        R[3]=G(R[1],2);
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1258:
-    if(acc==3){
-      if(R[5]==F(0)){
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],3);
-        R[9]=R[6];R[6]=R[5];
-        R[5]=R[4];R[4]=R[7];
-        ob=(word*)R[9];acc=4;
-      }else{
-        {word ob=R[4];if(allocp(ob))ob=V(ob);R[6]=F((hval)ob>>TPOS&63);}
-        R[7]=F(0);
-        R[8]=BOOL(R[6]==R[7]);
-        if(R[8]==IFALSE){
-          R[9]=128*78+258;
-          R[10]=BOOL(R[6]==R[9]);
-          if(R[10]==IFALSE){
-            R[11]=128*62+258;
-            R[12]=BOOL(R[6]==R[11]);
-            if(R[12]==IFALSE){
-              R[13]=128*80+258;
-              R[14]=BOOL(R[6]==R[13]);
-              if(R[14]==IFALSE){
-                R[15]=G(R[1],2);
-                R[16]=G(R[1],3);
-                R[6]=R[5];
-                R[5]=R[4];R[4]=R[16];
-                ob=(word*)R[15];acc=4;
-              }else{
-                {word ob=R[5];if(allocp(ob))ob=V(ob);R[15]=F((hval)ob>>TPOS&63);}
-                R[16]=BOOL(R[15]==R[7]);
-                if(R[16]==IFALSE){
-                  R[17]=BOOL(R[15]==R[11]);
-                  if(R[17]==IFALSE){
-                    R[18]=BOOL(R[15]==R[9]);
-                    if(R[18]==IFALSE){
-                      R[19]=BOOL(R[15]==R[13]);
-                      if(R[19]==IFALSE){
-                        R[20]=G(R[1],2);
-                        R[21]=G(R[1],3);
-                        R[6]=R[5];
-                        R[5]=R[4];R[4]=R[21];
-                        ob=(word*)R[20];acc=4;
-                      }else{
-                        R[20]=G(R[1],4);
-                        *fp=make_header(4,TCLOS);fp[1]=G(R[1],5);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-                        ob=(word*)R[20];acc=2;
-                      }
-                    }else{
-                      R[19]=G(R[1],4);
-                      *fp=make_header(4,TCLOS);fp[1]=G(R[1],6);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-                      ob=(word*)R[19];acc=2;
-                    }
-                  }else{
-                    R[18]=G(R[1],7);
-                    *fp=make_header(3,TCLOS);fp[1]=G(R[1],8);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-                    ob=(word*)R[18];acc=3;
-                  }
-                }else{
-                  R[17]=G(R[1],7);
-                  *fp=make_header(3,TCLOS);fp[1]=G(R[1],9);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-                  ob=(word*)R[17];acc=3;
-                }
-              }
-            }else{
-              {word ob=R[5];if(allocp(ob))ob=V(ob);R[13]=F((hval)ob>>TPOS&63);}
-              R[14]=BOOL(R[13]==R[7]);
-              if(R[14]==IFALSE){
-                R[15]=BOOL(R[13]==R[11]);
-                if(R[15]==IFALSE){
-                  R[16]=BOOL(R[13]==R[9]);
-                  if(R[16]==IFALSE){
-                    R[17]=128*80+258;
-                    R[18]=BOOL(R[13]==R[17]);
-                    if(R[18]==IFALSE){
-                      R[19]=G(R[1],2);
-                      R[20]=G(R[1],3);
-                      R[6]=R[5];
-                      R[5]=R[4];R[4]=R[20];
-                      ob=(word*)R[19];acc=4;
-                    }else{
-                      R[8]=R[3];R[3]=R[7];
-                      ob=(word*)R[8];acc=2;
-                    }
-                  }else{
-                    R[8]=R[3];R[3]=R[7];
-                    ob=(word*)R[8];acc=2;
-                  }
-                }else{
-                  {uint64_t a=(uint64_t)immval(R[7])<<FBITS|immval(R[4]);hval b=immval(R[5]);uint64_t q=a/b;R[16]=F(q>>FBITS);R[17]=F(q);R[18]=F(a-q*b);}
-                  R[19]=G(R[1],4);
-                  *fp=make_header(4,TPROC);fp[1]=G(R[1],10);fp[3]=R[3];fp[2]=R[17];R[3]=(word)fp;fp+=4;
-                  R[4]=R[18];
-                  ob=(word*)R[19];acc=2;
-                }
-              }else{
-                {uint64_t a=(uint64_t)immval(R[7])<<FBITS|immval(R[4]);hval b=immval(R[5]);uint64_t q=a/b;R[15]=F(q>>FBITS);R[16]=F(q);R[17]=F(a-q*b);}
-                R[18]=G(R[1],4);
-                *fp=make_header(4,TCLOS);fp[1]=G(R[1],11);fp[3]=R[3];fp[2]=R[17];R[3]=(word)fp;fp+=4;
-                R[4]=R[16];
-                ob=(word*)R[18];acc=2;
-              }
-            }
-          }else{
-            {word ob=R[5];if(allocp(ob))ob=V(ob);R[11]=F((hval)ob>>TPOS&63);}
-            R[12]=BOOL(R[11]==R[7]);
-            if(R[12]==IFALSE){
-              R[13]=BOOL(R[11]==R[9]);
-              if(R[13]==IFALSE){
-                R[14]=128*62+258;
-                R[15]=BOOL(R[11]==R[14]);
-                if(R[15]==IFALSE){
-                  R[16]=128*80+258;
-                  R[17]=BOOL(R[11]==R[16]);
-                  if(R[17]==IFALSE){
-                    R[18]=G(R[1],2);
-                    R[19]=G(R[1],3);
-                    R[6]=R[5];
-                    R[5]=R[4];R[4]=R[19];
-                    ob=(word*)R[18];acc=4;
-                  }else{
-                    R[18]=G(R[1],4);
-                    *fp=make_header(4,TCLOS);fp[1]=G(R[1],12);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-                    R[4]=R[5];
-                    ob=(word*)R[18];acc=2;
-                  }
-                }else{
-                  R[16]=G(R[1],7);
-                  *fp=make_header(3,TCLOS);fp[1]=G(R[1],13);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-                  ob=(word*)R[16];acc=3;
-                }
-              }else{
-                R[14]=G(R[1],14);
-                ob=(word*)R[14];acc=3;
-              }
-            }else{
-              R[13]=G(R[1],7);
-              *fp=make_header(3,TPROC);fp[1]=G(R[1],15);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-              ob=(word*)R[13];acc=3;
-            }
-          }
-        }else{
-          {word ob=R[5];if(allocp(ob))ob=V(ob);R[9]=F((hval)ob>>TPOS&63);}
-          R[10]=BOOL(R[9]==R[7]);
-          if(R[10]==IFALSE){
-            R[11]=128*78+258;
-            R[12]=BOOL(R[9]==R[11]);
-            if(R[12]==IFALSE){
-              R[13]=128*62+258;
-              R[14]=BOOL(R[9]==R[13]);
-              if(R[14]==IFALSE){
-                R[15]=128*80+258;
-                R[16]=BOOL(R[9]==R[15]);
-                if(R[16]==IFALSE){
-                  R[17]=G(R[1],2);
-                  R[18]=G(R[1],3);
-                  R[6]=R[5];
-                  R[5]=R[4];R[4]=R[18];
-                  ob=(word*)R[17];acc=4;
-                }else{
-                  R[8]=R[3];R[3]=R[7];
-                  ob=(word*)R[8];acc=2;
-                }
-              }else{
-                {uint64_t a=(uint64_t)immval(R[7])<<FBITS|immval(R[4]);hval b=immval(R[5]);uint64_t q=a/b;R[15]=F(q>>FBITS);R[16]=F(q);R[17]=F(a-q*b);}
-                R[18]=G(R[1],4);
-                *fp=make_header(4,TPROC);fp[1]=G(R[1],16);fp[3]=R[3];fp[2]=R[17];R[3]=(word)fp;fp+=4;
-                R[4]=R[16];
-                ob=(word*)R[18];acc=2;
-              }
-            }else{
-              R[8]=R[3];R[3]=R[7];
-              ob=(word*)R[8];acc=2;
-            }
-          }else{
-            {uint64_t a=(uint64_t)immval(R[7])<<FBITS|immval(R[4]);hval b=immval(R[5]);uint64_t q=a/b;R[11]=F(q>>FBITS);R[12]=F(q);R[13]=F(a-q*b);}
-            R[7]=R[3];
-            R[3]=R[12];R[4]=R[13];
-            ob=(word*)R[7];acc=2;
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1259:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1260:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[4];R[7]=(word)fp;fp+=4;
-      R[4]=R[3];R[3]=R[7];
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1261:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[4];R[7]=(word)fp;fp+=4;
-      R[4]=R[3];R[3]=R[7];
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1262:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-      R[7]=G(R[1],2);
-      R[8]=R[4];R[4]=R[7];
-      ob=(word*)R[8];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1263:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-      R[7]=G(R[1],2);
-      R[8]=R[4];R[4]=R[7];
-      ob=(word*)R[8];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1264:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],3);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[7]=G(R[1],2);
-      R[8]=R[4];R[5]=R[3];
-      R[3]=R[6];R[4]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1265:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1266:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      ob=(word*)R[5];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1267:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],3);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1268:
-    if(acc==2){
-      R[5]=G(R[2],2);
-      R[6]=G(R[1],2);
-      R[4]=R[3];R[3]=R[6];
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1269:
-    if(acc==3){
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],2);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[7]=F(0);
-      R[5]=R[7];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1270:
-    if(acc==4){
-      R[7]=G(R[2],2);
-      R[8]=G(R[1],2);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[6];fp[5]=R[3];fp[4]=R[5];fp[3]=R[4];fp[2]=R[8];R[3]=(word)fp;fp+=7;
-      R[6]=F(0);
-      R[5]=R[8];
-      ob=(word*)R[7];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1271:
-    if(acc==1){
-      R[4]=128*2+258;
-      R[5]=prim_less(R[3],R[4]);
-      if(R[5]==IFALSE){
-        R[6]=G(R[2],2);
-        R[7]=G(R[1],3);
-        R[8]=G(R[1],4);
-        R[9]=G(R[1],5);
-        R[10]=G(R[1],6);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[10];fp[5]=R[9];fp[4]=R[8];fp[3]=R[3];fp[2]=R[7];R[11]=(word)fp;fp+=7;
-        R[4]=G(R[1],2);
-        R[5]=R[3];R[3]=R[11];
-        ob=(word*)R[6];acc=3;
-      }else{
-        R[6]=G(R[2],4);
-        R[7]=G(R[1],5);
-        R[4]=G(R[1],3);
-        R[5]=G(R[1],2);
-        R[10]=G(R[1],4);
-        R[11]=R[6];
-        R[3]=R[7];R[6]=R[10];
-        ob=(word*)R[11];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1272:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      R[9]=128*0+258;
-      R[5]=G(R[1],2);
-      R[11]=R[4];R[4]=R[9];
-      ob=(word*)R[11];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1273:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[8]=(word)fp;fp+=5;
-      R[9]=G(R[1],2);
-      R[10]=R[4];R[5]=R[3];
-      R[3]=R[8];R[4]=R[9];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1274:
-    if(acc==5){
-      R[8]=G(R[1],2);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[1],3);fp[6]=R[7];fp[5]=R[3];fp[4]=R[5];fp[3]=R[6];fp[2]=R[4];R[3]=(word)fp;fp+=7;
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1275:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],6);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[9];fp[6]=R[8];fp[5]=R[3];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[10]=(word)fp;fp+=8;
-      R[7]=R[4];
-      R[4]=R[3];R[3]=R[10];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1276:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],6);
-        R[8]=G(R[1],7);
-        *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[10]=G(R[1],3);
-        R[7]=R[4];R[4]=R[10];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[1],6);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],2);
-        R[7]=R[4];
-        R[3]=R[5];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1277:
-    if(acc==2){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[5]=F((hval)ob>>TPOS&63);}
-      R[6]=F(0);
-      R[7]=BOOL(R[5]==R[6]);
-      if(R[7]==IFALSE){
-        R[8]=128*62+258;
-        R[9]=BOOL(R[5]==R[8]);
-        if(R[9]==IFALSE){
-          R[10]=128*78+258;
-          R[11]=BOOL(R[5]==R[10]);
-          if(R[11]==IFALSE){
-            R[12]=128*80+258;
-            R[13]=BOOL(R[5]==R[12]);
-            if(R[13]==IFALSE){
-              R[14]=128*82+258;
-              R[15]=BOOL(R[5]==R[14]);
-              if(R[15]==IFALSE){
-                R[16]=G(R[1],2);
-                R[17]=G(R[1],3);
-                R[5]=R[4];R[4]=R[17];
-                ob=(word*)R[16];acc=3;
-              }else{
-                R[16]=128*0+258;
-                R[17]=prim_ref(R[4],R[16]);
-                {word ob=R[17];if(allocp(ob))ob=V(ob);R[18]=F((hval)ob>>TPOS&63);}
-                R[19]=BOOL(R[18]==R[6]);
-                if(R[19]==IFALSE){
-                  R[20]=BOOL(R[18]==R[8]);
-                  if(R[20]==IFALSE){
-                    R[21]=BOOL(R[18]==R[10]);
-                    if(R[21]==IFALSE){
-                      R[22]=BOOL(R[18]==R[12]);
-                      if(R[22]==IFALSE){
-                        R[23]=G(R[1],2);
-                        R[24]=G(R[1],4);
-                        R[5]=R[4];R[4]=R[24];
-                        ob=(word*)R[23];acc=3;
-                      }else{
-                        R[23]=ITRUE;
-                        ob=(word*)R[3];R[3]=R[23];acc=1;
-                      }
-                    }else{
-                      R[22]=IFALSE;
-                      ob=(word*)R[3];R[3]=R[22];acc=1;
-                    }
-                  }else{
-                    R[21]=ITRUE;
-                    ob=(word*)R[3];R[3]=R[21];acc=1;
-                  }
-                }else{
-                  R[20]=IFALSE;
-                  ob=(word*)R[3];R[3]=R[20];acc=1;
-                }
-              }
-            }else{
-              R[14]=ITRUE;
-              ob=(word*)R[3];R[3]=R[14];acc=1;
-            }
-          }else{
-            R[12]=IFALSE;
-            ob=(word*)R[3];R[3]=R[12];acc=1;
-          }
-        }else{
-          R[10]=ITRUE;
-          ob=(word*)R[3];R[3]=R[10];acc=1;
-        }
-      }else{
-        R[8]=IFALSE;
-        ob=(word*)R[3];R[3]=R[8];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1278:
-    if(acc==5){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[8]=F((hval)ob>>TPOS&63);}
-      if(R[8]==F(0)){
-        R[9]=F(0);
-        ob=(word*)R[3];R[3]=R[9];acc=1;
-      }else{
-        R[9]=128*2+258;
-        R[10]=prim_ref(R[4],R[9]);
-        R[11]=prim_ref(R[5],R[9]);
-        if(R[10]==INULL){
-          if(R[11]==INULL){
-            R[12]=128*0+258;
-            R[13]=prim_ref(R[5],R[12]);
-            R[14]=G(R[1],2);
-            if(R[13]==R[14]){
-              if(R[6]==F(0)){
-                R[15]=F(0);
-                ob=(word*)R[3];R[3]=R[15];acc=1;
-              }else{
-                R[15]=prim_ref(R[4],R[12]);
-                R[16]=G(R[1],3);
-                *fp=make_header(4,TCLOS);fp[1]=G(R[1],4);fp[3]=R[3];fp[2]=R[15];R[3]=(word)fp;fp+=4;
-                R[4]=R[6];R[5]=R[12];
-                ob=(word*)R[16];acc=3;
-              }
-            }else{
-              R[15]=prim_ref(R[4],R[12]);
-              R[16]=G(R[1],5);
-              *fp=make_header(5,TCLOS);fp[1]=G(R[1],6);fp[4]=R[3];fp[3]=R[6];fp[2]=R[15];R[3]=(word)fp;fp+=5;
-              R[5]=R[12];R[4]=R[13];
-              ob=(word*)R[16];acc=3;
-            }
-          }else{
-            R[12]=F(0);
-            ob=(word*)R[3];R[3]=R[12];acc=1;
-          }
-        }else{
-          if(R[11]==INULL){
-            R[12]=prim_ref(R[4],R[9]);
-            R[13]=G(R[1],5);
-            *fp=make_header(6,TPROC);fp[1]=G(R[1],7);fp[5]=R[7];fp[4]=R[3];fp[3]=R[12];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-            R[5]=128*46+258;
-            R[4]=R[6];
-            ob=(word*)R[13];acc=3;
-          }else{
-            R[4]=prim_ref(R[4],R[9]);
-            R[5]=prim_ref(R[5],R[9]);
-            ob=(word*)R[7];acc=5;
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1279:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=prim_less(R[4],R[3]);
-      if(R[5]==IFALSE){
-        R[6]=G(R[2],2);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],3);
-        R[9]=R[6];R[5]=R[3];
-        R[3]=R[7];R[6]=R[8];
-        ob=(word*)R[9];acc=4;
-      }else{
-        R[6]=G(R[2],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],3);
-        R[9]=R[6];R[5]=R[3];
-        R[3]=R[7];R[6]=R[8];
-        ob=(word*)R[9];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1280:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[7]=G(R[2],3);
-      R[9]=R[4];
-      R[4]=R[6];R[6]=R[3];
-      R[3]=R[5];R[5]=R[7];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1281:
-    if(acc==5){
-      if(R[4]==R[5]){
-        R[8]=G(R[1],2);
-        R[5]=128*0+258;
-        R[4]=R[6];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[8]=prim_less(R[4],R[5]);
-        if(R[8]==IFALSE){
-          {hval r=immval(R[5])+immval(R[5]);R[10]=F(r>>FBITS);R[9]=F(r);}
-          if(R[10]==F(0)){
-            R[11]=G(R[1],3);
-            *fp=make_header(6,TPROC);fp[1]=G(R[1],4);fp[5]=R[7];fp[4]=R[3];fp[3]=R[4];fp[2]=R[9];R[3]=(word)fp;fp+=6;
-            R[4]=R[6];
-            ob=(word*)R[11];acc=2;
-          }else{
-            R[11]=G(R[1],2);
-            R[4]=R[6];R[5]=R[10];
-            ob=(word*)R[11];acc=3;
-          }
-        }else{
-          R[9]=G(R[1],2);
-          R[5]=128*0+258;
-          R[4]=R[6];
-          ob=(word*)R[9];acc=3;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1282:
-    if(acc==5){
-      if(R[6]==F(0)){
-        R[8]=F(0);
-        ob=(word*)R[3];R[3]=R[8];acc=1;
-      }else{
-        if(R[4]==R[5]){
-          R[8]=G(R[1],2);
-          R[5]=128*0+258;
-          R[4]=R[6];
-          ob=(word*)R[8];acc=3;
-        }else{
-          R[8]=prim_less(R[5],R[4]);
-          if(R[8]==IFALSE){
-            R[9]=128*0+258;
-            {hval x=immval(R[5]);uint n=immval(R[9]);R[10]=F(x>>n);R[11]=F(x<<(FBITS-n));}
-            R[12]=G(R[1],2);
-            *fp=make_header(6,TPROC);fp[1]=G(R[1],3);fp[5]=R[7];fp[4]=R[3];fp[3]=R[4];fp[2]=R[10];R[3]=(word)fp;fp+=6;
-            R[4]=R[6];R[5]=R[9];
-            ob=(word*)R[12];acc=3;
-          }else{
-            ob=(word*)R[3];R[3]=R[6];acc=1;
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1283:
-    if(acc==1){
-      R[4]=G(R[1],5);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],2);
-      R[10]=R[5];R[5]=R[7];
-      R[7]=R[4];R[4]=R[6];
-      R[6]=R[3];R[3]=R[10];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1284:
-    if(acc==4){
-      if(R[4]==F(0)){
-        R[7]=F(0);
-        ob=(word*)R[3];R[3]=R[7];acc=1;
-      }else{
-        if(R[5]==F(0)){
-          R[7]=F(0);
-          ob=(word*)R[3];R[3]=R[7];acc=1;
-        }else{
-          {word ob=R[4];if(allocp(ob))ob=V(ob);R[7]=F((hval)ob>>TPOS&63);}
-          R[8]=F(0);
-          R[9]=BOOL(R[7]==R[8]);
-          if(R[9]==IFALSE){
-            R[10]=128*62+258;
-            R[11]=BOOL(R[7]==R[10]);
-            if(R[11]==IFALSE){
-              R[12]=128*78+258;
-              R[13]=BOOL(R[7]==R[12]);
-              if(R[13]==IFALSE){
-                R[14]=128*80+258;
-                R[15]=BOOL(R[7]==R[14]);
-                if(R[15]==IFALSE){
-                  R[16]=128*82+258;
-                  R[17]=BOOL(R[7]==R[16]);
-                  if(R[17]==IFALSE){
-                    R[18]=G(R[1],2);
-                    R[19]=G(R[1],3);
-                    R[6]=R[5];
-                    R[5]=R[4];R[4]=R[19];
-                    ob=(word*)R[18];acc=4;
-                  }else{
-                    {word ob=R[5];if(allocp(ob))ob=V(ob);R[18]=F((hval)ob>>TPOS&63);}
-                    R[19]=BOOL(R[18]==R[16]);
-                    if(R[19]==IFALSE){
-                      R[9]=R[5];
-                      R[5]=R[4];R[4]=R[9];
-                      ob=(word*)R[6];acc=4;
-                    }else{
-                      R[20]=G(R[1],2);
-                      R[21]=G(R[1],3);
-                      R[6]=R[5];
-                      R[5]=R[4];R[4]=R[21];
-                      ob=(word*)R[20];acc=4;
-                    }
-                  }
-                }else{
-                  {word ob=R[5];if(allocp(ob))ob=V(ob);R[16]=F((hval)ob>>TPOS&63);}
-                  R[17]=BOOL(R[16]==R[8]);
-                  if(R[17]==IFALSE){
-                    R[18]=BOOL(R[16]==R[10]);
-                    if(R[18]==IFALSE){
-                      R[19]=BOOL(R[16]==R[12]);
-                      if(R[19]==IFALSE){
-                        R[20]=BOOL(R[16]==R[14]);
-                        if(R[20]==IFALSE){
-                          R[21]=G(R[1],2);
-                          R[22]=G(R[1],3);
-                          R[6]=R[5];
-                          R[5]=R[4];R[4]=R[22];
-                          ob=(word*)R[21];acc=4;
-                        }else{
-                          R[21]=G(R[1],4);
-                          ob=(word*)R[21];acc=3;
-                        }
-                      }else{
-                        R[20]=G(R[1],4);
-                        *fp=make_header(3,TCLOS);fp[1]=G(R[1],5);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-                        ob=(word*)R[20];acc=3;
-                      }
-                    }else{
-                      R[19]=G(R[1],6);
-                      R[9]=R[5];R[5]=R[4];
-                      R[6]=R[8];R[4]=R[9];
-                      ob=(word*)R[19];acc=4;
-                    }
-                  }else{
-                    R[18]=G(R[1],6);
-                    *fp=make_header(3,TCLOS);fp[1]=G(R[1],7);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-                    R[9]=R[5];R[5]=R[4];
-                    R[6]=R[8];R[4]=R[9];
-                    ob=(word*)R[18];acc=4;
-                  }
-                }
-              }else{
-                {word ob=R[5];if(allocp(ob))ob=V(ob);R[14]=F((hval)ob>>TPOS&63);}
-                R[15]=BOOL(R[14]==R[8]);
-                if(R[15]==IFALSE){
-                  R[16]=BOOL(R[14]==R[10]);
-                  if(R[16]==IFALSE){
-                    R[17]=BOOL(R[14]==R[12]);
-                    if(R[17]==IFALSE){
-                      R[18]=128*80+258;
-                      R[19]=BOOL(R[14]==R[18]);
-                      if(R[19]==IFALSE){
-                        R[20]=G(R[1],2);
-                        R[21]=G(R[1],3);
-                        R[6]=R[5];
-                        R[5]=R[4];R[4]=R[21];
-                        ob=(word*)R[20];acc=4;
-                      }else{
-                        R[20]=G(R[1],4);
-                        *fp=make_header(3,TCLOS);fp[1]=G(R[1],8);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-                        ob=(word*)R[20];acc=3;
-                      }
-                    }else{
-                      R[18]=G(R[1],4);
-                      ob=(word*)R[18];acc=3;
-                    }
-                  }else{
-                    R[17]=G(R[1],6);
-                    *fp=make_header(3,TCLOS);fp[1]=G(R[1],9);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-                    R[9]=R[5];R[5]=R[4];
-                    R[6]=R[8];R[4]=R[9];
-                    ob=(word*)R[17];acc=4;
-                  }
-                }else{
-                  R[16]=G(R[1],6);
-                  R[9]=R[5];R[5]=R[4];
-                  R[6]=R[8];R[4]=R[9];
-                  ob=(word*)R[16];acc=4;
-                }
-              }
-            }else{
-              {word ob=R[5];if(allocp(ob))ob=V(ob);R[12]=F((hval)ob>>TPOS&63);}
-              R[13]=BOOL(R[12]==R[8]);
-              if(R[13]==IFALSE){
-                R[14]=BOOL(R[12]==R[10]);
-                if(R[14]==IFALSE){
-                  R[15]=128*78+258;
-                  R[16]=BOOL(R[12]==R[15]);
-                  if(R[16]==IFALSE){
-                    R[17]=128*80+258;
-                    R[18]=BOOL(R[12]==R[17]);
-                    if(R[18]==IFALSE){
-                      R[19]=G(R[1],2);
-                      R[20]=G(R[1],3);
-                      R[6]=R[5];
-                      R[5]=R[4];R[4]=R[20];
-                      ob=(word*)R[19];acc=4;
-                    }else{
-                      R[19]=G(R[1],6);
-                      R[6]=R[8];
-                      ob=(word*)R[19];acc=4;
-                    }
-                  }else{
-                    R[17]=G(R[1],6);
-                    *fp=make_header(3,TCLOS);fp[1]=G(R[1],10);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-                    R[6]=R[8];
-                    ob=(word*)R[17];acc=4;
-                  }
-                }else{
-                  {uint64_t p=(uint64_t)immval(R[4])*immval(R[5]);R[15]=F(p);R[16]=F(p>>FBITS);}
-                  R[17]=BOOL(R[16]==R[8]);
-                  if(R[17]==IFALSE){
-                    R[18]=INULL;
-                    *fp=make_header(3,40);fp[1]=R[16];fp[2]=R[18];R[19]=(word)fp;fp+=3;
-                    *fp=make_header(3,40);fp[1]=R[15];fp[2]=R[19];R[20]=(word)fp;fp+=3;
-                    ob=(word*)R[3];R[3]=R[20];acc=1;
-                  }else{
-                    ob=(word*)R[3];R[3]=R[15];acc=1;
-                  }
-                }
-              }else{
-                {uint64_t p=(uint64_t)immval(R[4])*immval(R[5]);R[14]=F(p);R[15]=F(p>>FBITS);}
-                R[16]=BOOL(R[15]==R[8]);
-                *fp=make_header(3,TCLOS);fp[1]=G(R[1],11);fp[2]=R[3];R[17]=(word)fp;fp+=3;
-                if(R[16]==IFALSE){
-                  R[18]=INULL;
-                  *fp=make_header(3,40);fp[1]=R[15];fp[2]=R[18];R[19]=(word)fp;fp+=3;
-                  *fp=make_header(3,40);fp[1]=R[14];fp[2]=R[19];R[3]=(word)fp;fp+=3;
-                  ob=(word*)R[17];acc=1;
-                }else{
-                  R[3]=R[14];
-                  ob=(word*)R[17];acc=1;
-                }
-              }
-            }
-          }else{
-            {word ob=R[5];if(allocp(ob))ob=V(ob);R[10]=F((hval)ob>>TPOS&63);}
-            R[11]=BOOL(R[10]==R[8]);
-            if(R[11]==IFALSE){
-              R[12]=128*62+258;
-              R[13]=BOOL(R[10]==R[12]);
-              if(R[13]==IFALSE){
-                R[14]=128*78+258;
-                R[15]=BOOL(R[10]==R[14]);
-                if(R[15]==IFALSE){
-                  R[16]=128*80+258;
-                  R[17]=BOOL(R[10]==R[16]);
-                  if(R[17]==IFALSE){
-                    R[18]=G(R[1],2);
-                    R[19]=G(R[1],3);
-                    R[6]=R[5];
-                    R[5]=R[4];R[4]=R[19];
-                    ob=(word*)R[18];acc=4;
-                  }else{
-                    R[18]=G(R[1],6);
-                    *fp=make_header(3,TCLOS);fp[1]=G(R[1],12);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-                    R[6]=R[8];
-                    ob=(word*)R[18];acc=4;
-                  }
-                }else{
-                  R[16]=G(R[1],6);
-                  R[6]=R[8];
-                  ob=(word*)R[16];acc=4;
-                }
-              }else{
-                {uint64_t p=(uint64_t)immval(R[4])*immval(R[5]);R[14]=F(p);R[15]=F(p>>FBITS);}
-                R[16]=BOOL(R[15]==R[8]);
-                *fp=make_header(3,TCLOS);fp[1]=G(R[1],13);fp[2]=R[3];R[17]=(word)fp;fp+=3;
-                if(R[16]==IFALSE){
-                  R[18]=INULL;
-                  *fp=make_header(3,40);fp[1]=R[15];fp[2]=R[18];R[19]=(word)fp;fp+=3;
-                  *fp=make_header(3,40);fp[1]=R[14];fp[2]=R[19];R[3]=(word)fp;fp+=3;
-                  ob=(word*)R[17];acc=1;
-                }else{
-                  R[3]=R[14];
-                  ob=(word*)R[17];acc=1;
-                }
-              }
-            }else{
-              {uint64_t p=(uint64_t)immval(R[4])*immval(R[5]);R[12]=F(p);R[13]=F(p>>FBITS);}
-              R[14]=BOOL(R[13]==R[8]);
-              if(R[14]==IFALSE){
-                R[15]=INULL;
-                *fp=make_header(3,40);fp[1]=R[13];fp[2]=R[15];R[16]=(word)fp;fp+=3;
-                *fp=make_header(3,40);fp[1]=R[12];fp[2]=R[16];R[17]=(word)fp;fp+=3;
-                ob=(word*)R[3];R[3]=R[17];acc=1;
-              }else{
-                ob=(word*)R[3];R[3]=R[12];acc=1;
-              }
-            }
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1285:
-    if(acc==4){
-      if(R[4]==F(0)){
-        R[7]=F(0);
-        ob=(word*)R[3];R[3]=R[7];acc=1;
-      }else{
-        if(R[5]==F(0)){
-          R[7]=F(0);
-          ob=(word*)R[3];R[3]=R[7];acc=1;
-        }else{
-          R[7]=128*0+258;
-          if(R[4]==R[7]){
-            ob=(word*)R[3];R[3]=R[5];acc=1;
-          }else{
-            if(R[5]==R[7]){
-              ob=(word*)R[3];R[3]=R[4];acc=1;
-            }else{
-              {word ob=R[4];if(allocp(ob))ob=V(ob);R[8]=F((hval)ob>>TPOS&63);}
-              if(R[8]==F(0)){
-                {word ob=R[5];if(allocp(ob))ob=V(ob);R[9]=F((hval)ob>>TPOS&63);}
-                if(R[9]==F(0)){
-                  {uint64_t p=(uint64_t)immval(R[4])*immval(R[5]);R[10]=F(p);R[11]=F(p>>FBITS);}
-                  R[12]=F(0);
-                  R[13]=BOOL(R[11]==R[12]);
-                  if(R[13]==IFALSE){
-                    R[14]=INULL;
-                    *fp=make_header(3,40);fp[1]=R[11];fp[2]=R[14];R[15]=(word)fp;fp+=3;
-                    *fp=make_header(3,40);fp[1]=R[10];fp[2]=R[15];R[16]=(word)fp;fp+=3;
-                    ob=(word*)R[3];R[3]=R[16];acc=1;
-                  }else{
-                    ob=(word*)R[3];R[3]=R[10];acc=1;
-                  }
-                }else{
-                  R[10]=G(R[1],2);
-                  R[6]=F(0);
-                  ob=(word*)R[10];acc=4;
-                }
-              }else{
-                {word ob=R[5];if(allocp(ob))ob=V(ob);R[9]=F((hval)ob>>TPOS&63);}
-                if(R[9]==F(0)){
-                  R[10]=G(R[1],2);
-                  R[6]=F(0);
-                  R[9]=R[5];
-                  R[5]=R[4];R[4]=R[9];
-                  ob=(word*)R[10];acc=4;
-                }else{
-                  R[10]=128*2+258;
-                  R[11]=prim_ref(R[4],R[10]);
-                  if(R[11]==INULL){
-                    R[12]=prim_ref(R[5],R[10]);
-                    if(R[12]==INULL){
-                      R[13]=prim_ref(R[4],R[7]);
-                      R[14]=prim_ref(R[5],R[7]);
-                      {uint64_t p=(uint64_t)immval(R[13])*immval(R[14]);R[15]=F(p);R[16]=F(p>>FBITS);}
-                      R[17]=F(0);
-                      R[18]=BOOL(R[16]==R[17]);
-                      if(R[18]==IFALSE){
-                        R[19]=INULL;
-                        *fp=make_header(3,40);fp[1]=R[16];fp[2]=R[19];R[20]=(word)fp;fp+=3;
-                        *fp=make_header(3,40);fp[1]=R[15];fp[2]=R[20];R[21]=(word)fp;fp+=3;
-                        ob=(word*)R[3];R[3]=R[21];acc=1;
-                      }else{
-                        ob=(word*)R[3];R[3]=R[15];acc=1;
-                      }
-                    }else{
-                      R[4]=prim_ref(R[4],R[7]);
-                      R[14]=G(R[1],2);
-                      R[6]=F(0);
-                      ob=(word*)R[14];acc=4;
-                    }
-                  }else{
-                    R[12]=prim_ref(R[5],R[10]);
-                    if(R[12]==INULL){
-                      R[13]=prim_ref(R[5],R[7]);
-                      R[14]=G(R[1],2);
-                      R[6]=F(0);
-                      R[5]=R[4];R[4]=R[13];
-                      ob=(word*)R[14];acc=4;
-                    }else{
-                      R[13]=G(R[1],3);
-                      *fp=make_header(6,TCLOS);fp[1]=G(R[1],4);fp[5]=R[3];fp[4]=R[6];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-                      R[8]=INULL;
-                      R[10]=ITRUE;
-                      R[11]=F(0);
-                      R[6]=R[4];
-                      R[7]=R[5];R[9]=R[8];
-                      ob=(word*)R[13];acc=9;
-                    }
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1286:
-    if(acc==5){
-      R[8]=128*58+258;
-      R[9]=prim_less(R[7],R[8]);
-      if(R[9]==IFALSE){
-        R[10]=G(R[1],4);
-        R[11]=G(R[1],5);
-        *fp=make_header(9,TCLOS);fp[1]=G(R[2],2);fp[8]=R[11];fp[7]=R[7];fp[6]=R[10];fp[5]=R[5];fp[4]=R[6];fp[3]=R[3];fp[2]=R[4];R[12]=(word)fp;fp+=9;
-        R[4]=R[3];
-        R[6]=R[10];R[3]=R[12];
-        ob=(word*)R[6];acc=4;
-      }else{
-        R[10]=G(R[2],3);
-        R[3]=G(R[1],5);
-        R[4]=G(R[1],3);
-        R[5]=G(R[1],2);
-        ob=(word*)R[10];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1287:
-    if(acc==1){
-      R[4]=G(R[1],6);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      R[9]=G(R[1],7);
-      R[10]=G(R[1],8);
-      *fp=make_header(10,TCLOS);fp[1]=G(R[2],2);fp[9]=R[10];fp[8]=R[3];fp[7]=R[9];fp[6]=R[4];fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=10;
-      R[6]=R[4];
-      R[4]=R[5];R[5]=R[7];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1288:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      R[8]=G(R[1],7);
-      R[9]=G(R[1],8);
-      R[10]=G(R[1],9);
-      *fp=make_header(9,TCLOS);fp[1]=G(R[2],3);fp[8]=R[10];fp[7]=R[9];fp[6]=R[8];fp[5]=R[3];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=9;
-      R[12]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[8]=R[4];R[4]=R[12];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1289:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      R[8]=G(R[1],7);
-      R[9]=G(R[1],8);
-      *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=8;
-      R[11]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[8]=R[4];R[4]=R[11];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1290:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],6);
-      R[8]=G(R[1],7);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],2);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=6;
-      R[10]=G(R[1],2);
-      R[5]=R[3];R[6]=R[4];
-      R[3]=R[9];R[4]=R[10];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1291:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=7;
-      R[8]=R[4];R[4]=R[7];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1292:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=6;
-      R[10]=G(R[1],2);
-      R[8]=R[4];R[5]=R[3];
-      R[3]=R[9];R[4]=R[10];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1293:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[6];fp[3]=R[5];fp[2]=R[4];R[7]=(word)fp;fp+=5;
-      if(R[3]==F(0)){
-        R[3]=G(R[1],2);
-        ob=(word*)R[7];acc=1;
-      }else{
-        R[8]=G(R[2],2);
-        R[9]=G(R[1],2);
-        R[5]=R[3];R[6]=R[4];
-        R[3]=R[7];R[4]=R[9];
-        ob=(word*)R[8];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1294:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      if(R[4]==F(0)){
-        R[5]=G(R[1],4);
-        ob=(word*)R[5];acc=1;
-      }else{
-        R[5]=G(R[2],2);
-        R[6]=G(R[1],4);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[6];fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-        R[4]=G(R[1],2);
-        R[9]=128*0+258;
-        R[10]=R[5];R[5]=R[9];
-        ob=(word*)R[10];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1295:
-    if(acc==10){
-      if(R[4]==INULL){
-        R[13]=G(R[1],2);
-        *fp=make_header(7,TCLOS);fp[1]=G(R[1],3);fp[6]=R[3];fp[5]=R[11];fp[4]=R[9];fp[3]=R[7];fp[2]=R[8];R[3]=(word)fp;fp+=7;
-        R[4]=R[6];
-        ob=(word*)R[13];acc=2;
-      }else{
-        if(R[5]==INULL){
-          R[13]=G(R[1],2);
-          *fp=make_header(7,TCLOS);fp[1]=G(R[1],4);fp[6]=R[3];fp[5]=R[11];fp[4]=R[9];fp[3]=R[7];fp[2]=R[8];R[3]=(word)fp;fp+=7;
-          R[4]=R[6];
-          ob=(word*)R[13];acc=2;
-        }else{
-          if(R[10]==IFALSE){
-            {word*ob=(word*)R[6];hval hdr;assert(allocp(R[6]),R[6],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[13]=ob[1];R[14]=ob[2];}
-            {word*ob=(word*)R[7];hval hdr;assert(allocp(R[7]),R[7],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[15]=ob[1];R[16]=ob[2];}
-            R[17]=128*0+258;
-            {hval r=immval(R[11])+immval(R[17]);R[19]=F(r>>FBITS);R[18]=F(r);}
-            R[20]=128*2+258;
-            R[4]=prim_ref(R[4],R[20]);
-            R[5]=prim_ref(R[5],R[20]);
-            *fp=make_header(3,40);fp[1]=R[13];fp[2]=R[8];R[8]=(word)fp;fp+=3;
-            *fp=make_header(3,40);fp[1]=R[15];fp[2]=R[9];R[9]=(word)fp;fp+=3;
-            R[10]=ITRUE;
-            R[6]=R[14];
-            R[7]=R[16];R[11]=R[18];
-            ob=(word*)R[12];acc=10;
-          }else{
-            R[13]=128*2+258;
-            R[4]=prim_ref(R[4],R[13]);
-            R[5]=prim_ref(R[5],R[13]);
-            R[10]=IFALSE;
-            ob=(word*)R[12];acc=10;
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1296:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[3];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[10]=G(R[1],2);
-      R[7]=R[4];R[4]=R[10];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1297:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(7,TCLOS);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[10]=G(R[1],2);
-      R[7]=R[4];R[4]=R[10];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1298:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],6);
-      *fp=make_header(7,TPROC);fp[1]=G(R[2],3);fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[10]=G(R[1],2);
-      R[7]=R[4];R[4]=R[10];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1299:
-    if(acc==1){
-      R[4]=G(R[1],6);
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[10]=R[4];R[4]=R[6];
-      R[6]=R[3];R[3]=R[5];
-      R[5]=R[7];R[7]=R[8];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1300:
-    if(acc==9){
-      R[12]=G(R[1],2);
-      ob=(word*)R[12];acc=10;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1301:
-    if(acc==3){
-      if(R[4]==INULL){
-        R[6]=F(0);
-        ob=(word*)R[3];R[3]=R[6];acc=1;
-      }else{
-        {word*ob=(word*)R[4];hval hdr;assert(allocp(R[4]),R[4],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[6]=ob[1];R[7]=ob[2];}
-        if(R[7]==INULL){
-          ob=(word*)R[3];R[3]=R[6];acc=1;
-        }else{
-          if(R[6]==F(0)){
-            R[4]=R[7];
-            ob=(word*)R[5];acc=3;
-          }else{
-            R[8]=G(R[1],2);
-            R[5]=INULL;
-            ob=(word*)R[8];acc=3;
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1302:
-    if(acc==2){
-      R[5]=128*2+258;
-      R[6]=prim_ref(R[4],R[5]);
-      if(R[6]==INULL){
-        R[7]=128*0+258;
-        R[8]=prim_ref(R[4],R[7]);
-        ob=(word*)R[3];R[3]=R[8];acc=1;
-      }else{
-        ob=(word*)R[3];R[3]=R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1303:
-    if(acc==4){
-      if(R[4]==INULL){
-        R[7]=INULL;
-        ob=(word*)R[3];R[3]=R[7];acc=1;
-      }else{
-        R[7]=128*0+258;
-        R[8]=prim_ref(R[4],R[7]);
-        R[9]=128*2+258;
-        R[4]=prim_ref(R[4],R[9]);
-        *fp=make_header(5,TCLOS);fp[1]=G(R[1],2);fp[4]=R[3];fp[3]=R[8];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-        ob=(word*)R[6];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1304:
-    if(acc==1){
-      R[4]=F(0);
-      *fp=make_header(3,40);fp[1]=R[4];fp[2]=R[3];R[5]=(word)fp;fp+=3;
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],4);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[7];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-      R[9]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[11]=R[6];
-      R[6]=R[4];R[4]=R[9];
-      ob=(word*)R[11];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1305:
-    if(acc==5){
-      if(R[6]==F(0)){
-        if(R[4]==INULL){
-          R[8]=G(R[1],2);
-          R[4]=R[5];
-          ob=(word*)R[8];acc=2;
-        }else{
-          R[8]=G(R[1],3);
-          ob=(word*)R[8];acc=3;
-        }
-      }else{
-        if(R[4]==INULL){
-          R[8]=G(R[1],4);
-          *fp=make_header(5,TCLOS);fp[1]=G(R[1],5);fp[4]=R[3];fp[3]=R[7];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-          R[5]=128*0+258;
-          R[4]=R[6];
-          ob=(word*)R[8];acc=3;
-        }else{
-          {word ob=R[4];if(allocp(ob))ob=V(ob);R[8]=F((hval)ob>>TPOS&63);}
-          if(R[8]==F(0)){
-            R[9]=INULL;
-            *fp=make_header(3,40);fp[1]=R[4];fp[2]=R[9];R[4]=(word)fp;fp+=3;
-            ob=(word*)R[7];acc=5;
-          }else{
-            {word ob=R[6];if(allocp(ob))ob=V(ob);R[9]=F((hval)ob>>TPOS&63);}
-            if(R[9]==F(0)){
-              R[10]=128*0+258;
-              {hval r=immval(R[6])-immval(R[10]);R[12]=F(r>>FBITS&1);R[11]=F(r);}
-              {word*ob=(word*)R[4];hval hdr;assert(allocp(R[4]),R[4],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[13]=ob[1];R[14]=ob[2];}
-              *fp=make_header(4,TPROC);fp[1]=G(R[1],6);fp[3]=R[3];fp[2]=R[13];R[3]=(word)fp;fp+=4;
-              R[6]=R[11];R[4]=R[14];
-              ob=(word*)R[7];acc=5;
-            }else{
-              R[10]=128*0+258;
-              R[11]=prim_ref(R[4],R[10]);
-              R[12]=128*2+258;
-              R[13]=prim_ref(R[4],R[12]);
-              R[14]=G(R[1],4);
-              *fp=make_header(7,TCLOS);fp[1]=G(R[1],7);fp[6]=R[3];fp[5]=R[11];fp[4]=R[7];fp[3]=R[13];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-              R[4]=R[6];R[5]=R[10];
-              ob=(word*)R[14];acc=3;
-            }
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1306:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],6);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],2);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[8]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[6]=R[3];R[3]=R[7];
-      R[7]=R[4];R[4]=R[8];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1307:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],4);
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],2);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[7]=INULL;
-      R[8]=G(R[1],2);
-      R[10]=R[7];
-      R[11]=R[6];R[6]=R[3];
-      R[7]=R[4];R[5]=R[8];
-      R[4]=R[10];R[3]=R[11];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1308:
-    if(acc==2){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[5]=F((hval)ob>>TPOS&63);}
-      if(R[5]==F(0)){
-        R[6]=INULL;
-        *fp=make_header(3,40);fp[1]=R[4];fp[2]=R[6];R[7]=(word)fp;fp+=3;
-        ob=(word*)R[3];R[3]=R[7];acc=1;
-      }else{
-        ob=(word*)R[3];R[3]=R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1309:
-    if(acc==5){
-      if(R[5]==INULL){
-        if(R[6]==F(0)){
-          R[8]=INULL;
-          ob=(word*)R[3];R[3]=R[8];acc=1;
-        }else{
-          R[8]=INULL;
-          *fp=make_header(3,40);fp[1]=R[6];fp[2]=R[8];R[9]=(word)fp;fp+=3;
-          ob=(word*)R[3];R[3]=R[9];acc=1;
-        }
-      }else{
-        if(R[6]==F(0)){
-          R[8]=128*0+258;
-          R[9]=prim_ref(R[5],R[8]);
-          {uint64_t p=(uint64_t)immval(R[4])*immval(R[9]);R[10]=F(p);R[11]=F(p>>FBITS);}
-          R[12]=128*2+258;
-          R[5]=prim_ref(R[5],R[12]);
-          *fp=make_header(4,TPROC);fp[1]=G(R[1],2);fp[3]=R[3];fp[2]=R[10];R[3]=(word)fp;fp+=4;
-          R[6]=R[11];
-          ob=(word*)R[7];acc=5;
-        }else{
-          R[8]=128*0+258;
-          R[9]=prim_ref(R[5],R[8]);
-          {uint64_t p=(uint64_t)immval(R[4])*immval(R[9]);R[10]=F(p);R[11]=F(p>>FBITS);}
-          {hval r=immval(R[10])+immval(R[6]);R[13]=F(r>>FBITS);R[12]=F(r);}
-          {hval r=immval(R[11])+immval(R[13]);R[15]=F(r>>FBITS);R[14]=F(r);}
-          R[16]=128*2+258;
-          R[5]=prim_ref(R[5],R[16]);
-          *fp=make_header(4,TPROC);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[12];R[3]=(word)fp;fp+=4;
-          R[6]=R[14];
-          ob=(word*)R[7];acc=5;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1310:
-    if(acc==3){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[6]=F((hval)ob>>TPOS&63);}
-      R[7]=F(0);
-      R[8]=BOOL(R[6]==R[7]);
-      if(R[8]==IFALSE){
-        R[9]=128*78+258;
-        R[10]=BOOL(R[6]==R[9]);
-        if(R[10]==IFALSE){
-          R[11]=G(R[1],2);
-          R[12]=G(R[1],3);
-          R[6]=R[5];
-          R[5]=R[4];R[4]=R[12];
-          ob=(word*)R[11];acc=4;
-        }else{
-          {word ob=R[5];if(allocp(ob))ob=V(ob);R[11]=F((hval)ob>>TPOS&63);}
-          R[12]=BOOL(R[11]==R[7]);
-          if(R[12]==IFALSE){
-            R[13]=BOOL(R[11]==R[9]);
-            if(R[13]==IFALSE){
-              R[14]=G(R[1],2);
-              R[15]=G(R[1],3);
-              R[6]=R[5];
-              R[5]=R[4];R[4]=R[15];
-              ob=(word*)R[14];acc=4;
-            }else{
-              R[14]=G(R[1],4);
-              ob=(word*)R[14];acc=3;
-            }
-          }else{
-            R[13]=128*0+258;
-            R[14]=prim_ref(R[4],R[13]);
-            R[15]=R[5]^(FMAX<<IPOS&R[14]);
-            R[16]=128*2+258;
-            R[17]=prim_ref(R[4],R[16]);
-            *fp=make_header(3,40);fp[1]=R[15];fp[2]=R[17];R[18]=(word)fp;fp+=3;
-            ob=(word*)R[3];R[3]=R[18];acc=1;
-          }
-        }
-      }else{
-        {word ob=R[5];if(allocp(ob))ob=V(ob);R[9]=F((hval)ob>>TPOS&63);}
-        R[10]=BOOL(R[9]==R[7]);
-        if(R[10]==IFALSE){
-          R[11]=128*78+258;
-          R[12]=BOOL(R[9]==R[11]);
-          if(R[12]==IFALSE){
-            R[13]=G(R[1],2);
-            R[14]=G(R[1],3);
-            R[6]=R[5];
-            R[5]=R[4];R[4]=R[14];
-            ob=(word*)R[13];acc=4;
-          }else{
-            R[13]=128*0+258;
-            R[14]=prim_ref(R[5],R[13]);
-            R[15]=R[4]^(FMAX<<IPOS&R[14]);
-            R[16]=128*2+258;
-            R[17]=prim_ref(R[5],R[16]);
-            *fp=make_header(3,40);fp[1]=R[15];fp[2]=R[17];R[18]=(word)fp;fp+=3;
-            ob=(word*)R[3];R[3]=R[18];acc=1;
-          }
-        }else{
-          R[11]=R[4]^(FMAX<<IPOS&R[5]);
-          ob=(word*)R[3];R[3]=R[11];acc=1;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1311:
-    if(acc==3){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[6]=F((hval)ob>>TPOS&63);}
-      R[7]=F(0);
-      R[8]=BOOL(R[6]==R[7]);
-      if(R[8]==IFALSE){
-        R[9]=128*78+258;
-        R[10]=BOOL(R[6]==R[9]);
-        if(R[10]==IFALSE){
-          R[11]=G(R[1],2);
-          R[12]=G(R[1],3);
-          R[6]=R[5];
-          R[5]=R[4];R[4]=R[12];
-          ob=(word*)R[11];acc=4;
-        }else{
-          {word ob=R[5];if(allocp(ob))ob=V(ob);R[11]=F((hval)ob>>TPOS&63);}
-          R[12]=BOOL(R[11]==R[7]);
-          if(R[12]==IFALSE){
-            R[13]=BOOL(R[11]==R[9]);
-            if(R[13]==IFALSE){
-              R[14]=G(R[1],2);
-              R[15]=G(R[1],3);
-              R[6]=R[5];
-              R[5]=R[4];R[4]=R[15];
-              ob=(word*)R[14];acc=4;
-            }else{
-              R[14]=G(R[1],4);
-              ob=(word*)R[14];acc=3;
-            }
-          }else{
-            R[13]=128*0+258;
-            R[14]=prim_ref(R[4],R[13]);
-            R[15]=R[5]|R[14];
-            R[16]=128*2+258;
-            R[17]=prim_ref(R[4],R[16]);
-            *fp=make_header(3,40);fp[1]=R[15];fp[2]=R[17];R[18]=(word)fp;fp+=3;
-            ob=(word*)R[3];R[3]=R[18];acc=1;
-          }
-        }
-      }else{
-        {word ob=R[5];if(allocp(ob))ob=V(ob);R[9]=F((hval)ob>>TPOS&63);}
-        R[10]=BOOL(R[9]==R[7]);
-        if(R[10]==IFALSE){
-          R[11]=128*78+258;
-          R[12]=BOOL(R[9]==R[11]);
-          if(R[12]==IFALSE){
-            R[13]=G(R[1],2);
-            R[14]=G(R[1],3);
-            R[6]=R[5];
-            R[5]=R[4];R[4]=R[14];
-            ob=(word*)R[13];acc=4;
-          }else{
-            R[13]=128*0+258;
-            R[14]=prim_ref(R[5],R[13]);
-            R[15]=R[4]|R[14];
-            R[16]=128*2+258;
-            R[17]=prim_ref(R[5],R[16]);
-            *fp=make_header(3,40);fp[1]=R[15];fp[2]=R[17];R[18]=(word)fp;fp+=3;
-            ob=(word*)R[3];R[3]=R[18];acc=1;
-          }
-        }else{
-          R[11]=R[4]|R[5];
-          ob=(word*)R[3];R[3]=R[11];acc=1;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1312:
-    if(acc==3){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[6]=F((hval)ob>>TPOS&63);}
-      R[7]=F(0);
-      R[8]=BOOL(R[6]==R[7]);
-      if(R[8]==IFALSE){
-        R[9]=128*78+258;
-        R[10]=BOOL(R[6]==R[9]);
-        if(R[10]==IFALSE){
-          R[11]=G(R[1],2);
-          R[12]=G(R[1],3);
-          R[6]=R[5];
-          R[5]=R[4];R[4]=R[12];
-          ob=(word*)R[11];acc=4;
-        }else{
-          {word ob=R[5];if(allocp(ob))ob=V(ob);R[11]=F((hval)ob>>TPOS&63);}
-          R[12]=BOOL(R[11]==R[7]);
-          if(R[12]==IFALSE){
-            R[13]=BOOL(R[11]==R[9]);
-            if(R[13]==IFALSE){
-              R[14]=G(R[1],2);
-              R[15]=G(R[1],3);
-              R[6]=R[5];
-              R[5]=R[4];R[4]=R[15];
-              ob=(word*)R[14];acc=4;
-            }else{
-              R[14]=G(R[1],4);
-              ob=(word*)R[14];acc=3;
-            }
-          }else{
-            R[13]=128*0+258;
-            R[14]=prim_ref(R[4],R[13]);
-            R[15]=R[14]&R[5];
-            ob=(word*)R[3];R[3]=R[15];acc=1;
-          }
-        }
-      }else{
-        {word ob=R[5];if(allocp(ob))ob=V(ob);R[9]=F((hval)ob>>TPOS&63);}
-        R[10]=BOOL(R[9]==R[7]);
-        if(R[10]==IFALSE){
-          R[11]=128*78+258;
-          R[12]=BOOL(R[9]==R[11]);
-          if(R[12]==IFALSE){
-            R[13]=G(R[1],2);
-            R[14]=G(R[1],3);
-            R[6]=R[5];
-            R[5]=R[4];R[4]=R[14];
-            ob=(word*)R[13];acc=4;
-          }else{
-            R[13]=128*0+258;
-            R[14]=prim_ref(R[5],R[13]);
-            R[15]=R[4]&R[14];
-            ob=(word*)R[3];R[3]=R[15];acc=1;
-          }
-        }else{
-          R[11]=R[4]&R[5];
-          ob=(word*)R[3];R[3]=R[11];acc=1;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1313:
-    if(acc==1){
-      if(R[3]==INULL){
-        R[4]=G(R[1],2);
-        R[3]=F(0);
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=128*2+258;
-        R[5]=prim_ref(R[3],R[4]);
-        if(R[5]==INULL){
-          R[6]=128*0+258;
-          R[3]=prim_ref(R[3],R[6]);
-          R[8]=G(R[1],2);
-          ob=(word*)R[8];acc=1;
-        }else{
-          R[6]=G(R[1],2);
-          ob=(word*)R[6];acc=1;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1314:
-    if(acc==4){
-      if(R[4]==INULL){
-        ob=(word*)R[3];R[3]=R[5];acc=1;
-      }else{
-        if(R[5]==INULL){
-          ob=(word*)R[3];R[3]=R[4];acc=1;
-        }else{
-          R[7]=128*0+258;
-          R[8]=prim_ref(R[4],R[7]);
-          R[9]=prim_ref(R[5],R[7]);
-          R[10]=R[8]^(FMAX<<IPOS&R[9]);
-          R[11]=128*2+258;
-          R[4]=prim_ref(R[4],R[11]);
-          R[5]=prim_ref(R[5],R[11]);
-          *fp=make_header(4,TPROC);fp[1]=G(R[1],2);fp[3]=R[3];fp[2]=R[10];R[3]=(word)fp;fp+=4;
-          ob=(word*)R[6];acc=4;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1315:
-    if(acc==1){
-      if(R[3]==INULL){
-        R[4]=G(R[1],2);
-        if(R[4]==F(0)){
-          R[5]=G(R[1],3);
-          R[3]=INULL;
-          ob=(word*)R[5];acc=1;
-        }else{
-          *fp=make_header(3,40);fp[1]=R[4];fp[2]=R[3];R[3]=(word)fp;fp+=3;
-          R[6]=G(R[1],3);
-          ob=(word*)R[6];acc=1;
-        }
-      }else{
-        R[4]=G(R[1],2);
-        *fp=make_header(3,40);fp[1]=R[4];fp[2]=R[3];R[3]=(word)fp;fp+=3;
-        R[6]=G(R[1],3);
-        ob=(word*)R[6];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1316:
-    if(acc==4){
-      if(R[4]==INULL){
-        ob=(word*)R[3];R[3]=R[5];acc=1;
-      }else{
-        if(R[5]==INULL){
-          ob=(word*)R[3];R[3]=R[4];acc=1;
-        }else{
-          R[7]=128*0+258;
-          R[8]=prim_ref(R[4],R[7]);
-          R[9]=prim_ref(R[5],R[7]);
-          R[10]=R[8]|R[9];
-          R[11]=128*2+258;
-          R[4]=prim_ref(R[4],R[11]);
-          R[5]=prim_ref(R[5],R[11]);
-          *fp=make_header(4,TPROC);fp[1]=G(R[1],2);fp[3]=R[3];fp[2]=R[10];R[3]=(word)fp;fp+=4;
-          ob=(word*)R[6];acc=4;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1317:
-    if(acc==4){
-      if(R[4]==INULL){
-        R[7]=F(0);
-        ob=(word*)R[3];R[3]=R[7];acc=1;
-      }else{
-        if(R[5]==INULL){
-          R[7]=F(0);
-          ob=(word*)R[3];R[3]=R[7];acc=1;
-        }else{
-          R[7]=128*0+258;
-          R[8]=prim_ref(R[4],R[7]);
-          R[9]=prim_ref(R[5],R[7]);
-          R[10]=R[8]&R[9];
-          R[11]=128*2+258;
-          R[4]=prim_ref(R[4],R[11]);
-          R[5]=prim_ref(R[5],R[11]);
-          *fp=make_header(4,TPROC);fp[1]=G(R[1],2);fp[3]=R[3];fp[2]=R[10];R[3]=(word)fp;fp+=4;
-          ob=(word*)R[6];acc=4;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1318:
-    if(acc==1){
-      if(R[3]==F(0)){
-        R[4]=G(R[1],3);
-        R[3]=G(R[1],2);
-        ob=(word*)R[4];acc=1;
-      }else{
-        {word ob=R[3];if(allocp(ob))ob=V(ob);R[4]=F((hval)ob>>TPOS&63);}
-        if(R[4]==F(0)){
-          R[5]=INULL;
-          *fp=make_header(3,40);fp[1]=R[3];fp[2]=R[5];R[6]=(word)fp;fp+=3;
-          R[7]=G(R[1],2);
-          *fp=make_header(3,40);fp[1]=R[7];fp[2]=R[6];R[3]=(word)fp;fp+=3;
-          R[9]=G(R[1],3);
-          ob=(word*)R[9];acc=1;
-        }else{
-          R[5]=G(R[1],2);
-          *fp=make_header(3,40);fp[1]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=3;
-          R[7]=G(R[1],3);
-          ob=(word*)R[7];acc=1;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1319:
-    if(acc==4){
-      if(R[4]==F(0)){
-        R[7]=F(0);
-        ob=(word*)R[3];R[3]=R[7];acc=1;
-      }else{
-        {word ob=R[5];if(allocp(ob))ob=V(ob);R[7]=F((hval)ob>>TPOS&63);}
-        if(R[7]==F(0)){
-          R[8]=F(0);
-          R[9]=128*46+258;
-          {uint64_t a=(uint64_t)immval(R[8])<<FBITS|immval(R[5]);hval b=immval(R[9]);uint64_t q=a/b;R[10]=F(q>>FBITS);R[11]=F(q);R[12]=F(a-q*b);}
-          {hval r=immval(R[9])-immval(R[12]);R[14]=F(r>>FBITS&1);R[13]=F(r);}
-          {word ob=R[4];if(allocp(ob))ob=V(ob);R[15]=F((hval)ob>>TPOS&63);}
-          R[16]=BOOL(R[15]==R[8]);
-          if(R[16]==IFALSE){
-            R[17]=128*62+258;
-            R[18]=BOOL(R[15]==R[17]);
-            if(R[18]==IFALSE){
-              R[19]=128*78+258;
-              R[20]=BOOL(R[15]==R[19]);
-              if(R[20]==IFALSE){
-                R[21]=128*80+258;
-                R[22]=BOOL(R[15]==R[21]);
-                if(R[22]==IFALSE){
-                  R[23]=G(R[1],2);
-                  R[24]=G(R[1],3);
-                  R[6]=R[5];
-                  R[5]=R[4];R[4]=R[24];
-                  ob=(word*)R[23];acc=4;
-                }else{
-                  R[23]=G(R[1],4);
-                  *fp=make_header(4,TCLOS);fp[1]=G(R[1],5);fp[3]=R[3];fp[2]=R[11];R[3]=(word)fp;fp+=4;
-                  R[6]=R[8];R[5]=R[13];
-                  ob=(word*)R[23];acc=4;
-                }
-              }else{
-                R[21]=G(R[1],4);
-                *fp=make_header(4,TCLOS);fp[1]=G(R[1],6);fp[3]=R[3];fp[2]=R[11];R[3]=(word)fp;fp+=4;
-                R[6]=R[8];R[5]=R[13];
-                ob=(word*)R[21];acc=4;
-              }
-            }else{
-              {hval x=immval(R[4]);uint n=immval(R[13]);R[19]=F(x>>n);R[20]=F(x<<(FBITS-n));}
-              if(R[19]==F(0)){
-                if(R[11]==F(0)){
-                  R[21]=G(R[1],7);
-                  R[4]=R[20];
-                  ob=(word*)R[21];acc=2;
-                }else{
-                  R[21]=INULL;
-                  *fp=make_header(3,40);fp[1]=R[20];fp[2]=R[21];R[4]=(word)fp;fp+=3;
-                  R[23]=G(R[1],8);
-                  *fp=make_header(3,TCLOS);fp[1]=G(R[1],9);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-                  R[5]=R[11];
-                  ob=(word*)R[23];acc=3;
-                }
-              }else{
-                R[21]=INULL;
-                *fp=make_header(3,40);fp[1]=R[19];fp[2]=R[21];R[22]=(word)fp;fp+=3;
-                *fp=make_header(3,40);fp[1]=R[20];fp[2]=R[22];R[4]=(word)fp;fp+=3;
-                R[24]=G(R[1],8);
-                *fp=make_header(3,TCLOS);fp[1]=G(R[1],10);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-                R[5]=R[11];
-                ob=(word*)R[24];acc=3;
-              }
-            }
-          }else{
-            {hval x=immval(R[4]);uint n=immval(R[13]);R[17]=F(x>>n);R[18]=F(x<<(FBITS-n));}
-            if(R[17]==F(0)){
-              if(R[11]==F(0)){
-                ob=(word*)R[3];R[3]=R[18];acc=1;
-              }else{
-                R[19]=INULL;
-                *fp=make_header(3,40);fp[1]=R[18];fp[2]=R[19];R[4]=(word)fp;fp+=3;
-                R[21]=G(R[1],8);
-                R[5]=R[11];
-                ob=(word*)R[21];acc=3;
-              }
-            }else{
-              if(R[11]==F(0)){
-                R[19]=INULL;
-                *fp=make_header(3,40);fp[1]=R[17];fp[2]=R[19];R[20]=(word)fp;fp+=3;
-                *fp=make_header(3,40);fp[1]=R[18];fp[2]=R[20];R[21]=(word)fp;fp+=3;
-                ob=(word*)R[3];R[3]=R[21];acc=1;
-              }else{
-                R[19]=INULL;
-                *fp=make_header(3,40);fp[1]=R[17];fp[2]=R[19];R[20]=(word)fp;fp+=3;
-                *fp=make_header(3,40);fp[1]=R[18];fp[2]=R[20];R[4]=(word)fp;fp+=3;
-                R[22]=G(R[1],8);
-                R[5]=R[11];
-                ob=(word*)R[22];acc=3;
-              }
-            }
-          }
-        }else{
-          {word ob=R[5];if(allocp(ob))ob=V(ob);R[8]=F((hval)ob>>TPOS&63);}
-          R[9]=128*78+258;
-          if(R[8]==R[9]){
-            *fp=make_header(5,TCLOS);fp[1]=G(R[1],11);fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-            R[5]=G(R[1],12);
-            ob=(word*)R[6];acc=4;
-          }else{
-            R[10]=G(R[1],2);
-            R[11]=G(R[1],3);
-            R[6]=R[5];
-            R[5]=R[4];R[4]=R[11];
-            ob=(word*)R[10];acc=4;
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1320:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],4);
-      *fp=make_header(5,TPROC);fp[1]=G(R[2],3);fp[4]=R[6];fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=5;
-      R[8]=G(R[1],2);
-      R[5]=G(R[2],4);
-      R[10]=R[4];R[4]=R[8];
-      ob=(word*)R[10];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1321:
-    if(acc==4){
-      if(R[5]==F(0)){
-        ob=(word*)R[3];R[3]=R[4];acc=1;
-      }else{
-        R[7]=128*0+258;
-        {hval r=immval(R[5])-immval(R[7]);R[9]=F(r>>FBITS&1);R[8]=F(r);}
-        R[10]=F(0);
-        *fp=make_header(3,40);fp[1]=R[10];fp[2]=R[4];R[4]=(word)fp;fp+=3;
-        R[5]=R[8];
-        ob=(word*)R[6];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1322:
-    if(acc==5){
-      if(R[4]==INULL){
-        if(R[6]==F(0)){
-          R[8]=INULL;
-          ob=(word*)R[3];R[3]=R[8];acc=1;
-        }else{
-          R[8]=INULL;
-          *fp=make_header(3,40);fp[1]=R[6];fp[2]=R[8];R[9]=(word)fp;fp+=3;
-          ob=(word*)R[3];R[3]=R[9];acc=1;
-        }
-      }else{
-        R[8]=128*0+258;
-        R[9]=prim_ref(R[4],R[8]);
-        {hval x=immval(R[9]);uint n=immval(R[5]);R[10]=F(x>>n);R[11]=F(x<<(FBITS-n));}
-        R[12]=R[6]|R[11];
-        R[13]=128*2+258;
-        R[4]=prim_ref(R[4],R[13]);
-        *fp=make_header(4,TPROC);fp[1]=G(R[1],2);fp[3]=R[3];fp[2]=R[12];R[3]=(word)fp;fp+=4;
-        R[6]=R[10];
-        ob=(word*)R[7];acc=5;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1323:
-    if(acc==4){
-      {word ob=R[5];if(allocp(ob))ob=V(ob);R[7]=F((hval)ob>>TPOS&63);}
-      R[8]=F(0);
-      R[9]=BOOL(R[7]==R[8]);
-      if(R[9]==IFALSE){
-        R[10]=128*78+258;
-        R[11]=BOOL(R[7]==R[10]);
-        if(R[11]==IFALSE){
-          R[12]=G(R[1],2);
-          R[13]=G(R[1],3);
-          R[6]=R[5];
-          R[5]=R[4];R[4]=R[13];
-          ob=(word*)R[12];acc=4;
-        }else{
-          if(R[4]==F(0)){
-            ob=(word*)R[3];R[3]=R[8];acc=1;
-          }else{
-            R[12]=128*2+258;
-            R[13]=prim_ref(R[4],R[12]);
-            R[14]=G(R[1],4);
-            *fp=make_header(5,TPROC);fp[1]=G(R[1],5);fp[4]=R[6];fp[3]=R[3];fp[2]=R[13];R[3]=(word)fp;fp+=5;
-            R[16]=128*46+258;
-            R[4]=R[5];R[5]=R[16];
-            ob=(word*)R[14];acc=3;
-          }
-        }
-      }else{
-        R[10]=128*46+258;
-        {uint64_t a=(uint64_t)immval(R[8])<<FBITS|immval(R[5]);hval b=immval(R[10]);uint64_t q=a/b;R[11]=F(q>>FBITS);R[12]=F(q);R[13]=F(a-q*b);}
-        if(R[12]==F(0)){
-          {word ob=R[4];if(allocp(ob))ob=V(ob);R[14]=F((hval)ob>>TPOS&63);}
-          R[15]=BOOL(R[14]==R[8]);
-          if(R[15]==IFALSE){
-            R[16]=128*62+258;
-            R[17]=BOOL(R[14]==R[16]);
-            if(R[17]==IFALSE){
-              R[18]=128*78+258;
-              R[19]=BOOL(R[14]==R[18]);
-              if(R[19]==IFALSE){
-                R[20]=128*80+258;
-                R[21]=BOOL(R[14]==R[20]);
-                if(R[21]==IFALSE){
-                  R[22]=G(R[1],2);
-                  R[23]=G(R[1],3);
-                  R[6]=R[5];
-                  R[5]=R[4];R[4]=R[23];
-                  ob=(word*)R[22];acc=4;
-                }else{
-                  R[22]=G(R[1],6);
-                  *fp=make_header(3,TCLOS);fp[1]=G(R[1],7);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-                  R[5]=R[13];
-                  ob=(word*)R[22];acc=3;
-                }
-              }else{
-                R[20]=G(R[1],6);
-                R[5]=R[13];
-                ob=(word*)R[20];acc=3;
-              }
-            }else{
-              {hval x=immval(R[4]);uint n=immval(R[13]);R[18]=F(x>>n);R[19]=F(x<<(FBITS-n));}
-              if(R[18]==F(0)){
-                ob=(word*)R[3];R[3]=R[8];acc=1;
-              }else{
-                R[20]=G(R[1],8);
-                R[4]=R[18];
-                ob=(word*)R[20];acc=2;
-              }
-            }
-          }else{
-            {hval x=immval(R[4]);uint n=immval(R[13]);R[16]=F(x>>n);R[17]=F(x<<(FBITS-n));}
-            ob=(word*)R[3];R[3]=R[16];acc=1;
-          }
-        }else{
-          {word ob=R[4];if(allocp(ob))ob=V(ob);R[14]=F((hval)ob>>TPOS&63);}
-          R[15]=BOOL(R[14]==R[8]);
-          if(R[15]==IFALSE){
-            R[16]=128*62+258;
-            R[17]=BOOL(R[14]==R[16]);
-            if(R[17]==IFALSE){
-              R[18]=128*78+258;
-              R[19]=BOOL(R[14]==R[18]);
-              if(R[19]==IFALSE){
-                R[20]=128*80+258;
-                R[21]=BOOL(R[14]==R[20]);
-                if(R[21]==IFALSE){
-                  R[22]=G(R[1],2);
-                  R[23]=G(R[1],3);
-                  R[6]=R[5];
-                  R[5]=R[4];R[4]=R[23];
-                  ob=(word*)R[22];acc=4;
-                }else{
-                  R[22]=G(R[1],9);
-                  *fp=make_header(4,TCLOS);fp[1]=G(R[1],10);fp[3]=R[3];fp[2]=R[13];R[3]=(word)fp;fp+=4;
-                  R[5]=R[12];
-                  ob=(word*)R[22];acc=3;
-                }
-              }else{
-                R[20]=G(R[1],9);
-                *fp=make_header(4,TCLOS);fp[1]=G(R[1],11);fp[3]=R[3];fp[2]=R[13];R[3]=(word)fp;fp+=4;
-                R[5]=R[12];
-                ob=(word*)R[20];acc=3;
-              }
-            }else{
-              ob=(word*)R[3];R[3]=R[8];acc=1;
-            }
-          }else{
-            ob=(word*)R[3];R[3]=R[8];acc=1;
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1324:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],3);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[5]=G(R[1],2);
-      R[8]=R[4];
-      R[4]=R[3];R[3]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1325:
-    if(acc==4){
-      if(R[5]==F(0)){
-        ob=(word*)R[3];R[3]=R[4];acc=1;
-      }else{
-        if(R[4]==INULL){
-          ob=(word*)R[3];R[3]=R[4];acc=1;
-        }else{
-          R[7]=128*0+258;
-          {hval r=immval(R[5])-immval(R[7]);R[9]=F(r>>FBITS&1);R[8]=F(r);}
-          R[10]=128*2+258;
-          R[4]=prim_ref(R[4],R[10]);
-          R[5]=R[8];
-          ob=(word*)R[6];acc=4;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1326:
-    if(acc==3){
-      if(R[4]==INULL){
-        R[6]=F(0);
-        ob=(word*)R[3];R[3]=R[6];acc=1;
-      }else{
-        R[6]=128*0+258;
-        R[7]=prim_ref(R[4],R[6]);
-        {hval x=immval(R[7]);uint n=immval(R[5]);R[8]=F(x>>n);R[9]=F(x<<(FBITS-n));}
-        R[10]=128*2+258;
-        R[11]=prim_ref(R[4],R[10]);
-        R[12]=G(R[1],2);
-        R[7]=ITRUE;
-        R[6]=R[5];
-        R[4]=R[8];R[5]=R[11];
-        ob=(word*)R[12];acc=5;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1327:
-    if(acc==6){
-      if(R[5]==INULL){
-        if(R[7]==IFALSE){
-          if(R[4]==F(0)){
-            R[9]=IFALSE;
-            ob=(word*)R[3];R[3]=R[9];acc=1;
-          }else{
-            R[9]=INULL;
-            *fp=make_header(3,40);fp[1]=R[4];fp[2]=R[9];R[10]=(word)fp;fp+=3;
-            ob=(word*)R[3];R[3]=R[10];acc=1;
-          }
-        }else{
-          ob=(word*)R[3];R[3]=R[4];acc=1;
-        }
-      }else{
-        R[9]=128*0+258;
-        R[10]=prim_ref(R[5],R[9]);
-        {hval x=immval(R[10]);uint n=immval(R[6]);R[11]=F(x>>n);R[12]=F(x<<(FBITS-n));}
-        R[13]=R[4]|R[12];
-        R[14]=128*2+258;
-        R[5]=prim_ref(R[5],R[14]);
-        *fp=make_header(5,TPROC);fp[1]=G(R[1],2);fp[4]=R[3];fp[3]=R[13];fp[2]=R[7];R[3]=(word)fp;fp+=5;
-        R[7]=IFALSE;
-        R[4]=R[11];
-        ob=(word*)R[8];acc=6;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1328:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],3);
-        if(R[4]==F(0)){
-          R[5]=G(R[1],2);
-          if(R[5]==IFALSE){
-            R[6]=G(R[1],4);
-            R[3]=IFALSE;
-            ob=(word*)R[6];acc=1;
-          }else{
-            R[6]=G(R[1],4);
-            R[3]=F(0);
-            ob=(word*)R[6];acc=1;
-          }
-        }else{
-          R[5]=G(R[1],2);
-          if(R[5]==IFALSE){
-            R[6]=INULL;
-            *fp=make_header(3,40);fp[1]=R[4];fp[2]=R[6];R[3]=(word)fp;fp+=3;
-            R[8]=G(R[1],4);
-            ob=(word*)R[8];acc=1;
-          }else{
-            R[6]=G(R[1],4);
-            R[3]=R[4];
-            ob=(word*)R[6];acc=1;
-          }
-        }
-      }else{
-        R[4]=G(R[1],3);
-        *fp=make_header(3,40);fp[1]=R[4];fp[2]=R[3];R[3]=(word)fp;fp+=3;
-        R[6]=G(R[1],4);
-        ob=(word*)R[6];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1329:
-    if(acc==3){
-      if(R[5]==F(0)){
-        R[6]=G(R[1],2);
-        R[7]=G(R[1],3);
-        R[9]=R[6];R[6]=R[5];
-        R[5]=R[4];R[4]=R[7];
-        ob=(word*)R[9];acc=4;
-      }else{
-        R[6]=G(R[1],4);
-        *fp=make_header(4,TCLOS);fp[1]=G(R[1],5);fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        R[5]=INULL;
-        ob=(word*)R[6];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1330:
-    if(acc==1){
-      {word*ob=(word*)R[3];hval hdr;assert(allocp(R[3]),R[3],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[4]=ob[1];R[5]=ob[2];}
-      R[6]=G(R[2],2);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[9]=INULL;
-      R[10]=R[6];R[3]=R[7];
-      R[6]=R[8];R[7]=R[9];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1331:
-    if(acc==4){
-      if(R[4]==INULL){
-        ob=(word*)R[3];R[3]=R[5];acc=1;
-      }else{
-        R[7]=128*2+258;
-        R[8]=prim_ref(R[4],R[7]);
-        R[9]=128*0+258;
-        R[10]=prim_ref(R[4],R[9]);
-        *fp=make_header(3,40);fp[1]=R[10];fp[2]=R[5];R[5]=(word)fp;fp+=3;
-        R[4]=R[8];
-        ob=(word*)R[6];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1332:
-    if(acc==6){
-      if(R[5]==INULL){
-        R[9]=128*2+258;
-        R[10]=prim_ref(R[7],R[9]);
-        if(R[10]==INULL){
-          R[11]=128*0+258;
-          R[12]=prim_ref(R[7],R[11]);
-          R[7]=R[3];R[3]=R[12];
-          ob=(word*)R[7];acc=2;
-        }else{
-          R[8]=R[3];R[3]=R[7];
-          ob=(word*)R[8];acc=2;
-        }
-      }else{
-        {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[9]=ob[1];R[10]=ob[2];}
-        {uint64_t a=(uint64_t)immval(R[4])<<FBITS|immval(R[9]);hval b=immval(R[6]);uint64_t q=a/b;R[11]=F(q>>FBITS);R[12]=F(q);R[13]=F(a-q*b);}
-        if(R[11]==F(0)){
-          *fp=make_header(3,40);fp[1]=R[12];fp[2]=R[7];R[7]=(word)fp;fp+=3;
-          R[5]=R[10];R[4]=R[13];
-          ob=(word*)R[8];acc=6;
-        }else{
-          *fp=make_header(3,40);fp[1]=R[11];fp[2]=R[7];R[14]=(word)fp;fp+=3;
-          *fp=make_header(3,40);fp[1]=R[12];fp[2]=R[14];R[7]=(word)fp;fp+=3;
-          R[5]=R[10];R[4]=R[13];
-          ob=(word*)R[8];acc=6;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1333:
-    if(acc==3){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[6]=F((hval)ob>>TPOS&63);}
-      R[7]=F(0);
-      R[8]=BOOL(R[6]==R[7]);
-      if(R[8]==IFALSE){
-        R[9]=128*62+258;
-        R[10]=BOOL(R[6]==R[9]);
-        if(R[10]==IFALSE){
-          R[11]=128*78+258;
-          R[12]=BOOL(R[6]==R[11]);
-          if(R[12]==IFALSE){
-            R[13]=128*80+258;
-            R[14]=BOOL(R[6]==R[13]);
-            if(R[14]==IFALSE){
-              R[15]=G(R[1],2);
-              ob=(word*)R[15];acc=3;
-            }else{
-              {word ob=R[5];if(allocp(ob))ob=V(ob);R[15]=F((hval)ob>>TPOS&63);}
-              R[16]=BOOL(R[15]==R[7]);
-              if(R[16]==IFALSE){
-                R[17]=BOOL(R[15]==R[9]);
-                if(R[17]==IFALSE){
-                  R[18]=BOOL(R[15]==R[11]);
-                  if(R[18]==IFALSE){
-                    R[19]=BOOL(R[15]==R[13]);
-                    if(R[19]==IFALSE){
-                      R[20]=G(R[1],2);
-                      R[8]=R[5];
-                      R[5]=R[4];R[4]=R[8];
-                      ob=(word*)R[20];acc=3;
-                    }else{
-                      R[20]=G(R[2],2);
-                      *fp=make_header(3,TCLOS);fp[1]=G(R[2],3);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-                      R[6]=R[7];
-                      ob=(word*)R[20];acc=4;
-                    }
-                  }else{
-                    R[19]=G(R[2],4);
-                    R[8]=R[5];
-                    R[5]=R[4];R[4]=R[8];
-                    ob=(word*)R[19];acc=3;
-                  }
-                }else{
-                  R[18]=G(R[2],5);
-                  *fp=make_header(3,TCLOS);fp[1]=G(R[2],6);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-                  R[8]=R[5];
-                  R[5]=R[4];R[4]=R[8];
-                  ob=(word*)R[18];acc=3;
-                }
-              }else{
-                R[17]=G(R[2],7);
-                R[6]=ITRUE;
-                R[9]=R[5];
-                R[5]=R[4];R[4]=R[9];
-                ob=(word*)R[17];acc=4;
-              }
-            }
-          }else{
-            {word ob=R[5];if(allocp(ob))ob=V(ob);R[13]=F((hval)ob>>TPOS&63);}
-            R[14]=BOOL(R[13]==R[7]);
-            if(R[14]==IFALSE){
-              R[15]=BOOL(R[13]==R[9]);
-              if(R[15]==IFALSE){
-                R[16]=BOOL(R[13]==R[11]);
-                if(R[16]==IFALSE){
-                  R[17]=128*80+258;
-                  R[18]=BOOL(R[13]==R[17]);
-                  if(R[18]==IFALSE){
-                    R[19]=G(R[1],2);
-                    R[8]=R[5];
-                    R[5]=R[4];R[4]=R[8];
-                    ob=(word*)R[19];acc=3;
-                  }else{
-                    R[19]=G(R[2],4);
-                    ob=(word*)R[19];acc=3;
-                  }
-                }else{
-                  R[17]=G(R[2],2);
-                  R[6]=R[7];
-                  ob=(word*)R[17];acc=4;
-                }
-              }else{
-                R[16]=G(R[2],8);
-                R[6]=ITRUE;
-                ob=(word*)R[16];acc=4;
-              }
-            }else{
-              R[15]=G(R[2],5);
-              R[8]=R[5];
-              R[5]=R[4];R[4]=R[8];
-              ob=(word*)R[15];acc=3;
-            }
-          }
-        }else{
-          {word ob=R[5];if(allocp(ob))ob=V(ob);R[11]=F((hval)ob>>TPOS&63);}
-          R[12]=BOOL(R[11]==R[7]);
-          if(R[12]==IFALSE){
-            R[13]=BOOL(R[11]==R[9]);
-            if(R[13]==IFALSE){
-              R[14]=128*78+258;
-              R[15]=BOOL(R[11]==R[14]);
-              if(R[15]==IFALSE){
-                R[16]=128*80+258;
-                R[17]=BOOL(R[11]==R[16]);
-                if(R[17]==IFALSE){
-                  R[18]=G(R[1],2);
-                  R[8]=R[5];
-                  R[5]=R[4];R[4]=R[8];
-                  ob=(word*)R[18];acc=3;
-                }else{
-                  R[18]=G(R[2],5);
-                  *fp=make_header(3,TCLOS);fp[1]=G(R[2],9);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-                  ob=(word*)R[18];acc=3;
-                }
-              }else{
-                R[16]=G(R[2],8);
-                R[6]=ITRUE;
-                R[9]=R[5];
-                R[5]=R[4];R[4]=R[9];
-                ob=(word*)R[16];acc=4;
-              }
-            }else{
-              R[14]=G(R[2],10);
-              ob=(word*)R[14];acc=3;
-            }
-          }else{
-            {hval r=immval(R[5])-immval(R[4]);R[14]=F(r>>FBITS&1);R[13]=F(r);}
-            R[15]=BOOL(R[14]==R[7]);
-            if(R[15]==IFALSE){
-              {hval r=immval(R[4])-immval(R[5]);R[17]=F(r>>FBITS&1);R[16]=F(r);}
-              R[18]=G(R[2],11);
-              R[4]=R[16];
-              ob=(word*)R[18];acc=2;
-            }else{
-              ob=(word*)R[3];R[3]=R[13];acc=1;
-            }
-          }
-        }
-      }else{
-        {word ob=R[5];if(allocp(ob))ob=V(ob);R[9]=F((hval)ob>>TPOS&63);}
-        R[10]=BOOL(R[9]==R[7]);
-        if(R[10]==IFALSE){
-          R[11]=128*62+258;
-          R[12]=BOOL(R[9]==R[11]);
-          if(R[12]==IFALSE){
-            R[13]=128*78+258;
-            R[14]=BOOL(R[9]==R[13]);
-            if(R[14]==IFALSE){
-              R[15]=128*80+258;
-              R[16]=BOOL(R[9]==R[15]);
-              if(R[16]==IFALSE){
-                R[17]=G(R[1],2);
-                R[8]=R[5];
-                R[5]=R[4];R[4]=R[8];
-                ob=(word*)R[17];acc=3;
-              }else{
-                R[17]=G(R[2],7);
-                R[6]=ITRUE;
-                ob=(word*)R[17];acc=4;
-              }
-            }else{
-              R[15]=G(R[2],5);
-              ob=(word*)R[15];acc=3;
-            }
-          }else{
-            {hval r=immval(R[4])-immval(R[5]);R[14]=F(r>>FBITS&1);R[13]=F(r);}
-            R[15]=BOOL(R[14]==R[7]);
-            if(R[15]==IFALSE){
-              {hval r=immval(R[5])-immval(R[4]);R[17]=F(r>>FBITS&1);R[16]=F(r);}
-              R[18]=G(R[2],11);
-              R[4]=R[16];
-              ob=(word*)R[18];acc=2;
-            }else{
-              ob=(word*)R[3];R[3]=R[13];acc=1;
-            }
-          }
-        }else{
-          {hval r=immval(R[4])+immval(R[5]);R[12]=F(r>>FBITS);R[11]=F(r);}
-          R[13]=BOOL(R[12]==R[7]);
-          if(R[13]==IFALSE){
-            R[14]=G(R[2],12);
-            *fp=make_header(3,40);fp[1]=R[11];fp[2]=R[14];R[15]=(word)fp;fp+=3;
-            ob=(word*)R[3];R[3]=R[15];acc=1;
-          }else{
-            ob=(word*)R[3];R[3]=R[11];acc=1;
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1334:
-    if(acc==2){
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],2);fp[2]=R[4];R[5]=(word)fp;fp+=3;
-      ob=(word*)R[3];R[3]=R[5];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1335:
-    if(acc==3){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[6]=F((hval)ob>>TPOS&63);}
-      R[7]=F(0);
-      R[8]=BOOL(R[6]==R[7]);
-      if(R[8]==IFALSE){
-        R[9]=128*62+258;
-        R[10]=BOOL(R[6]==R[9]);
-        if(R[10]==IFALSE){
-          R[11]=128*78+258;
-          R[12]=BOOL(R[6]==R[11]);
-          if(R[12]==IFALSE){
-            R[13]=128*80+258;
-            R[14]=BOOL(R[6]==R[13]);
-            if(R[14]==IFALSE){
-              R[15]=G(R[1],2);
-              ob=(word*)R[15];acc=3;
-            }else{
-              {word ob=R[5];if(allocp(ob))ob=V(ob);R[15]=F((hval)ob>>TPOS&63);}
-              R[16]=BOOL(R[15]==R[7]);
-              if(R[16]==IFALSE){
-                R[17]=BOOL(R[15]==R[9]);
-                if(R[17]==IFALSE){
-                  R[18]=BOOL(R[15]==R[11]);
-                  if(R[18]==IFALSE){
-                    R[19]=BOOL(R[15]==R[13]);
-                    if(R[19]==IFALSE){
-                      R[20]=G(R[1],2);
-                      ob=(word*)R[20];acc=3;
-                    }else{
-                      R[20]=G(R[2],2);
-                      R[8]=R[5];
-                      R[5]=R[4];R[4]=R[8];
-                      ob=(word*)R[20];acc=3;
-                    }
-                  }else{
-                    R[19]=G(R[2],3);
-                    *fp=make_header(3,TCLOS);fp[1]=G(R[2],4);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-                    R[6]=R[7];
-                    ob=(word*)R[19];acc=4;
-                  }
-                }else{
-                  R[18]=G(R[2],5);
-                  R[6]=ITRUE;
-                  R[9]=R[5];
-                  R[5]=R[4];R[4]=R[9];
-                  ob=(word*)R[18];acc=4;
-                }
-              }else{
-                R[17]=G(R[2],6);
-                *fp=make_header(3,TCLOS);fp[1]=G(R[2],7);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-                R[8]=R[5];
-                R[5]=R[4];R[4]=R[8];
-                ob=(word*)R[17];acc=3;
-              }
-            }
-          }else{
-            {word ob=R[5];if(allocp(ob))ob=V(ob);R[13]=F((hval)ob>>TPOS&63);}
-            R[14]=BOOL(R[13]==R[7]);
-            if(R[14]==IFALSE){
-              R[15]=BOOL(R[13]==R[9]);
-              if(R[15]==IFALSE){
-                R[16]=BOOL(R[13]==R[11]);
-                if(R[16]==IFALSE){
-                  R[17]=128*80+258;
-                  R[18]=BOOL(R[13]==R[17]);
-                  if(R[18]==IFALSE){
-                    R[19]=G(R[1],2);
-                    ob=(word*)R[19];acc=3;
-                  }else{
-                    R[19]=G(R[2],3);
-                    R[6]=R[7];
-                    ob=(word*)R[19];acc=4;
-                  }
-                }else{
-                  R[17]=G(R[2],2);
-                  ob=(word*)R[17];acc=3;
-                }
-              }else{
-                R[16]=G(R[2],6);
-                R[8]=R[5];
-                R[5]=R[4];R[4]=R[8];
-                ob=(word*)R[16];acc=3;
-              }
-            }else{
-              R[15]=G(R[2],8);
-              R[6]=ITRUE;
-              ob=(word*)R[15];acc=4;
-            }
-          }
-        }else{
-          {word ob=R[5];if(allocp(ob))ob=V(ob);R[11]=F((hval)ob>>TPOS&63);}
-          R[12]=BOOL(R[11]==R[7]);
-          if(R[12]==IFALSE){
-            R[13]=BOOL(R[11]==R[9]);
-            if(R[13]==IFALSE){
-              R[14]=128*78+258;
-              R[15]=BOOL(R[11]==R[14]);
-              if(R[15]==IFALSE){
-                R[16]=128*80+258;
-                R[17]=BOOL(R[11]==R[16]);
-                if(R[17]==IFALSE){
-                  R[18]=G(R[1],2);
-                  ob=(word*)R[18];acc=3;
-                }else{
-                  R[18]=G(R[2],8);
-                  R[6]=ITRUE;
-                  R[9]=R[5];
-                  R[5]=R[4];R[4]=R[9];
-                  ob=(word*)R[18];acc=4;
-                }
-              }else{
-                R[16]=G(R[2],6);
-                *fp=make_header(3,TCLOS);fp[1]=G(R[2],9);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-                ob=(word*)R[16];acc=3;
-              }
-            }else{
-              {hval r=immval(R[5])-immval(R[4]);R[15]=F(r>>FBITS&1);R[14]=F(r);}
-              R[16]=BOOL(R[15]==R[7]);
-              if(R[16]==IFALSE){
-                {hval r=immval(R[4])-immval(R[5]);R[18]=F(r>>FBITS&1);R[17]=F(r);}
-                R[19]=G(R[2],10);
-                R[4]=R[17];
-                ob=(word*)R[19];acc=2;
-              }else{
-                ob=(word*)R[3];R[3]=R[14];acc=1;
-              }
-            }
-          }else{
-            R[13]=G(R[2],11);
-            ob=(word*)R[13];acc=3;
-          }
-        }
-      }else{
-        {word ob=R[5];if(allocp(ob))ob=V(ob);R[9]=F((hval)ob>>TPOS&63);}
-        R[10]=BOOL(R[9]==R[7]);
-        if(R[10]==IFALSE){
-          R[11]=128*62+258;
-          R[12]=BOOL(R[9]==R[11]);
-          if(R[12]==IFALSE){
-            R[13]=128*78+258;
-            R[14]=BOOL(R[9]==R[13]);
-            if(R[14]==IFALSE){
-              R[15]=128*80+258;
-              R[16]=BOOL(R[9]==R[15]);
-              if(R[16]==IFALSE){
-                R[17]=G(R[1],2);
-                ob=(word*)R[17];acc=3;
-              }else{
-                R[17]=G(R[2],6);
-                ob=(word*)R[17];acc=3;
-              }
-            }else{
-              R[15]=G(R[2],5);
-              R[6]=ITRUE;
-              ob=(word*)R[15];acc=4;
-            }
-          }else{
-            {hval r=immval(R[4])+immval(R[5]);R[14]=F(r>>FBITS);R[13]=F(r);}
-            R[15]=BOOL(R[14]==R[7]);
-            if(R[15]==IFALSE){
-              R[16]=G(R[2],12);
-              *fp=make_header(3,40);fp[1]=R[13];fp[2]=R[16];R[17]=(word)fp;fp+=3;
-              ob=(word*)R[3];R[3]=R[17];acc=1;
-            }else{
-              ob=(word*)R[3];R[3]=R[13];acc=1;
-            }
-          }
-        }else{
-          {hval r=immval(R[4])-immval(R[5]);R[12]=F(r>>FBITS&1);R[11]=F(r);}
-          R[13]=BOOL(R[12]==R[7]);
-          if(R[13]==IFALSE){
-            {hval r=immval(R[5])-immval(R[4]);R[15]=F(r>>FBITS&1);R[14]=F(r);}
-            R[16]=G(R[2],10);
-            R[4]=R[14];
-            ob=(word*)R[16];acc=2;
-          }else{
-            ob=(word*)R[3];R[3]=R[11];acc=1;
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1336:
-    if(acc==3){
-      {hval r=immval(R[4])+immval(R[5]);R[7]=F(r>>FBITS);R[6]=F(r);}
-      if(R[7]==F(0)){
-        R[8]=G(R[1],2);
-        R[4]=R[6];
-        ob=(word*)R[8];acc=2;
-      }else{
-        R[8]=G(R[1],3);
-        *fp=make_header(3,41);fp[1]=R[6];fp[2]=R[8];R[9]=(word)fp;fp+=3;
-        ob=(word*)R[3];R[3]=R[9];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1337:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[7]=(word)fp;fp+=5;
-      R[8]=IFALSE;
-      R[9]=R[6];
-      R[3]=R[7];R[6]=R[8];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1338:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],2);
-        R[8]=F(0);
-        R[9]=ITRUE;
-        R[10]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        R[6]=R[8];R[7]=R[9];
-        ob=(word*)R[10];acc=5;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        *fp=make_header(3,TCLOS);fp[1]=G(R[2],3);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-        R[7]=G(R[1],2);
-        R[8]=G(R[1],3);
-        R[9]=F(0);
-        R[10]=ITRUE;
-        R[11]=R[4];R[3]=R[6];
-        R[4]=R[7];R[5]=R[8];
-        R[6]=R[9];R[7]=R[10];
-        ob=(word*)R[11];acc=5;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1339:
-    if(acc==1){
-      if(R[3]==F(0)){
-        R[4]=G(R[1],2);
-        ob=(word*)R[4];acc=1;
-      }else{
-        {word ob=R[3];if(allocp(ob))ob=V(ob);R[4]=F((hval)ob>>TPOS&63);}
-        if(R[4]==F(0)){
-          R[5]=G(R[2],2);
-          R[6]=G(R[1],2);
-          R[4]=R[3];R[3]=R[6];
-          ob=(word*)R[5];acc=2;
-        }else{
-          R[5]=G(R[2],3);
-          R[6]=G(R[1],2);
-          R[4]=R[3];R[3]=R[6];
-          ob=(word*)R[5];acc=2;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1340:
-    if(acc==6){
-      if(R[4]==INULL){
-        R[9]=IFALSE;
-        ob=(word*)R[3];R[3]=R[9];acc=1;
-      }else{
-        if(R[5]==INULL){
-          if(R[6]==F(0)){
-            ob=(word*)R[3];R[3]=R[4];acc=1;
-          }else{
-            R[9]=G(R[1],2);
-            R[5]=R[6];R[6]=R[7];
-            ob=(word*)R[9];acc=4;
-          }
-        }else{
-          R[9]=128*0+258;
-          R[10]=prim_ref(R[4],R[9]);
-          R[11]=prim_ref(R[5],R[9]);
-          {hval r=immval(R[10])-immval(R[11]);R[13]=F(r>>FBITS&1);R[12]=F(r);}
-          if(R[6]==F(0)){
-            R[14]=128*2+258;
-            R[4]=prim_ref(R[4],R[14]);
-            R[5]=prim_ref(R[5],R[14]);
-            *fp=make_header(5,TPROC);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[7];fp[2]=R[12];R[3]=(word)fp;fp+=5;
-            R[7]=IFALSE;
-            R[6]=R[13];
-            ob=(word*)R[8];acc=6;
-          }else{
-            {hval r=immval(R[12])-immval(R[9]);R[15]=F(r>>FBITS&1);R[14]=F(r);}
-            R[16]=128*2+258;
-            R[4]=prim_ref(R[4],R[16]);
-            R[5]=prim_ref(R[5],R[16]);
-            R[6]=R[13]|R[15];
-            *fp=make_header(5,TPROC);fp[1]=G(R[1],4);fp[4]=R[3];fp[3]=R[7];fp[2]=R[14];R[3]=(word)fp;fp+=5;
-            R[7]=IFALSE;
-            ob=(word*)R[8];acc=6;
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1341:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],3);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-      R[6]=ITRUE;
-      R[10]=R[5];
-      R[5]=R[4];R[4]=R[10];
-      ob=(word*)R[7];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1342:
-    if(acc==1){
-      {word ob=R[3];if(allocp(ob))ob=V(ob);R[4]=F((hval)ob>>TPOS&63);}
-      R[5]=F(0);
-      R[6]=BOOL(R[4]==R[5]);
-      if(R[6]==IFALSE){
-        R[7]=G(R[2],2);
-        R[8]=G(R[1],2);
-        R[4]=R[3];R[3]=R[8];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[7]=G(R[2],3);
-        R[8]=G(R[1],2);
-        R[4]=R[3];R[3]=R[8];
-        ob=(word*)R[7];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1343:
-    if(acc==5){
-      R[8]=128*0+258;
-      R[9]=prim_ref(R[4],R[8]);
-      {hval r=immval(R[9])-immval(R[5]);R[11]=F(r>>FBITS&1);R[10]=F(r);}
-      if(R[11]==F(0)){
-        if(R[10]==F(0)){
-          R[12]=128*2+258;
-          R[13]=prim_ref(R[4],R[12]);
-          if(R[13]==INULL){
-            if(R[6]==IFALSE){
-              R[14]=IFALSE;
-              ob=(word*)R[3];R[3]=R[14];acc=1;
-            }else{
-              ob=(word*)R[3];R[3]=R[10];acc=1;
-            }
-          }else{
-            *fp=make_header(3,40);fp[1]=R[10];fp[2]=R[13];R[14]=(word)fp;fp+=3;
-            ob=(word*)R[3];R[3]=R[14];acc=1;
-          }
-        }else{
-          R[12]=128*2+258;
-          R[13]=prim_ref(R[4],R[12]);
-          *fp=make_header(3,40);fp[1]=R[10];fp[2]=R[13];R[14]=(word)fp;fp+=3;
-          ob=(word*)R[3];R[3]=R[14];acc=1;
-        }
-      }else{
-        R[12]=128*2+258;
-        R[4]=prim_ref(R[4],R[12]);
-        *fp=make_header(5,TPROC);fp[1]=G(R[1],2);fp[4]=R[3];fp[3]=R[6];fp[2]=R[10];R[3]=(word)fp;fp+=5;
-        R[6]=IFALSE;
-        R[5]=R[11];
-        ob=(word*)R[7];acc=5;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1344:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],3);
-        if(R[4]==IFALSE){
-          R[5]=G(R[1],2);
-          if(R[5]==F(0)){
-            R[6]=G(R[1],4);
-            R[3]=IFALSE;
-            ob=(word*)R[6];acc=1;
-          }else{
-            R[6]=INULL;
-            *fp=make_header(3,40);fp[1]=R[5];fp[2]=R[6];R[3]=(word)fp;fp+=3;
-            R[8]=G(R[1],4);
-            ob=(word*)R[8];acc=1;
-          }
-        }else{
-          R[5]=G(R[1],4);
-          R[3]=G(R[1],2);
-          ob=(word*)R[5];acc=1;
-        }
-      }else{
-        R[4]=G(R[1],2);
-        *fp=make_header(3,40);fp[1]=R[4];fp[2]=R[3];R[3]=(word)fp;fp+=3;
-        R[6]=G(R[1],4);
-        ob=(word*)R[6];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1345:
-    if(acc==5){
-      if(R[4]==INULL){
-        if(R[5]==INULL){
-          if(R[6]==F(0)){
-            R[8]=INULL;
-            ob=(word*)R[3];R[3]=R[8];acc=1;
-          }else{
-            R[8]=G(R[1],2);
-            ob=(word*)R[3];R[3]=R[8];acc=1;
-          }
-        }else{
-          if(R[6]==F(0)){
-            ob=(word*)R[3];R[3]=R[5];acc=1;
-          }else{
-            R[8]=G(R[1],3);
-            R[4]=R[6];
-            ob=(word*)R[8];acc=3;
-          }
-        }
-      }else{
-        if(R[5]==INULL){
-          if(R[6]==F(0)){
-            ob=(word*)R[3];R[3]=R[4];acc=1;
-          }else{
-            R[8]=G(R[1],3);
-            R[5]=R[4];R[4]=R[6];
-            ob=(word*)R[8];acc=3;
-          }
-        }else{
-          R[8]=128*0+258;
-          R[9]=prim_ref(R[4],R[8]);
-          R[10]=prim_ref(R[5],R[8]);
-          {hval r=immval(R[9])+immval(R[10]);R[12]=F(r>>FBITS);R[11]=F(r);}
-          if(R[6]==F(0)){
-            R[13]=128*2+258;
-            R[4]=prim_ref(R[4],R[13]);
-            R[5]=prim_ref(R[5],R[13]);
-            *fp=make_header(4,TPROC);fp[1]=G(R[1],4);fp[3]=R[3];fp[2]=R[11];R[3]=(word)fp;fp+=4;
-            R[6]=R[12];
-            ob=(word*)R[7];acc=5;
-          }else{
-            {hval r=immval(R[11])+immval(R[6]);R[14]=F(r>>FBITS);R[13]=F(r);}
-            R[15]=128*2+258;
-            R[4]=prim_ref(R[4],R[15]);
-            R[5]=prim_ref(R[5],R[15]);
-            R[6]=R[12]|R[14];
-            *fp=make_header(4,TPROC);fp[1]=G(R[1],5);fp[3]=R[3];fp[2]=R[13];R[3]=(word)fp;fp+=4;
-            ob=(word*)R[7];acc=5;
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1346:
-    if(acc==4){
-      {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[7]=ob[1];R[8]=ob[2];}
-      {hval r=immval(R[4])+immval(R[7]);R[10]=F(r>>FBITS);R[9]=F(r);}
-      if(R[10]==F(0)){
-        *fp=make_header(3,40);fp[1]=R[9];fp[2]=R[8];R[11]=(word)fp;fp+=3;
-        ob=(word*)R[3];R[3]=R[11];acc=1;
-      }else{
-        if(R[8]==INULL){
-          R[11]=G(R[1],2);
-          *fp=make_header(3,40);fp[1]=R[9];fp[2]=R[11];R[12]=(word)fp;fp+=3;
-          ob=(word*)R[3];R[3]=R[12];acc=1;
-        }else{
-          *fp=make_header(4,TPROC);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[9];R[3]=(word)fp;fp+=4;
-          R[5]=R[8];R[4]=R[10];
-          ob=(word*)R[6];acc=4;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1347:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      *fp=make_header(3,40);fp[1]=R[4];fp[2]=R[3];R[3]=(word)fp;fp+=3;
-      R[6]=G(R[1],3);
-      ob=(word*)R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1348:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[9]=R[6];R[10]=R[5];
-      R[5]=R[3];R[6]=R[4];
-      R[4]=R[9];R[3]=R[10];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1349:
-    if(acc==3){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[6]=F((hval)ob>>TPOS&63);}
-      if(R[6]==F(0)){
-        R[7]=G(R[1],2);
-        if(R[4]==R[7]){
-          R[8]=G(R[1],3);
-          ob=(word*)R[3];R[3]=R[8];acc=1;
-        }else{
-          R[8]=128*0+258;
-          {hval r=immval(R[4])+immval(R[8]);R[10]=F(r>>FBITS);R[9]=F(r);}
-          ob=(word*)R[3];R[3]=R[9];acc=1;
-        }
-      }else{
-        R[7]=128*78+258;
-        if(R[6]==R[7]){
-          R[8]=128*0+258;
-          R[9]=prim_ref(R[4],R[8]);
-          R[10]=G(R[1],2);
-          if(R[9]==R[10]){
-            R[11]=128*2+258;
-            R[4]=prim_ref(R[4],R[11]);
-            *fp=make_header(3,TPROC);fp[1]=G(R[1],4);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-            ob=(word*)R[5];acc=3;
-          }else{
-            {hval r=immval(R[9])+immval(R[8]);R[12]=F(r>>FBITS);R[11]=F(r);}
-            R[13]=128*2+258;
-            R[14]=prim_ref(R[4],R[13]);
-            *fp=make_header(3,40);fp[1]=R[11];fp[2]=R[14];R[15]=(word)fp;fp+=3;
-            ob=(word*)R[3];R[3]=R[15];acc=1;
-          }
-        }else{
-          if(R[4]==INULL){
-            R[8]=G(R[1],5);
-            ob=(word*)R[3];R[3]=R[8];acc=1;
-          }else{
-            R[8]=G(R[1],6);
-            R[9]=G(R[1],7);
-            R[5]=R[4];
-            R[6]=R[4];R[4]=R[9];
-            ob=(word*)R[8];acc=4;
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1350:
-    if(acc==1){
-      R[4]=F(0);
-      *fp=make_header(3,40);fp[1]=R[4];fp[2]=R[3];R[3]=(word)fp;fp+=3;
-      R[6]=G(R[1],2);
-      ob=(word*)R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1351:
-    if(acc==3){
-      R[6]=INULL;
-      R[7]=cons(R[5],R[6]);
-      R[5]=cons(R[4],R[7]);
-      R[9]=G(R[1],2);
-      R[4]=G(R[1],3);
-      ob=(word*)R[9];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1352:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=5;
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1353:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],2);
-        R[8]=R[4];R[3]=R[5];
-        R[4]=R[6];R[5]=R[7];
-        ob=(word*)R[8];acc=3;
-      }else{
-        R[4]=G(R[1],4);
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1354:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      R[8]=R[5];
-      R[5]=R[4];R[4]=R[8];
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1355:
-    if(acc==3){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[6]=F((hval)ob>>TPOS&63);}
-      R[7]=F(0);
-      R[8]=BOOL(R[6]==R[7]);
-      if(R[8]==IFALSE){
-        R[9]=128*62+258;
-        R[10]=BOOL(R[6]==R[9]);
-        if(R[10]==IFALSE){
-          R[11]=128*78+258;
-          R[12]=BOOL(R[6]==R[11]);
-          if(R[12]==IFALSE){
-            R[13]=128*80+258;
-            R[14]=BOOL(R[6]==R[13]);
-            if(R[14]==IFALSE){
-              R[15]=G(R[1],2);
-              R[16]=G(R[1],3);
-              R[6]=R[5];
-              R[5]=R[4];R[4]=R[16];
-              ob=(word*)R[15];acc=4;
-            }else{
-              {word ob=R[5];if(allocp(ob))ob=V(ob);R[15]=F((hval)ob>>TPOS&63);}
-              R[16]=BOOL(R[15]==R[13]);
-              if(R[16]==IFALSE){
-                R[17]=IFALSE;
-                ob=(word*)R[3];R[3]=R[17];acc=1;
-              }else{
-                R[17]=G(R[1],4);
-                ob=(word*)R[17];acc=3;
-              }
-            }
-          }else{
-            {word ob=R[5];if(allocp(ob))ob=V(ob);R[13]=F((hval)ob>>TPOS&63);}
-            R[14]=BOOL(R[13]==R[11]);
-            if(R[14]==IFALSE){
-              R[15]=IFALSE;
-              ob=(word*)R[3];R[3]=R[15];acc=1;
-            }else{
-              R[15]=G(R[1],4);
-              ob=(word*)R[15];acc=3;
-            }
-          }
-        }else{
-          R[11]=BOOL(R[4]==R[5]);
-          ob=(word*)R[3];R[3]=R[11];acc=1;
-        }
-      }else{
-        R[9]=BOOL(R[4]==R[5]);
-        ob=(word*)R[3];R[3]=R[9];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1356:
-    if(acc==3){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[6]=F((hval)ob>>TPOS&63);}
-      R[7]=F(0);
-      R[8]=BOOL(R[6]==R[7]);
-      if(R[8]==IFALSE){
-        R[9]=128*62+258;
-        R[10]=BOOL(R[6]==R[9]);
-        if(R[10]==IFALSE){
-          R[11]=128*78+258;
-          R[12]=BOOL(R[6]==R[11]);
-          if(R[12]==IFALSE){
-            R[13]=128*80+258;
-            R[14]=BOOL(R[6]==R[13]);
-            if(R[14]==IFALSE){
-              R[15]=G(R[1],2);
-              R[16]=G(R[1],3);
-              R[6]=R[5];
-              R[5]=R[4];R[4]=R[16];
-              ob=(word*)R[15];acc=4;
-            }else{
-              {word ob=R[5];if(allocp(ob))ob=V(ob);R[15]=F((hval)ob>>TPOS&63);}
-              R[16]=BOOL(R[15]==R[13]);
-              if(R[16]==IFALSE){
-                R[17]=ITRUE;
-                ob=(word*)R[3];R[3]=R[17];acc=1;
-              }else{
-                R[17]=G(R[1],4);
-                *fp=make_header(3,TPROC);fp[1]=G(R[1],5);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-                R[6]=IFALSE;
-                ob=(word*)R[17];acc=4;
-              }
-            }
-          }else{
-            {word ob=R[5];if(allocp(ob))ob=V(ob);R[13]=F((hval)ob>>TPOS&63);}
-            R[14]=BOOL(R[13]==R[11]);
-            if(R[14]==IFALSE){
-              R[15]=IFALSE;
-              ob=(word*)R[3];R[3]=R[15];acc=1;
-            }else{
-              R[15]=G(R[1],4);
-              R[6]=IFALSE;
-              ob=(word*)R[15];acc=4;
-            }
-          }
-        }else{
-          {word ob=R[5];if(allocp(ob))ob=V(ob);R[11]=F((hval)ob>>TPOS&63);}
-          R[12]=BOOL(R[11]==R[7]);
-          if(R[12]==IFALSE){
-            R[13]=BOOL(R[11]==R[9]);
-            if(R[13]==IFALSE){
-              R[14]=128*78+258;
-              R[15]=BOOL(R[11]==R[14]);
-              if(R[15]==IFALSE){
-                R[16]=IFALSE;
-                ob=(word*)R[3];R[3]=R[16];acc=1;
-              }else{
-                R[16]=ITRUE;
-                ob=(word*)R[3];R[3]=R[16];acc=1;
-              }
-            }else{
-              if(R[4]==R[5]){
-                R[14]=IFALSE;
-                ob=(word*)R[3];R[3]=R[14];acc=1;
-              }else{
-                R[14]=prim_less(R[5],R[4]);
-                ob=(word*)R[3];R[3]=R[14];acc=1;
-              }
-            }
-          }else{
-            R[13]=ITRUE;
-            ob=(word*)R[3];R[3]=R[13];acc=1;
-          }
-        }
-      }else{
-        {word ob=R[5];if(allocp(ob))ob=V(ob);R[9]=F((hval)ob>>TPOS&63);}
-        R[10]=BOOL(R[9]==R[7]);
-        if(R[10]==IFALSE){
-          R[11]=128*78+258;
-          R[12]=BOOL(R[9]==R[11]);
-          if(R[12]==IFALSE){
-            R[13]=IFALSE;
-            ob=(word*)R[3];R[3]=R[13];acc=1;
-          }else{
-            R[13]=ITRUE;
-            ob=(word*)R[3];R[3]=R[13];acc=1;
-          }
-        }else{
-          R[11]=prim_less(R[4],R[5]);
-          ob=(word*)R[3];R[3]=R[11];acc=1;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1357:
-    if(acc==5){
-      if(R[4]==R[5]){
-        ob=(word*)R[3];R[3]=R[6];acc=1;
-      }else{
-        if(R[4]==INULL){
-          R[8]=ITRUE;
-          ob=(word*)R[3];R[3]=R[8];acc=1;
-        }else{
-          if(R[5]==INULL){
-            R[8]=IFALSE;
-            ob=(word*)R[3];R[3]=R[8];acc=1;
-          }else{
-            R[8]=128*0+258;
-            R[9]=prim_ref(R[4],R[8]);
-            R[10]=prim_ref(R[5],R[8]);
-            R[11]=prim_less(R[9],R[10]);
-            if(R[11]==IFALSE){
-              if(R[9]==R[10]){
-                R[12]=128*2+258;
-                R[4]=prim_ref(R[4],R[12]);
-                R[5]=prim_ref(R[5],R[12]);
-                ob=(word*)R[7];acc=5;
-              }else{
-                R[12]=128*2+258;
-                R[4]=prim_ref(R[4],R[12]);
-                R[5]=prim_ref(R[5],R[12]);
-                R[6]=IFALSE;
-                ob=(word*)R[7];acc=5;
-              }
-            }else{
-              R[12]=128*2+258;
-              R[4]=prim_ref(R[4],R[12]);
-              R[5]=prim_ref(R[5],R[12]);
-              R[6]=ITRUE;
-              ob=(word*)R[7];acc=5;
-            }
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1358:
-    if(acc==4){
-      if(R[4]==R[5]){
-        R[7]=ITRUE;
-        ob=(word*)R[3];R[3]=R[7];acc=1;
-      }else{
-        if(R[4]==INULL){
-          R[7]=IFALSE;
-          ob=(word*)R[3];R[3]=R[7];acc=1;
-        }else{
-          if(R[5]==INULL){
-            R[7]=IFALSE;
-            ob=(word*)R[3];R[3]=R[7];acc=1;
-          }else{
-            R[7]=128*0+258;
-            R[8]=prim_ref(R[4],R[7]);
-            R[9]=prim_ref(R[5],R[7]);
-            if(R[8]==R[9]){
-              R[10]=128*2+258;
-              R[4]=prim_ref(R[4],R[10]);
-              R[5]=prim_ref(R[5],R[10]);
-              ob=(word*)R[6];acc=4;
-            }else{
-              R[10]=IFALSE;
-              ob=(word*)R[3];R[3]=R[10];acc=1;
-            }
-          }
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1359:
-    if(acc==2){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[5]=F((hval)ob>>TPOS&63);}
-      R[6]=F(0);
-      R[7]=BOOL(R[5]==R[6]);
-      if(R[7]==IFALSE){
-        R[8]=128*62+258;
-        R[9]=BOOL(R[5]==R[8]);
-        if(R[9]==IFALSE){
-          R[10]=128*78+258;
-          R[11]=BOOL(R[5]==R[10]);
-          if(R[11]==IFALSE){
-            R[12]=128*80+258;
-            R[13]=BOOL(R[5]==R[12]);
-            if(R[13]==IFALSE){
-              R[14]=IFALSE;
-              ob=(word*)R[3];R[3]=R[14];acc=1;
-            }else{
-              R[14]=G(R[1],2);
-              ob=(word*)R[14];acc=2;
-            }
-          }else{
-            R[12]=G(R[1],3);
-            ob=(word*)R[12];acc=2;
-          }
-        }else{
-          R[10]=R[6]^(FMAX<<IPOS&R[4]);
-          ob=(word*)R[3];R[3]=R[10];acc=1;
-        }
-      }else{
-        if(R[4]==F(0)){
-          ob=(word*)R[3];R[3]=R[6];acc=1;
-        }else{
-          R[8]=G(R[1],4);
-          ob=(word*)R[8];acc=2;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1360:
-    if(acc==4){
-      R[7]=INULL;
-      R[8]=cons(R[6],R[7]);
-      R[9]=cons(R[5],R[8]);
-      R[5]=cons(R[4],R[9]);
-      R[11]=G(R[1],2);
-      R[4]=G(R[1],3);
-      ob=(word*)R[11];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1361:
-    if(acc==2){
-      R[5]=128*0+258;
-      R[6]=prim_ref(R[4],R[5]);
-      R[7]=128*2+258;
-      R[8]=prim_ref(R[4],R[7]);
-      *fp=make_header(3,41);fp[1]=R[6];fp[2]=R[8];R[9]=(word)fp;fp+=3;
-      ob=(word*)R[3];R[3]=R[9];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1362:
-    if(acc==2){
-      R[5]=128*0+258;
-      R[6]=prim_ref(R[4],R[5]);
-      R[7]=128*2+258;
-      R[8]=prim_ref(R[4],R[7]);
-      *fp=make_header(3,40);fp[1]=R[6];fp[2]=R[8];R[9]=(word)fp;fp+=3;
-      ob=(word*)R[3];R[3]=R[9];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1363:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[2],3);
-      R[8]=R[4];
-      R[9]=R[5];R[5]=R[3];
-      R[4]=R[6];R[3]=R[9];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1364:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[7]=R[4];
-      R[4]=R[3];R[3]=R[5];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1365:
-    if(acc==4){
-      R[7]=cons(R[5],R[4]);
-      ob=(word*)R[3];R[3]=R[7];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1366:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      *fp=make_header(3,TPROC);fp[1]=G(R[1],3);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1367:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],2);
-      R[9]=R[4];
-      R[4]=R[6];R[6]=R[3];
-      R[3]=R[5];R[5]=R[7];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1368:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(3,TPROC);fp[1]=G(R[1],3);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1369:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=INULL;
-      R[9]=R[5];
-      R[10]=R[6];R[6]=R[4];
-      R[5]=R[7];R[4]=R[10];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1370:
-    if(acc==4){
-      R[7]=cons(R[5],R[6]);
-      R[8]=cons(R[7],R[4]);
-      ob=(word*)R[3];R[3]=R[8];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1371:
-    if(acc==3){
-      assert(pairp(R[5]),R[5],105);R[6]=G(R[5],1);
-      R[7]=G(R[5],2);
-      R[8]=G(R[1],2);
-      R[5]=R[6];R[6]=R[7];
-      ob=(word*)R[8];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1372:
-    if(acc==1){
-      R[4]=G(R[1],5);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],6);
-      R[7]=G(R[1],7);
-      *fp=make_header(6,TPROC);fp[1]=G(R[2],2);fp[5]=R[7];fp[4]=R[6];fp[3]=R[4];fp[2]=R[5];R[8]=(word)fp;fp+=6;
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[11]=R[4];
-      R[4]=R[3];R[3]=R[8];
-      ob=(word*)R[11];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1373:
-    if(acc==1){
-      R[4]=G(R[1],5);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],2);
-      R[10]=R[6];
-      R[11]=R[5];R[5]=R[3];
-      R[6]=R[7];R[7]=R[4];
-      R[4]=R[10];R[3]=R[11];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1374:
-    if(acc==1){
-      R[4]=G(R[1],5);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],2);
-      R[9]=R[4];
-      R[4]=R[3];R[3]=R[5];
-      R[5]=R[6];R[6]=R[7];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1375:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[10]=R[4];R[4]=R[3];
-      R[3]=R[5];R[5]=R[6];
-      R[6]=R[7];R[7]=R[8];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1376:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],5);
-      R[6]=G(R[1],4);
-      R[7]=G(R[1],3);
-      R[8]=G(R[1],2);
-      R[10]=R[4];
-      R[11]=R[5];R[5]=R[7];
-      R[7]=R[3];R[4]=R[6];
-      R[6]=R[8];R[3]=R[11];
-      ob=(word*)R[10];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1377:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],2);
-        R[3]=ITRUE;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[1],2);
-        R[3]=IFALSE;
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1378:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[6]=INULL;
-      R[7]=R[5];R[5]=R[4];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1379:
-    if(acc==5){
-      if(R[5]==INULL){
-        R[8]=G(R[1],2);
-        *fp=make_header(4,TPROC);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-        R[4]=R[6];
-        ob=(word*)R[8];acc=2;
-      }else{
-        assert(pairp(R[5]),R[5],169);R[8]=G(R[5],2);
-        if(R[8]==INULL){
-          assert(pairp(R[4]),R[4],105);R[9]=G(R[4],1);
-          R[10]=cons(R[9],R[6]);
-          R[11]=G(R[1],2);
-          *fp=make_header(4,TPROC);fp[1]=G(R[1],4);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-          R[4]=R[10];
-          ob=(word*)R[11];acc=2;
-        }else{
-          assert(pairp(R[4]),R[4],169);R[9]=G(R[4],2);
-          assert(pairp(R[8]),R[8],169);R[5]=G(R[8],2);
-          R[11]=G(R[4],1);
-          R[6]=cons(R[11],R[6]);
-          R[4]=R[9];
-          ob=(word*)R[7];acc=5;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1380:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      assert(pairp(R[4]),R[4],169);R[5]=G(R[4],2);
-      R[6]=G(R[1],3);
-      R[4]=R[5];
-      ob=(word*)R[6];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1381:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],5);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[9]=(word)fp;fp+=6;
-      R[7]=R[4];
-      R[4]=R[3];R[3]=R[9];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1382:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],4);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[2],3);fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[8]=(word)fp;fp+=5;
-      R[7]=R[4];
-      R[4]=R[3];R[3]=R[8];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1383:
-    if(acc==4){
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],2);fp[2]=R[4];R[7]=(word)fp;fp+=3;
-      R[8]=INULL;
-      R[4]=R[5];
-      R[5]=R[6];R[6]=R[8];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1384:
-    if(acc==5){
-      if(R[5]==INULL){
-        R[8]=G(R[2],2);
-        *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-        R[4]=R[6];
-        ob=(word*)R[8];acc=2;
-      }else{
-        assert(pairp(R[5]),R[5],105);R[8]=G(R[5],1);
-        R[9]=G(R[1],2);
-        *fp=make_header(6,TPROC);fp[1]=G(R[2],4);fp[5]=R[7];fp[4]=R[3];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[5]=R[8];
-        ob=(word*)R[9];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1385:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      assert(pairp(R[5]),R[5],169);R[6]=G(R[5],2);
-      R[7]=G(R[1],3);
-      R[8]=cons(R[4],R[7]);
-      R[7]=G(R[1],5);
-      R[10]=G(R[1],4);
-      R[4]=R[3];R[5]=R[6];
-      R[6]=R[8];R[3]=R[10];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1386:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[7]=(word)fp;fp+=4;
-      R[8]=R[4];
-      R[4]=R[3];R[3]=R[7];
-      ob=(word*)R[8];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1387:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[8]=R[4];R[4]=R[3];
-      R[3]=R[5];R[5]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1388:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],3);fp[2]=R[4];R[7]=(word)fp;fp+=3;
-      R[8]=INULL;
-      R[9]=R[6];R[6]=R[5];
-      R[4]=R[7];R[5]=R[8];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1389:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(5,TPROC);fp[1]=G(R[2],2);fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-      ob=(word*)R[6];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1390:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],4);
-        R[3]=G(R[1],3);
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[1],2);
-        R[5]=G(R[1],3);
-        R[3]=cons(R[4],R[5]);
-        R[7]=G(R[1],4);
-        ob=(word*)R[7];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1391:
-    if(acc==3){
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],2);fp[2]=R[4];R[6]=(word)fp;fp+=3;
-      R[7]=INULL;
-      R[4]=R[5];R[5]=R[7];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1392:
-    if(acc==4){
-      if(R[4]==INULL){
-        R[7]=G(R[2],2);
-        *fp=make_header(3,TPROC);fp[1]=G(R[2],3);fp[2]=R[3];R[3]=(word)fp;fp+=3;
-        R[4]=R[5];
-        ob=(word*)R[7];acc=2;
-      }else{
-        assert(pairp(R[4]),R[4],105);R[7]=G(R[4],1);
-        R[8]=G(R[1],2);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],4);fp[5]=R[6];fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=6;
-        R[4]=R[7];
-        ob=(word*)R[8];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1393:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],4);
-        *fp=make_header(4,TPROC);fp[1]=G(R[2],3);fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        R[8]=G(R[1],3);
-        R[9]=R[4];R[4]=R[8];
-        ob=(word*)R[9];acc=2;
-      }else{
-        R[4]=G(R[1],2);
-        assert(pairp(R[4]),R[4],169);R[5]=G(R[4],2);
-        R[6]=G(R[4],1);
-        R[7]=G(R[1],3);
-        R[8]=cons(R[6],R[7]);
-        R[6]=G(R[1],5);
-        R[3]=G(R[1],4);
-        R[4]=R[5];R[5]=R[8];
-        ob=(word*)R[6];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1394:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[7]=R[4];R[4]=R[5];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1395:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=INULL;
-      R[7]=R[4];R[4]=R[5];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1396:
-    if(acc==4){
-      if(R[4]==INULL){
-        ob=(word*)R[3];R[3]=R[5];acc=1;
-      }else{
-        assert(pairp(R[4]),R[4],169);R[7]=G(R[4],2);
-        R[8]=G(R[4],1);
-        R[5]=cons(R[8],R[5]);
-        R[4]=R[7];
-        ob=(word*)R[6];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1397:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(5,TCLOS);fp[1]=G(R[1],3);fp[4]=R[3];fp[3]=R[5];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-      ob=(word*)R[6];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1398:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],4);
-        R[3]=G(R[1],2);
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[1],2);
-        assert(pairp(R[4]),R[4],169);R[5]=G(R[4],2);
-        if(R[5]==INULL){
-          R[3]=G(R[4],1);
-          R[7]=G(R[1],4);
-          ob=(word*)R[7];acc=1;
-        }else{
-          R[6]=G(R[4],1);
-          R[4]=G(R[4],2);
-          R[5]=G(R[1],3);
-          R[9]=G(R[1],4);
-          *fp=make_header(4,TCLOS);fp[1]=G(R[2],2);fp[3]=R[9];fp[2]=R[6];R[3]=(word)fp;fp+=4;
-          ob=(word*)R[5];acc=3;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1399:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[8]=R[4];
-      R[9]=R[5];R[5]=R[3];
-      R[4]=R[6];R[3]=R[9];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1400:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      R[7]=G(R[1],3);
-      R[9]=R[6];
-      R[6]=R[4];R[4]=R[7];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1401:
-    if(acc==3){
-      ob=(word*)R[3];R[3]=R[5];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1402:
-    if(acc==4){
-      if(R[5]==INULL){
-        R[7]=IFALSE;
-        ob=(word*)R[3];R[3]=R[7];acc=1;
-      }else{
-        assert(pairp(R[5]),R[5],105);R[7]=G(R[5],1);
-        if(R[7]==R[4]){
-          ob=(word*)R[3];R[3]=R[5];acc=1;
-        }else{
-          R[5]=G(R[5],2);
-          ob=(word*)R[6];acc=4;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1403:
-    if(acc==4){
-      if(R[5]==INULL){
-        R[7]=INULL;
-        ob=(word*)R[3];R[3]=R[7];acc=1;
-      }else{
-        {word*ob=(word*)R[5];hval hdr;assert(allocp(R[5]),R[5],IFALSE);hdr=*ob;assert_not(rawp(hdr)||objsize(hdr)!=3,ob,IFALSE);
-R[7]=ob[1];R[8]=ob[2];}
-        *fp=make_header(6,TCLOS);fp[1]=G(R[1],2);fp[5]=R[3];fp[4]=R[6];fp[3]=R[4];fp[2]=R[8];R[3]=(word)fp;fp+=6;
-        R[8]=R[4];R[4]=R[7];
-        ob=(word*)R[8];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1404:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],5);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],2);fp[3]=R[5];fp[2]=R[3];R[6]=(word)fp;fp+=4;
-      R[7]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[3]=R[6];
-      R[6]=R[4];R[4]=R[7];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1405:
-    if(acc==5){
-      if(R[6]==INULL){
-        ob=(word*)R[3];R[3]=R[5];acc=1;
-      }else{
-        assert(pairp(R[6]),R[6],105);R[8]=G(R[6],1);
-        R[6]=G(R[6],2);
-        *fp=make_header(5,TPROC);fp[1]=G(R[1],2);fp[4]=R[4];fp[3]=R[3];fp[2]=R[8];R[3]=(word)fp;fp+=5;
-        ob=(word*)R[7];acc=5;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1406:
-    if(acc==1){
-      R[4]=G(R[1],4);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[8]=R[4];
-      R[9]=R[5];R[5]=R[3];
-      R[4]=R[6];R[3]=R[9];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1407:
-    if(acc==6){
-      if(R[7]==INULL){
-        R[7]=R[3];
-        R[3]=R[5];R[4]=R[6];
-        ob=(word*)R[7];acc=2;
-      }else{
-        assert(pairp(R[7]),R[7],105);R[9]=G(R[7],1);
-        *fp=make_header(6,TPROC);fp[1]=G(R[1],2);fp[5]=R[8];fp[4]=R[3];fp[3]=R[4];fp[2]=R[7];R[3]=(word)fp;fp+=6;
-        R[11]=R[4];R[4]=R[5];
-        R[5]=R[6];R[6]=R[9];
-        ob=(word*)R[11];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1408:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      assert(pairp(R[5]),R[5],169);R[6]=G(R[5],2);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],4);
-      R[9]=G(R[1],3);
-      R[5]=R[3];R[3]=R[8];
-      R[8]=R[7];R[7]=R[6];
-      R[6]=R[4];R[4]=R[9];
-      ob=(word*)R[8];acc=6;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1409:
-    if(acc==5){
-      *fp=make_header(7,TCLOS);fp[1]=G(R[1],2);fp[6]=R[3];fp[5]=R[7];fp[4]=R[4];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=7;
-      R[4]=R[5];
-      ob=(word*)R[6];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1410:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],4);
-        R[5]=G(R[1],3);
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],6);
-        *fp=make_header(6,TCLOS);fp[1]=G(R[2],2);fp[5]=R[7];fp[4]=R[6];fp[3]=R[4];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        R[9]=G(R[1],2);
-        R[7]=R[4];R[4]=R[9];
-        ob=(word*)R[7];acc=2;
-      }else{
-        R[4]=G(R[1],6);
-        R[3]=INULL;
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1411:
-    if(acc==2){
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],5);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],2);fp[3]=R[6];fp[2]=R[3];R[7]=(word)fp;fp+=4;
-      R[8]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[3]=R[7];R[7]=R[5];
-      R[5]=R[4];R[4]=R[8];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1412:
-    if(acc==5){
-      if(R[6]==INULL){
-        ob=(word*)R[3];R[3]=R[5];acc=1;
-      }else{
-        assert(pairp(R[6]),R[6],105);R[8]=G(R[6],1);
-        *fp=make_header(6,TPROC);fp[1]=G(R[1],2);fp[5]=R[7];fp[4]=R[3];fp[3]=R[4];fp[2]=R[6];R[3]=(word)fp;fp+=6;
-        R[10]=R[4];
-        R[4]=R[5];R[5]=R[8];
-        ob=(word*)R[10];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1413:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      assert(pairp(R[4]),R[4],169);R[5]=G(R[4],2);
-      R[6]=G(R[1],5);
-      R[7]=G(R[1],4);
-      R[8]=G(R[1],3);
-      R[10]=R[7];R[7]=R[6];
-      R[6]=R[5];R[5]=R[3];
-      R[4]=R[8];R[3]=R[10];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1414:
-    if(acc==3){
-      if(R[4]==INULL){
-        R[6]=ITRUE;
-        ob=(word*)R[3];R[3]=R[6];acc=1;
-      }else{
-        R[6]=G(R[1],2);
-        *fp=make_header(5,TPROC);fp[1]=G(R[1],3);fp[4]=R[5];fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=5;
-        ob=(word*)R[6];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1415:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],3);
-        R[3]=IFALSE;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[1],2);
-        assert(pairp(R[4]),R[4],169);R[5]=G(R[4],2);
-        R[6]=G(R[1],4);
-        R[3]=G(R[1],3);
-        R[4]=R[5];R[5]=R[6];
-        ob=(word*)R[5];acc=3;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1416:
-    if(acc==2){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[5]=F((hval)ob>>TPOS&63);}
-      R[6]=128*0+258;
-      R[7]=BOOL(R[6]==R[5]);
-      ob=(word*)R[3];R[3]=R[7];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1417:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      *fp=make_header(3,TCLOS);fp[1]=G(R[2],3);fp[2]=R[5];R[6]=(word)fp;fp+=3;
-      R[7]=R[4];
-      R[4]=R[3];R[3]=R[6];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1418:
-    if(acc==2){
-      *fp=make_header(3,TPROC);fp[1]=G(R[1],2);fp[2]=R[4];R[5]=(word)fp;fp+=3;
-      ob=(word*)R[3];R[3]=R[5];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1419:
-    if(acc==4){
-      if(R[5]==R[6]){
-        R[7]=ITRUE;
-        ob=(word*)R[3];R[3]=R[7];acc=1;
-      }else{
-        {word ob=R[5];if(allocp(ob))ob=V(ob);R[7]=F((hval)ob>>TPOS&63);}
-        R[8]=128*6+258;
-        if(R[7]==R[8]){
-          R[9]=IFALSE;
-          ob=(word*)R[3];R[3]=R[9];acc=1;
-        }else{
-          R[9]=G(R[1],2);
-          *fp=make_header(7,TCLOS);fp[1]=G(R[1],3);fp[6]=R[3];fp[5]=R[5];fp[4]=R[6];fp[3]=R[4];fp[2]=R[7];R[3]=(word)fp;fp+=7;
-          R[4]=R[5];
-          ob=(word*)R[9];acc=2;
-        }
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1420:
-    if(acc==1){
-      if(R[3]==F(0)){
-        R[4]=G(R[1],6);
-        R[3]=IFALSE;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],3);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],5);
-        R[9]=G(R[1],6);
-        *fp=make_header(8,TCLOS);fp[1]=G(R[2],3);fp[7]=R[9];fp[6]=R[8];fp[5]=R[7];fp[4]=R[6];fp[3]=R[3];fp[2]=R[5];R[3]=(word)fp;fp+=8;
-        R[8]=R[4];R[4]=R[7];
-        ob=(word*)R[8];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1421:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      if(R[4]==R[3]){
-        R[5]=G(R[1],5);
-        {word ob=R[5];if(allocp(ob))ob=V(ob);R[6]=F((hval)ob>>TPOS&63);}
-        R[7]=G(R[1],2);
-        if(R[7]==R[6]){
-          R[8]=G(R[1],6);
-          if(immediatep(R[8])){R[9]=IFALSE;}else{hval h=V(R[8]);R[9]=rawp(h)?F(payl_len(h)):IFALSE;}          if(R[9]==IFALSE){
-            R[10]=G(R[2],2);
-            R[3]=G(R[1],7);
-            R[6]=G(R[1],4);
-            R[7]=R[4];R[4]=R[8];
-            ob=(word*)R[10];acc=5;
-          }else{
-            if(immediatep(R[5])){R[10]=IFALSE;}else{hval h=V(R[5]);R[10]=rawp(h)?F(payl_len(h)):IFALSE;}            if(R[9]==R[10]){
-              R[11]=G(R[2],3);
-              R[3]=G(R[1],7);
-              R[4]=R[8];R[6]=R[9];
-              ob=(word*)R[11];acc=4;
-            }else{
-              R[11]=G(R[1],7);
-              R[3]=IFALSE;
-              ob=(word*)R[11];acc=1;
-            }
-          }
-        }else{
-          R[8]=G(R[1],7);
-          R[3]=IFALSE;
-          ob=(word*)R[8];acc=1;
-        }
-      }else{
-        R[5]=G(R[1],7);
-        R[3]=IFALSE;
-        ob=(word*)R[5];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1422:
-    if(acc==5){
-      R[8]=F(0);
-      R[9]=BOOL(R[6]==R[8]);
-      if(R[9]==IFALSE){
-        R[10]=128*0+258;
-        {hval r=immval(R[6])-immval(R[10]);R[12]=F(r>>FBITS&1);R[11]=F(r);}
-        R[13]=prim_ref(R[4],R[11]);
-        R[14]=prim_ref(R[5],R[11]);
-        if(R[13]==R[14]){
-          R[6]=R[11];
-          ob=(word*)R[7];acc=5;
-        }else{
-          R[15]=IFALSE;
-          ob=(word*)R[3];R[3]=R[15];acc=1;
-        }
-      }else{
-        ob=(word*)R[3];R[3]=R[9];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1423:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1424:
-    if(acc==6){
-      R[9]=128*0+258;
-      R[10]=BOOL(R[7]==R[9]);
-      if(R[10]==IFALSE){
-        {hval r=immval(R[7])-immval(R[9]);R[12]=F(r>>FBITS&1);R[11]=F(r);}
-        R[13]=prim_ref(R[4],R[11]);
-        R[14]=prim_ref(R[5],R[11]);
-        *fp=make_header(8,TPROC);fp[1]=G(R[1],2);fp[7]=R[3];fp[6]=R[8];fp[5]=R[4];fp[4]=R[5];fp[3]=R[6];fp[2]=R[11];R[3]=(word)fp;fp+=8;
-        R[4]=R[13];R[5]=R[14];
-        ob=(word*)R[6];acc=3;
-      }else{
-        ob=(word*)R[3];R[3]=R[10];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1425:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[1],7);
-        R[3]=IFALSE;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[1],6);
-        R[5]=G(R[1],7);
-        R[6]=G(R[1],5);
-        R[7]=G(R[1],4);
-        R[8]=G(R[1],3);
-        R[9]=G(R[1],2);
-        R[11]=R[6];
-        R[6]=R[8];R[8]=R[4];
-        R[3]=R[5];R[5]=R[7];
-        R[7]=R[9];R[4]=R[11];
-        ob=(word*)R[8];acc=6;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1426:
-    if(acc==5){
-      R[8]=G(R[1],2);
-      ob=(word*)R[8];acc=6;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1427:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[4];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-      ob=(word*)R[6];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1428:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],2);
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],3);fp[2]=R[5];R[3]=(word)fp;fp+=3;
-      R[7]=G(R[1],3);
-      *fp=make_header(3,TPROC);fp[1]=G(R[2],4);fp[2]=R[7];R[8]=(word)fp;fp+=3;
-      R[7]=R[4];R[4]=R[8];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1429:
-    if(acc==2){
-      R[5]=128*0+258;
-      R[6]=prim_ref(R[4],R[5]);
-      R[7]=G(R[1],2);
-      R[8]=BOOL(R[6]==R[7]);
-      ob=(word*)R[3];R[3]=R[8];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1430:
-    if(acc==1){
-      R[4]=128*2+258;
-      R[3]=prim_ref(R[3],R[4]);
-      R[6]=G(R[1],2);
-      ob=(word*)R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1431:
-    if(acc==1){
-      R[4]=G(R[1],5);
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],3);
-      R[7]=G(R[1],2);
-      R[10]=R[5];R[5]=R[6];
-      R[6]=R[7];R[7]=R[4];
-      R[4]=R[3];R[3]=R[10];
-      ob=(word*)R[7];acc=5;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1432:
-    if(acc==2){
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],4);fp[2]=R[4];R[5]=(word)fp;fp+=3;
-      R[6]=G(R[1],2);
-      *fp=make_header(4,TPROC);fp[1]=G(R[1],3);fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-      ob=(word*)R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1433:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(6,TCLOS);fp[1]=G(R[2],2);fp[5]=R[3];fp[4]=R[4];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1434:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],2);
-        R[6]=G(R[1],4);
-        R[7]=G(R[1],5);
-        R[8]=G(R[1],3);
-        *fp=make_header(6,TPROC);fp[1]=G(R[2],3);fp[5]=R[8];fp[4]=R[7];fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=6;
-        ob=(word*)R[4];acc=1;
-      }else{
-        R[4]=G(R[2],4);
-        R[5]=G(R[1],4);
-        R[6]=G(R[1],5);
-        *fp=make_header(4,TPROC);fp[1]=G(R[2],5);fp[3]=R[6];fp[2]=R[5];R[3]=(word)fp;fp+=4;
-        R[8]=G(R[1],2);
-        R[9]=R[4];R[4]=R[8];
-        ob=(word*)R[9];acc=2;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1435:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[3]=G(R[1],2);
-      ob=(word*)R[4];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1436:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[6]=cons(R[4],R[5]);
-      R[7]=G(R[1],5);
-      R[8]=G(R[1],4);
-      R[4]=R[3];R[5]=R[6];
-      R[6]=R[7];R[3]=R[8];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1437:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[6]=INULL;
-      R[9]=R[5];
-      R[5]=R[6];R[6]=R[4];
-      R[4]=R[3];R[3]=R[9];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1438:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[5]=128*24+258;
-      R[6]=IFALSE;
-      R[9]=R[4];
-      R[4]=R[5];R[5]=R[6];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1439:
-    if(acc==2){
-      R[5]=G(R[1],4);
-      R[6]=G(R[1],2);
-      *fp=make_header(4,TPROC);fp[1]=G(R[1],3);fp[3]=R[5];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-      ob=(word*)R[6];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1440:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[4];R[6]=(word)fp;fp+=4;
-      R[7]=128*36+258;
-      R[9]=R[5];
-      R[5]=R[4];R[3]=R[6];
-      R[6]=R[4];R[4]=R[7];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1441:
-    if(acc==1){
-      R[4]=G(R[2],2);
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[7]=R[4];
-      R[3]=R[5];R[4]=R[6];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1442:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      R[7]=128*16+258;
-      R[9]=R[6];R[6]=R[5];
-      R[5]=R[4];R[4]=R[7];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1443:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[6]=128*10+258;
-      R[9]=R[5];
-      R[10]=R[6];R[5]=R[4];
-      R[6]=R[4];R[4]=R[10];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1444:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      R[7]=128*8+258;
-      R[9]=R[6];R[6]=R[5];
-      R[5]=R[4];R[4]=R[7];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1445:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[6]=128*2+258;
-      R[9]=R[5];
-      R[10]=R[6];R[5]=R[4];
-      R[6]=R[4];R[4]=R[10];
-      ob=(word*)R[9];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1446:
-    if(acc==4){
-      R[7]=G(R[1],2);
-      *fp=make_header(5,TPROC);fp[1]=G(R[1],3);fp[4]=R[4];fp[3]=R[5];fp[2]=R[6];R[4]=(word)fp;fp+=5;
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1447:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[8]=R[5];R[5]=R[4];
-      R[4]=R[3];R[3]=R[8];
-      ob=(word*)R[5];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1448:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      *fp=make_header(4,TCLOS);fp[1]=G(R[1],3);fp[3]=R[3];fp[2]=R[4];R[3]=(word)fp;fp+=4;
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1449:
-    if(acc==1){
-      if(R[3]==IFALSE){
-        R[4]=G(R[2],2);
-        R[5]=G(R[1],3);
-        *fp=make_header(3,TPROC);fp[1]=G(R[2],3);fp[2]=R[5];R[3]=(word)fp;fp+=3;
-        R[7]=G(R[1],2);
-        R[8]=R[4];R[4]=R[7];
-        ob=(word*)R[8];acc=2;
-      }else{
-        R[4]=G(R[1],3);
-        R[3]=F(0);
-        ob=(word*)R[4];acc=1;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1450:
-    if(acc==1){
-      R[4]=128*14+258;
-      {hval x=immval(R[3]);uint n=immval(R[4]);R[5]=F(x>>n);R[6]=F(x<<(FBITS-n));}
-      R[7]=G(R[1],2);
-      R[3]=R[5];
-      ob=(word*)R[7];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1451:
-    if(acc==2){
-      *fp=make_header(3,TCLOS);fp[1]=G(R[1],2);fp[2]=R[3];R[5]=(word)fp;fp+=3;
-      R[7]=R[4];R[4]=R[5];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1452:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      ob=(word*)R[5];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1453:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[6]=F(0);
-      R[9]=R[6];
-      R[6]=R[5];R[5]=R[9];
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1454:
-    if(acc==4){
-      if(R[4]==INULL){
-        ob=(word*)R[3];R[3]=R[5];acc=1;
-      }else{
-        assert(pairp(R[4]),R[4],105);R[7]=G(R[4],1);
-        R[4]=G(R[4],2);
-        *fp=make_header(4,TPROC);fp[1]=G(R[1],2);fp[3]=R[3];fp[2]=R[7];R[3]=(word)fp;fp+=4;
-        ob=(word*)R[6];acc=4;
-      }
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1455:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      R[3]=cons(R[4],R[3]);
-      R[6]=G(R[1],3);
-      ob=(word*)R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1456:
-    if(acc==3){
-      R[6]=G(R[1],2);
-      ob=(word*)R[6];acc=4;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1457:
-    if(acc==2){
-      {word ob=R[4];if(allocp(ob))ob=V(ob);R[5]=F((hval)ob>>TPOS&63);}
-      R[6]=128*8+258;
-      R[7]=BOOL(R[6]==R[5]);
-      ob=(word*)R[3];R[3]=R[7];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1458:
-    if(acc==2){
-      R[5]=F(0);
-      R[6]=R[4]&R[5];
-      R[7]=BOOL(R[6]==R[5]);
-      ob=(word*)R[3];R[3]=R[7];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1459:
-    if(acc==2){
-      ob=(word*)R[3];R[3]=R[4];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1460:
-    if(acc==2){
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[8]=R[5];
-      R[5]=R[4];R[4]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1461:
-    if(acc==3){
-      *fp=make_header(4,TPROC);fp[1]=G(R[1],2);fp[3]=R[4];fp[2]=R[5];R[6]=(word)fp;fp+=4;
-      ob=(word*)R[3];R[3]=R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1462:
-    if(acc==2){
-      R[5]=G(R[1],3);
-      R[6]=G(R[1],2);
-      R[8]=R[5];R[5]=R[6];
-      ob=(word*)R[8];acc=3;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1463:
-    if(acc==3){
-      *fp=make_header(4,TCLOS);fp[1]=G(R[1],2);fp[3]=R[4];fp[2]=R[5];R[6]=(word)fp;fp+=4;
-      ob=(word*)R[3];R[3]=R[6];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1464:
-    if(acc==2){
-      R[5]=G(R[1],2);
-      R[6]=G(R[1],3);
-      *fp=make_header(4,TPROC);fp[1]=G(R[2],2);fp[3]=R[6];fp[2]=R[3];R[3]=(word)fp;fp+=4;
-      ob=(word*)R[5];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1465:
-    if(acc==1){
-      R[4]=G(R[1],3);
-      R[5]=G(R[1],2);
-      R[7]=R[4];
-      R[4]=R[3];R[3]=R[5];
-      ob=(word*)R[7];acc=2;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-   case 1466:
-    if(acc==1){
-      R[4]=G(R[1],2);
-      ob=(word*)R[3];R[3]=R[4];acc=1;
-    }else{
-      error(61,ob,F(acc));
-    }
-     break;
-
-      default:
-         error(258, F(op), ITRUE);
-   }
-   goto apply;
-
-invoke_mcp: /* R4-R6 set, set R3=cont and R4=syscall and call mcp */
-   ob = (word *) R[0];
-   R[0] = IFALSE;
-   R[3] = F(3);
-   if (allocp(ob)) {
-      acc = 4;
-      goto apply;
-   }
-   return 1; /* no mcp to handle error (fail in it?), so nonzero exit */
-}
-
-/* Initial FASL image decoding */
-
-static word get_nat() {
-   word result = 0;
-   word new, i;
-   do {
-      i = *hp++;
-      new = result << 7;
-      if (result != new >> 7)
-         exit(9); /* overflow kills */
-      result = new + (i & 127);
-   } while (i & 128);
-   return result;
-}
-
-static word *get_field(word *ptrs, int pos) {
-   if (0 == *hp) {
-      byte type;
-      hp++;
-      type = *hp++;
-      *fp++ = make_immediate(get_nat(), type);
-   } else {
-      word diff = get_nat();
-      if (ptrs != NULL)
-         *fp++ = ptrs[pos - diff];
-   }
-   return fp;
-}
-
-static word *get_obj(word *ptrs, int me) {
-   uint type, size;
-   if (ptrs != NULL)
-      ptrs[me] = (word)fp;
-   switch (*hp++) { /* TODO: adding type information here would reduce fasl and executable size */
-      case 1:
-         type = *hp++;
-         size = get_nat();
-         *fp++ = make_header(size+1, type); /* +1 to include header in size */
-         while (size--)
-            fp = get_field(ptrs, me);
-         break;
-      case 2: {
-         type = *hp++ & 31; /* low 5 bits, the others are pads */
-         size = get_nat();
-         memcpy((word *)mkraw(type, size) + 1, hp, size);
-         hp += size;
-         break;
-      }
-      default:
-         exit(42);
-   }
-   return fp;
-}
-
-/* dry run fasl decode - just compute sizes */
-static void get_obj_metrics(int *rwords, int *rnobjs) {
-   int size;
-   switch (*hp++) {
-      case 1:
-         hp++;
-         size = get_nat();
-         *rnobjs += 1;
-         *rwords += size;
-         while (size--) {
-            if (0 == *hp)
-               hp += 2;
-            get_nat();
-         }
-         break;
-      case 2:
-         hp++;
-         size = get_nat();
-         *rnobjs += 1;
-         *rwords += (W + size + W - 1) / W;
-         hp += size;
-         break;
-      default:
-         exit(42);
-   }
-}
-
-/* count number of objects and measure heap size */
-static void heap_metrics(int *rwords, int *rnobjs) {
-   const byte *hp_start = hp;
-   while (*hp != 0)
-      get_obj_metrics(rwords, rnobjs);
-   hp = hp_start;
-}
-/*
-static void read_heap(const char *path) {
-   struct stat st;
-   off_t pos = 0;
-   ssize_t n;
-   int fd = open(path, O_RDONLY);
-   if (fd == -1)
-      exit(1);
-   if (fstat(fd, &st) != 0)
-      exit(2);
-   file_heap = realloc(NULL, st.st_size);
-   if (file_heap == NULL)
-      exit(3);
-   do {
-      n = read(fd, file_heap + pos, st.st_size - pos);
-      if (n == -1)
-         exit(4);
-   } while (n && (pos += n) < st.st_size);
-   close(fd);
-}
-*/
-
-/* find a fasl image source to *hp or exit */
-//static void find_heap(int *nargs, char ***argv, int *nobjs, int *nwords) {
-//   file_heap = NULL;
-//   if ((word)heap == 0) {
-      /* if no preloaded heap, try to load it from first vm arg */
-//      if (*nargs < 2)
-//         exit(1);
-//      read_heap(argv[0][1]);
-//      ++*argv;
-//      --*nargs;
-//      hp = file_heap;
-//      if (*hp == '#')
-//         while (*hp++ != '\n');
-//   } else {
-//      hp = heap; /* builtin heap */
-//   }
-//   heap_metrics(nwords, nobjs);
-//}
-
-static word *decode_fasl(uint nobjs) {
-   word *ptrs;
-   word *entry;
-   uint pos;
-   allocate(nobjs + 1, ptrs);
-   for (pos = 0; pos != nobjs; ++pos) {
-      if (fp >= memend) /* bug */
-         exit(1);
-      fp = get_obj(ptrs, pos);
-   }
-   entry = (word *) ptrs[pos - 1];
-   *ptrs = make_header(nobjs + 1, 0) | RAWBIT;
-   return entry;
-}
-
-static word *load_heap(uint nobjs) {
-   word *entry = decode_fasl(nobjs);
-   if (file_heap != NULL)
-      free(file_heap);
-   return entry;
-}
-/*
-static void setup(int nwords, int nobjs) {
-   tcgetattr(0, &tsettings);
-   state = IFALSE;
-   set_signal_handler();
-   max_heap_mb = W == 4 ? 4096 : 65535;
-   nwords += nobjs + INITCELLS;
-   memstart = genstart = fp = realloc(NULL, (nwords + MEMPAD) * W);
-   if (memstart == NULL)
-      exit(4);
-   memend = memstart + nwords - MEMPAD;
-}
-
-static int secondary(int nargs, char **argv) {
-   word *prog;
-   int rval, nobjs=0, nwords=0;
-   find_heap(&nargs, &argv, &nobjs, &nwords);
-   setup(nwords, nobjs);
-   prog = load_heap(nobjs);
-   rval = vm(prog, onum((uintptr_t)argv, 0));
-   setdown();
-   if (fixnump(rval)) {
-      int n = immval(rval);
-      if (!(n & ~127))
-         return n;
-   }
-   return 127;
-}
-*/
-
-void radamsa_init(void) {
-   int nobjs=0, nwords=0;
-   hp = (byte *) &heap; /* builtin heap */
-   state = IFALSE;
-   heap_metrics(&nwords, &nobjs);
-   max_heap_mb = (W == 4) ? 4096 : 65535;
-   nwords += nobjs + INITCELLS;
-   memstart = genstart = fp = (word *) realloc(NULL, (nwords + MEMPAD)*W);
-   if (!memstart) return;
-   memend = memstart + nwords - MEMPAD;
-   state = (word) load_heap(nobjs);
-}
-
-/* bvec → value library call test with preserved state */
-static word library_call(word val) {
-   word program_state = state;
-   word res;
-   state = IFALSE; 
-   if (program_state == IFALSE) {
-      exit(1);
-   }
-   res = vm((word *) program_state, val);
-   return res;
-}
-
-/*
-static size_t list_length(word lispval) {
-   size_t l = 0;
-   while(lispval != INULL) {
-      lispval = G(lispval, 2);
-      l++;
-   }
-   return l;
-}
-*/
-
-static size_t copy_list(uint8_t *ptr, word lispval, size_t max) {
-   size_t n = 0;
-   while(pairp((word)lispval) && max-- && lispval != INULL) {
-      *ptr++ = 255 & immval(G(lispval, 1)); // *ptr++ = car(list)
-      n++;
-      lispval = G(lispval, 2);              // list   = cdr(list)
-   }
-   if (lispval != INULL && max == 0) {
-      printf("ERROR: lisp return value was not a proper list. Trailing %lu\n", (unsigned long)lispval);
-   }
-   return n;
-}
-
-/* read data from *ptr - *(ptr + len), write output to *target and return amount of data written */
-size_t radamsa(uint8_t *ptr, size_t len, uint8_t *target, size_t max, unsigned int seed) {
-   word *arg, res;
-   word lptr = onum((word)ptr, 0);
-   word llen = onum((word)len, 0);
-   word lmax = onum((word)max, 0);
-   word lseed = onum((word)seed, 0);
-   arg = fp;
-   fp += 5;
-   arg[0] = make_header(5, TTUPLE);
-   arg[1] = lptr;
-   arg[2] = llen;
-   arg[3] = lmax;
-   arg[4] = lseed;
-   res = library_call((word) arg);
-   return copy_list(target, res, max);
-}
-
-size_t radamsa_inplace(uint8_t *ptr, size_t len, size_t max, unsigned int seed) {
-   return radamsa(ptr, len, ptr, max, seed);
-}
-
diff --git a/src/third_party/libradamsa/radamsa.h b/src/third_party/libradamsa/radamsa.h
deleted file mode 100644
index 073599da..00000000
--- a/src/third_party/libradamsa/radamsa.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <inttypes.h>
-#include <stddef.h>
-
-void radamsa_init(void);
-
-size_t radamsa(uint8_t *ptr, size_t len,
-                      uint8_t *target, size_t max,
-                      unsigned int seed);
-
-size_t radamsa_inplace(uint8_t *ptr,
-                              size_t len,
-                              size_t max,
-                              unsigned int seed);
diff --git a/test/test.sh b/test/test.sh
index 95aa6159..a7d9fc49 100755
--- a/test/test.sh
+++ b/test/test.sh
@@ -23,7 +23,7 @@ else
 fi
 
 test_compcov_binary_functionality() {
-  RUN="../afl-showmap -o /dev/null -- $1"
+  RUN="../afl-showmap -m ${MEM_LIMIT} -o /dev/null -- $1"
   $RUN 'LIBTOKENCAP' | grep 'your string was LIBTOKENCAP' \
     && $RUN 'BUGMENOT' | grep 'your string was BUGMENOT' \
     && $RUN 'BANANA' | grep 'your string started with BAN' \
@@ -86,7 +86,7 @@ export AFL_LLVM_INSTRUMENT=AFL
 
 # on OpenBSD we need to work with llvm from /usr/local/bin
 test -e /usr/local/bin/opt && {
-  export PATH=/usr/local/bin:${PATH}
+  export PATH="/usr/local/bin:${PATH}"
 }
 # on MacOS X we prefer afl-clang over afl-gcc, because
 # afl-gcc does not work there
@@ -108,7 +108,7 @@ RESET="\\033[0m"
 
 MEM_LIMIT=none
 
-export PATH=$PATH:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
+export PATH="${PATH}:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"
 
 $ECHO "${RESET}${GREY}[*] starting afl++ test framework ..."
 
@@ -459,24 +459,23 @@ test -e ../afl-clang-lto -a -e ../afl-llvm-lto-instrumentation.so && {
   }
   rm -f test-instr.plain
 
-# Disabled whitelist until I have a different solution -mh
-#  echo foobar.c > whitelist.txt
-#  AFL_LLVM_WHITELIST=whitelist.txt ../afl-clang-lto -o test-compcov test-compcov.c > test.out 2>&1
-#  test -e test-compcov && {
-#    grep -q "No instrumentation targets found" test.out && {
-#      $ECHO "$GREEN[+] llvm_mode LTO whitelist feature works correctly"
-#    } || {
-#      $ECHO "$RED[!] llvm_mode LTO whitelist feature failed"
-#      CODE=1
-#    }
-#  } || {
-#    $ECHO "$RED[!] llvm_mode LTO whitelist feature compilation failed"
-#    CODE=1
-#  }
-#  rm -f test-compcov test.out whitelist.txt
+  echo foobar.c > whitelist.txt
+  AFL_DEBUG=1 AFL_LLVM_WHITELIST=whitelist.txt ../afl-clang-lto -o test-compcov test-compcov.c > test.out 2>&1
+  test -e test-compcov && {
+    grep -q "No instrumentation targets found" test.out && {
+      $ECHO "$GREEN[+] llvm_mode LTO whitelist feature works correctly"
+    } || {
+      $ECHO "$RED[!] llvm_mode LTO whitelist feature failed"
+      CODE=1
+    }
+  } || {
+    $ECHO "$RED[!] llvm_mode LTO whitelist feature compilation failed"
+    CODE=1
+  }
+  rm -f test-compcov test.out whitelist.txt
   ../afl-clang-lto -o test-persistent ../examples/persistent_demo/persistent_demo.c > /dev/null 2>&1
   test -e test-persistent && {
-    echo foo | ../afl-showmap -o /dev/null -q -r ./test-persistent && {
+    echo foo | ../afl-showmap -m none -o /dev/null -q -r ./test-persistent && {
       $ECHO "$GREEN[+] llvm_mode LTO persistent mode feature works correctly"
     } || {
       $ECHO "$RED[!] llvm_mode LTO persistent mode feature failed to work"
@@ -638,43 +637,43 @@ test -e ../libdislocator.so && {
   INCOMPLETE=1
 }
 rm -f test-compcov
-test -e ../libradamsa.so && {
-  # on FreeBSD need to set AFL_CC
-  test `uname -s` = 'FreeBSD' && {
-    if type clang >/dev/null; then
-      export AFL_CC=`command -v clang`
-    else
-      export AFL_CC=`$LLVM_CONFIG --bindir`/clang
-    fi
-  }
-  test -e test-instr.plain || ../afl-clang-fast -o test-instr.plain ../test-instr.c > /dev/null 2>&1
-  test -e test-instr.plain || ../afl-gcc-fast -o test-instr.plain ../test-instr.c > /dev/null 2>&1
-  test -e test-instr.plain || ../${AFL_GCC} -o test-instr.plain ../test-instr.c > /dev/null 2>&1
-  test -e test-instr.plain && {
-    mkdir -p in
-    printf 1 > in/in
-    $ECHO "$GREY[*] running afl-fuzz with radamsa, this will take approx 10 seconds"
-    {
-      ../afl-fuzz -RR -V10 -m ${MEM_LIMIT} -i in -o out -- ./test-instr.plain
-    } >>errors 2>&1
-    test -n "$( ls out/queue/id:000001* 2>/dev/null )" && {
-      $ECHO "$GREEN[+] libradamsa performs good - and very slow - mutations"
-    } || {
-      echo CUT------------------------------------------------------------------CUT
-      cat errors
-      echo CUT------------------------------------------------------------------CUT
-      $ECHO "$RED[!] libradamsa failed"
-      CODE=1
-    }
-    rm -rf in out errors test-instr.plain
-  } || {
-    $ECHO "$YELLOW[-] compilation of test target failed, cannot test libradamsa"
-    INCOMPLETE=1
-  }
-} || {
-  $ECHO "$YELLOW[-] libradamsa is not compiled, cannot test"
-  INCOMPLETE=1
-}
+#test -e ../libradamsa.so && {
+#  # on FreeBSD need to set AFL_CC
+#  test `uname -s` = 'FreeBSD' && {
+#    if type clang >/dev/null; then
+#      export AFL_CC=`command -v clang`
+#    else
+#      export AFL_CC=`$LLVM_CONFIG --bindir`/clang
+#    fi
+#  }
+#  test -e test-instr.plain || ../afl-clang-fast -o test-instr.plain ../test-instr.c > /dev/null 2>&1
+#  test -e test-instr.plain || ../afl-gcc-fast -o test-instr.plain ../test-instr.c > /dev/null 2>&1
+#  test -e test-instr.plain || ../${AFL_GCC} -o test-instr.plain ../test-instr.c > /dev/null 2>&1
+#  test -e test-instr.plain && {
+#    mkdir -p in
+#    printf 1 > in/in
+#    $ECHO "$GREY[*] running afl-fuzz with radamsa, this will take approx 10 seconds"
+#    {
+#      ../afl-fuzz -RR -V10 -m ${MEM_LIMIT} -i in -o out -- ./test-instr.plain
+#    } >>errors 2>&1
+#    test -n "$( ls out/queue/id:000001* 2>/dev/null )" && {
+#      $ECHO "$GREEN[+] libradamsa performs good - and very slow - mutations"
+#    } || {
+#      echo CUT------------------------------------------------------------------CUT
+#      cat errors
+#      echo CUT------------------------------------------------------------------CUT
+#      $ECHO "$RED[!] libradamsa failed"
+#      CODE=1
+#    }
+#    rm -rf in out errors test-instr.plain
+#  } || {
+#    $ECHO "$YELLOW[-] compilation of test target failed, cannot test libradamsa"
+#    INCOMPLETE=1
+#  }
+#} || {
+#  $ECHO "$YELLOW[-] libradamsa is not compiled, cannot test"
+#  INCOMPLETE=1
+#}
 
 test -z "$AFL_CC" && {
   if type gcc >/dev/null; then
@@ -902,6 +901,9 @@ $ECHO "$BLUE[*] Testing: unicorn_mode"
 test -d ../unicorn_mode/unicornafl && {
   test -e ../unicorn_mode/samples/simple/simple_target.bin -a -e ../unicorn_mode/samples/compcov_x64/compcov_target.bin && {
     {
+      # We want to see python errors etc. in logs, in case something doesn't work
+      export AFL_DEBUG_CHILD_OUTPUT=1
+
       # some python version should be available now
       PYTHONS="`command -v python3` `command -v python` `command -v python2`"
       EASY_INSTALL_FOUND=0
@@ -988,6 +990,9 @@ test -d ../unicorn_mode/unicornafl && {
         rm -rf in out errors
       }
       fi
+
+      unset AFL_DEBUG_CHILD_OUTPUT
+
     }
   } || {
     $ECHO "$RED[!] missing sample binaries in unicorn_mode/samples/ - what is going on??"
@@ -1121,7 +1126,7 @@ test "1" = "`../afl-fuzz | grep -i 'without python' >/dev/null; echo $?`" && {
 
 $ECHO "$BLUE[*] Execution cmocka Unit-Tests $GREY"
 unset AFL_CC
-make -C .. unit || "$CODE" = "1"
+make -C .. unit || CODE=1 INCOMPLETE=1 :
 
 $ECHO "$GREY[*] all test cases completed.$RESET"
 test "$INCOMPLETE" = "0" && $ECHO "$GREEN[+] all test cases executed"
diff --git a/test/unittests/unit_hash.c b/test/unittests/unit_hash.c
new file mode 100644
index 00000000..041d107a
--- /dev/null
+++ b/test/unittests/unit_hash.c
@@ -0,0 +1,75 @@
+#include <stdarg.h>
+#include <stddef.h>
+#include <setjmp.h>
+#include <assert.h>
+#include <cmocka.h>
+/* cmocka < 1.0 didn't support these features we need */
+#ifndef assert_ptr_equal
+#define assert_ptr_equal(a, b) \
+    _assert_int_equal(cast_ptr_to_largest_integral_type(a), \
+                      cast_ptr_to_largest_integral_type(b), \
+                      __FILE__, __LINE__)
+#define CMUnitTest UnitTest
+#define cmocka_unit_test unit_test
+#define cmocka_run_group_tests(t, setup, teardown) run_tests(t)
+#endif
+
+
+extern void mock_assert(const int result, const char* const expression,
+                        const char * const file, const int line);
+#undef assert
+#define assert(expression) \
+    mock_assert((int)(expression), #expression, __FILE__, __LINE__);
+
+#include "afl-fuzz.h"
+#include "hash.h"
+
+/* remap exit -> assert, then use cmocka's mock_assert
+    (compile with `--wrap=exit`) */
+extern void exit(int status);
+extern void __real_exit(int status);
+void __wrap_exit(int status);
+void __wrap_exit(int status) {
+    assert(0);
+}
+
+/* ignore all printfs */
+#undef printf
+extern int printf(const char *format, ...);
+extern int __real_printf(const char *format, ...);
+int __wrap_printf(const char *format, ...);
+int __wrap_printf(const char *format, ...) {
+    return 1;
+}
+
+/* Rand with 0 seed would broke in the past */
+static void test_hash(void **state) {
+
+    char bitmap[64] = {0};
+    u64 hash0 = hash64(bitmap, sizeof(bitmap), 0xa5b35705);
+
+    bitmap[10] = 1;
+    u64 hash1 = hash64(bitmap, sizeof(bitmap), 0xa5b35705);
+
+    assert_int_not_equal(hash0, hash1);
+
+    bitmap[10] = 0;
+    assert_int_equal(hash0, hash64(bitmap, sizeof(bitmap), 0xa5b35705));
+
+    bitmap[10] = 1;
+    assert_int_equal(hash1, hash64(bitmap, sizeof(bitmap), 0xa5b35705));
+
+}
+
+int main(int argc, char **argv) {
+
+    const struct CMUnitTest tests[] = {
+        cmocka_unit_test(test_hash)
+    };
+
+    //return cmocka_run_group_tests (tests, setup, teardown);
+    __real_exit( cmocka_run_group_tests (tests, NULL, NULL) );
+
+    // fake return for dumb compilers
+    return 0;
+}
diff --git a/test/unittests/unit_list.c b/test/unittests/unit_list.c
index 86d4748b..4c2063b6 100644
--- a/test/unittests/unit_list.c
+++ b/test/unittests/unit_list.c
@@ -126,6 +126,8 @@ int main(int argc, char **argv) {
 	};
 
     //return cmocka_run_group_tests (tests, setup, teardown);
-    return cmocka_run_group_tests (tests, NULL, NULL);
+    __real_exit( cmocka_run_group_tests (tests, NULL, NULL) );
 
+    // fake return for dumb compilers
+    return 0;
 }
diff --git a/test/unittests/unit_maybe_alloc.c b/test/unittests/unit_maybe_alloc.c
index 4e093cfe..429d38ed 100644
--- a/test/unittests/unit_maybe_alloc.c
+++ b/test/unittests/unit_maybe_alloc.c
@@ -156,6 +156,8 @@ int main(int argc, char **argv) {
 	};
 
     //return cmocka_run_group_tests (tests, setup, teardown);
-    return cmocka_run_group_tests (tests, NULL, NULL);
+    __real_exit( cmocka_run_group_tests (tests, NULL, NULL) );
 
+    // fake return for dumb compilers
+    return 0;
 }
diff --git a/test/unittests/unit_preallocable.c b/test/unittests/unit_preallocable.c
index 888bb485..b0963a15 100644
--- a/test/unittests/unit_preallocable.c
+++ b/test/unittests/unit_preallocable.c
@@ -109,6 +109,8 @@ int main(int argc, char **argv) {
 	};
 
     //return cmocka_run_group_tests (tests, setup, teardown);
-    return cmocka_run_group_tests (tests, NULL, NULL);
+    __real_exit( cmocka_run_group_tests (tests, NULL, NULL) );
 
+    // fake return for dumb compilers
+    return 0;
 }
diff --git a/test/unittests/unit_rand.c b/test/unittests/unit_rand.c
new file mode 100644
index 00000000..0a90d8d1
--- /dev/null
+++ b/test/unittests/unit_rand.c
@@ -0,0 +1,84 @@
+#include <stdarg.h>
+#include <stddef.h>
+#include <setjmp.h>
+#include <assert.h>
+#include <cmocka.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+/* cmocka < 1.0 didn't support these features we need */
+#ifndef assert_ptr_equal
+#define assert_ptr_equal(a, b) \
+    _assert_int_equal(cast_ptr_to_largest_integral_type(a), \
+                      cast_ptr_to_largest_integral_type(b), \
+                      __FILE__, __LINE__)
+#define CMUnitTest UnitTest
+#define cmocka_unit_test unit_test
+#define cmocka_run_group_tests(t, setup, teardown) run_tests(t)
+#endif
+
+
+extern void mock_assert(const int result, const char* const expression,
+                        const char * const file, const int line);
+#undef assert
+#define assert(expression) \
+    mock_assert((int)(expression), #expression, __FILE__, __LINE__);
+
+#include "afl-fuzz.h"
+
+/* remap exit -> assert, then use cmocka's mock_assert
+    (compile with `--wrap=exit`) */
+extern void exit(int status);
+extern void __real_exit(int status);
+void __wrap_exit(int status);
+void __wrap_exit(int status) {
+    assert(0);
+}
+
+/* ignore all printfs */
+#undef printf
+extern int printf(const char *format, ...);
+extern int __real_printf(const char *format, ...);
+int __wrap_printf(const char *format, ...);
+int __wrap_printf(const char *format, ...) {
+    return 1;
+}
+
+/* Rand with 0 seed would broke in the past */
+static void test_rand_0(void **state) {
+
+    afl_state_t afl = {0};
+    rand_set_seed(&afl, 0);
+
+    /* give this one chance to retry */
+    assert_int_not_equal(
+        (rand_next(&afl) != rand_next(&afl)
+            || rand_next(&afl) != rand_next(&afl))
+            , 0);
+
+}
+
+static void test_rand_below(void **state) {
+
+    afl_state_t afl = {0};
+    rand_set_seed(&afl, 1337);
+
+    afl.fsrv.dev_urandom_fd = open("/dev/urandom", O_RDONLY);
+
+    assert(!(rand_below(&afl, 9000) > 9000));
+    assert_int_equal(rand_below(&afl, 1), 0);
+
+}
+
+int main(int argc, char **argv) {
+
+    const struct CMUnitTest tests[] = {
+        cmocka_unit_test(test_rand_0),
+        cmocka_unit_test(test_rand_below)
+    };
+
+    //return cmocka_run_group_tests (tests, setup, teardown);
+    __real_exit( cmocka_run_group_tests (tests, NULL, NULL) );
+
+    // fake return for dumb compilers
+    return 0;
+}
diff --git a/unicorn_mode/UNICORNAFL_VERSION b/unicorn_mode/UNICORNAFL_VERSION
index e0ef19cd..21a8657d 100644
--- a/unicorn_mode/UNICORNAFL_VERSION
+++ b/unicorn_mode/UNICORNAFL_VERSION
@@ -1 +1 @@
-a6e943c
+0ca7a8f2
diff --git a/unicorn_mode/unicornafl b/unicorn_mode/unicornafl
-Subproject a6e943c683ecb3aba1baaddc7a02eefd2c5a5ad
+Subproject 0ca7a8f22b8bb028eb9fe053c0974a60ee640f1